*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}html{background:#fff4da}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#1f2937;background:#fff4da}button,input{font:inherit}.draw-page{min-height:100vh;min-height:100dvh;padding:18px 12px 28px;background:radial-gradient(circle at 12% 8%,rgba(255,210,92,.5),transparent 28%),linear-gradient(160deg,#d94835,#f06b39 45%,#fff4da)}.draw-shell{position:relative;max-width:760px;margin:0 auto;overflow:hidden;border-radius:18px;background:#fffffff0;box-shadow:0 18px 48px #7a221838}.loading-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;color:#9a3412;font-weight:700;background:#ffffffb8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.draw-hero{position:relative;display:block;padding:28px 24px 36px;color:#fff;background:linear-gradient(135deg,#b91c1c,#ef6c00 62%,#f8b44c)}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-copy{min-width:0}.status-pill{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:#ffffff2e;font-size:13px;font-weight:600}.draw-hero h1{margin:14px 0 10px;font-size:30px;line-height:1.22;letter-spacing:0;word-break:break-word}.draw-hero p{margin:0;font-size:15px;opacity:.92}.draw-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:360px;margin-top:18px}.draw-stats div{min-width:0;padding:10px;border-radius:10px;background:#ffffff29}.draw-stats span,.draw-stats strong{display:block;text-align:center}.draw-stats span{font-size:12px;opacity:.85}.draw-stats strong{margin-top:4px;font-size:20px;line-height:1}.profile-box{flex:0 0 auto;display:flex;align-items:center;gap:10px;width:210px;min-width:0;padding:10px;border-radius:12px;background:#ffffff29}.profile-box.muted{opacity:.86}.profile-box img,.winner img{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#fff}.profile-box span,.profile-box small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-box span{font-weight:700}.profile-box small{margin-top:3px;font-size:12px;opacity:.86}.draw-content{padding:20px 18px 24px}.prize-section,.action-section,.winner-section,.disclaimer{border-radius:12px;background:#fff;border:1px solid #f2dfc7;box-shadow:0 8px 24px #8a4c1614}.action-section,.winner-section,.disclaimer{margin-top:14px;padding:16px}.prize-section{padding:16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#7c2d12}.section-title span{font-size:17px;font-weight:800}.section-title strong{color:#c2410c;font-size:14px}.prize-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.prize-item{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border-radius:10px;background:linear-gradient(160deg,#fff7ed,#fff);border:1px solid #fed7aa}.prize-medal{flex:0 0 34px;height:34px;line-height:34px;text-align:center;border-radius:50%;color:#fff;font-weight:800;background:#ea580c}.prize-info{min-width:0}.prize-info strong,.prize-info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prize-info strong{color:#1f2937}.prize-info span{margin-top:4px;color:#9a3412;font-size:13px}.action-section{text-align:center}.draw-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:min(260px,100%);height:44px;border:0;border-radius:999px;color:#fff;font-size:16px;font-weight:800;background:linear-gradient(135deg,#dc2626,#f97316);cursor:pointer}.draw-button:disabled{cursor:not-allowed;opacity:.62}.share-button{display:block;width:min(220px,100%);height:36px;margin:10px auto 0;border:1px solid #fed7aa;border-radius:999px;color:#c2410c;font-size:14px;font-weight:700;background:#fff7ed;cursor:pointer}.record-toggle-button{display:block;width:min(220px,100%);height:36px;margin:4px auto 0;border:1px solid #fed7aa;border-radius:999px;color:#c2410c;font-size:14px;font-weight:700;background:#fff7ed;cursor:pointer}.button-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:spin .8s linear infinite}.result-panel{margin:0 auto 14px;padding:12px;max-width:320px;border-radius:12px;color:#9a3412;background:#fff7ed}.result-panel span,.result-panel strong,.result-panel small{display:block}.result-panel strong{margin-top:4px;font-size:20px}.result-panel small{margin-top:8px;color:#c2410c;font-size:13px;line-height:1.5}.auth-tip,.empty,.disclaimer p{margin:0;color:#6b7280;line-height:1.7}.auth-tip{margin-top:10px;font-size:13px}.winner{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:10px 0;border-top:1px solid #f3e8d8}.winner:first-of-type{border-top:0}.winner-user{min-width:0}.winner-user span,.winner-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.winner-user span{color:#374151}.winner-user small{margin-top:3px;color:#9ca3af;font-size:12px}.winner strong{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c2410c}.toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%);max-width:calc(100vw - 32px);padding:10px 14px;border-radius:999px;color:#fff;font-size:14px;line-height:1.4;box-shadow:0 10px 24px #0000002e}.toast.success{background:#16a34a}.toast.error{background:#dc2626}.chest-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;background:#47180c80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.chest-dialog{width:min(320px,100%);padding:30px 22px 24px;border-radius:18px;text-align:center;background:#fff7edf5;box-shadow:0 24px 60px #451a0352}.chest-scene{position:relative;width:190px;height:160px;margin:0 auto}.chest-glow{position:absolute;left:50%;bottom:42px;width:96px;height:54px;transform:translate(-50%) scale(.3);border-radius:50%;background:radial-gradient(circle,rgba(255,237,137,.98),rgba(251,191,36,.4) 48%,transparent 72%);opacity:0;transition:transform .55s ease,opacity .55s ease}.chest-lid{position:absolute;left:28px;bottom:74px;z-index:3;width:134px;height:58px;transform-origin:50% 100%;border:5px solid #7c2d12;border-bottom:0;border-radius:22px 22px 8px 8px;background:linear-gradient(160deg,#f59e0b,#b45309);transition:transform .65s cubic-bezier(.2,.9,.2,1.15),bottom .65s ease}.chest-lid-band{position:absolute;left:50%;top:-5px;width:28px;height:63px;transform:translate(-50%);border-left:4px solid #7c2d12;border-right:4px solid #7c2d12;background:#fde68a}.chest-body{position:absolute;left:22px;bottom:20px;z-index:4;width:146px;height:72px;border:5px solid #7c2d12;border-radius:10px 10px 18px 18px;background:linear-gradient(90deg,transparent 42%,#fde68a 42%,#fde68a 58%,transparent 58%),linear-gradient(160deg,#ea580c,#9a3412)}.chest-lock{position:absolute;left:50%;top:20px;width:26px;height:28px;transform:translate(-50%);border:4px solid #7c2d12;border-radius:6px;background:#facc15}.chest-spark{position:absolute;z-index:2;width:10px;height:10px;border-radius:50%;background:#fde047;opacity:0}.spark-1{left:42px;top:42px}.spark-2{left:92px;top:20px}.spark-3{right:40px;top:50px}.chest-scene.open .chest-lid{bottom:98px;transform:rotateX(58deg) rotate(-3deg)}.chest-scene.open .chest-glow{opacity:1;transform:translate(-50%) scale(1.7)}.chest-scene.open .chest-spark{animation:sparkle .9s ease-in-out infinite}.chest-scene.open .spark-2{animation-delay:.15s}.chest-scene.open .spark-3{animation-delay:.3s}.chest-text{margin-top:6px;color:#9a3412;font-size:16px;font-weight:800}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sparkle{0%{opacity:0;transform:translateY(12px) scale(.4)}45%{opacity:1;transform:translateY(-8px) scale(1)}to{opacity:0;transform:translateY(-28px) scale(.4)}}@media (max-width: 640px){.draw-page{min-height:100vh;min-height:100dvh;padding:max(8px,env(safe-area-inset-top)) 8px max(14px,env(safe-area-inset-bottom))}.draw-shell{min-height:calc(100vh - 22px);min-height:calc(100dvh - 22px);border-radius:14px}.draw-hero{display:block;padding:16px 14px 18px}.hero-copy{padding-right:0}.draw-hero h1{margin:10px 0 6px;font-size:23px}.draw-hero p{font-size:13px}.status-pill{height:24px;padding:0 10px;font-size:12px}.profile-box{width:104px;min-height:34px;margin-top:0;padding:6px;gap:6px;border-radius:10px}.profile-box img{width:28px;height:28px}.profile-box span{font-size:12px;line-height:1.2}.profile-box small{display:none}.draw-stats{max-width:none;gap:6px;margin-top:10px}.draw-stats div{padding:7px 6px;border-radius:8px}.draw-stats strong{font-size:17px}.draw-content{padding:10px 8px 16px}.prize-section,.action-section,.winner-section,.disclaimer{border-radius:10px}.prize-section{padding:12px}.action-section,.winner-section,.disclaimer{margin-top:10px;padding:12px}.section-title{margin-bottom:8px}.section-title span{font-size:20px}.section-title strong{font-size:16px}.prize-list{gap:8px}.prize-item{gap:8px;min-height:74px;padding:9px 10px;border-radius:9px}.prize-medal{flex-basis:30px;height:30px;line-height:30px;font-size:16px}.prize-info strong{font-size:19px;line-height:1.2}.prize-info span{margin-top:4px;font-size:15px}.result-panel{max-width:none;margin-bottom:12px;padding:11px 10px;border-radius:10px}.result-panel span{font-size:20px;line-height:1.25}.result-panel strong{margin-top:4px;font-size:27px;line-height:1.2}.result-panel small{margin-top:8px;font-size:17px;line-height:1.35;word-break:keep-all}.draw-button{width:min(300px,92%);height:44px;font-size:20px}.share-button,.record-toggle-button{width:min(260px,82%);height:36px;font-size:17px}.winner{grid-template-columns:38px minmax(0,1fr) minmax(76px,auto);gap:8px;padding:8px 0}.winner img{width:34px;height:34px}.winner-user span{font-size:16px;line-height:1.25}.winner-user small{font-size:12px}.winner strong{max-width:108px;font-size:17px}}
