:root{--bg: #0a0c11;--bg-board: #0f131d;--tile-face: #202b3f;--tile-edge: #46597d;--text: #f3f7ff;--muted: #8a97ad;--accent: #5cc8ff;--accent2: #b07cff;--green: #36d399;--yellow: #f5c451;--absent: #39414f;--danger: #ff5c7a;--gold: #ffd166;--pad-top: max(env(safe-area-inset-top), 8px);--pad-bottom: max(env(safe-area-inset-bottom), 8px);--pad-x: max(env(safe-area-inset-left), 10px);--font: "Inter", "Inter var", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 16px}body.dyslexia{--font: "Atkinson Hyperlegible", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none}#app{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;display:flex;flex-direction:column;background:radial-gradient(120% 60% at 50% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),radial-gradient(90% 50% at 100% 110%,color-mix(in srgb,var(--accent2) 14%,transparent),transparent 60%),var(--bg);transition:background .5s ease}#stage{flex:1 1 auto;min-height:0;position:relative}canvas{display:block}.top,.dock{display:none}body.playing .top,body.playing .dock{display:flex}body:not(.playing) #stage{visibility:hidden}.top{flex:0 0 auto;padding:var(--pad-top) var(--pad-x) 4px;flex-direction:column;gap:6px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.top-right{display:flex;align-items:center;gap:6px;flex:0 0 auto}.scoreblock{display:flex;flex-direction:column;align-items:flex-start;line-height:1;min-width:0}.score{font-size:30px;font-weight:900;letter-spacing:.5px;font-variant-numeric:tabular-nums;line-height:1}.score.bump{animation:scoreBump .32s ease-out}@keyframes scoreBump{0%{transform:scale(1)}35%{transform:scale(1.18);color:var(--gold)}to{transform:scale(1)}}.submeta{margin-top:4px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chip{font-size:11px;font-weight:800;padding:5px 9px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--muted);white-space:nowrap}.chip.pack{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.chip.combo{color:#08131f;background:linear-gradient(100deg,var(--accent),var(--accent2));border-color:transparent}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text);width:38px;height:38px;border-radius:12px;font-size:16px;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.icon-btn:active{transform:scale(.94)}.cipher-intent{display:flex;align-items:center;gap:8px;padding:0 2px;margin-bottom:1px;font-size:11px;letter-spacing:.3px;line-height:1}.ci-tag{font-weight:900;color:var(--bg);background:var(--accent);padding:2px 8px;border-radius:999px;white-space:nowrap;box-shadow:0 0 14px color-mix(in srgb,var(--accent) 55%,transparent)}.ci-hint{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cipher-wrap{position:relative;display:flex;align-items:center;gap:8px}.cipher-bar{flex:1 1 auto;display:flex;gap:6px;justify-content:center;padding:6px 8px;border-radius:12px;background:linear-gradient(180deg,#ffffff0d,#ffffff05);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:inset 0 1px #ffffff0d,0 0 18px color-mix(in srgb,var(--accent) 10%,transparent)}.cipher-slot{flex:1 1 0;max-width:46px;aspect-ratio:1;border-radius:9px;display:grid;place-items:center;font-size:clamp(15px,4.6vw,22px);font-weight:800;border:2px solid var(--absent);background:#0003;transition:transform .18s ease,background .2s ease,border-color .2s ease}.cipher-slot.flip{animation:flip .5s ease}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg) scale(1.06)}to{transform:rotateX(0)}}.present-tray{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:0 2px;max-height:0;opacity:0;overflow:hidden;transition:max-height .25s ease,opacity .2s ease}.present-tray.show{max-height:64px;opacity:1}.pt-label{font-size:9px;font-weight:900;letter-spacing:1px;color:var(--yellow);opacity:.85}.pt-tile{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:14px;font-weight:800;color:#1a1300;background:var(--yellow);border:1px solid color-mix(in srgb,var(--yellow) 70%,#000);box-shadow:0 0 8px color-mix(in srgb,var(--yellow) 55%,transparent);animation:ptPop .3s cubic-bezier(.2,.9,.3,1.4)}@keyframes ptPop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.fb-unknown{background:#0000002e}.cipher-slot.fb-unknown{border-style:dashed;border-color:#ffffff24}.fb-absent{background:var(--absent);color:#aab2c0;border-color:var(--absent)}.fb-present{color:var(--yellow);border-color:var(--yellow);background:#f5c45114}.fb-correct{background:linear-gradient(180deg,var(--green),#1fae7b);color:#04231a;border-color:var(--green);box-shadow:0 0 16px #36d39966}.cipher-slot,.cgb-tile,.rc-cell{position:relative}.cipher-slot.fb-correct:after,.cipher-slot.fb-present:after,.cipher-slot.fb-absent:after,.cgb-tile.fb-correct:after,.cgb-tile.fb-present:after,.cgb-tile.fb-absent:after,.rc-cell.fb-correct:after,.rc-cell.fb-present:after,.rc-cell.fb-absent:after{content:"";position:absolute;right:3px;bottom:3px;width:7px;height:7px;box-sizing:border-box;pointer-events:none}.cipher-slot.fb-correct:after,.cgb-tile.fb-correct:after,.rc-cell.fb-correct:after{background:#f2f6ff;box-shadow:0 0 0 1px #0000008c}.cipher-slot.fb-present:after,.cgb-tile.fb-present:after,.rc-cell.fb-present:after{background:transparent;border:2px solid #f2f6ff;border-radius:50%;box-shadow:0 0 0 1px #0000008c}.cipher-slot.fb-absent:after,.cgb-tile.fb-absent:after,.rc-cell.fb-absent:after{width:4px;height:4px;border-radius:50%;background:#f2f6ff;box-shadow:0 0 0 1px #0000008c}.cipher-guess-banner{position:absolute;top:calc(100% + 6px);left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;opacity:0;pointer-events:none;z-index:6}.cipher-guess-banner.show{animation:cgbPop 2s ease forwards}@keyframes cgbPop{0%{opacity:0;transform:translateY(-7px) scale(.92)}9%{opacity:1;transform:translateY(0) scale(1)}82%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-5px) scale(.98)}}.cgb-label{font-size:10px;font-weight:900;letter-spacing:1.2px;color:var(--muted)}.cipher-guess-banner.win .cgb-label{color:var(--gold);text-shadow:0 0 12px var(--gold)}.cgb-row{display:flex;gap:3px}.cgb-tile{width:22px;height:22px;border-radius:5px;display:grid;place-items:center;font-size:12.5px;font-weight:800;color:var(--text);border:1.5px solid var(--absent);background:#00000047}.cgb-tile.fb-absent{background:var(--absent);border-color:var(--absent);color:#aab2c0}.cgb-tile.fb-present{color:var(--yellow);border-color:var(--yellow);background:#f5c4511a}.cgb-tile.fb-correct{background:linear-gradient(180deg,var(--green),#1fae7b);color:#04231a;border-color:var(--green);box-shadow:0 0 12px #36d39966}.cgb-tile.fb-unknown{border-style:dashed}.cgb-tally{font-size:9.5px;font-weight:700;color:var(--muted);white-space:nowrap}.cipher-guess-banner.win .cgb-tally{color:var(--gold)}.dock{flex:0 0 auto;padding:4px var(--pad-x) var(--pad-bottom);flex-direction:column;gap:6px}.dock.lefty .rails{flex-direction:row-reverse}.dock.lefty .controls{direction:rtl}.dock.no-pad .controls{display:none}.rails{display:flex;align-items:stretch;gap:10px}.rail{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.rail.next{flex:1 1 auto;justify-content:flex-end;overflow:hidden}.rail-label{font-size:10px;font-weight:800;letter-spacing:1.2px;color:var(--muted)}.mino{display:flex;gap:3px}.mino.dim{opacity:.55}.mtile{width:22px;height:22px;border-radius:5px;display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--text);background:linear-gradient(180deg,var(--tile-face),#161d2b);border:1px solid var(--tile-edge);box-shadow:inset 0 1px #ffffff1f}.mtile.bomb{border-color:var(--danger);color:var(--danger)}.mtile.wild{border-color:var(--accent);color:var(--accent)}.mtile.gem{border-color:var(--gold);color:var(--gold);box-shadow:inset 0 1px #fff3,0 0 8px color-mix(in srgb,var(--gold) 55%,transparent)}.mtile.laser{border-color:var(--wild, #7af0ff);color:#7af0ff;box-shadow:inset 0 1px #fff3,0 0 8px #7af0ff8c}.controls{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1.2fr 1fr;gap:6px}.ctl{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#ffffff14,#ffffff08);color:var(--text);height:50px;border-radius:14px;font-size:22px;font-weight:800;display:grid;place-items:center;cursor:pointer;touch-action:none}.ctl:active{transform:translateY(1px) scale(.97);background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent)}.ctl.primary{background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#1a1a2a));border-color:transparent;color:#04161f}.combo-pop{position:fixed;top:36%;left:50%;transform:translate(-50%,-50%) scale(.6);font-size:clamp(48px,18vw,104px);font-weight:900;font-style:italic;background:linear-gradient(100deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px color-mix(in srgb,var(--accent) 50%,transparent);opacity:0;pointer-events:none;z-index:20}.combo-pop.warm{background:linear-gradient(100deg,var(--gold),#ff9f6b);-webkit-background-clip:text;background-clip:text}.combo-pop.hot{background:linear-gradient(100deg,var(--danger),var(--gold));-webkit-background-clip:text;background-clip:text}.combo-pop.show{animation:combo .7s cubic-bezier(.18,.9,.3,1.2)}@keyframes combo{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-6deg)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.18) rotate(-3deg)}to{opacity:0;transform:translate(-50%,-78%) scale(1) rotate(0)}}.toast{position:fixed;top:13%;left:50%;transform:translate(-50%,-8px);padding:10px 20px;border-radius:999px;font-weight:800;letter-spacing:1px;background:#0a0e16c7;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;z-index:21;width:max-content;max-width:min(92vw,460px);text-align:center;overflow-wrap:break-word}.toast.gold{color:#1a1200;background:linear-gradient(100deg,var(--gold),#ffb86b);border-color:transparent;box-shadow:0 6px 30px #ffd16673}.toast.theme{color:#04231a;background:linear-gradient(100deg,var(--green),#2fd6a0);border-color:transparent}.toast.flush{color:#03202e;background:linear-gradient(100deg,#7dd3fc,#0ea5e9);border-color:transparent;box-shadow:0 6px 30px #38bdf880}.toast.plunger{color:#fff;background:linear-gradient(100deg,#e25555,#b03030);border-color:transparent;box-shadow:0 6px 30px #e255558c}.toast.corn{color:#3d2a00;background:linear-gradient(100deg,#ffe9b3,#f7b733);border-color:transparent;box-shadow:0 6px 30px #f7b7338c}.cheer{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:30;opacity:0}.cheer.show{animation:cheer-pop 2.3s cubic-bezier(.2,1.4,.4,1) forwards}.cheer.big.show{animation-duration:3s}.cheer-card{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:min(92vw,420px);padding:18px 26px 14px;border-radius:22px;background:#0a0e16d1;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 60px #00000073}.cheer svg{width:110px;height:110px}.cheer.big svg{width:130px;height:130px}.cheer-text{font-weight:900;font-size:clamp(18px,6.2vw,24px);letter-spacing:2px;color:#ffd166;text-shadow:0 2px 14px rgba(255,209,102,.45);max-width:100%;text-align:center;overflow-wrap:break-word}.cheer.big .cheer-text{font-size:clamp(21px,7.6vw,30px)}.cheer-sub{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.4px;max-width:100%;text-align:center;overflow-wrap:break-word}@keyframes cheer-pop{0%{opacity:0;transform:scale(.7) translateY(18px)}10%,82%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(-16px)}}body.theme-light .cheer-card{background:#ffffffeb;border-color:color-mix(in srgb,var(--accent) 30%,transparent)}body.theme-light .cheer-sub{color:#5b6572}.cheer .ch-flame{fill:#ffb545;transform-origin:60px 48px;animation:ch-flicker .7s ease-in-out infinite alternate}.cheer .ch-wisp{stroke:#ffffffa6;stroke-width:2.5;stroke-linecap:round;animation:ch-rise 1.6s ease-out infinite}.cheer .ch-wisp2{animation-delay:.5s}.cheer .ch-rays line{stroke:#ffd166;stroke-width:4;stroke-linecap:round;transform-origin:60px 60px;animation:ch-raypulse 1s ease-in-out infinite alternate}.cheer .ch-pop{transform-origin:60px 70px;animation:ch-thumb .5s cubic-bezier(.2,1.6,.4,1) both}.cheer .ch-hand{transform-origin:60px 42px;animation:ch-tick 2s steps(8) infinite}.cheer .ch-puff{fill:#ffffffd9;animation:ch-spritz 1.1s ease-out infinite}.cheer .ch-puff2{animation-delay:.15s}.cheer .ch-puff3{animation-delay:.3s}.cheer .ch-nozzle{transform-origin:62px 36px;animation:ch-press 1.1s ease-in-out infinite}.cheer .ch-check{stroke-dasharray:70;stroke-dashoffset:70;animation:ch-draw .7s .25s ease-out forwards}.cheer .ch-bub{fill:#fffc;animation:ch-bubble 1.5s ease-in infinite}.cheer .ch-bub2{animation-delay:.4s}.cheer .ch-bub3{animation-delay:.8s}.cheer .ch-card rect{fill:#fff;stroke:#c3cad6;stroke-width:2}.cheer .ch-card{opacity:0;animation:ch-cardpop .4s cubic-bezier(.2,1.5,.4,1) forwards}.cheer .ch-card1{animation-delay:.05s}.cheer .ch-card2{animation-delay:.15s}.cheer .ch-card3{animation-delay:.25s}.cheer .ch-card4{animation-delay:.35s}.cheer .ch-card5{animation-delay:.45s}.cheer .ch-crownstar{transform-origin:60px 19px;animation:ch-starspin 2.4s ease-in-out infinite}@keyframes ch-flicker{0%{transform:scale(1) rotate(-3deg)}to{transform:scale(1.15) rotate(3deg)}}@keyframes ch-rise{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translateY(-10px)}}@keyframes ch-raypulse{0%{opacity:.4}to{opacity:1}}@keyframes ch-thumb{0%{transform:scale(.6) rotate(-18deg)}to{transform:scale(1) rotate(0)}}@keyframes ch-tick{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ch-spritz{0%{opacity:0;transform:translate(-8px) scale(.5)}25%{opacity:.95}to{opacity:0;transform:translate(14px) scale(1.25)}}@keyframes ch-press{0%,20%,to{transform:translateY(0)}10%{transform:translateY(3px)}}@keyframes ch-draw{to{stroke-dashoffset:0}}@keyframes ch-bubble{0%{opacity:0;transform:translateY(10px)}30%{opacity:.9}to{opacity:0;transform:translateY(-16px)}}@keyframes ch-cardpop{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes ch-starspin{0%,to{transform:rotate(-12deg) scale(1)}50%{transform:rotate(12deg) scale(1.15)}}body.reduce-motion .cheer.show{animation:cheer-fade 2.3s ease forwards}body.reduce-motion .cheer .ch-flame,body.reduce-motion .cheer .ch-wisp,body.reduce-motion .cheer .ch-rays line,body.reduce-motion .cheer .ch-pop,body.reduce-motion .cheer .ch-hand,body.reduce-motion .cheer .ch-puff,body.reduce-motion .cheer .ch-nozzle,body.reduce-motion .cheer .ch-bub,body.reduce-motion .cheer .ch-crownstar{animation:none}body.reduce-motion .cheer .ch-check{animation:none;stroke-dashoffset:0}body.reduce-motion .cheer .ch-card{animation:none;opacity:1}@keyframes cheer-fade{0%{opacity:0}12%,85%{opacity:1}to{opacity:0}}.toast.show{animation:toast 1.5s ease}.toast.long.show{animation-duration:7s}@keyframes toast{0%{opacity:0;transform:translate(-50%,-8px) scale(.92)}12%,78%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-8px) scale(.98)}}.word-flash{position:fixed;top:43%;left:50%;--wf-y: 0em;--wf-shift: 0em;--wf-rot: 0deg;transform:translate(calc(-50% + var(--wf-shift)),calc(-50% + var(--wf-y))) scale(.5) rotate(var(--wf-rot));font-size:clamp(36px,13vw,84px);font-weight:900;letter-spacing:2px;color:var(--accent);text-shadow:0 0 22px currentColor,0 2px 7px rgba(0,0,0,.85);opacity:0;pointer-events:none;z-index:22;white-space:nowrap}.word-flash.stacked{font-size:clamp(28px,10vw,62px)}.word-flash.cipher{color:var(--gold)}.word-flash.theme{color:var(--green)}.word-flash.show{animation:wordFlash 1.15s cubic-bezier(.34,1.4,.5,1) forwards}@keyframes wordFlash{0%{opacity:0;transform:translate(calc(-50% + var(--wf-shift)),calc(-45% + var(--wf-y))) scale(.7) rotate(calc(-2deg + var(--wf-rot)));filter:blur(3px)}18%{opacity:1;transform:translate(calc(-50% + var(--wf-shift)),calc(-50% + var(--wf-y))) scale(1.08) rotate(calc(.5deg + var(--wf-rot)));filter:blur(0)}30%{transform:translate(calc(-50% + var(--wf-shift)),calc(-50% + var(--wf-y))) scale(1) rotate(var(--wf-rot))}68%{opacity:1;transform:translate(calc(-50% + var(--wf-shift)),calc(-52% + var(--wf-y))) scale(1.04) rotate(var(--wf-rot));filter:blur(0)}to{opacity:0;transform:translate(calc(-50% + var(--wf-shift)),calc(-60% + var(--wf-y))) scale(1.12) rotate(var(--wf-rot));filter:blur(4px)}}.cipher-burst{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease}.cb-flash{position:absolute;top:-15%;right:-15%;bottom:-15%;left:-15%;opacity:.5;background:radial-gradient(circle at center,rgba(255,255,255,.55) 0%,rgba(255,209,102,.34) 20%,rgba(255,209,102,.1) 42%,transparent 64%)}.cb-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 16px;text-align:center}.cb-label{font-size:clamp(12px,4vw,22px);font-weight:900;letter-spacing:4px;color:#fff;text-shadow:0 0 16px var(--gold),0 2px 8px rgba(0,0,0,.7)}.cb-word{font-size:clamp(46px,17vw,128px);font-weight:900;letter-spacing:2px;line-height:.95;color:var(--gold);text-shadow:0 0 28px var(--gold),0 0 64px rgba(255,209,102,.65),0 4px 12px rgba(0,0,0,.8);word-break:break-word}.cipher-burst.show .cb-flash{animation:cbFlash .95s ease-out}.cipher-burst.show .cb-word{animation:cbWord .72s cubic-bezier(.2,1.4,.4,1)}.cipher-burst.show .cb-label{animation:cbLabel .8s ease-out}@keyframes cbFlash{0%{opacity:0;transform:scale(.5)}16%{opacity:1;transform:scale(1.06)}to{opacity:.5;transform:scale(1)}}@keyframes cbWord{0%{opacity:0;transform:scale(1.55);filter:blur(9px)}40%{opacity:1;transform:scale(.99);filter:blur(0)}60%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes cbLabel{0%{opacity:0;transform:translateY(10px);letter-spacing:1px}50%{opacity:1}to{opacity:1;transform:translateY(0);letter-spacing:4px}}body.reduce-motion .cb-flash{opacity:.2}.screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:calc(var(--pad-top) + 8px) 24px calc(var(--pad-bottom) + 16px);overflow-y:auto;background:radial-gradient(120% 70% at 50% -10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%),linear-gradient(180deg,#080a10,#05070c)}.screen.fade{animation:screenIn .34s cubic-bezier(.2,.8,.3,1)}@keyframes screenIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.logo{font-size:clamp(48px,17vw,96px);font-weight:900;letter-spacing:8px;margin:0;background:linear-gradient(100deg,var(--accent),var(--accent2),var(--gold),var(--accent));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 26px color-mix(in srgb,var(--accent) 45%,transparent));animation:logoSheen 6s linear infinite}@keyframes logoSheen{to{background-position:300% 0}}.tag{margin:-8px 0 0;font-size:12px;letter-spacing:3px;color:var(--accent);text-transform:uppercase;font-weight:700}.blurb{margin:0;color:var(--muted);max-width:30ch;line-height:1.5;font-size:14px}.home{justify-content:flex-start;padding-top:calc(var(--pad-top) + 6px)}.home-top{align-self:stretch;display:flex;align-items:center;justify-content:space-between}.home-name{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;font-size:13px;font-weight:700;color:var(--muted);padding:6px 12px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);cursor:pointer}.home-name:active{transform:scale(.96)}.home-foot{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:10px}.foot-stat{font-size:12px;color:var(--muted)}.mode-cards{width:100%;max-width:460px;display:flex;flex-direction:column;gap:12px;margin-top:6px}.mode-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;color:var(--text);background:linear-gradient(135deg,#ffffff12,#ffffff05);border:1px solid rgba(255,255,255,.08);cursor:pointer;position:relative;overflow:hidden;transition:transform .14s ease,border-color .2s ease,box-shadow .2s ease;animation:cardIn .4s backwards}.mode-cards .mode-card:nth-child(1){animation-delay:.04s}.mode-cards .mode-card:nth-child(2){animation-delay:.1s}.mode-cards .mode-card:nth-child(3){animation-delay:.16s}.mode-cards .mode-card:nth-child(4){animation-delay:.22s}.mode-cards .mode-card:nth-child(5){animation-delay:.28s}.mode-card.duel-card{border-color:color-mix(in srgb,var(--accent2) 55%,transparent);box-shadow:0 8px 36px color-mix(in srgb,var(--accent2) 20%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 18%,transparent),#ffffff05)}.mode-card.duel-card .mc-icon{color:var(--accent2)}.mode-card.duel-card .mc-badge{color:var(--accent2);font-style:italic}@keyframes cardIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.mode-card:active{transform:scale(.98)}.mode-card.accent{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 8px 36px color-mix(in srgb,var(--accent) 18%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,transparent),#ffffff05)}.mc-icon{font-size:30px;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#00000040;color:var(--accent);flex:0 0 auto}.mc-body{flex:1 1 auto;min-width:0}.mc-title{font-size:19px;font-weight:800}.mc-sub{font-size:12.5px;color:var(--muted);margin-top:2px;line-height:1.35}.mc-meta{font-size:11px;color:var(--accent);margin-top:6px;font-weight:700;letter-spacing:.3px}.mc-badge{position:absolute;top:12px;right:14px;font-size:13px;font-weight:800;color:var(--gold)}.mc-badge.streak{animation:flamePulse 2.2s ease-in-out infinite}@keyframes flamePulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}50%{transform:scale(1.12);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--gold) 65%,transparent))}}.mode-card.accent:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.14) 50%,transparent 58%);background-size:260% 100%;background-position:120% 0;animation:cardSheen 7s ease-in-out infinite}@keyframes cardSheen{0%,78%{background-position:120% 0}92%,to{background-position:-140% 0}}body.reduce-motion .mc-badge.streak,body.reduce-motion .mode-card.accent:after{animation:none}.back-bar{align-self:stretch;display:flex;align-items:center;gap:12px;max-width:460px;width:100%;margin:0 auto}.back-title{font-size:18px;font-weight:800}.sub-tag{color:var(--muted);font-size:13px;margin:0}.sub-tag.center{max-width:30ch}.pack-list{width:100%;max-width:460px;display:flex;flex-direction:column;gap:12px}.level-up-nudge{width:100%;max-width:460px;margin:2px auto 14px;display:flex;align-items:stretch;gap:4px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold, #ffd166) 20%,transparent),#ffffff08);border:1px solid color-mix(in srgb,var(--gold, #ffd166) 55%,transparent);box-shadow:0 0 26px color-mix(in srgb,var(--gold, #ffd166) 22%,transparent)}.level-up-nudge .lu-go{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 16px;border:none;background:transparent;color:var(--text);border-radius:18px 0 0 18px}.level-up-nudge .lu-title{font-weight:700;font-size:15px;color:var(--gold, #ffd166)}.level-up-nudge .lu-sub{font-size:13px;color:var(--muted)}.level-up-nudge .lu-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex:0 0 auto;width:44px;border:none;border-radius:0 18px 18px 0;background:transparent;color:var(--muted);font-size:22px;line-height:1}.level-up-nudge .lu-dismiss:hover{color:var(--gold, #ffd166);background:color-mix(in srgb,var(--gold, #ffd166) 12%,transparent)}.reminder-nudge{background:linear-gradient(135deg,color-mix(in srgb,var(--accent, #29e0ff) 18%,transparent),#ffffff08);border-color:color-mix(in srgb,var(--accent, #29e0ff) 55%,transparent);box-shadow:0 0 26px color-mix(in srgb,var(--accent, #29e0ff) 20%,transparent)}.reminder-nudge .lu-title{color:var(--accent, #29e0ff)}.reminder-nudge .lu-dismiss:hover{color:var(--accent, #29e0ff);background:color-mix(in srgb,var(--accent, #29e0ff) 12%,transparent)}.slow-mo-nudge{background:linear-gradient(135deg,color-mix(in srgb,var(--green, #36d399) 18%,transparent),#ffffff08);border-color:color-mix(in srgb,var(--green, #36d399) 55%,transparent);box-shadow:0 0 26px color-mix(in srgb,var(--green, #36d399) 20%,transparent)}.slow-mo-nudge .lu-title{color:var(--green, #36d399)}.slow-mo-nudge .lu-dismiss:hover{color:var(--green, #36d399);background:color-mix(in srgb,var(--green, #36d399) 12%,transparent)}.name-nudge{background:linear-gradient(135deg,color-mix(in srgb,var(--accent2, #c861ff) 18%,transparent),#ffffff08);border-color:color-mix(in srgb,var(--accent2, #c861ff) 55%,transparent);box-shadow:0 0 26px color-mix(in srgb,var(--accent2, #c861ff) 20%,transparent)}.name-nudge .lu-title{color:var(--accent2, #c861ff)}.name-nudge .lu-dismiss:hover{color:var(--accent2, #c861ff);background:color-mix(in srgb,var(--accent2, #c861ff) 12%,transparent)}.app-banner{width:100%;max-width:460px;margin:2px auto 14px;display:flex;align-items:stretch;gap:4px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent, #29e0ff) 20%,transparent),#ffffff08);border:1px solid color-mix(in srgb,var(--accent, #29e0ff) 55%,transparent);box-shadow:0 0 26px color-mix(in srgb,var(--accent, #29e0ff) 22%,transparent)}.app-banner .ab-go{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;border:none;background:transparent;color:var(--text);border-radius:18px 0 0 18px}.app-banner .ab-icon{flex:0 0 auto;font-size:24px;line-height:1;color:var(--accent, #29e0ff)}.app-banner .ab-icon:empty{display:none}.app-banner .ab-text{display:flex;flex-direction:column;gap:4px;min-width:0}.app-banner .ab-title{font-weight:700;font-size:15px;color:var(--accent, #29e0ff)}.app-banner .ab-sub{font-size:13px;color:var(--muted)}.app-banner .lu-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex:0 0 auto;width:44px;border:none;border-radius:0 18px 18px 0;background:transparent;color:var(--muted);font-size:22px;line-height:1}.app-banner .lu-dismiss:hover{color:var(--accent, #29e0ff);background:color-mix(in srgb,var(--accent, #29e0ff) 12%,transparent)}.pack-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;color:var(--text);background:linear-gradient(135deg,color-mix(in srgb,var(--pack-accent, #5cc8ff) 10%,transparent),#ffffff05);border:1px solid color-mix(in srgb,var(--pack-accent, #5cc8ff) 40%,transparent);cursor:pointer;transition:transform .14s ease;animation:cardIn .4s backwards}.pack-list .pack-card:nth-child(1){animation-delay:.03s}.pack-list .pack-card:nth-child(2){animation-delay:.06s}.pack-list .pack-card:nth-child(3){animation-delay:.09s}.pack-list .pack-card:nth-child(4){animation-delay:.12s}.pack-list .pack-card:nth-child(5){animation-delay:.15s}.pack-list .pack-card:nth-child(6){animation-delay:.18s}.pack-list .pack-card:nth-child(7){animation-delay:.21s}.pack-list .pack-card:nth-child(8){animation-delay:.24s}.pack-list .pack-card:nth-child(9){animation-delay:.27s}.pack-list .pack-card:nth-child(10){animation-delay:.3s}.pack-card:active{transform:scale(.98)}.pack-card:active .pack-swatch{transform:scale(1.12) rotate(-6deg)}.pack-swatch{width:52px;height:52px;border-radius:14px;flex:0 0 auto;display:grid;place-items:center;font-size:26px;line-height:1;background:radial-gradient(circle at 30% 30%,var(--pack-accent, #5cc8ff),#0a0e16);box-shadow:0 0 20px color-mix(in srgb,var(--pack-accent, #5cc8ff) 45%,transparent);transition:transform .14s ease}.pack-words{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.pack-word{font-size:10px;font-weight:800;letter-spacing:.8px;padding:2px 7px;border-radius:6px;color:var(--pack-accent, #5cc8ff);background:color-mix(in srgb,var(--pack-accent, #5cc8ff) 12%,transparent);border:1px solid color-mix(in srgb,var(--pack-accent, #5cc8ff) 30%,transparent)}.settings,.packs,.leaderboard,.char-select{justify-content:flex-start}.settings-list{width:100%;max-width:460px;display:flex;flex-direction:column;gap:8px;margin-top:8px}.setting-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);text-align:left}.setting-text{flex:1 1 auto}.setting-label{font-size:15px;font-weight:700}.setting-hint{font-size:12px;color:var(--muted);margin-top:2px}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:52px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;position:relative;cursor:pointer;transition:background .2s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.3,.9,.3,1.2)}.switch.on{background:linear-gradient(100deg,var(--accent),var(--accent2));border-color:transparent}.switch.on:after{transform:translate(22px)}.acc-head{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:100%;color:var(--text)}.acc-chevron{font-size:20px;color:var(--muted);transition:transform .18s ease}.acc-head.open .acc-chevron{transform:rotate(90deg)}.acc-body{display:flex;flex-direction:column;gap:8px;padding-left:12px;border-left:2px solid color-mix(in srgb,var(--accent) 25%,transparent);margin-left:6px}.seg{display:flex;flex:0 0 auto;gap:3px;padding:3px;border-radius:999px;background:#00000047;border:1px solid rgba(255,255,255,.08)}.seg-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:32px;height:28px;border-radius:999px;background:transparent;color:var(--muted);font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer}.seg-btn.on{color:#04161f;background:linear-gradient(100deg,var(--accent),var(--accent2))}.name-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:140px;padding:9px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:#00000040;color:var(--text);font-family:var(--font);font-size:14px;font-weight:700;text-align:right}.name-input:focus{outline:none;border-color:var(--accent)}.build-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:6px;display:inline-flex;align-items:baseline;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--muted);font-family:var(--font);cursor:pointer;transition:background .18s ease,color .18s ease}.build-row:hover{background:#ffffff0f;color:var(--text)}.build-label{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.3px}.build-hint{font-size:11px;color:var(--accent);font-weight:700}.next-drop-row{margin-top:10px;display:inline-flex;align-items:baseline;gap:8px;color:var(--muted);font-family:var(--font)}.next-drop-label{font-size:11px;letter-spacing:.3px;text-transform:uppercase}.next-drop-time{font-size:13px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.result-cipher.small{font-size:14px;letter-spacing:.5px;color:var(--muted)}.lb-filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;width:100%;max-width:460px}.lb-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--muted);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer}.lb-tab.on{color:#04161f;background:linear-gradient(100deg,var(--accent),var(--accent2));border-color:transparent}.lb-list{width:100%;max-width:460px;display:flex;flex-direction:column;gap:6px;margin-top:6px}.lb-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);text-align:left}.lb-row.me{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.lb-rank{font-weight:900;font-size:15px;color:var(--accent);min-width:36px}.lb-mid{flex:1 1 auto;min-width:0}.lb-name{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-sub{font-size:11px;color:var(--muted);text-transform:capitalize}.lb-score{font-weight:800;font-variant-numeric:tabular-nums;font-size:16px}.lb-scope{display:flex;gap:6px}.lb-scope-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--muted);padding:7px 16px;border-radius:999px;font-size:13px;font-weight:800;cursor:pointer}.lb-scope-btn.on{color:#04161f;background:linear-gradient(100deg,var(--accent),var(--accent2));border-color:transparent}.lb-global-controls{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%;max-width:460px}.lb-pack-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000004d;color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:10px;padding:7px 12px;font-family:var(--font);font-size:13px;font-weight:700}.lb-you{color:var(--accent);font-weight:700}.account-section{width:100%;max-width:460px;display:flex;flex-direction:column;gap:8px;margin-top:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.settings-group-title{font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-align:left}.account-form-title{font-size:13px;font-weight:700;text-align:left;margin-top:4px}.account-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.account-signed{display:flex;align-items:center;justify-content:space-between;gap:10px}.account-status{font-size:12px;text-align:left;min-height:14px;margin:0}.account-status.ok{color:var(--accent)}.account-status.err{color:#ff6b6b}.account-saved{display:flex;flex-direction:column;gap:10px}.account-creds{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:#0000004d;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.cred-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.cred-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.cred-value{font-size:14px;font-weight:800;font-family:ui-monospace,SF Mono,Menlo,monospace;word-break:break-all;text-align:right}.name-input.acct{text-align:left;flex:1 1 120px;width:auto;min-width:0}.account-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;align-self:flex-start;padding:4px 0;color:var(--muted);font-family:var(--font);font-size:12.5px;font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:3px}.account-back:hover{color:var(--accent)}.result-title{font-size:clamp(26px,8vw,40px);font-weight:900;letter-spacing:1px}.best-badge{font-size:13px;font-weight:800;letter-spacing:2px;color:#1a1200;background:linear-gradient(100deg,var(--gold),#ff9f6b);padding:5px 14px;border-radius:999px;animation:badgePulse 1.4s ease infinite}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 0 #ffd16680}50%{transform:scale(1.05);box-shadow:0 0 24px #ffd16699}}.final{font-size:clamp(40px,13vw,60px);font-weight:900;font-variant-numeric:tabular-nums;background:linear-gradient(100deg,var(--gold),#ff9f6b);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.submit-note{font-size:12.5px;font-weight:700;color:var(--muted);padding:6px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;max-width:min(92vw,460px);text-align:center}.submit-note.err{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}body.theme-light .submit-note{background:#ffffffa6;border-color:color-mix(in srgb,var(--text) 20%,transparent)}.pb-tease{font-size:13px;font-weight:700;color:var(--muted);padding:5px 14px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--gold) 40%,transparent);background:color-mix(in srgb,var(--gold) 8%,transparent)}.result-cipher{font-size:26px;letter-spacing:4px;min-height:30px}.rc-row{display:flex;justify-content:center;gap:5px;min-height:30px}.rc-cell{width:26px;height:26px;border-radius:6px;border:1.5px solid var(--absent);background:#00000047}.stat-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.stat-card{min-width:84px;padding:12px 14px;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.stat-card b{display:block;font-size:22px;font-variant-numeric:tabular-nums}.stat-card span{font-size:11px;color:var(--muted);letter-spacing:.5px}.daily-note{color:var(--muted);font-size:13px;margin:2px 0 0}.daily-note.small{font-size:12px;opacity:.8}.ciphers-broken{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:340px}.cb-title{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}.cb-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.cb-chip{padding:5px 10px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:1px;color:#04231a;background:linear-gradient(180deg,var(--green),#1fae7b);border:1px solid var(--green);box-shadow:0 0 12px #36d39959}.result-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px;margin-top:6px}.setting-row.tappable{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;cursor:pointer;color:inherit;font:inherit}.setting-chevron{flex:0 0 auto;font-size:22px;color:var(--muted)}.coach{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;display:flex;align-items:flex-end;justify-content:center;padding:0 16px calc(var(--pad-bottom) + 16px);pointer-events:none}.coach-card{pointer-events:auto;position:relative;width:min(420px,92vw);margin-bottom:10vh;padding:18px 18px 16px;border-radius:18px;text-align:left;background:linear-gradient(180deg,#10141ef5,#090c14f7);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);box-shadow:0 18px 50px #00000080;animation:coachIn .28s cubic-bezier(.2,.8,.3,1)}@keyframes coachIn{0%{opacity:0;transform:translateY(16px)}}.coach-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.12em;color:#04161f;background:var(--accent);border-radius:999px;padding:4px 10px}.coach-title{margin-top:10px;font-size:18px;font-weight:800;color:var(--text)}.coach-body{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}.coach-dots{display:flex;gap:6px;margin:14px 0 4px}.coach-dot{width:7px;height:7px;border-radius:999px;background:#ffffff2e}.coach-dot.on{background:var(--accent)}.coach-nav{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.coach-skip{position:absolute;top:14px;right:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;font-size:13px;font-weight:700;color:var(--muted)}.coach.walkthrough{padding:0 12px calc(var(--pad-bottom) + 4px)}.coach.walkthrough.at-top{align-items:flex-start;padding-top:calc(var(--pad-top) + 6px)}.coach.walkthrough .coach-card{pointer-events:none;margin-bottom:0;padding:13px 15px 11px;background:linear-gradient(180deg,#10141ee0,#090c14ed);transition:opacity .18s ease}.coach.walkthrough:not(.at-top) .coach-card{background:linear-gradient(180deg,#10141e94,#090c14a8);-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px)}body.theme-light .coach.walkthrough:not(.at-top) .coach-card{background:linear-gradient(180deg,#ffffff94,#ffffffa8)}.coach.walkthrough.touching .coach-card{opacity:.12}.coach.walkthrough .coach-card button{pointer-events:auto}.coach.walkthrough .coach-title{margin-top:8px;font-size:16px}.coach.walkthrough .coach-body{font-size:13px;line-height:1.45}.coach.walkthrough .coach-dots{margin:10px 0 2px}.coach.walkthrough .coach-card.advance{animation:coachIn .28s cubic-bezier(.2,.8,.3,1)}.coach.walkthrough.at-top .coach-card.advance{animation-name:coachInTop}@keyframes coachInTop{0%{opacity:0;transform:translateY(-16px)}}.wt-hint{margin-top:12px;font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--accent);animation:wtPulse 1.4s ease-in-out infinite}@keyframes wtPulse{0%,to{opacity:1;transform:translate(0)}50%{opacity:.55;transform:translate(3px)}}.wt-skip-step{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;font-size:12px;font-weight:700;color:var(--muted);opacity:.8;margin-right:auto;padding:8px 0}.wt-check{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:64px;font-weight:900;color:var(--green);text-shadow:0 0 30px color-mix(in srgb,var(--green) 60%,transparent);background:color-mix(in srgb,var(--green) 12%,transparent);border-radius:18px;opacity:0;pointer-events:none}.coach-card.checked .wt-check{animation:wtCheck .62s cubic-bezier(.2,.8,.3,1)}@keyframes wtCheck{0%{opacity:0;transform:scale(.4)}25%{opacity:1;transform:scale(1.1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}body.reduce-motion .wt-hint,body.reduce-motion .coach-card.checked .wt-check{animation:none}body.reduce-motion .coach-card.checked .wt-check{opacity:1}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;padding:16px 44px;font-size:17px;font-weight:800;color:#04161f;background:linear-gradient(100deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#fff));cursor:pointer;box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 30%,transparent)}.btn:active{transform:scale(.97)}.btn.ghost{background:#ffffff0f;color:var(--text);box-shadow:none;border:1px solid rgba(255,255,255,.1)}.btn.small{padding:10px 22px;font-size:14px}.ghost-btn{background:#ffffff0d}.online-row{display:flex;flex-direction:column;gap:10px;margin-top:4px}.online-row .btn{display:flex;flex-direction:column;gap:3px;padding:13px 24px;border-radius:18px;width:100%}.online-row .btn-label{font-size:17px;font-weight:900;letter-spacing:.3px}.online-row .btn-note{font-size:12px;font-weight:700;opacity:.78}.btn.online{background:linear-gradient(105deg,#2bd4ff,#4f7cff);color:#04121f;box-shadow:0 10px 30px #2ba0ff57}.btn.friend{background:linear-gradient(105deg,var(--gold),#ff6fb6 70%,var(--accent2));color:#1a0716;box-shadow:0 12px 34px #ff6fb657}.hidden{display:none!important}@media(max-height:680px){.ctl{height:46px;font-size:19px}.mtile{width:19px;height:19px}.cipher-slot{max-width:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.fight-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none}body.duel .top{padding-top:calc(var(--pad-top) + 62px)}body.duel .dock .rails,body.duel .cipher-intent,body.duel .present-tray,body.duel .cipher-guess-banner{display:none}body.duel .cipher-wrap{padding-inline:clamp(86px,25vw,116px)}body.duel .submeta{display:none}.duel-header{position:fixed;top:var(--pad-top);left:var(--pad-x);right:var(--pad-x);z-index:14;display:flex;align-items:stretch;gap:8px;pointer-events:none}.duel-side{flex:1 1 0;display:flex;flex-direction:column;gap:4px;--fhue: 190}.duel-side.right{align-items:flex-end}.duel-name{font-size:12px;font-weight:900;letter-spacing:1.5px;color:hsl(var(--fhue),90%,72%);text-shadow:0 0 12px hsla(var(--fhue),90%,60%,.6)}.hp-track{position:relative;height:14px;border-radius:8px;background:#00000080;border:1.5px solid rgba(255,255,255,.18);overflow:hidden;box-shadow:0 0 14px hsla(var(--fhue),90%,55%,.3)}.duel-side.right .hp-track{transform:scaleX(-1)}.hp-chip,.hp-fill{position:absolute;top:0;left:0;bottom:0;border-radius:8px}.hp-chip{background:#ffffff8c;transition:width .55s cubic-bezier(.2,.7,.3,1) .18s}.hp-fill{background:linear-gradient(90deg,hsl(var(--fhue),85%,42%),hsl(var(--fhue),95%,62%));transition:width .12s ease-out}.duel-side.hit{animation:hpHit .3s ease}@keyframes hpHit{0%,to{filter:brightness(1)}40%{filter:brightness(2.2) saturate(.5)}}.duel-danger{position:relative;width:100%;height:13px;border-radius:7px;background:#00000080;border:1.5px solid rgba(255,255,255,.16);overflow:hidden;box-shadow:inset 0 0 8px #0000008c}.duel-side.right .duel-danger{transform:scaleX(-1)}.duel-danger-fill{--dhue: 140;height:100%;width:100%;border-radius:7px;background:linear-gradient(90deg,hsl(var(--dhue),80%,42%),hsl(var(--dhue),92%,58%));box-shadow:0 0 10px hsla(var(--dhue),90%,55%,.6);transition:width .15s ease-out}.duel-danger-fill.danger{animation:dangerPulse .5s ease infinite}@keyframes dangerPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.55)}}.duel-incoming{display:flex;flex-wrap:wrap;gap:2px;min-height:7px;max-width:96px}.duel-side.right .duel-incoming{justify-content:flex-end}.gpip{width:7px;height:7px;border-radius:2px;background:hsl(var(--fhue),85%,60%);box-shadow:0 0 5px hsla(var(--fhue),90%,60%,.7)}.duel-incoming.danger .gpip{background:var(--danger);box-shadow:0 0 6px var(--danger);animation:gpipPulse .5s ease infinite}@keyframes gpipPulse{0%,to{opacity:.7}50%{opacity:1}}.meter-track{height:5px;border-radius:4px;background:#00000073;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.meter-fill{height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--gold));transition:width .2s ease}.duel-side.right .meter-track{transform:scaleX(-1)}.duel-side.charged .meter-fill{background:linear-gradient(90deg,var(--gold),#fff,var(--gold));box-shadow:0 0 10px var(--gold);animation:meterFull .7s ease infinite}@keyframes meterFull{0%,to{opacity:.8}50%{opacity:1}}.duel-vs{align-self:center;font-size:16px;font-weight:900;font-style:italic;color:var(--text);opacity:.8;padding:0 2px}.duel-opp{position:fixed;top:calc(var(--pad-top) + 102px);right:var(--pad-x);z-index:12;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;border-radius:12px;background:#06081057;border:1.5px solid hsla(var(--fhue, 300),80%,55%,.4);box-shadow:0 6px 24px #0000004d;pointer-events:none;opacity:.8;--fhue: 300}body.duel.no-mini .duel-opp{display:none}@media(max-width:700px){.duel-opp{display:none}body.duel .cipher-wrap{padding-inline:0}}.duel-opp.pulse{animation:oppPulse .34s ease}@keyframes oppPulse{0%,to{box-shadow:0 6px 24px #0006}40%{box-shadow:0 0 26px hsla(var(--fhue),90%,60%,.9);border-color:hsl(var(--fhue),90%,70%)}}.duel-opp-tag{font-size:9px;font-weight:900;letter-spacing:1.5px;color:hsl(var(--fhue),85%,72%)}.duel-mini{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;width:clamp(76px,22vw,104px);aspect-ratio:8 / 14}.dm-cell{border-radius:2px;background:transparent;display:grid;place-items:center;font-size:5.5px;font-weight:800;color:#ffffffd9;aspect-ratio:1}.dm-cell.on{background:linear-gradient(180deg,var(--tile-face),#11192b);box-shadow:inset 0 0 0 .5px var(--tile-edge)}.dm-cell.on.bomb{background:var(--danger)}.dm-cell.on.wild{background:var(--accent);color:#042}.dm-cell.on.stone{background:#f7b733;color:#3d2a00}.dm-cell.on.plunger{background:#e25555;color:#fff}.dm-cell.on.cracked{background:#6b3fa0}.dm-cell.on.gem{background:var(--gold);color:#2a1c00}.dm-cell.on.laser{background:#7af0ff;color:#023}.duel-opp-cipher{display:flex;gap:2px;margin-top:1px}.doc-slot{width:8px;height:8px;border-radius:2px;border:1px solid rgba(255,255,255,.2);background:#0000004d}.doc-slot.fb-present{background:var(--yellow);border-color:var(--yellow)}.doc-slot.fb-correct{background:var(--green);border-color:var(--green);box-shadow:0 0 6px var(--green)}.doc-slot.fb-absent{background:var(--absent)}.duel-found{position:fixed;left:var(--pad-x);top:42%;z-index:13;display:flex;flex-direction:column;gap:4px;pointer-events:none}.found-row{display:flex;align-items:baseline;gap:6px;padding:3px 8px;border-radius:8px;background:#06081099;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);animation:foundIn 1.4s ease forwards}.found-row.theme{border-color:color-mix(in srgb,var(--green) 60%,transparent)}.found-word{font-size:14px;font-weight:900;letter-spacing:1px;color:var(--text)}.found-row.theme .found-word{color:var(--green)}.found-dmg{font-size:11px;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums}@keyframes foundIn{0%{opacity:0;transform:translate(-12px) scale(.9)}12%{opacity:1;transform:translate(0) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-8px)}}.char-select{gap:9px;justify-content:flex-start}.char-select:before,.char-select:after{content:"";flex:1 1 0;min-height:0}.char-select>*{flex-shrink:0}.char-grid{width:100%;max-width:420px;margin-inline:auto;display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;gap:10px}.char-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;min-width:0;padding:8px 3px;border-radius:13px;cursor:pointer;color:var(--text);background:linear-gradient(180deg,hsla(var(--ch, 200),60%,22%,.55),#ffffff05);border:2px solid hsla(var(--ch, 200),80%,55%,.5);transition:transform .14s ease,box-shadow .2s ease,border-color .2s ease}.char-card:active{transform:scale(.97)}.char-card.on{border-color:hsl(var(--ch, 200),95%,70%);box-shadow:0 0 22px hsla(var(--ch, 200),90%,55%,.6);transform:translateY(-2px)}.char-portrait{display:block;max-width:100%;height:auto;border-radius:50%;border:2px solid hsla(var(--ch, 200),90%,70%,.7);background:radial-gradient(circle at 50% 34%,hsla(var(--ch2, 220),75%,44%,.55),#070a12 80%);box-shadow:inset 0 -4px 9px #00000073}.char-name{font-size:13px;font-weight:900;letter-spacing:.4px;line-height:1.08;text-align:center}.char-title{font-size:9px;color:var(--muted);text-align:center;line-height:1.2;width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.char-super{font-size:9px;font-weight:800;color:hsl(var(--ch, 200),90%,72%);letter-spacing:.2px;text-align:center;line-height:1.2;width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.char-grid.slide-next{animation:char-slide-next .22s ease}.char-grid.slide-prev{animation:char-slide-prev .22s ease}@keyframes char-slide-next{0%{opacity:.35;transform:translate(20px)}to{opacity:1;transform:none}}@keyframes char-slide-prev{0%{opacity:.35;transform:translate(-20px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.char-grid.slide-next,.char-grid.slide-prev{animation:none}}.char-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:2px}.char-page-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:var(--text);font-size:22px;font-weight:900;line-height:1;cursor:pointer}.char-page-btn:disabled{opacity:.3;cursor:default}.char-page-label{font-size:13px;font-weight:800;color:var(--muted);min-width:46px;text-align:center}.char-select .vs-row{gap:10px}.char-select .vs-pill{font-size:18px}.char-select .vs-name{font-size:14px}.vs-row .vs-name{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vs-row .vs-name:first-of-type{text-align:right}.vs-row .vs-name:last-of-type{text-align:left}.vs-row .vs-pill{flex:0 0 auto}.char-select .vs-row .vs-name{flex:0 1 auto;min-width:0;max-width:42%;overflow:visible;text-overflow:clip}.char-select .sub-tag{font-size:11.5px}.char-select .diff-btn{padding:6px 14px;font-size:12px}.vs-row{display:flex;align-items:center;justify-content:center;gap:14px;font-weight:900}.vs-row .vs-pill{font-style:italic;font-size:22px;color:var(--gold)}.vs-name{font-size:16px;font-weight:900;letter-spacing:1px}.diff-row{display:flex;gap:8px;justify-content:center}.diff-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--muted);padding:8px 16px;border-radius:999px;font-size:13px;font-weight:800;cursor:pointer}.diff-btn.on{color:#04161f;background:linear-gradient(100deg,var(--accent),var(--accent2));border-color:transparent}@media(max-width:380px){.char-grid{gap:7px}.char-card{padding:7px 3px}}.duel-result-bars{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px;margin:4px 0}.drb{--fhue: 200;text-align:left}.drb-name{font-size:12px;font-weight:900;letter-spacing:1px;color:hsl(var(--fhue),90%,70%);margin-bottom:3px}.drb .hp-track{height:16px}body.reduce-motion .meter-full,body.reduce-motion .duel-danger-fill.danger,body.reduce-motion .logo{animation:none!important}.net-spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.12);border-top-color:var(--accent);animation:netspin .9s linear infinite;margin:4px 0}@keyframes netspin{to{transform:rotate(360deg)}}body.reduce-motion .net-spinner{animation-duration:2.4s}.share-link{width:100%;max-width:460px;padding:12px 14px;border-radius:12px;background:#00000052;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;color:var(--text);word-break:break-all;text-align:center}.duel-invite{gap:14px}.invite-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:460px;text-align:left;display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-radius:18px;cursor:pointer;color:var(--text);background:#ffffff0d;border:1px solid rgba(255,255,255,.12);transition:border-color .15s,background .15s,transform .1s}.invite-card:active{transform:scale(.98)}.invite-card.async{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.04))}.invite-card.live{border-color:color-mix(in srgb,var(--gold) 50%,transparent);background:color-mix(in srgb,var(--gold) 10%,rgba(255,255,255,.04))}.invite-icon{font-size:26px;line-height:1}.invite-title{font-size:19px;font-weight:900;letter-spacing:.3px}.invite-desc{font-size:13px;line-height:1.45;color:var(--muted)}.battle-ring{display:flex;flex-direction:column;align-items:center;gap:0;margin:6px 0}.battle-countdown{font-size:56px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1;color:var(--accent);text-shadow:0 0 24px color-mix(in srgb,var(--accent) 60%,transparent)}.battle-secs{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.async-scores{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px;margin:6px 0}.async-score{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07)}.async-score.win{border-color:var(--gold);box-shadow:0 0 18px color-mix(in srgb,var(--gold) 45%,transparent)}.async-score-name{font-size:14px;font-weight:800}.async-score-val{font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}.quest-card{width:100%;max-width:460px;margin-top:12px;flex-shrink:0;padding:14px 16px 12px;border-radius:18px;text-align:left;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 10%,transparent),#ffffff05);border:1px solid color-mix(in srgb,var(--gold) 30%,transparent)}.qc-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.qc-title{font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.qc-reset{font-size:11px;font-weight:700;color:var(--muted);margin-left:auto}.qc-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;flex:0 0 auto;width:24px;height:24px;margin:-4px -6px -4px 0;border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:800;color:var(--muted)}.qc-dismiss:hover{color:var(--text);background:color-mix(in srgb,var(--text) 10%,transparent)}.theme-promo{width:100%;max-width:460px;margin-top:12px;display:flex;align-items:stretch;border-radius:18px;flex-shrink:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent2) 45%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 16%,transparent),color-mix(in srgb,var(--accent2) 18%,transparent)),#ffffff05;box-shadow:0 8px 32px color-mix(in srgb,var(--accent2) 18%,transparent)}.tp-go{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:12px;padding:13px 2px 13px 16px;text-align:left;color:var(--text)}.tp-badge{flex:0 0 auto;font-size:10px;font-weight:900;letter-spacing:.1em;padding:4px 8px;border-radius:999px;color:#04161f;background:linear-gradient(100deg,var(--gold),var(--accent))}.tp-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.tp-title{font-size:15px;font-weight:800}.tp-sub{font-size:12px;color:var(--muted);line-height:1.35}.tp-dots{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,10px);gap:4px}.tp-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.25)}.theme-promo .lu-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex:0 0 auto;align-self:stretch;width:44px;border:none;border-radius:0 18px 18px 0;background:transparent;color:var(--muted);font-size:22px;line-height:1}.theme-promo .lu-dismiss:hover{color:var(--accent2);background:color-mix(in srgb,var(--accent2) 12%,transparent)}.quest-row{display:flex;align-items:center;gap:12px;padding:7px 0}.qr-emoji{font-size:20px;width:26px;text-align:center;flex:0 0 auto}.qr-mid{flex:1 1 auto;min-width:0}.qr-label{font-size:13.5px;font-weight:700}.qr-bar{margin-top:5px;height:5px;border-radius:999px;background:#ffffff14;overflow:hidden}.qr-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .4s ease}.qr-meta{flex:0 0 auto;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--muted)}.quest-row.done .qr-label{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1.5px}.quest-row.done .qr-fill{background:var(--green)}.quest-row.done .qr-meta{color:var(--green);font-size:15px}.qc-foot{margin-top:8px;padding-top:9px;border-top:1px dashed color-mix(in srgb,var(--gold) 25%,transparent);font-size:11.5px;font-weight:700;color:var(--muted)}.setting-row.theme-row{flex-direction:column;align-items:stretch;gap:10px}.theme-pages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.theme-pages::-webkit-scrollbar{display:none}.theme-page{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-content:start}.theme-page-nav{display:flex;align-items:center;justify-content:center;gap:12px}.theme-page-dots{display:flex;gap:6px}.theme-page-dots .coach-dot{width:7px;height:7px;border-radius:50%;background:#ffffff2e}.theme-page-dots .coach-dot.on{background:var(--accent)}body.theme-light .theme-page-dots .coach-dot{background:color-mix(in srgb,var(--text) 22%,transparent)}body.theme-light .theme-page-dots .coach-dot.on{background:var(--accent)}.theme-swatch{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 9px;border-radius:14px;background:var(--sw-bg);border:2px solid rgba(255,255,255,.12);transition:transform .14s ease,border-color .2s ease,box-shadow .2s ease}.theme-swatch:active{transform:scale(.96)}.theme-swatch.on{border-color:var(--sw-a);box-shadow:0 0 16px color-mix(in srgb,var(--sw-a) 45%,transparent)}.ts-chip{font-size:20px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--sw-a),var(--sw-b))}.ts-name{font-size:11px;font-weight:800;line-height:1.15;color:var(--sw-text)}body.theme-font:not(.dyslexia){--font: var(--font-theme, system-ui, sans-serif)}body.theme-bubbly{--radius: 24px}body.theme-bubbly #app{background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--accent2) 16%,transparent) 0 44px,transparent 45px),radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--accent) 14%,transparent) 0 34px,transparent 35px),radial-gradient(circle at 75% 82%,color-mix(in srgb,var(--accent2) 12%,transparent) 0 52px,transparent 53px),radial-gradient(circle at 22% 78%,color-mix(in srgb,var(--accent) 12%,transparent) 0 28px,transparent 29px),radial-gradient(120% 60% at 50% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),var(--bg)}body.theme-bubbly .mode-card,body.theme-bubbly .pack-card,body.theme-bubbly .quest-card,body.theme-bubbly .setting-row,body.theme-bubbly .invite-card,body.theme-bubbly .coach-card{border-radius:var(--radius)}body.theme-bubbly .logo{letter-spacing:4px;filter:drop-shadow(0 4px 0 color-mix(in srgb,var(--accent) 30%,transparent))}body.theme-paper{--radius: 8px}body.theme-paper #app{background:repeating-linear-gradient(0deg,transparent 0 26px,color-mix(in srgb,var(--text) 5%,transparent) 26px 27px),var(--bg)}body.theme-paper .mode-card,body.theme-paper .pack-card,body.theme-paper .quest-card,body.theme-paper .theme-promo,body.theme-paper .setting-row,body.theme-paper .invite-card,body.theme-paper .coach-card,body.theme-paper .level-up-nudge,body.theme-paper .mc-icon{border-radius:6px}body.theme-paper .btn,body.theme-paper .lb-tab,body.theme-paper .lb-scope-btn{border-radius:8px}body.theme-paper .logo{filter:none;letter-spacing:3px}body.theme-paper .tag{letter-spacing:5px}body.theme-pop #app{background:radial-gradient(color-mix(in srgb,var(--text) 9%,transparent) 1.2px,transparent 1.4px),var(--bg);background-size:15px 15px,auto}body.theme-pop .mode-card,body.theme-pop .pack-card,body.theme-pop .quest-card,body.theme-pop .theme-promo,body.theme-pop .setting-row,body.theme-pop .invite-card,body.theme-pop .coach-card,body.theme-pop .level-up-nudge,body.theme-pop .stat-card{border:2px solid var(--text);border-radius:14px;box-shadow:4px 4px color-mix(in srgb,var(--text) 85%,transparent)}body.theme-pop .btn{border:2px solid var(--text);box-shadow:4px 4px color-mix(in srgb,var(--text) 85%,transparent)}body.theme-pop .btn:active{transform:translate(3px,3px);box-shadow:1px 1px color-mix(in srgb,var(--text) 85%,transparent)}body.theme-pop .logo{filter:drop-shadow(4px 4px 0 color-mix(in srgb,var(--text) 80%,transparent))}body.theme-terminal{--radius: 6px}body.theme-terminal #app{background:repeating-linear-gradient(0deg,color-mix(in srgb,var(--accent) 5%,transparent) 0 1px,transparent 1px 3px),radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 65%),var(--bg)}body.theme-terminal .mode-card,body.theme-terminal .pack-card,body.theme-terminal .quest-card,body.theme-terminal .theme-promo,body.theme-terminal .setting-row,body.theme-terminal .invite-card,body.theme-terminal .coach-card,body.theme-terminal .level-up-nudge,body.theme-terminal .mc-icon,body.theme-terminal .btn,body.theme-terminal .icon-btn{border-radius:6px}body.theme-terminal .mode-card,body.theme-terminal .quest-card,body.theme-terminal .setting-row{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}body.theme-terminal .logo{letter-spacing:6px;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 55%,transparent))}body.theme-terminal .mc-title,body.theme-terminal .result-title{text-shadow:0 0 8px color-mix(in srgb,var(--accent) 35%,transparent)}body.theme-noir{--radius: 4px}body.theme-noir .mode-card,body.theme-noir .pack-card,body.theme-noir .quest-card,body.theme-noir .theme-promo,body.theme-noir .setting-row,body.theme-noir .invite-card,body.theme-noir .coach-card,body.theme-noir .level-up-nudge,body.theme-noir .mc-icon,body.theme-noir .btn,body.theme-noir .icon-btn,body.theme-noir .name-input{border-radius:4px}body.theme-noir .mode-card,body.theme-noir .quest-card,body.theme-noir .setting-row,body.theme-noir .pack-card{border-color:color-mix(in srgb,var(--gold) 38%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 12%,transparent)}body.theme-noir .logo{letter-spacing:14px;filter:drop-shadow(0 2px 0 color-mix(in srgb,var(--gold) 35%,transparent))}body.theme-noir .tag{letter-spacing:6px}body.theme-blueprint{--radius: 10px}body.theme-blueprint #app{background:repeating-linear-gradient(0deg,transparent 0 23px,color-mix(in srgb,var(--accent) 7%,transparent) 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,color-mix(in srgb,var(--accent) 7%,transparent) 23px 24px),var(--bg)}body.theme-blueprint .mode-card,body.theme-blueprint .pack-card,body.theme-blueprint .quest-card,body.theme-blueprint .theme-promo,body.theme-blueprint .setting-row,body.theme-blueprint .invite-card,body.theme-blueprint .coach-card,body.theme-blueprint .level-up-nudge,body.theme-blueprint .stat-card{border:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:10px;background:color-mix(in srgb,var(--accent) 5%,transparent)}body.theme-blueprint .mc-icon,body.theme-blueprint .btn,body.theme-blueprint .icon-btn{border-radius:8px}body.theme-blueprint .logo{letter-spacing:8px;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 40%,transparent))}body.theme-blueprint .tag{letter-spacing:5px}body.theme-blueprint .mc-title,body.theme-blueprint .back-title{text-transform:uppercase;letter-spacing:1.5px}body.theme-glacier{--radius: 20px}body.theme-glacier #app{background:linear-gradient(160deg,color-mix(in srgb,var(--accent2) 12%,transparent) 0%,transparent 34%,color-mix(in srgb,var(--accent) 10%,transparent) 66%,transparent 100%),var(--bg)}body.theme-glacier .mode-card,body.theme-glacier .pack-card,body.theme-glacier .quest-card,body.theme-glacier .setting-row,body.theme-glacier .invite-card,body.theme-glacier .coach-card{border-radius:var(--radius);box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 12%,transparent)}body.theme-glacier .logo{letter-spacing:5px;background:linear-gradient(180deg,var(--accent) 0%,var(--accent2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:none}body.theme-molten{--radius: 12px}body.theme-molten #app{background:radial-gradient(130% 55% at 50% 108%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 70%),radial-gradient(60% 30% at 18% 100%,color-mix(in srgb,var(--danger) 14%,transparent),transparent 75%),var(--bg)}body.theme-molten .mode-card,body.theme-molten .pack-card,body.theme-molten .quest-card,body.theme-molten .theme-promo,body.theme-molten .setting-row,body.theme-molten .invite-card,body.theme-molten .coach-card,body.theme-molten .level-up-nudge{border-radius:12px;border-color:color-mix(in srgb,var(--accent) 32%,transparent);box-shadow:inset 0 -10px 24px -18px color-mix(in srgb,var(--accent) 55%,transparent),0 6px 24px color-mix(in srgb,var(--accent) 10%,transparent)}body.theme-molten .logo{letter-spacing:4px;filter:drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 60%,transparent))}body.theme-molten .mc-icon{background:radial-gradient(circle at 50% 85%,color-mix(in srgb,var(--accent) 30%,transparent),#0000004d 70%)}body.theme-light .screen{background:radial-gradient(120% 70% at 50% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 86%,#fff),color-mix(in srgb,var(--bg) 94%,#fff))}body.theme-light .mode-card,body.theme-light .pack-card,body.theme-light .setting-row,body.theme-light .lb-row,body.theme-light .stat-card,body.theme-light .account-section,body.theme-light .async-score,body.theme-light .invite-card,body.theme-light .share-link,body.theme-light .rail,body.theme-light .char-card{background:#ffffffb8;border-color:color-mix(in srgb,var(--accent) 22%,transparent)}body.theme-light .mode-card.accent{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,#fff),#fffc)}body.theme-light .mode-card.duel-card{background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 14%,#fff),#fffc)}body.theme-light .mc-icon{background:color-mix(in srgb,var(--accent) 12%,transparent)}body.theme-light .chip,body.theme-light .icon-btn,body.theme-light .ghost-btn,body.theme-light .home-name,body.theme-light .btn.ghost,body.theme-light .lb-tab,body.theme-light .lb-scope-btn,body.theme-light .lb-pack-select,body.theme-light .build-row,body.theme-light .ctl{background:#ffffffa6;border-color:color-mix(in srgb,var(--text) 20%,transparent);color:var(--text)}body.theme-light .theme-swatch{border-color:color-mix(in srgb,var(--text) 24%,transparent)}body.theme-light .seg,body.theme-light .name-input,body.theme-light .qr-bar,body.theme-light .hp-track,body.theme-light .meter-track,body.theme-light .cipher-slot.fb-unknown,body.theme-light .mtile{background:color-mix(in srgb,var(--text) 10%,transparent)}body.theme-light .mtile,body.theme-light .cipher-slot{color:var(--text);border-color:color-mix(in srgb,var(--text) 20%,transparent)}body.theme-light .switch{background:color-mix(in srgb,var(--text) 16%,transparent);border-color:color-mix(in srgb,var(--text) 14%,transparent)}body.theme-light .toast{background:#ffffffeb;color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}body.theme-light .coach-card,body.theme-light .coach.walkthrough .coach-card{background:linear-gradient(180deg,#ffffffe6,#fffffff0);box-shadow:0 18px 50px color-mix(in srgb,var(--text) 18%,transparent)}body.theme-light .coach-tag,body.theme-light .ci-tag,body.theme-light .chip.combo,body.theme-light .seg-btn.on,body.theme-light .btn{color:#fff}body.theme-light .cb-word{color:var(--gold)}.hm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:0 12px calc(var(--pad-bottom) + 14px);background:radial-gradient(120% 90% at 50% 100%,rgba(0,0,0,.62),rgba(0,0,0,.18) 70%,transparent);touch-action:manipulation}.hm-card{width:min(430px,100%);border-radius:var(--radius);padding:16px 16px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--tile-face) 92%,var(--accent2) 8%),var(--bg-board));border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);box-shadow:0 -6px 40px color-mix(in srgb,var(--gold) 22%,transparent),0 18px 60px #00000080;color:var(--text);text-align:center;font-family:var(--font)}.hm-pop-in{animation:hm-pop .34s cubic-bezier(.22,1.4,.36,1) both}@keyframes hm-pop{0%{transform:translateY(26px) scale(.94);opacity:0}to{transform:none;opacity:1}}body.reduce-motion .hm-pop-in{animation:none}.hm-house{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--bg);background:var(--gold);border-radius:999px;padding:3px 10px}.hm-sub{margin-top:6px;font-size:12px;color:var(--muted);font-style:italic}.hm-title{margin-top:8px;font-size:clamp(20px,6vw,26px);font-weight:900;letter-spacing:.02em;text-shadow:0 0 18px color-mix(in srgb,var(--gold) 40%,transparent)}.hm-title.hm-good{color:var(--green)}.hm-title.hm-bad{color:var(--danger)}.hm-pitch{margin-top:8px;font-size:13.5px;line-height:1.45}.hm-pitch p{margin:6px 0}.hm-stake{display:flex;gap:8px;align-items:baseline;text-align:left;background:color-mix(in srgb,var(--bg) 55%,transparent);border-radius:10px;padding:7px 10px;font-weight:600}.hm-stake.win{border-left:3px solid var(--green)}.hm-stake.lose{border-left:3px solid var(--danger)}.hm-stake-ico{flex:none}.hm-fine{font-size:11.5px;color:var(--muted)}.hm-actions{display:flex;gap:10px;margin-top:12px;justify-content:center}.hm-btn{border:0;border-radius:12px;padding:12px 18px;font:inherit;font-weight:800;cursor:pointer}.hm-primary{background:linear-gradient(180deg,var(--gold),color-mix(in srgb,var(--gold) 70%,#ff8c42));color:#201500;box-shadow:0 4px 18px color-mix(in srgb,var(--gold) 45%,transparent)}.hm-primary:disabled{filter:grayscale(.7) brightness(.7);cursor:default}.hm-ghost{background:transparent;color:var(--muted);border:1px solid color-mix(in srgb,var(--muted) 40%,transparent)}.hm-timer{margin-top:12px;height:5px;border-radius:3px;background:color-mix(in srgb,var(--muted) 25%,transparent);overflow:hidden}.hm-timer-fill{height:100%;width:100%;border-radius:3px;background:var(--accent);transition:width .2s linear}.hm-timer-fill.low{background:var(--danger)}.hm-wide{width:min(470px,100%)}.hm-leak{margin-top:10px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--bg) 55%,transparent);border:1px dashed color-mix(in srgb,var(--gold) 50%,transparent)}.hm-leak.show{animation:hm-pop .3s cubic-bezier(.22,1.5,.36,1) both}body.reduce-motion .hm-leak.show{animation:none}.hm-leak-tag{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;color:var(--gold);margin-bottom:6px}.hm-leak-slots .hm-slot{width:34px;height:38px;font-size:18px}.hm-leak-slots .hm-slot.correct{background:var(--green);color:#06231a;border-color:var(--green)}.hm-leak-slots .hm-slot.dim{opacity:.45}.hm-leak-chips{display:flex;gap:6px;justify-content:center}.hm-chip.present{min-width:34px;padding:6px 8px;border-radius:8px;font-weight:900;font-size:18px;background:var(--yellow);color:#2a2005}.hm-slots{display:flex;gap:6px;justify-content:center;margin-top:12px}.hm-slot{width:44px;height:50px;border-radius:8px;display:grid;place-items:center;font-size:24px;font-weight:900;background:var(--bg-board);border:2px solid var(--tile-edge)}.hm-slot.active{border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 45%,transparent)}.hm-feedback .hm-slot.correct{background:var(--green);color:#06231a;border-color:var(--green)}.hm-feedback .hm-slot.present{background:var(--yellow);color:#2a2005;border-color:var(--yellow)}.hm-feedback .hm-slot.absent{background:var(--absent);color:var(--muted);border-color:var(--absent)}.hm-keys{margin-top:12px;display:flex;flex-direction:column;gap:6px}.hm-key-row{display:flex;gap:5px;justify-content:center}.hm-key{min-width:30px;height:42px;padding:0 4px;border:0;border-radius:7px;background:var(--tile-face);color:var(--text);font:inherit;font-size:15px;font-weight:700;cursor:pointer}.hm-key:active{background:var(--accent);color:var(--bg)}.hm-key-wide{min-width:46px}.hm-smash{user-select:none;-webkit-user-select:none}.hm-smash.hm-shaking{animation:hm-cardshake .24s linear}@keyframes hm-cardshake{20%{transform:translate(calc(var(--shake-mag, 3px) * -1),2px) rotate(-.5deg)}45%{transform:translate(var(--shake-mag, 3px),-2px) rotate(.6deg)}70%{transform:translate(calc(var(--shake-mag, 3px) * -.5),1px)}}body.reduce-motion .hm-smash.hm-shaking{animation:none}.hm-smash-score{font-size:22px;font-weight:900;color:var(--gold);margin-top:2px}.hm-word-strip{display:flex;gap:5px;align-items:center;justify-content:center;margin-top:8px;min-height:30px}.hm-strip-tag{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--muted)}.hm-strip-slot{width:26px;height:28px;border-radius:6px;display:grid;place-items:center;font-size:15px;font-weight:900;background:var(--bg-board);border:1.5px dashed color-mix(in srgb,var(--accent2) 55%,transparent);color:var(--text)}.hm-strip-slot.found{background:var(--accent2);border-style:solid;border-color:var(--accent2);color:#fff;animation:hm-pop .25s cubic-bezier(.22,1.6,.36,1) both}body.reduce-motion .hm-strip-slot.found{animation:none}.hm-arena{position:relative;margin-top:8px;padding:16px 0 8px}.hm-fist{position:absolute;left:8%;top:0;font-size:34px;transform:scaleX(-1);filter:drop-shadow(0 4px 10px rgba(0,0,0,.5));pointer-events:none;z-index:2}.hm-fist.swing{animation:hm-swing .18s ease-out}@keyframes hm-swing{40%{left:0;top:0;transform:scaleX(-1) translate(calc(var(--punch-x, 60px) * -1 + 20px),calc(var(--punch-y, 80px) - 16px)) rotate(-24deg) scale(1.25)}}body.reduce-motion .hm-fist.swing{animation:none}.hm-kapow{position:absolute;transform:translate(-50%,-100%) rotate(var(--kapow-rot, 0deg));font-size:21px;font-weight:900;font-style:italic;letter-spacing:.02em;color:#fff;-webkit-text-stroke:1px #000;text-shadow:2px 2px 0 var(--danger),-1px -1px 0 #000;pointer-events:none;z-index:3;animation:hm-kapow-pop .65s cubic-bezier(.2,1.6,.4,1) both}.hm-kapow.gold{color:var(--gold);text-shadow:2px 2px 0 #7a4d00,-1px -1px 0 #000;font-size:25px}@keyframes hm-kapow-pop{0%{transform:translate(-50%,-100%) rotate(var(--kapow-rot)) scale(.3);opacity:0}25%{transform:translate(-50%,-115%) rotate(var(--kapow-rot)) scale(1.25);opacity:1}70%{opacity:1}to{transform:translate(-50%,-170%) rotate(var(--kapow-rot)) scale(1);opacity:0}}body.reduce-motion .hm-kapow{animation:hm-kapow-fade .65s linear both}@keyframes hm-kapow-fade{0%{opacity:1}to{opacity:0}}.hm-car{display:flex;flex-direction:column;align-items:center;gap:8px}.hm-car-top{position:relative;line-height:1}.hm-car-emoji{font-size:52px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}.hm-car-damage{position:absolute;right:-20px;top:-6px;font-size:24px}.hm-car-panels{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;min-height:50px}.hm-panel{width:42px;height:48px;border-radius:8px;display:grid;place-items:center;font:inherit;font-size:21px;font-weight:900;color:var(--text);background:linear-gradient(180deg,var(--tile-face),color-mix(in srgb,var(--tile-face) 60%,#000));border:2px solid var(--tile-edge);cursor:pointer;transition:transform .05s;padding:0}.hm-panel:active{transform:scale(.92)}.hm-panel.gold{background:linear-gradient(180deg,var(--gold),#b8860b);border-color:var(--gold);color:#201500;box-shadow:0 0 14px color-mix(in srgb,var(--gold) 55%,transparent);animation:hm-gold-glint 1.4s ease-in-out infinite}@keyframes hm-gold-glint{50%{box-shadow:0 0 22px color-mix(in srgb,var(--gold) 85%,transparent);filter:brightness(1.18)}}body.reduce-motion .hm-panel.gold{animation:none}.hm-panel.off{animation:hm-fly .55s ease-in both;pointer-events:none}.hm-panel.off.word{background:var(--accent2);border-color:var(--accent2)}@keyframes hm-fly{to{transform:translate(var(--fly-x, 60px),-120px) rotate(540deg);opacity:0}}body.reduce-motion .hm-panel.off{animation:none;opacity:.15}.hm-callout{min-height:18px;margin-top:4px;font-size:12px;font-style:italic;color:var(--muted)}.hm-callout.pop{animation:hm-pop .3s cubic-bezier(.22,1.5,.36,1) both}body.reduce-motion .hm-callout.pop{animation:none}.hm-bomb-banner{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) rotate(-4deg);font-size:clamp(26px,8vw,36px);font-weight:900;color:var(--gold);-webkit-text-stroke:1.5px #000;text-shadow:3px 3px 0 var(--danger),0 0 30px color-mix(in srgb,var(--gold) 70%,transparent);pointer-events:none;z-index:4;animation:hm-pop .35s cubic-bezier(.2,1.7,.4,1) both}body.reduce-motion .hm-bomb-banner{animation:none}.hm-gift-box{font-size:62px;margin:14px auto 6px}.hm-gift-box.wobble{animation:hm-wobble .5s ease-in-out infinite}@keyframes hm-wobble{25%{transform:rotate(-8deg) scale(1.04)}75%{transform:rotate(8deg) scale(1.04)}}.hm-gift-box.reveal{animation:hm-pop .4s cubic-bezier(.22,1.6,.36,1) both}body.reduce-motion .hm-gift-box.wobble,body.reduce-motion .hm-gift-box.reveal{animation:none}body.theme-light .hm-card{background:linear-gradient(180deg,#fffffff0,#fffffffa);box-shadow:0 -6px 40px color-mix(in srgb,var(--gold) 30%,transparent),0 18px 60px color-mix(in srgb,var(--text) 20%,transparent)}body.theme-light .hm-overlay{background:radial-gradient(120% 90% at 50% 100%,color-mix(in srgb,var(--text) 30%,transparent),transparent 75%)}
