:root{--bg: #06070d;--ink: #f5efe4;--muted: rgba(245, 239, 228, .64);--faint: rgba(245, 239, 228, .38);--amber: #ffb35c;--amber-2: #ffd08a;--amber-deep: #f2973a;--coral: #ff6b5e;--mint: #6ee7c8;--glass: rgba(15, 18, 36, .62);--glass-hi: rgba(255, 255, 255, .05);--line: rgba(255, 255, 255, .09);--line-hi: rgba(255, 255, 255, .16);--radius: 22px;--display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--sans: "Outfit", ui-sans-serif, system-ui, sans-serif;--ease-out: cubic-bezier(.2, .9, .3, 1);--ease-spring: cubic-bezier(.25, 1.45, .45, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:3px}a{color:inherit}h1,h2,p{margin:0}.srOnly{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.app{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh}.sky{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(900px 600px at 80% -12%,rgba(255,168,88,.16),transparent 62%),radial-gradient(1000px 720px at -12% 112%,rgba(86,74,210,.24),transparent 60%),radial-gradient(760px 520px at 50% 45%,rgba(28,38,92,.38),transparent 70%),linear-gradient(180deg,#0c1026,#080a17 55%,#05060c)}.star{position:absolute;border-radius:50%;background:#fff;box-shadow:0 0 6px #fffc;opacity:.2;animation:twinkle ease-in-out infinite}.fog{position:absolute;width:72vw;height:42vh;border-radius:50%;filter:blur(80px)}.fog.f1{bottom:-14vh;left:-12vw;background:#6e76e64d;animation:drift 38s ease-in-out infinite alternate}.fog.f2{right:-16vw;bottom:-18vh;background:#ff965a29;animation:drift 46s ease-in-out infinite alternate-reverse}.grain{position:absolute;inset:-50%;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.4s steps(6) infinite}.confetti{position:fixed;inset:0;z-index:50;width:100%;height:100%;pointer-events:none}.topbar{display:flex;align-items:center;gap:12px;width:min(1200px,100%);margin:0 auto;padding:16px clamp(16px,3vw,32px) 10px}.brand{display:inline-flex;align-items:center;gap:10px;margin-right:auto;font:700 19px/1 var(--display);letter-spacing:-.02em}.brand svg{width:30px;height:30px;fill:none;stroke:var(--amber);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(255,179,92,.6))}.iconBtn{display:grid;flex:none;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--glass-hi);font-size:20px;line-height:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .2s,border-color .2s,transform .15s}.iconBtn:hover{border-color:var(--line-hi);background:#ffffff1a}.iconBtn:active{transform:scale(.94)}.iconBtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.modeTag{display:flex;flex-direction:column;min-width:0;margin-right:auto}.modeTag b{font:700 18px/1.1 var(--display);letter-spacing:-.01em}.modeTag small{color:var(--muted);font-size:13px}.scoreChips{display:flex;gap:8px}.chipStat{display:flex;flex-direction:column;align-items:flex-end;min-width:64px;padding:6px 14px;border:1px solid var(--line);border-radius:16px;background:var(--glass-hi)}.chipStat small{color:var(--faint);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.chipStat b{font:800 19px/1.15 var(--display);font-variant-numeric:tabular-nums}.chipStat.hot{border-color:#ffb35c73;background:linear-gradient(180deg,#ffb35c33,#ff783c0f);box-shadow:0 0 24px -6px #ff964699}.chipStat.hot b{color:var(--amber-2)}.bump{display:inline-block;animation:bump .5s var(--ease-spring)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border:0;border-radius:999px;background:linear-gradient(180deg,#ffc47e,var(--amber-deep));box-shadow:0 12px 32px -14px #ffa046f2,inset 0 1px #ffffff8c,inset 0 -2px #96460a59;color:#2a1604;font-weight:700;white-space:nowrap;transition:transform .15s,box-shadow .25s,filter .2s}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 16px 40px -14px #ffa046,inset 0 1px #ffffff8c,inset 0 -2px #96460a59}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn.big{height:58px;padding:0 30px;font-size:19px}.btn.ghost{border:1px solid var(--line-hi);background:#ffffff0d;box-shadow:none;color:var(--ink)}.btn.ghost:hover:not(:disabled){background:#ffffff1a;box-shadow:none}.btn.danger{border-color:#ff6b5e66;color:var(--coral)}kbd{padding:2px 7px;border-radius:7px;background:#3c19002e;color:#2a1604bf;font:600 12px/1.4 var(--sans)}.btn.ghost kbd{background:#ffffff1a;color:var(--muted)}@media(pointer:coarse){kbd{display:none}}.field{display:grid;gap:8px}.fieldLabel{color:var(--faint);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.field input{height:52px;padding:0 16px;border:1px solid var(--line-hi);border-radius:16px;outline:none;background:#00000040;font-size:17px;transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:#ffb35cb3;box-shadow:0 0 0 4px #ffb35c24}.field input::placeholder{color:#f5efe447}.formError{color:var(--coral);font-size:14px}.home{display:grid;gap:clamp(28px,4vw,48px);width:min(1200px,100%);margin:0 auto;padding:4px clamp(16px,3vw,32px) 40px}.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;gap:clamp(16px,3vw,40px)}.heroCopy{display:grid;gap:22px;animation:rise .8s var(--ease-out) both}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.pulse{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 #ffb35c99;animation:pulse 2.4s infinite}.logo{position:relative;display:grid;justify-items:start;gap:2px;line-height:1}.logoLe{margin-left:4px;color:var(--amber);font:italic 600 clamp(26px,3.4vw,40px) / 1 var(--display);letter-spacing:-.02em;text-shadow:0 0 18px rgba(255,179,92,.55)}.logoTiles{display:flex;gap:clamp(6px,1vw,12px)}.logoTile{--size: clamp(54px, 8vw, 100px);position:relative;display:grid;place-items:center;width:var(--size);height:calc(var(--size) * 1.22);overflow:hidden;border:1px solid rgba(255,179,92,.42);border-radius:calc(var(--size) * .2);background:linear-gradient(180deg,#ffb35c33,#ffb35c0a);box-shadow:0 18px 40px -20px #ffa046e6,inset 0 1px #ffffff2e;perspective:600px;animation:tileIn .8s var(--ease-spring) calc(var(--i) * 90ms + .25s) both}.logoTile span{font:800 calc(var(--size) * .66) / 1 var(--display);letter-spacing:-.04em;background:linear-gradient(180deg,#fff6e6 20%,var(--amber-2) 70%,var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent}.logoTile:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translate(-120%);animation:shine 7s ease-in-out calc(var(--i) * .12s + 1.6s) infinite}.logoTile:before{content:"";position:absolute;right:18%;bottom:9%;left:18%;height:3px;border-radius:3px;background:var(--amber);box-shadow:0 0 12px #ffb35ce6}.lede{max-width:34ch;color:var(--muted);font-size:clamp(17px,1.6vw,20px)}.setup{display:grid;gap:18px}.segmented{display:inline-grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:min(100%,460px);padding:4px;border:1px solid var(--line);border-radius:18px;background:#00000040}.segmented button{display:grid;gap:1px;padding:9px 8px;border:0;border-radius:14px;background:transparent;color:var(--muted);font-weight:600;transition:background .25s,color .25s,box-shadow .25s}.segmented button small{color:var(--faint);font-size:12px;font-weight:500}.segmented button:hover{color:var(--ink)}.segmented button.active{background:linear-gradient(180deg,#ffb35c42,#ffb35c1a);box-shadow:inset 0 0 0 1px #ffb35c80,0 8px 24px -12px #ffa046cc;color:var(--amber-2)}.segmented button.active small{color:#ffd08abf}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#ffffff08;color:var(--muted);font-size:14px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.chip small{color:var(--faint);font-size:12px;font-variant-numeric:tabular-nums}.chip:hover{border-color:var(--line-hi);color:var(--ink)}.chip.active{border-color:#ffb35c8c;background:#ffb35c24;color:var(--amber-2)}.chip.active small{color:#ffd08ab3}.ctaRow{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:4px}.ctaNote{max-width:26ch;color:var(--faint);font-size:14px}.heroArt{position:relative;width:100%;max-width:480px;aspect-ratio:300 / 340;justify-self:center}.heroArt .gallows{position:absolute;inset:0;width:100%;height:100%}.heroArt .moon{top:2%;right:4%;width:46%}.modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modeCard{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);text-align:left;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .25s var(--ease-out),border-color .25s,box-shadow .25s}.modeCard:hover{transform:translateY(-3px);border-color:#ffb35c66;box-shadow:0 20px 50px -26px #ffa046b3}.modeIcon{display:grid;flex:none;place-items:center;width:52px;height:52px;border-radius:16px;background:radial-gradient(circle at 35% 30%,#ffd08a59,#ffb35c14);box-shadow:inset 0 0 0 1px #ffb35c59;color:var(--amber-2);font-size:24px}.modeText{display:grid;flex:1;min-width:0}.modeText b{font:700 19px/1.25 var(--display)}.modeText small{color:var(--muted);font-size:14px}.modeArrow{color:var(--faint);font-size:22px;transition:transform .25s var(--ease-out),color .25s}.modeCard:hover .modeArrow{transform:translate(4px);color:var(--amber)}.panels{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px}.panel{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panelHead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.panelHead h2{font:700 21px/1.2 var(--display)}.panelHead span{color:var(--faint);font-size:13px}.board{display:grid;gap:4px;margin:0;padding:0;list-style:none}.boardRow{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:8px 10px;border-radius:12px}.boardRow:nth-child(odd){background:#ffffff06}.boardRow.mine{background:#ffb35c24;box-shadow:inset 0 0 0 1px #ffb35c73}.rank{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--faint);font:700 14px/1 var(--display)}.podium .rank{color:#1f1203}.p1 .rank{background:linear-gradient(180deg,#ffe2a8,#f0b04f)}.p2 .rank{background:linear-gradient(180deg,#f1f1f4,#b9bcc8)}.p3 .rank{background:linear-gradient(180deg,#f3c6a0,#c27c4c)}.who{display:grid;min-width:0;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.who small{color:var(--faint);font-size:12px;font-weight:500}.pts{font:800 17px/1 var(--display);font-variant-numeric:tabular-nums}.when{min-width:48px;color:var(--faint);font-size:12px;text-align:right}.boardEmpty{padding:18px 4px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{display:grid;gap:2px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#ffffff06}.stat b{font:800 clamp(24px,2.6vw,30px) / 1.05 var(--display);font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:13px}.foot{display:flex;justify-content:center;gap:10px;color:var(--faint);font-size:14px}.foot a{text-decoration:none;transition:color .2s}.foot a:hover{color:var(--amber)}.moon{position:absolute;top:7%;right:7%;z-index:0;width:clamp(110px,34%,220px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.6),transparent 30%),radial-gradient(circle at 63% 60%,rgba(160,90,30,.26) 0 9%,transparent 10%),radial-gradient(circle at 38% 70%,rgba(160,90,30,.2) 0 6%,transparent 7%),radial-gradient(circle at 72% 30%,rgba(160,90,30,.18) 0 5%,transparent 6%),radial-gradient(circle at 28% 50%,rgba(160,90,30,.14) 0 4%,transparent 5%),radial-gradient(circle at 40% 38%,#fff3d8,#ffd08a 45%,#f3a457 78%,#d47a38);box-shadow:0 0 50px 8px #ffb26073,0 0 160px 50px #ff9e4c29,inset -16px -12px 34px #6e320a66;transition:filter 1.4s ease,transform 1.4s var(--ease-out),box-shadow 1.4s ease;animation:moonFloat 9s ease-in-out infinite}.gallows{position:relative;z-index:1;display:block;overflow:visible}.gallows .part{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1.02;stroke-dashoffset:1.01}.gallows .part.on{animation:draw .8s cubic-bezier(.65,0,.35,1) var(--delay) both}.wood .part{stroke:var(--amber);stroke-width:7}.rope{stroke:#e3cfa9;stroke-width:3.2}.wood .rope{stroke-width:3.2;stroke:#e3cfa9}.limb{stroke:var(--ink);stroke-width:5.5}.head{stroke-width:5}.armL,.armR{transition:transform .45s var(--ease-spring) .5s}.face{opacity:0;transition:opacity .4s ease .55s}.face.on{opacity:1}.face circle{fill:var(--ink)}.face path{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.face .sweat{fill:#9fd7ff;stroke:none}.face>*{opacity:0;transition:opacity .3s}.eyes.open,.mouth.calm{opacity:1}.eyes.open{transform-box:fill-box;transform-origin:center;animation:blink 5.5s infinite 2s}.gallows.danger .brows,.gallows.danger .mouth.worried,.gallows.danger .sweat{opacity:1}.gallows.danger .mouth.calm,.gallows.won .mouth.calm,.gallows.won .eyes.open,.gallows.lost .mouth.calm,.gallows.lost .eyes.open{opacity:0}.gallows.won .eyes.happy,.gallows.won .mouth.smile,.gallows.lost .eyes.dead,.gallows.lost .mouth.sad{opacity:1}.gallows.danger .sweat{animation:sweat 1.6s ease-in infinite}.gallows.idle .hanged{transform-origin:190px 33px;animation:swingSoft 6s ease-in-out infinite}.gallows.danger .figure{animation:tremble .16s linear infinite}.gallows.lost .hanged{transform-origin:190px 33px;animation:swing 3.4s ease-in-out .25s infinite}.gallows.won .ropeEnd{animation:snap .4s ease-in forwards}.gallows.won .figure{animation:drop .5s cubic-bezier(.55,0,1,.45) .12s forwards,hop .64s ease-in-out .62s infinite}.gallows.won .armL{transform:rotate(99deg)}.gallows.won .armR{transform:rotate(-99deg)}.play{display:grid;grid-template-rows:auto 1fr;min-height:100vh;min-height:100dvh}.table{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(20px,3.5vw,48px);width:min(1200px,100%);margin:0 auto;padding:6px clamp(16px,3vw,32px) 28px}.stage{position:relative;width:100%;max-height:76dvh;aspect-ratio:300 / 352;overflow:hidden;border:1px solid var(--line);border-radius:30px;background:radial-gradient(120% 70% at 50% 108%,rgba(255,170,90,.12),transparent 60%),linear-gradient(180deg,#141834bf,#080a16d9);box-shadow:0 40px 80px -40px #000000e6,inset 0 1px #ffffff0f}.stage:after{content:"";position:absolute;inset:auto -10% -8%;height:26%;border-radius:50% 50% 0 0;background:linear-gradient(180deg,#0a0c19,#05060c);box-shadow:0 -1px #ffb35c1f}.stage .gallows{position:absolute;inset:5% 4% 3%;z-index:2;width:92%;height:92%}.stage .moon{width:38%}.stage.danger .moon{filter:hue-rotate(-28deg) saturate(1.5);box-shadow:0 0 60px 10px #ff6e5080,0 0 180px 60px #ff503c2e,inset -16px -12px 34px #6e140a73}.stage.lost .moon{filter:hue-rotate(-42deg) saturate(1.9) brightness(.88);transform:scale(1.06);box-shadow:0 0 70px 14px #ff463c8c,0 0 220px 80px #dc282833,inset -16px -12px 34px #5a000080}.stage.won .moon{transform:scale(1.08);box-shadow:0 0 80px 18px #ffc87899,0 0 220px 80px #ffaa5a3d,inset -16px -12px 34px #6e320a4d}.desk{display:grid;gap:clamp(14px,2.2vh,24px);min-width:0}.clue{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.category{display:inline-flex;align-items:center;gap:10px;color:var(--amber);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.category:before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor;box-shadow:0 0 10px currentColor}.lives{display:flex;flex-wrap:wrap;gap:7px}.pip{width:11px;height:11px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px #ffb35cd9;transition:background .3s,box-shadow .3s,transform .4s var(--ease-spring)}.pip.out{transform:scale(.75);background:transparent;box-shadow:inset 0 0 0 1.5px #ff6b5e73}.lives.danger .pip:not(.out){background:var(--coral);box-shadow:0 0 12px #ff6b5ee6;animation:heartbeat 1s ease-in-out infinite}.wordWrap{container-type:inline-size;width:100%}.word{--gap: clamp(4px, 1.1cqw, 9px);--tw: min(58px, calc((100cqw - (var(--n) - 1) * var(--gap)) / var(--n)));display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--tw) * .35) calc(var(--tw) * .95)}.wordGroup{display:flex;gap:var(--gap)}.tile{position:relative;display:grid;place-items:center;width:var(--tw);height:calc(var(--tw) * 1.3);border:1px solid var(--line);border-radius:calc(var(--tw) * .22);background:linear-gradient(180deg,#ffffff12,#ffffff04);box-shadow:inset 0 1px #ffffff0f;perspective:500px;transition:border-color .4s,background .4s,box-shadow .4s}.tile:after{content:"";position:absolute;right:20%;bottom:10%;left:20%;height:3px;border-radius:3px;background:#f5efe438;transition:background .4s,box-shadow .4s}.glyph{font:800 calc(var(--tw) * .64) / 1 var(--display);letter-spacing:-.02em}.tile.shown{border-color:#ffb35c80;background:linear-gradient(180deg,#ffb35c38,#ffb35c0d);box-shadow:0 10px 30px -14px #ffa046d9}.tile.shown:after{background:var(--amber);box-shadow:0 0 10px #ffb35ce6}.tile.shown .glyph{display:inline-block;animation:flipIn .6s var(--ease-spring) var(--d) both}.tile.missed{border-color:#ff6b5e66;background:#ff6b5e14}.tile.missed:after{background:#ff6b5e99}.tile.missed .glyph{display:inline-block;color:var(--coral);animation:dropIn .55s var(--ease-out) calc(var(--w) + .25s) both}.word.won .tile{animation:wave .7s var(--ease-spring) calc(var(--w) + .12s) both}.sep{display:grid;place-items:center;width:calc(var(--tw) * .42);height:calc(var(--tw) * 1.3);color:var(--muted);font:800 calc(var(--tw) * .62) / 1 var(--display)}.hintRow{display:flex;justify-content:center;min-height:40px}.hintBtn{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px;border:1px dashed rgba(255,179,92,.45);border-radius:999px;background:transparent;color:var(--amber-2);font-weight:600;transition:background .2s}.hintBtn small{color:var(--faint);font-weight:500}.hintBtn:hover{background:#ffb35c1a}.hint{max-width:46ch;padding:8px 16px;border-radius:14px;background:#ffb35c14;color:var(--amber-2);font-style:italic;text-align:center;animation:rise .45s var(--ease-out) both}.keyboard{display:grid;gap:8px;width:100%;max-width:620px;margin:0 auto;animation:rise .5s var(--ease-out) both}.keyRow{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:7px}.key{grid-column:span 2;min-width:0;height:56px;padding:0;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#ffffff17,#ffffff08);box-shadow:inset 0 1px #ffffff17,0 8px 18px -10px #000000e6;font:700 19px/1 var(--display);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .12s,background .3s,color .3s,border-color .3s,box-shadow .3s,opacity .3s}.keyRow:last-child .key:first-child{grid-column:5 / span 2}.key:hover:not(:disabled){border-color:var(--line-hi);background:#ffffff21;transform:translateY(-2px)}.key:active:not(:disabled),.key.flash{transform:translateY(1px) scale(.95);background:#ffffff2e}.key:disabled{cursor:default}.key.good{border-color:transparent;background:linear-gradient(180deg,#ffc47e,var(--amber-deep));box-shadow:0 10px 24px -12px #ffa046f2;color:#2a1604}.key.bad{border-color:#ff6b5e29;background:#ff6b5e0d;box-shadow:none;color:#ff6b5e80;text-decoration:line-through 2px}.result{display:grid;gap:16px;width:100%;max-width:620px;margin:0 auto;padding:22px 24px;border:1px solid var(--line);border-radius:26px;background:var(--glass);box-shadow:0 30px 70px -40px #000000e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:rise .55s var(--ease-spring) both}.result.won{border-color:#ffb35c4d}.result.lost{border-color:#ff6b5e40}.resultHead{display:grid;gap:6px}.resultHead h2{font:800 clamp(32px,4vw,46px) / 1 var(--display);letter-spacing:-.03em}.result.won h2{background:linear-gradient(90deg,#fff1d6,var(--amber-2) 35%,var(--amber) 70%,#ff8a5c);-webkit-background-clip:text;background-clip:text;color:transparent}.result.lost h2{color:var(--coral);text-shadow:0 0 30px rgba(255,107,94,.35)}.resultHead p{color:var(--muted)}.resultHead p b{color:var(--ink)}.gainBox{display:flex;align-items:center;gap:18px}.breakdown{display:grid;flex:1;gap:4px;margin:0;padding:0;list-style:none;font-size:14px}.breakdown li{display:flex;justify-content:space-between;gap:12px;padding-bottom:4px;border-bottom:1px dashed var(--line);color:var(--muted)}.breakdown b{color:var(--ink);font-variant-numeric:tabular-nums}.gain{min-width:110px;font:800 clamp(36px,4.6vw,52px) / 1 var(--display);letter-spacing:-.03em;text-align:right;background:linear-gradient(180deg,#fff1d6,var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent;animation:popIn .6s var(--ease-spring) .25s both}.resultActions,.saveForm{display:flex;flex-wrap:wrap;gap:10px}.saveForm .btn{flex:none}.saveForm input{flex:1 1 120px;min-width:0;height:48px;padding:0 16px;border:1px solid var(--line-hi);border-radius:999px;outline:none;background:#00000040;font-size:16px}.saveForm input:focus{border-color:#ffb35cb3;box-shadow:0 0 0 4px #ffb35c24}.saveForm .formError{flex-basis:100%}.createBody{display:grid;place-items:start center;width:min(1200px,100%);margin:0 auto;padding:10px clamp(16px,3vw,32px) 40px}.createCard{display:grid;gap:18px;width:min(640px,100%);padding:clamp(22px,4vw,36px);animation:rise .6s var(--ease-out) both}.createCard h1{font:800 clamp(34px,5vw,52px) / 1 var(--display);letter-spacing:-.03em}.preview{display:grid;place-items:center;min-height:96px;padding:18px;border:1px dashed var(--line-hi);border-radius:18px;background:#0000002e;text-align:center}.linkBox{display:grid;gap:10px;padding:14px;border:1px solid rgba(255,179,92,.35);border-radius:18px;background:#ffb35c12;animation:rise .45s var(--ease-spring) both}.linkBox input{width:100%;height:46px;padding:0 14px;border:1px solid var(--line);border-radius:12px;outline:none;background:#0000004d;color:var(--amber-2);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:14px}.linkActions{display:flex;flex-wrap:wrap;gap:10px}.adminForm{display:grid;gap:14px}.adminHead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.adminList{display:grid;gap:6px;margin:0;padding:0;list-style:none}.adminList li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;background:#ffffff08}.backLink{color:var(--muted);font-size:14px;text-decoration:none}.backLink:hover{color:var(--amber)}@media(max-width:900px){.hero{grid-template-columns:1fr}.heroArt{order:-1;width:min(280px,66vw);margin:-8px auto 0}.modes,.panels{grid-template-columns:1fr}.table{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:stretch;gap:14px;padding-bottom:max(18px,env(safe-area-inset-bottom))}.desk{grid-template-rows:auto auto auto 1fr}.desk>.keyboard,.desk>.result{align-self:end}.stage{width:100%;height:clamp(190px,35dvh,340px);aspect-ratio:auto;border-radius:24px}.stage .gallows{inset:4% 0 2%;width:100%;height:94%}.stage .moon{top:9%;right:12%;width:auto;height:52%}}@media(max-width:560px){.topbar{gap:8px;padding-top:12px}.modeTag small{display:none}.chipStat{min-width:54px;padding:5px 10px}.chipStat b{font-size:16px}.chips{flex-wrap:nowrap;margin:0 -16px;padding:0 16px 4px;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none}.segmented,.ctaRow .btn.big{width:100%}.ctaNote{max-width:none}.keyboard{gap:7px}.keyRow{gap:3px 5px}.key{height:52px;border-radius:10px;font-size:17px}.result{padding:18px}.gainBox{flex-direction:column-reverse;align-items:stretch;gap:10px}.gain{text-align:left}.resultActions .btn{flex:1}.when{display:none}.boardRow{grid-template-columns:30px minmax(0,1fr) auto}}@keyframes draw{0%{stroke-dashoffset:1.01}to{stroke-dashoffset:0}}@keyframes twinkle{0%,to{opacity:.12;transform:scale(.8)}50%{opacity:.95;transform:scale(1.15)}}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(8vw,-4vh,0) scale(1.15)}}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}@keyframes moonFloat{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes tileIn{0%{opacity:0;transform:translateY(18px) rotateX(70deg) scale(.9)}to{opacity:1;transform:none}}@keyframes shine{0%,70%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes pulse{0%{box-shadow:0 0 #ffb35c8c}70%,to{box-shadow:0 0 0 10px #ffb35c00}}@keyframes flipIn{0%{opacity:0;transform:rotateX(95deg) translateY(-8px) scale(.8)}to{opacity:1;transform:none}}@keyframes dropIn{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes wave{0%,to{transform:none}40%{transform:translateY(-10px) scale(1.06)}}@keyframes popIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.3);color:var(--amber-2)}to{transform:scale(1)}}@keyframes heartbeat{0%,to{transform:scale(1)}30%{transform:scale(1.3)}60%{transform:scale(.95)}}@keyframes blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes swingSoft{0%,to{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}@keyframes swing{0%,to{transform:rotate(0)}25%{transform:rotate(3.2deg)}75%{transform:rotate(-3.2deg)}}@keyframes tremble{0%,to{transform:translate(0)}25%{transform:translate(.7px,-.3px)}50%{transform:translate(-.6px,.4px)}75%{transform:translate(.4px,.5px)}}@keyframes sweat{0%{transform:translateY(0);opacity:0}20%{opacity:1}to{transform:translateY(14px);opacity:0}}@keyframes snap{to{opacity:0;transform:translateY(14px)}}@keyframes drop{to{transform:translateY(68px)}}@keyframes hop{0%,to{transform:translateY(68px)}45%{transform:translateY(42px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.grain,.fog{display:none}}
