:root{--gb-bg: #0e2230;--gb-panel: rgba(255, 255, 255, .06);--gb-panel-2: rgba(255, 255, 255, .1);--gb-line: rgba(255, 255, 255, .12);--gb-text: #f1f6f2;--gb-dim: rgba(241, 246, 242, .68);--gb-accent: #ffc94d;--gb-accent-ink: #2b1d00;--gb-gold: #ffd166;--gb-danger: #ff6b6b;--ok: #4fd18b;--bad: #ff7a7a;--card: #163447;--card-2: #1d4258;--radius: 18px;--font: system-ui, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%}body{background:radial-gradient(1200px 700px at 50% -10%,#1d4b4f 0%,var(--gb-bg) 60%) no-repeat,var(--gb-bg);color:var(--gb-text);font:16px/1.5 var(--font);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%}h1,h2,h3{line-height:1.25;margin:0 0 10px}h2{font-size:1.35rem}.sub{color:var(--gb-dim);font-size:.95rem;margin:4px 0 12px}.err{color:var(--bad);min-height:1.4em;font-weight:700;margin:8px 0}.link{color:var(--gb-accent);font-weight:700;text-decoration:none;padding:12px 8px;display:inline-block}.pill{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--gb-panel-2);font-size:.85rem;font-weight:700;color:var(--gb-dim);vertical-align:middle}.screen{display:none;min-height:100vh;min-height:100dvh;padding:max(16px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}body[data-screen=home] #s-home,body[data-screen=join] #s-join,body[data-screen=seat] #s-seat,body[data-screen=game] #s-game,body[data-screen=setup] #s-setup,body[data-screen=console] #s-console,body[data-screen=board] #s-board{display:block}.btn{min-height:56px;padding:10px 22px;border-radius:16px;border:1px solid var(--gb-line);background:var(--gb-panel-2);font-weight:800;font-size:1.02rem;cursor:pointer;touch-action:manipulation;transition:transform .08s,background .15s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--gb-accent);color:var(--gb-accent-ink);border-color:transparent;box-shadow:0 8px 22px #00000047}.btn.big{min-height:64px;font-size:1.2rem;padding:12px 28px;width:100%;max-width:420px}.btn.ghost{background:transparent}.btn.danger{border-color:#ff6b6b80;color:#ffb3b3}.icon-btn{min-width:44px;min-height:44px;border-radius:12px;border:1px solid var(--gb-line);background:var(--gb-panel);cursor:pointer;font-weight:700;padding:4px 10px}.back{background:none;border:0;color:var(--gb-dim);font-weight:700;min-height:44px;padding:8px 0;cursor:pointer;margin-bottom:6px}input[type=text],textarea,select{background:#00000040;border:1px solid var(--gb-line);border-radius:12px;padding:10px 12px;min-height:48px}textarea{width:100%;resize:vertical}label{font-weight:700;display:inline-flex;gap:8px;align-items:center}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}.row-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.gb-brand{display:flex;align-items:center;gap:10px;font-size:1.3rem;font-weight:900}.gb-brand .logo{width:40px;height:40px;border-radius:10px;object-fit:cover}.home-sub{text-align:center;color:var(--gb-dim);margin:-2px 0 6px}.home-h{margin:10px 0 0;font-size:1rem;color:var(--gb-dim)}.panel{max-width:560px;margin:0 auto}.panel.narrow{max-width:380px;text-align:center}.code-in{width:100%;text-align:center;font-size:2.2rem;letter-spacing:.4em;font-weight:900;min-height:72px}.seat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.seat{min-height:56px;border-radius:14px;border:1px solid var(--gb-line);background:var(--card);font-size:1.25rem;font-weight:900;cursor:pointer}.seat:disabled{opacity:.25}.game-top{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:#0a1a24f5;margin:-16px -16px 12px;padding:10px 16px;border-bottom:1px solid var(--gb-line)}.phase{font-weight:800;white-space:nowrap}.clock{font-variant-numeric:tabular-nums;font-size:1.25rem;color:var(--gb-accent);margin-left:6px}.team-bars{display:grid;gap:4px;min-width:0}.tbar{display:grid;grid-template-columns:26px 1fr 30px;gap:6px;align-items:center;font-size:.9rem}.tbar .track{height:10px;border-radius:6px;background:#ffffff1a;overflow:hidden}.tbar .track i{display:block;height:100%;width:0;border-radius:6px;transition:width .4s}.tbar .num{text-align:right;font-variant-numeric:tabular-nums}.tbar.mine{outline:2px solid var(--gb-accent);border-radius:8px;padding:1px 4px}.me-chip{display:flex;align-items:center;gap:6px;font-weight:800;white-space:nowrap}.net-state{background:#5a2b2b;color:#ffd6d6;padding:10px 14px;border-radius:12px;font-weight:700;margin-bottom:10px;text-align:center}.game-main{max-width:640px;margin:0 auto}.view{text-align:center}.emblem{display:inline-grid;place-items:center;border-radius:50%;overflow:hidden;background:#ffffff1f;flex:none}.emblem img{width:100%;height:100%;object-fit:cover}.emblem-sm{width:26px;height:26px;font-size:16px}.emblem-md{width:52px;height:52px;font-size:32px}.emblem-lg{width:120px;height:120px;font-size:76px}.my-team{display:flex;flex-direction:column;align-items:center;gap:8px;margin:18px 0;font-size:1.4rem;font-weight:900}.my-team .emblem-lg{box-shadow:0 0 0 6px var(--team, var(--gb-accent))}.study-list{display:grid;gap:10px;text-align:left}.study-card{display:block;width:100%;text-align:left;border-radius:var(--radius);border:1px solid var(--gb-line);background:var(--card);padding:14px 16px;min-height:64px;cursor:pointer}.study-card .front{display:block;font-size:1.1rem;font-weight:700}.study-card .back{display:none;margin-top:8px;color:var(--gb-accent)}.study-card .back .why{display:block;color:var(--gb-dim);font-size:.95rem}.study-card.flip .back{display:block}.hunt-card{background:var(--card);border-radius:24px;padding:18px 16px 22px;border:1px solid var(--gb-line);display:flex;flex-direction:column;align-items:center;gap:10px}.hunt-card .my-team{margin:4px 0;font-size:1.15rem}.my-cards{display:flex;align-items:baseline;gap:6px;font-size:1.1rem}.my-cards b{font-size:3rem;font-weight:900;line-height:1}.my-cards.small b{font-size:1.4rem}.cards-icon{font-size:1.6rem}.gold-mini{color:var(--gb-gold);font-weight:800}.hunt-state{font-size:1.15rem;font-weight:800;min-height:1.6em;margin:4px 0}.seek{display:flex;gap:8px;height:16px}.seek i{width:14px;height:14px;border-radius:50%;background:var(--gb-accent);animation:seek 1s infinite ease-in-out}.seek i:nth-child(2){animation-delay:.15s}.seek i:nth-child(3){animation-delay:.3s}@keyframes seek{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-8px);opacity:1}}.my-stats{color:var(--gb-dim);margin-top:14px;font-weight:700}.my-stats.big{font-size:1.15rem;color:var(--gb-text)}.rescue{margin-top:14px;background:#3a2a14;border:2px solid var(--gb-gold);border-radius:20px;padding:14px}.rescue .prog{color:var(--gb-gold);font-weight:800}.qbox{background:#00000040;border-radius:18px;padding:14px 16px;margin:8px 0 12px;border:1px solid var(--gb-line)}.qbox.golden{border-color:var(--gb-gold);box-shadow:0 0 0 3px #ffd16640}.qtext{font-size:1.35rem;font-weight:800;margin:4px 0;word-break:keep-all}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{display:flex;align-items:center;gap:10px;min-height:64px;padding:10px 12px;border-radius:16px;border:1px solid var(--gb-line);background:var(--card-2);font-weight:800;font-size:1.1rem;text-align:left;cursor:pointer;touch-action:manipulation}.choice .n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ffffff24;font-size:.95rem}.choice.picked{background:var(--gb-accent);color:var(--gb-accent-ink)}.choices.view .choice{cursor:default}.peeking .choices.view .choice.is-answer{outline:3px solid var(--ok)}.num-in,.word-in{width:100%;max-width:340px;text-align:center;font-size:1.8rem;font-weight:900;min-height:64px}.word-form{display:flex;gap:8px;justify-content:center}.word-form .word-in{font-size:1.3rem}.frac-keys{display:flex;gap:8px;justify-content:center;margin-top:8px}.key-mini{min-height:48px;padding:6px 16px;border-radius:12px;border:1px solid var(--gb-line);background:var(--gb-panel);font-weight:800;cursor:pointer}.answer-line{font-size:1.25rem;font-weight:900;color:var(--ok);margin:6px 0}.why{color:var(--gb-dim);margin:2px 0 8px}.gold-badge{display:inline-block;background:var(--gb-gold);color:#3a2a00;border-radius:999px;padding:2px 10px;font-weight:900;font-size:.85rem}.duel{position:fixed;inset:0;z-index:50;background:#050e14c7;display:grid;place-items:center;padding:12px}.duel-card{width:min(100%,560px);max-height:calc(100dvh - 24px);overflow:auto;background:linear-gradient(180deg,#1b4153,#10283a);border-radius:26px;border:1px solid var(--gb-line);box-shadow:0 20px 60px #00000080;padding:14px 16px 20px;text-align:center}.duel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.duel-tag{background:var(--gb-accent);color:var(--gb-accent-ink);font-weight:900;border-radius:999px;padding:4px 12px}.duel-opp{display:flex;align-items:center;gap:6px;font-size:1rem}.duel-bar{height:8px;background:#ffffff1a;border-radius:6px;overflow:hidden;margin:10px 0 14px}.duel-bar i{display:block;height:100%;width:100%;background:var(--gb-accent);border-radius:6px}.duel-bar i.urgent{background:var(--bad)}.duel-body h2.big{font-size:1.7rem;margin:6px 0 14px}.duel-body h2.mid{font-size:1.25rem}h2.winner,h2.good{color:var(--ok)}h2.loser,h2.bad{color:var(--bad)}h2.neutral{color:var(--gb-dim)}.rps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rps-btn{min-height:120px;border-radius:22px;border:2px solid var(--gb-line);background:var(--card-2);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;touch-action:manipulation}.rps-btn.picked{border-color:var(--gb-accent);background:#ffc94d2e}.rps-btn .lbl{font-weight:900;font-size:1.05rem}.hand{width:72px;height:72px;display:grid;place-items:center}.hand img{width:100%;height:100%;object-fit:contain}.hand.emoji{font-size:54px}.reveal-row{display:flex;justify-content:center;align-items:center;gap:18px;margin:6px 0}.reveal-row .hand{width:110px;height:110px}.reveal-row .hand.emoji{font-size:84px}.reveal-row .theirs img{transform:scaleX(-1)}.vs{font-weight:900;font-size:1.4rem;color:var(--gb-dim)}.opp-ready{color:var(--gb-dim);font-weight:700;margin:10px 0 0}.hint{color:var(--gb-dim);font-size:.9rem;margin:6px 0 0}.note{color:var(--gb-gold);font-weight:700}.card-list{display:grid;gap:8px;max-height:50vh;overflow:auto;text-align:left}.card-pick{display:flex;gap:10px;align-items:center;min-height:60px;border-radius:16px;border:1px solid var(--gb-line);background:var(--card-2);padding:10px 14px;font-weight:700;cursor:pointer;text-align:left}.card-pick.golden{border-color:var(--gb-gold)}.card-pick.seen{opacity:.62}.seen-tag{margin-left:auto;font-size:.8rem;color:var(--gb-dim);white-space:nowrap}.card-pick.picked{background:var(--gb-accent);color:var(--gb-accent-ink)}.timer{font-size:1.1rem;font-weight:900;color:var(--gb-accent)}.timer .secs{font-size:1.6rem;margin-right:2px}.peek{margin-top:12px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.peek-answer{font-size:1.3rem;font-weight:900;color:var(--ok);visibility:hidden}.peeking .peek-answer{visibility:visible}body.in-duel{overflow:hidden}.plaza-host{width:100%;aspect-ratio:16 / 10;max-height:calc(100dvh - 190px);border-radius:18px;overflow:hidden;background:#6fbf6a;touch-action:none}.plaza-host canvas{display:block}.plaza-hud{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px}.plaza-tip{color:var(--gb-dim);font-weight:700;font-size:.95rem}body[data-view=plaza] .game-main{max-width:1100px}.review-list{display:grid;gap:10px;margin:12px 0;text-align:left}.review-card{background:var(--card);border-radius:18px;padding:12px 16px;border:1px solid var(--gb-line)}.rank-list{display:grid;gap:8px;margin:14px 0}.rank-row{display:grid;grid-template-columns:52px 30px 1fr auto;gap:10px;align-items:center;background:var(--card);border-radius:16px;padding:12px 14px;font-size:1.1rem}.rank-row.mine{outline:3px solid var(--gb-accent)}.rank-row .r{color:var(--gb-gold)}.rank-row .n{text-align:left;font-weight:800}.school-msg{font-weight:900;color:var(--gb-gold);min-height:1.5em}body.paused #s-game:after{content:"⏸ 선생님이 잠깐 멈췄어요";position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#050e14d1;font-size:1.6rem;font-weight:900}#toast{pointer-events:none;position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%) translateY(120px);z-index:100;background:#2a3b45;border:1px solid var(--gb-line);padding:12px 18px;border-radius:14px;font-weight:800;transition:transform .25s;max-width:calc(100% - 32px)}#toast.on{transform:translate(-50%) translateY(0)}.modal{position:fixed;inset:0;z-index:70;background:#050e14bf;display:grid;place-items:center;padding:16px}.modal-card{width:min(100%,420px);background:var(--card);border-radius:22px;padding:18px;display:grid;gap:12px}.modal-card label{justify-content:space-between}.modal-card label.row{justify-content:flex-start}.t-wrap{max-width:1200px;margin:0 auto}.t-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}.t-head h1{font-size:1.4rem;margin:0}.t-head .spacer{flex:1}.t-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.t-card{background:var(--card);border:1px solid var(--gb-line);border-radius:22px;padding:16px;min-width:0}.tabs{display:flex;gap:6px;margin-bottom:10px}.tab{min-height:48px;padding:6px 14px;border-radius:12px;border:1px solid var(--gb-line);background:transparent;font-weight:800;cursor:pointer}.tab.on{background:var(--gb-accent);color:var(--gb-accent-ink)}.q-list{display:grid;gap:6px;max-height:46vh;overflow:auto;margin-top:10px}.q-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:8px;align-items:center;background:#0003;border-radius:12px;padding:6px 8px;font-size:.95rem}.q-row .a{color:var(--ok);font-weight:700}.q-row .type{font-size:.78rem;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--gb-panel-2)}.q-row .star.on{background:var(--gb-gold)}.saved-list{display:grid;gap:6px;margin:8px 0}.saved-row{display:flex;gap:6px}.saved-row .btn{flex:1;min-height:48px;text-align:left}.file-btn{cursor:pointer}.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border-radius:14px;border:1px solid var(--gb-line);background:#0000002e;cursor:pointer;min-height:64px}.opt input{position:absolute;opacity:0;pointer-events:none}.opt:has(input:checked){border-color:var(--gb-accent);background:#ffc94d24}.opt span{color:var(--gb-dim);font-weight:600;font-size:.9rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.form-grid label{justify-content:space-between}.form-grid .chk{grid-column:1 / -1;justify-content:flex-start}.chk input{width:22px;height:22px}.room-code{font-size:1.2rem;font-weight:800}.room-code b{font-size:2rem;letter-spacing:.12em;color:var(--gb-accent)}.join-box{display:flex;gap:14px;align-items:center}.qr{width:132px;height:132px;background:#fff;border-radius:10px;image-rendering:pixelated}.controls{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}.controls .btn.big{width:auto}.teams-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.team-col{border-radius:14px;padding:10px;background:#0003;border-top:5px solid var(--team, #888)}.team-col h3{font-size:1rem}.chip{display:inline-flex;align-items:center;gap:4px;margin:3px;padding:4px 8px;border-radius:10px;background:var(--gb-panel-2);font-weight:800}.chip.off{opacity:.45}select.mini{min-height:36px;padding:2px 4px}.ptable{width:100%;border-collapse:collapse;font-size:.95rem}.ptable th,.ptable td{padding:8px 6px;border-bottom:1px solid var(--gb-line);text-align:left}.ptable tr.off{opacity:.5}.roster{margin-top:12px}.roster summary{cursor:pointer;font-weight:800;min-height:44px;padding:10px 0}#s-board{padding:0;background:#0b1c27 url(../assets/board-bg.webp) center / cover no-repeat}#s-board:before{content:"";position:fixed;inset:0;background:#06121a9e}.board{position:relative;min-height:100vh;padding:28px 48px;display:grid;gap:22px;align-content:start}.board-exit,.board-full{position:fixed;top:12px;z-index:5;width:52px;height:52px;border-radius:14px;border:1px solid var(--gb-line);background:#0006;font-size:1.3rem;cursor:pointer}.board-exit{right:12px}.board-full{right:72px}.b-top{display:flex;justify-content:space-between;align-items:center;padding-right:132px}.b-phase{font-size:3rem;font-weight:900}.b-clock{font-size:6rem;font-weight:900;font-variant-numeric:tabular-nums;color:var(--gb-accent);line-height:1}.b-clock.urgent{color:var(--bad)}.b-lobby{text-align:center}.b-big{font-size:2.4rem;margin:0;font-weight:800}.b-code{font-size:9rem;font-weight:900;letter-spacing:.14em;margin:0;line-height:1.05;color:var(--gb-accent)}.b-qr{width:260px;height:260px;background:#fff;border-radius:16px;image-rendering:pixelated}.b-sub{font-size:2rem;font-weight:800;color:var(--gb-dim)}.b-bars{display:grid;gap:14px}.b-bar{display:grid;grid-template-columns:auto auto 220px 1fr 120px;gap:18px;align-items:center;font-size:2.2rem;font-weight:900}.b-bar .rank{color:var(--gb-gold);min-width:2.6em}.b-bar:not(:has(.rank)){grid-template-columns:auto 220px 1fr 120px}.b-bar .emblem-md{width:76px;height:76px;font-size:48px}.b-bar .track{height:40px;background:#ffffff1f;border-radius:20px;overflow:hidden}.b-bar .track i{display:block;height:100%;border-radius:20px;transition:width .6s}.b-bar .score{text-align:right;font-size:4rem;line-height:1}.b-bar.win .score{color:var(--gb-gold)}.b-mini canvas{width:min(100%,900px);border-radius:18px;display:block;margin:0 auto}.b-feed{display:grid;gap:8px}.b-news{display:flex;align-items:center;gap:12px;font-size:1.8rem;font-weight:800;background:#0000004d;border-radius:16px;padding:8px 16px}.b-review{display:grid;gap:14px}.b-review h2{font-size:2.6rem}.b-rcard{background:#00000059;border-radius:20px;padding:18px 24px}.b-rcard .q{font-size:2.4rem;font-weight:900;margin:0}.b-rcard .a{font-size:2.2rem;color:var(--ok);font-weight:900;margin:6px 0 0}.b-rcard .w{font-size:1.6rem;color:var(--gb-dim);margin:4px 0 0}@media(max-width:860px){.t-grid{grid-template-columns:1fr}.b-bar{grid-template-columns:auto 1fr 80px;font-size:1.4rem}.b-bar .name{display:none}.b-code{font-size:5rem}}@media(max-width:420px){.choices{grid-template-columns:1fr}.game-top{grid-template-columns:1fr auto}.game-top .team-bars{grid-column:1 / -1;grid-row:2}.rps-btn{min-height:104px}.opt-grid,.form-grid{grid-template-columns:1fr}}body .gb-home .gb-play{min-height:56px}.gbj-layer{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}.gbj-pop{position:absolute;transform:translate(-50%,-50%) scale(var(--s));font:900 22px/1 system-ui,sans-serif;text-shadow:0 2px 0 #0008,0 0 12px currentColor;white-space:nowrap;animation:gbjPop .9s cubic-bezier(.2,1.6,.4,1) forwards}@keyframes gbjPop{0%{opacity:0;transform:translate(-50%,-50%) scale(calc(var(--s)*.3))}15%{opacity:1;transform:translate(-50%,-80%) scale(calc(var(--s)*1.35))}35%{transform:translate(calc(-50% + var(--dx)),-120%) scale(var(--s))}to{opacity:0;transform:translate(calc(-50% + var(--dx)),-260%) scale(calc(var(--s)*.9))}}.gbj-punch{animation:gbjPunch .32s cubic-bezier(.2,2,.4,1)}@keyframes gbjPunch{0%{transform:scale(1)}30%{transform:scale(var(--gbj-p))}to{transform:scale(1)}}.gbj-flash{position:absolute;inset:0;opacity:0}.gbj-flash.gbj-go{animation:gbjFlash .35s ease-out forwards}@keyframes gbjFlash{to{opacity:0}}.gbj-banner{position:absolute;left:50%;top:var(--gbj-banner-top,40%);transform:translate(-50%,-50%);font:900 clamp(22px,8vw,44px)/1.1 system-ui,sans-serif;text-align:center;opacity:0;text-shadow:0 3px 0 #000a,0 0 24px currentColor;max-width:92vw;width:max-content}.gbj-banner.gbj-go{animation:gbjBan var(--d,1.4s) cubic-bezier(.2,1.5,.4,1) forwards}@keyframes gbjBan{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-8deg)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.25) rotate(2deg)}30%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-70%) scale(1.05)}}@media(prefers-reduced-motion:reduce){.gbj-pop,.gbj-banner.gbj-go,.gbj-punch{animation-duration:.01s}}.mb-spark{position:fixed;width:10px;height:10px;border-radius:50%;pointer-events:none;z-index:41;animation:mbSpark .7s cubic-bezier(.15,.8,.3,1) forwards}@keyframes mbSpark{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.2);opacity:0}}@media(prefers-reduced-motion:reduce){.mb-spark{display:none}}body.smoke{margin:0;background:#0b1c27}.smoke-host{position:fixed;inset:0}:focus-visible{outline:3px solid #ffe066;outline-offset:2px}
