:root{--bg:#12062b;--bg-2:#1d0b40;--card:#241052;--ink:#fff;--muted:#c9b8ff;--accent:#ffd400;--accent-ink:#1a0b33;--line:#3a2370;--hit:#19c37d;--miss:#ff5d73;--radius:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(120% 80% at 50% 0%, var(--bg-2), var(--bg));color:var(--ink);-webkit-tap-highlight-color:transparent;font:17px/1.45 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}#app{max-width:520px;min-height:100dvh;margin:0 auto}.screen{flex-direction:column;gap:16px;min-height:100dvh;padding:20px 16px 32px;display:flex}.title{margin:4px 0 0;font-size:28px}h2{margin:0 0 10px;font-size:18px}p{margin:0}.lead{color:var(--muted)}.hint{color:var(--muted);font-size:14px}.logo{flex-direction:column;align-items:center;margin:40px 0 8px;display:flex}.logo-q{font-size:34px;font-weight:800}.logo-x9{color:var(--accent);text-shadow:0 6px #7a3cff;font-size:112px;font-weight:900;line-height:1}.screen>.lead:first-of-type{text-align:center}.stack{flex-direction:column;gap:10px;display:flex}.row{gap:10px;display:flex}.row>*{flex:1}.share-row{margin-top:auto}.sticky-bottom{background:linear-gradient(transparent, var(--bg) 30%);padding:12px 0 4px;position:sticky;bottom:0}.btn{-webkit-appearance:none;appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:var(--radius);font:inherit;text-align:center;cursor:pointer;justify-content:center;align-items:center;min-height:52px;padding:14px 16px;font-weight:700;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn-big{min-height:60px;font-size:20px}.btn-ghost{background:0 0}.btn-small{flex:none;min-height:40px;padding:8px 12px;font-size:15px}.btn-icon{-webkit-appearance:none;appearance:none;background:var(--line);color:var(--ink);cursor:pointer;border:0;border-radius:12px;flex:none;width:40px;height:40px;font-size:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:16px;display:flex}.card-offer{border-color:var(--accent)}.input{background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:12px;padding:12px}.input-inline{padding:8px 10px}.players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.player{align-items:center;gap:8px;display:flex}.stepper{align-items:center;gap:16px;display:flex}.stepper-value{text-align:center;min-width:28px;font-size:28px}.segmented{flex-wrap:wrap;gap:6px;display:flex}.seg{-webkit-appearance:none;appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px}.seg-on{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:700}.toggle{color:var(--muted);align-items:center;gap:8px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{-webkit-appearance:none;appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:8px 12px;font-size:15px}.chip-on{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:700}.chip-locked{opacity:.6}.progress{color:var(--muted);text-align:center}.pass{text-align:center;color:var(--muted);margin-top:40px}.pass-name{text-align:center;color:var(--accent);word-break:break-word;font-size:44px;font-weight:900}.pass-name.small{margin-top:8px;font-size:24px}.secret{background:var(--card);border:2px solid var(--accent);text-align:center;border-radius:24px;margin:16px 0;padding:32px 16px}.secret-x9{border-color:var(--accent)}.secret-label{color:var(--muted)}.secret-word{word-break:break-word;margin:8px 0;font-size:40px;font-weight:900}.order{flex-direction:column;gap:4px;margin:0;padding-left:22px;display:flex}.timer{text-align:center;font-variant-numeric:tabular-nums;margin:8px 0;font-size:72px;font-weight:900}.timer-done{color:var(--miss);font-size:40px}.grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.btn-player{word-break:break-word;min-height:64px;font-size:18px}.btn-player.picked{background:var(--miss);border-color:#0000}.verdict{text-align:center;flex-direction:column;gap:8px;margin-top:32px;display:flex}.verdict-emoji{font-size:84px}.verdict-title{overflow-wrap:anywhere;font-size:clamp(22px,7vw,30px);font-weight:900}.verdict-hit .verdict-title{color:var(--accent)}.verdict-miss .verdict-title{color:var(--miss)}.scores{flex-direction:column;gap:4px;margin:0;padding-left:22px;display:flex}.scores li span{margin-right:8px}.packs{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pack{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;padding:12px;display:flex}.pack-emoji{font-size:32px}.pack-body{flex-direction:column;flex:1;gap:2px;display:flex}.badge{color:var(--hit);font-size:14px;font-weight:700}.steps{flex-direction:column;gap:10px;margin:0;padding-left:22px;display:flex}.notice{background:var(--line);text-align:center;border-radius:12px;padding:12px}.trust{color:var(--hit);font-size:15px;font-weight:700}@keyframes enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes flip{0%{opacity:0;transform:perspective(800px)rotateY(80deg)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:none}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes glow{0%,to{box-shadow:0 0 #ffd40000}50%{box-shadow:0 0 24px 4px #ffd40059}}@keyframes fill{0%{width:0}}.screen.enter{animation:.28s ease-out both enter}.screen.enter .secret{animation:.45s cubic-bezier(.2,.8,.2,1) both flip}.screen.enter .verdict-hit .verdict-emoji,.screen.enter .verdict-hit .verdict-title{animation:.55s cubic-bezier(.2,.8,.2,1.2) both pop}.screen.enter .verdict-miss{animation:.45s ease-in-out both shake}.timer.hurry,.countdown.hurry{color:var(--miss);animation:1s ease-in-out infinite pulse}.btn-primary.btn-big{animation:2.4s ease-in-out infinite glow}.screen.enter .xpbar-fill{animation:.9s ease-out both fill}.screen.enter .badge-icon.pop,.screen.enter .new-badge,.screen.enter .levelup,.screen.enter .levelup-chip{animation:.6s cubic-bezier(.2,.8,.2,1.2) .6s both pop}.confetti{pointer-events:none;z-index:50;width:100vw;height:100vh;position:fixed;top:0;bottom:0;left:0;right:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.topbar{justify-content:flex-end;margin-bottom:-40px;display:flex}.sound-toggle{font-size:20px}.lvl{background:var(--accent);color:var(--accent-ink);white-space:nowrap;border-radius:999px;margin:0 6px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-block}.xp-chip{color:var(--hit);margin-right:6px;font-size:13px;font-weight:800}.levelup-chip{color:var(--accent);margin-right:6px;font-size:13px;font-weight:800}.badges{gap:2px;display:inline-flex}.badge-icon{font-size:18px}.xpbar{background:var(--bg);border:1px solid var(--line);border-radius:999px;height:18px;position:relative;overflow:hidden}.xpbar-fill{background:linear-gradient(90deg, #7a3cff, var(--accent));height:100%}.xpbar-label{justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.scores li{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.scores li>strong{margin-left:auto}.rank{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rank-row{border-bottom:1px solid var(--line);padding-bottom:6px}.rank-head{-webkit-appearance:none;appearance:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:6px 0;display:flex}.rank-pos{width:22px;color:var(--muted);font-weight:800}.rank-name{flex-direction:column;flex:1;display:flex}.rank-details{flex-direction:column;gap:8px;padding:6px 0 4px 30px;display:flex}.shelf{grid-template-columns:1fr;gap:6px;margin:0;padding:0;list-style:none;display:grid}.shelf-item{opacity:.4;filter:grayscale();align-items:center;gap:10px;display:flex}.shelf-item.got{opacity:1;filter:none}.shelf-emoji{font-size:24px}.reward{text-align:center;align-items:center}.reward .xpbar{width:100%}.xp-gain{color:var(--hit);font-size:36px;font-weight:900}.levelup,.new-badge{color:var(--accent);font-weight:800}.center{text-align:center}.room-code{flex-direction:column;align-items:center;margin-top:12px;display:flex}.room-code strong{letter-spacing:10px;color:var(--accent);font-variant-numeric:tabular-nums;font-size:64px}.code-input{text-transform:uppercase;letter-spacing:6px;font-weight:800}.oplayers{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.oplayer{align-items:center;gap:6px;display:flex}.oplayer .dot{background:var(--hit);border-radius:50%;flex:none;width:9px;height:9px}.oplayer.off .dot{background:var(--miss)}.oplayer.out{opacity:.5;text-decoration:line-through}.oname{flex:0 auto;font-weight:700}.oextra{color:var(--muted);margin-left:auto;font-size:13px}.countdown{text-align:center;font-variant-numeric:tabular-nums;font-size:44px;font-weight:900}.clues{flex-direction:column;gap:4px;margin:0;padding-left:22px;display:flex}.clues li{gap:8px;display:flex}.clues li strong{color:var(--accent);margin-left:auto}.clue-now{color:var(--accent)}.chat-list{flex-direction:column;gap:4px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.secret-small{margin:4px 0;padding:18px 12px}.secret-small .secret-word{font-size:30px}.peek{flex-direction:column;gap:6px;display:flex}.peek-hidden{display:none}.counts{margin:0;padding-left:20px}.secret.flip-now{animation:.45s cubic-bezier(.2,.8,.2,1) both flip}.moments{z-index:70;-webkit-backdrop-filter:blur(4px);background:#0a0419d6;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.moments.on{display:flex}.moments.solid{background:var(--bg)}.moments-skip{-webkit-appearance:none;appearance:none;border:1px solid var(--line);background:var(--card);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:14px;position:absolute;top:14px;right:14px}.moment{text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:440px;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:none}}.moment>*{animation:.35s ease-out both rise}.suspense-line{font-size:30px;font-weight:900}@keyframes breathe{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.suspense-dots{color:var(--accent);letter-spacing:8px;font-size:64px;font-weight:900;animation:.7s ease-in-out infinite breathe}.spot-row{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}@keyframes spot{0%{background:var(--accent);color:var(--accent-ink);transform:scale(1.12)}30%,to{background:var(--card);color:var(--ink);transform:none}}.spot-name{background:var(--card);border:1px solid var(--line);animation:spot calc(var(--n) * .16s) linear infinite;animation-delay:calc(var(--i) * .16s);border-radius:999px;padding:8px 14px;font-weight:800}.slot-reel{border:3px solid var(--accent);background:var(--card);border-radius:16px;width:80%;height:64px;overflow:hidden;box-shadow:inset 0 12px 12px -8px #0009,inset 0 -12px 12px -8px #0009}@keyframes reel{0%{transform:translateY(0)}to{transform:translateY(calc(var(--steps) * -64px))}}.slot-strip{animation:1.3s cubic-bezier(.12,.6,.18,1) both reel}.slot-name{height:64px;color:var(--accent);justify-content:center;align-items:center;font-size:30px;font-weight:900;display:flex}@keyframes slam{0%{opacity:0;transform:scale(3.2)rotate(-28deg)}55%{opacity:1;transform:scale(.92)rotate(-10deg)}75%{transform:scale(1.06)rotate(-13deg)}to{transform:scale(1)rotate(-12deg)}}@keyframes ring{0%{box-shadow:0 0}to{box-shadow:0 0 0 26px #0000}}.stamp{text-transform:uppercase;border:8px solid;border-radius:18px;padding:8px 22px;font-size:clamp(44px,14vw,76px);font-weight:900;animation:.5s cubic-bezier(.2,1.5,.4,1) both slam,.6s ease-out .42s both ring;transform:rotate(-12deg)}.stamp-hit .stamp{color:var(--accent)}.stamp-miss .stamp{color:var(--miss)}.medal{width:150px;height:150px;margin-top:30px;position:relative}.medal-ribbon{clip-path:polygon(0 0,100% 0,100% 100%,50% 75%,0 100%);background:linear-gradient(90deg,#7a3cff 0 33%,#ffd400 33% 66%,#19c37d 66%);width:70px;height:70px;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.medal-face{background:radial-gradient(circle at 35% 30%,#fff6b0,#ffd400 45%,#c98e00 80%);border-radius:50%;justify-content:center;align-items:center;font-size:72px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;box-shadow:inset 0 0 0 7px #ffe766,inset 0 0 0 12px #c98e00,0 10px 30px #00000073}@keyframes shine{0%{transform:translate(-160%)rotate(25deg)}to{transform:translate(160%)rotate(25deg)}}.medal-shine{pointer-events:none;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.medal-shine:after{content:"";background:linear-gradient(90deg,#0000,#ffffffd9,#0000);width:40%;height:140%;animation:1.1s ease-in-out .6s 2 both shine;position:absolute;top:-20%;left:0}@keyframes medalDrop{0%{transform:translateY(-120vh)}60%{transform:translateY(14px)}80%{transform:translateY(-6px)}to{transform:none}}@keyframes medalSpin{0%{opacity:0;transform:perspective(600px)rotateY(-540deg)scale(.2)}to{opacity:1;transform:perspective(600px)rotateY(0)scale(1)}}@keyframes medalZoom{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}.medal-drop .medal{animation:.8s cubic-bezier(.3,1.2,.5,1) both medalDrop}.medal-spin .medal{animation:.9s cubic-bezier(.2,.9,.3,1) both medalSpin}.medal-zoom .medal{animation:.6s cubic-bezier(.2,1.4,.4,1) both medalZoom}.medal-who{color:var(--muted);font-weight:700}.medal-name{color:var(--accent);font-size:28px;font-weight:900}.medal-desc{color:var(--muted)}@keyframes spinRays{to{transform:translate(-50%,-50%)rotate(360deg)}}.rays{pointer-events:none;z-index:-1;background:repeating-conic-gradient(#ffd40024 0 10deg, transparent 10deg 20deg);width:140vmax;height:140vmax;animation:9s linear infinite spinRays;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask:radial-gradient(circle,#000 0 20%,#0000 60%);mask:radial-gradient(circle,#000 0 20%,#0000 60%)}.moment-level{position:relative}.level-num{color:var(--accent);text-shadow:0 8px #7a3cff;font-size:120px;font-weight:900;line-height:1}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.level-num.bump{animation:.25s ease-out bump}.level-title{font-size:24px;font-weight:900}.verdict{position:relative}.rays-behind{width:120vmax;height:120vmax;top:30%}@keyframes sparkle{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}30%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.2) rotate(90deg)}}.sparkle{z-index:80;pointer-events:none;color:#fff6b0;text-shadow:0 0 8px #ffd400;font-size:18px;animation:1.1s ease-out both sparkle;position:fixed}@keyframes flashAnim{0%{opacity:.55}to{opacity:0}}.flash{z-index:65;pointer-events:none;animation:.42s ease-out both flashAnim;position:fixed;top:0;bottom:0;left:0;right:0}.flash-red{background:radial-gradient(circle,#0000 30%,#ff3c5ae6)}.flash-gold{background:radial-gradient(circle,#ffd40080,#0000 70%)}.flash-white{background:#fff}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.toast{z-index:75;background:var(--card);border:1px solid var(--accent);border-radius:14px;max-width:90vw;padding:10px 16px;font-weight:800;animation:.3s ease-out both toastIn;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.verdict-stamp{text-transform:uppercase;border:5px solid;border-radius:12px;align-self:center;padding:4px 14px;font-size:30px;font-weight:900;transform:rotate(-10deg)}.verdict-stamp.hit{color:var(--accent)}.verdict-stamp.miss{color:var(--miss)}.screen.enter .verdict-stamp{animation:.5s cubic-bezier(.2,1.5,.4,1) .1s both slam}@keyframes idleWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-2.2deg)}75%{transform:rotate(2.2deg)}}@keyframes idleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes idleTilt{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(-1.5deg)scale(1.03)}}@keyframes idlePulse{0%,to{transform:scale(1);box-shadow:0 0 #ffd40000}50%{transform:scale(1.04);box-shadow:0 0 0 6px #ffd4002e}}#app[data-idle] :-webkit-any(.btn-player,.btn-primary,.chip,.seg,.pack,.oplayer,.rank-head,.btn){animation-duration:1.1s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}#app[data-idle] :is(.btn-player,.btn-primary,.chip,.seg,.pack,.oplayer,.rank-head,.btn){animation-duration:1.1s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}#app[data-idle=wiggle] :-webkit-any(.btn-player,.btn-primary,.chip,.pack,.btn){animation-name:idleWiggle}#app[data-idle=wiggle] :is(.btn-player,.btn-primary,.chip,.pack,.btn){animation-name:idleWiggle}#app[data-idle=bob] :-webkit-any(.btn-player,.btn-primary,.chip,.pack,.btn){animation-name:idleBob}#app[data-idle=bob] :is(.btn-player,.btn-primary,.chip,.pack,.btn){animation-name:idleBob}#app[data-idle=tilt] :-webkit-any(.btn-player,.btn-primary,.chip,.pack,.btn){animation-name:idleTilt}#app[data-idle=tilt] :is(.btn-player,.btn-primary,.chip,.pack,.btn){animation-name:idleTilt}#app[data-idle=pulse] :-webkit-any(.btn-player,.btn-primary,.chip,.pack,.btn){animation-name:idlePulse}#app[data-idle=pulse] :is(.btn-player,.btn-primary,.chip,.pack,.btn){animation-name:idlePulse}#app[data-idle] :-webkit-any(.btn-player,.chip,.pack,.btn):nth-child(2n){animation-delay:.14s}#app[data-idle] :is(.btn-player,.chip,.pack,.btn):nth-child(2n){animation-delay:.14s}#app[data-idle] :-webkit-any(.btn-player,.chip,.pack,.btn):nth-child(3n){animation-delay:.28s}#app[data-idle] :is(.btn-player,.chip,.pack,.btn):nth-child(3n){animation-delay:.28s}#app[data-idle] :-webkit-any(.btn-player,.chip,.pack,.btn):nth-child(5n){animation-delay:.42s}#app[data-idle] :is(.btn-player,.chip,.pack,.btn):nth-child(5n){animation-delay:.42s}@keyframes waitDots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}.waiting:after{content:"";animation:1.2s step-end infinite waitDots}
