@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/outfit-latin-Bc-8i84L.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #111318;--bg-2: #161920;--panel: #1b1f27;--panel-2: #222731;--panel-3: #2a303b;--line: rgba(255, 255, 255, .07);--line-2: rgba(255, 255, 255, .12);--text: #ece8df;--muted: #9aa1ad;--faint: #6b7280;--gold: #e8b04f;--gold-2: #f6d28a;--gold-3: #b8691f;--teal: #6fd3c1;--danger: #ef6b5e;--good: #6bdc9a;--radius: 14px;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--display: "Outfit", "Inter", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:radial-gradient(1100px 700px at 28% -12%,rgba(232,176,79,.11),transparent 62%),radial-gradient(900px 600px at 105% 110%,rgba(111,211,193,.06),transparent 60%),var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font:inherit;color:inherit}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;margin:0}.gold{background:linear-gradient(180deg,var(--gold-2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.app{display:grid;grid-template-columns:92px 1fr;min-height:100%}.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:14px 8px;background:#0a0b0e8c;border-right:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;cursor:pointer;padding:6px 0 16px;font-family:var(--display);font-weight:800;letter-spacing:.22em;font-size:12px;color:var(--gold-2)}.rail-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border:0;border-radius:12px;background:none;cursor:pointer;color:var(--muted);font-size:12px;font-weight:600;transition:background .15s,color .15s}.rail-item:hover:not(:disabled),.rail-item.on{background:var(--panel-2);color:var(--text)}.rail-item.on .rail-icon{color:var(--gold)}.rail-item.soon{opacity:.45;cursor:default}.rail-icon{font-size:20px;line-height:1}.soon-tag{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.main{min-width:0;padding:22px clamp(14px,3vw,36px) 28px}.loading{display:grid;place-items:center;height:70vh;color:var(--muted);font-family:var(--display);font-size:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--text);font-weight:600;font-size:14px;cursor:pointer;transition:transform .08s,background .15s,border-color .15s,box-shadow .15s}.btn:hover:not(:disabled){background:var(--panel-3);border-color:#fff3}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn-gold{background:linear-gradient(180deg,#f3c56c,#d18c34);border-color:#ffdc9680;color:#241604;box-shadow:0 6px 18px #e8b04f40,inset 0 1px #ffffff73}.btn-gold:hover:not(:disabled){background:linear-gradient(180deg,#f8d07f,#dc9640);border-color:#ffe6aab3}.btn-danger{background:#ef6b5e2e;border-color:#ef6b5e99;color:#ffb3aa}.btn.big{padding:12px 20px;font-size:15px}.btn.huge{width:100%;padding:16px 22px;font-size:18px;font-family:var(--display);border-radius:14px;margin-top:18px}.btn.icon{padding:6px 10px}.side-chip{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle;box-shadow:inset 0 -1px #00000059}.side-w{background:radial-gradient(circle at 35% 30%,#fffdf6,#cbbfa5)}.side-b{background:radial-gradient(circle at 35% 30%,#4a5059,#0d0f12);border:1px solid #3b4048}.side-random{background:linear-gradient(90deg,#efe6d2 50%,#1d2126 50%);border:1px solid #3b4048}.lobby{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:28px}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:26px 28px;border-radius:22px;background:radial-gradient(500px 220px at 85% 10%,rgba(232,176,79,.16),transparent 70%),linear-gradient(180deg,#ffffff09,#ffffff03);border:1px solid var(--line)}.hero h1{font-size:clamp(34px,5vw,52px);font-weight:800}.hero p{max-width:560px;color:var(--muted);font-size:16px;line-height:1.55;margin:10px 0 0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.setup h2,.coming h2{font-size:20px;margin-bottom:14px}.bot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.bot-card{display:flex;gap:14px;align-items:center;text-align:left;padding:14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.bot-card:hover{background:var(--panel-2);transform:translateY(-1px)}.bot-card.on{border-color:#e8b04fbf;background:linear-gradient(180deg,#e8b04f1a,#e8b04f08),var(--panel);box-shadow:0 0 0 3px #e8b04f1f}.bot-name{font-family:var(--display);font-weight:700;font-size:18px}.rating{font-family:var(--font);font-size:12px;font-weight:700;color:var(--gold-2);background:#e8b04f1f;padding:2px 7px;border-radius:99px;margin-left:6px;vertical-align:2px}.bot-tag{color:var(--muted);font-size:13px;line-height:1.4;margin-top:3px}.bot-record{color:var(--faint);font-size:12px;margin-top:5px}.options{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin-top:18px}.option label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700;margin-bottom:8px}.segmented{display:flex;gap:6px;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.segmented button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 8px;border-radius:9px;border:0;background:none;cursor:pointer;color:var(--muted);transition:background .15s,color .15s}.segmented button small{font-size:11px;color:var(--faint);text-align:center}.segmented button.on{background:var(--panel-3);color:var(--text);box-shadow:inset 0 0 0 1px #e8b04f73}.coming-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.coming-card{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:var(--radius);border:1px dashed var(--line-2);color:var(--muted);font-size:13px;line-height:1.45}.coming-card strong{color:var(--text);font-family:var(--display);font-size:16px}.play{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;max-width:1400px;margin:0 auto;align-items:start}.board-column{display:flex;flex-direction:column;gap:10px;min-width:0}.board-frame{position:relative;display:flex;justify-content:center;align-items:center;height:calc(100vh - 190px);min-height:360px;border-radius:26px;background:radial-gradient(closest-side,rgba(255,255,255,.045),transparent),linear-gradient(180deg,#ffffff05,#0000001f);border:1px solid var(--line);transition:box-shadow .3s;overflow:hidden}.board-frame.my-turn{box-shadow:inset 0 0 0 1px #e8b04f2e}.board{width:100%;height:100%;display:block;padding:10px;overflow:visible;filter:drop-shadow(0 18px 26px rgba(0,0,0,.5));-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.abyss-tile{fill:#0000001f;stroke:#ffffff12;stroke-width:.03;stroke-dasharray:.12 .1}.crack-lines{fill:none;stroke:#2e1005bf;stroke-width:.05;stroke-linecap:round;stroke-linejoin:round}.last-move{fill:#f6d28a29;stroke:#f6d28a99;stroke-width:.045}.selected-tile{fill:#6fd3c129;stroke:var(--teal);stroke-width:.07;pointer-events:none}.hover-tile{fill:#ffffff12;stroke:#ffffff40;stroke-width:.04;pointer-events:none}.preview-removed{fill:#ef6b5e73;stroke:#ff9a8c;stroke-width:.05;stroke-dasharray:.14 .09;animation:pulse .9s ease-in-out infinite}.preview-lost path{stroke:#ffb0a5;stroke-width:.1;stroke-linecap:round}.choice{pointer-events:none}.choice-storm{fill:#f6d28a47;stroke:var(--gold-2);stroke-width:.08;animation:pulse .9s ease-in-out infinite}.choice-snap,.choice-drop{fill:#6fd3c129;stroke:#6fd3c1bf;stroke-width:.05}.target-move{fill:#6fd3c1e6;filter:drop-shadow(0 0 .15px rgba(111,211,193,.8));pointer-events:none}.target-ring{fill:none;stroke-width:.09;pointer-events:none}.target-capture{stroke:var(--danger);stroke-dasharray:.3 .12;animation:spin 6s linear infinite;transform-box:fill-box;transform-origin:center}.target-fusion{stroke:var(--good);stroke-dasharray:.22 .12}.target-badge{fill:var(--good);font-size:.55px;font-weight:800;pointer-events:none}.coord{fill:#ffffff59;font-size:.24px;font-weight:600;pointer-events:none}.hit{fill:transparent}.hit.clickable{cursor:pointer}.markers,.piece{pointer-events:none}.piece-arrive{animation:arrive .34s cubic-bezier(.2,.8,.2,1) both}.piece-vanish{animation:vanish .55s ease-in both;transform-box:fill-box;transform-origin:center}.tile-fall{animation:fall .75s cubic-bezier(.55,0,.75,.2) both;transform-box:fill-box;transform-origin:center;pointer-events:none}.tile-crack{animation:crack .6s ease-out}.storm-flash{animation:storm .9s ease-out}@keyframes arrive{0%{transform:translate(var(--dx),var(--dy))}to{transform:translate(0)}}@keyframes vanish{0%{opacity:1;transform:scale(1)}30%{opacity:1;transform:scale(1.12)}to{opacity:0;transform:translateY(.5px) scale(.2)}}@keyframes fall{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(1.6px) scale(.3) rotate(28deg)}}@keyframes crack{0%{filter:brightness(2.4)}to{filter:none}}@keyframes storm{0%{filter:drop-shadow(0 18px 26px rgba(0,0,0,.5)) brightness(1)}8%{filter:drop-shadow(0 18px 26px rgba(0,0,0,.5)) brightness(2.3) saturate(.4)}18%{filter:drop-shadow(0 18px 26px rgba(0,0,0,.5)) brightness(.9)}28%{filter:drop-shadow(0 18px 26px rgba(0,0,0,.5)) brightness(1.8) saturate(.5)}to{filter:drop-shadow(0 18px 26px rgba(0,0,0,.5)) brightness(1)}}@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.swap-banner{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;gap:16px;align-items:center;width:min(560px,calc(100% - 28px));padding:14px 16px;border-radius:14px;background:#14161ceb;border:1px solid rgba(232,176,79,.45);box-shadow:0 12px 40px #00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:rise .35s ease-out both}.swap-banner div{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--muted);line-height:1.4}.swap-banner strong{color:var(--text);font-family:var(--display);font-size:16px}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}}.player-bar{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:14px;border:1px solid transparent;transition:background .2s,border-color .2s}.player-bar.active{background:#ffffff09;border-color:var(--line)}.player-name{flex:1;min-width:0;font-family:var(--display);font-weight:700;font-size:17px}.player-name small{display:block;font-family:var(--font);font-weight:500;font-size:12px;color:var(--muted);margin-top:2px}.player-name .side-chip{margin-left:4px}.avatar{flex:none;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35))}.thinking{display:flex;gap:4px}.thinking i{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:bounce 1s ease-in-out infinite}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.clock{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;padding:6px 12px;border-radius:10px;background:var(--panel);color:var(--muted);min-width:82px;text-align:center}.clock.running{background:#ece8df;color:#16181d}.clock.low.running{background:var(--danger);color:#fff}.side-panel{display:flex;flex-direction:column;gap:12px;position:sticky;top:22px}.panel-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.status{font-family:var(--display);font-size:18px;font-weight:700;line-height:1.3}.hint{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.45}.status.won{color:var(--gold-2)}.status.lost{color:#ffb3aa}.count-picker{transform-box:fill-box;animation:picker-in .16s ease-out}.count-picker.above{transform-origin:50% 100%}.count-picker.below{transform-origin:50% 0%}@keyframes picker-in{0%{opacity:0;transform:scale(.85)}}.picker-pill{fill:#161920f0;stroke:#ffffff24;stroke-width:.03;filter:drop-shadow(0 .08px .25px rgba(0,0,0,.6))}.picker-tip{fill:#161920f0}.picker-hit{fill:transparent}.picker-chip{cursor:pointer;--chip: var(--teal)}.picker-chip.chip-capture{--chip: var(--danger)}.picker-chip.chip-fusion{--chip: var(--good)}.chip-disc{fill:var(--panel-2);stroke:var(--chip);stroke-width:.05;transition:fill .12s}.picker-chip:hover .chip-disc{fill:var(--chip)}.chip-num{fill:var(--text);font-size:.46px;font-weight:800;pointer-events:none}.picker-chip:hover .chip-num{fill:var(--bg)}.chip-label{fill:var(--muted);font-size:.2px;font-weight:700;letter-spacing:.02px;text-transform:uppercase;pointer-events:none}.picker-chip:hover .chip-label{fill:var(--chip)}.storm-meter{margin-top:14px}.storm-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:6px}.storm-meter.soon .storm-label{color:var(--gold-2)}.storm-bar{display:grid;grid-auto-flow:column;gap:3px}.storm-bar i{height:7px;border-radius:3px;background:var(--panel-3);transition:background .3s}.storm-bar i.on{background:linear-gradient(90deg,#c47a2c,var(--gold-2))}.storm-meter.soon .storm-bar i.on{animation:pulse .9s ease-in-out infinite}.card-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700;margin-bottom:8px}.moves-card{max-height:38vh;overflow:auto}.move-list{list-style:none;margin:0;padding:0;font-variant-numeric:tabular-nums;font-size:13.5px}.move-list li{display:grid;grid-template-columns:34px 1fr 1fr;gap:6px;padding:4px 6px;border-radius:6px}.move-list li:nth-child(odd){background:#ffffff06}.move-list .num{color:var(--faint)}.move-list .mv{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty{color:var(--faint);font-size:13px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0506099e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;animation:fade .2s ease-out both}@keyframes fade{0%{opacity:0}}.modal{width:min(460px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:26px;border-radius:20px;background:linear-gradient(180deg,#232833,#1b1f27);border:1px solid var(--line-2);box-shadow:0 30px 80px #0009;animation:pop .28s cubic-bezier(.2,.9,.3,1.2) both}@keyframes pop{0%{opacity:0;transform:scale(.94) translateY(8px)}}.result{text-align:center}.result-emblem{font-size:54px;line-height:1;margin-bottom:8px;color:var(--muted)}.result.won .result-emblem{color:var(--gold);text-shadow:0 0 30px rgba(232,176,79,.6)}.result h2{font-size:32px}.result .reason{font-size:16px;color:var(--text);margin:6px 0 2px}.result .meta{color:var(--muted);font-size:13px;margin:4px 0 18px}.modal-actions{display:flex;flex-direction:column;gap:8px}.rules{width:min(980px,100%)}.rules-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.rules-head h2{font-size:26px}.rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.rule{padding:16px;border-radius:var(--radius);background:#ffffff08;border:1px solid var(--line)}.rule h3{font-size:17px;margin-bottom:6px;color:var(--gold-2)}.rule p{margin:0;font-size:14px;line-height:1.55;color:#cfcbc2}.rule-mini{height:58px;margin-bottom:8px;overflow:visible}.rules-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;color:var(--muted);font-size:13px}.online-options{grid-template-columns:1fr 1.4fr 1fr;margin-bottom:16px}.text-input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--panel);color:var(--text);font:inherit;font-size:15px}.text-input:focus{outline:none;border-color:#e8b04f99;box-shadow:0 0 0 3px #e8b04f1f}.text-input.invite{font-family:ui-monospace,monospace;font-size:14px}.join-row{display:flex;gap:10px;max-width:640px}.join-row .btn{white-space:nowrap}.online-join{max-width:680px;margin:6vh auto 0;padding:28px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff09,#ffffff03);display:flex;flex-direction:column;gap:14px}.online-join .join-row{max-width:none}.online-join>.btn{align-self:flex-start}.online-error{color:#ffb3aa;font-size:13.5px;line-height:1.5;margin:10px 0 0}.link-btn{background:none;border:0;padding:0;color:var(--gold-2);font:inherit;cursor:pointer;text-decoration:underline}.waiting-dots{display:flex;gap:6px;padding:6px 0}.waiting-dots i{width:9px;height:9px;border-radius:50%;background:var(--gold);animation:bounce 1s ease-in-out infinite}.waiting-dots i:nth-child(2){animation-delay:.15s}.waiting-dots i:nth-child(3){animation-delay:.3s}.online-note{font-size:13px;color:#ffb3aa}.online-note.offline{color:var(--gold-2)}.my-games{display:flex;flex-direction:column;gap:8px}.my-game{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.my-game:hover{border-color:var(--line-2);background:var(--panel-2)}.my-game.urgent{border-color:#e8b04f73}.my-game-main{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.my-game-main small{color:var(--faint);font-size:12.5px}.my-game-status{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}.my-game.urgent .my-game-status,.my-game-status.status-won{color:var(--gold-2)}.presence{width:9px;height:9px;border-radius:50%;background:var(--panel-3);flex:none}.presence.on{background:var(--good);box-shadow:0 0 0 3px #6bdc9a26}.chat-list{display:flex;flex-direction:column;gap:6px;max-height:22vh;min-height:48px;overflow:auto;margin-bottom:10px}.chat-msg{font-size:13.5px;line-height:1.4;overflow-wrap:anywhere}.chat-name{font-weight:700;color:var(--teal);margin-right:6px}.chat-msg.mine .chat-name{color:var(--gold-2)}.chat-form .text-input{padding:9px 12px;font-size:13.5px}.eval-bar{--light: #ece6da;--dark: #2b2f38;position:absolute;left:16px;top:16px;bottom:16px;width:20px;border-radius:8px;overflow:hidden;background:var(--dark);box-shadow:inset 0 0 0 1px #ffffff14;z-index:2}.eval-bar.bottom-b{background:var(--light)}.eval-fill{position:absolute;left:0;right:0;bottom:0;background:var(--light);transition:height .45s cubic-bezier(.2,.8,.2,1)}.eval-bar.bottom-b .eval-fill{background:var(--dark)}.eval-num{position:absolute;left:0;right:0;text-align:center;font-size:9.5px;font-weight:800;letter-spacing:-.02em}.eval-num.at-bottom{bottom:6px}.eval-num.at-top{top:6px}.eval-num.side-w{color:#2b2f38}.eval-num.side-b{color:#ece6da}.review-head{display:flex;justify-content:space-between;align-items:baseline}.review-score{font-family:var(--display);font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}.eval-graph{display:block;width:100%;height:64px;margin-top:8px;border-radius:8px;cursor:pointer}.eval-graph .graph-top{fill:#2b2f38}.eval-graph .graph-bottom,.eval-graph.bottom-b .graph-top{fill:#ece6da}.eval-graph.bottom-b .graph-bottom{fill:#2b2f38}.graph-mid{stroke:#80808073;stroke-width:.6;stroke-dasharray:3 3}.graph-now{stroke:var(--gold);stroke-width:1.6}.graph-dot{stroke:#00000059;stroke-width:.6}.dot-mistake{fill:#f0a35a}.dot-blunder{fill:var(--danger)}.review-progress{height:3px;margin-top:6px;border-radius:2px;background:var(--panel-3);overflow:hidden}.review-progress i{display:block;height:100%;background:var(--teal);transition:width .3s}.review-nav{display:flex;align-items:center;gap:6px;margin-top:12px}.review-nav .btn.icon{flex:none;width:38px;padding:7px 0}.review-ply{flex:1;text-align:center;font-weight:700;font-size:14px}.review-ply small{color:var(--faint);font-weight:500}.review-move{margin-top:12px;min-height:40px;font-size:14px}.verdict{font-weight:700;font-size:13px;color:var(--muted);margin-left:4px}.v-best{color:var(--teal)}.v-good{color:var(--muted)}.v-inaccuracy{color:#e6c55a}.v-mistake{color:#f0a35a}.v-blunder{color:var(--danger)}.review-toggle{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--muted);cursor:pointer}.review-toggle input{accent-color:var(--teal)}.review-summary{width:100%;margin-top:12px;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.review-summary td{padding:5px 4px;border-top:1px solid var(--line);white-space:nowrap}.review-summary td:first-child{width:100%;font-weight:600}.mv-btn{background:none;border:0;padding:1px 4px;margin:-1px -4px;border-radius:5px;font:inherit;font-weight:600;text-align:left;color:var(--text);cursor:pointer}.mv-btn:hover{background:#ffffff0f}.mv-btn.now{background:#e8b04f2e;box-shadow:inset 0 0 0 1px #e8b04f73}.mv-btn.v-good,.mv-btn.v-best{color:var(--text)}.mv-btn sup{margin-left:2px;font-size:10px;font-weight:800}.mv-btn.v-best sup{color:var(--teal)}.best-arrow{pointer-events:none;opacity:.85}.best-arrow line{stroke:#6fd3a8;stroke-width:.2;stroke-linecap:round}.best-arrow polygon{fill:#6fd3a8}.rail-account{margin-top:auto}.rail-account .rail-label{max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-initial{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--gold-2),var(--gold-3));color:var(--bg);font-family:var(--display);font-weight:800;font-size:13px}.rail-item.on .avatar-initial{color:var(--bg)}.auth-card{max-width:460px}.auth-card.wide{max-width:620px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form .btn.big{margin-top:4px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700}.field small{font-size:12.5px;color:var(--faint)}.field.has-error .text-input{border-color:#ef6b5eb3}.field-error{color:#ffb3aa!important}.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13.5px;color:var(--muted)}.auth-row{display:flex;gap:10px;flex-wrap:wrap}.form-ok{color:var(--good);font-size:13.5px;margin:0}.settings-block{display:flex;flex-direction:column;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.settings-block h3{font-size:15px}.settings-block>.btn{align-self:flex-start}.danger-zone h3{color:#ffb3aa}.confirm-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:12px;border:1px solid rgba(232,176,79,.45);background:#e8b04f14;font-size:13.5px}.confirm-banner span{flex:1;min-width:200px}.playing-as{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--panel)}.option-hint{display:block;margin-top:6px;font-size:12px;color:var(--faint)}.rated-badge{margin-left:8px;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;color:var(--gold-2);background:#e8b04f24;border:1px solid rgba(232,176,79,.4)}.rating-change{font-size:15px;color:var(--muted)}.rating-change strong{margin-left:6px;font-size:18px}.rating-change.up strong{color:var(--good)}.rating-change.down strong{color:#ffb3aa}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h2{margin:0!important}.segmented.small button{padding:6px 14px}.segmented button:disabled{opacity:.45;cursor:not-allowed}.leaderboard{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.leaderboard li{display:grid;grid-template-columns:32px 1fr auto auto;align-items:baseline;gap:12px;padding:10px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}.leaderboard .rank{color:var(--faint);font-weight:800;font-variant-numeric:tabular-nums}.leaderboard small{color:var(--faint)}.leaderboard .lb-rating{font-family:var(--display);font-weight:800;font-size:17px;color:var(--gold-2);font-variant-numeric:tabular-nums}.rating-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rating-card{padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--panel)}.rating-card small{display:block;color:var(--faint);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.rating-card strong{font-family:var(--display);font-size:28px}.recent-games{list-style:none;margin:0;padding:0;font-size:13.5px}.recent-games li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line)}.recent-games .won{color:var(--good)}.recent-games .lost{color:#ffb3aa}.next-storm{pointer-events:none}.next-storm polygon{fill:#f0a35a1a;stroke:#f0a35abf;stroke-width:.05;stroke-dasharray:.16 .1}.next-storm text{font-size:.5px;fill:#f6d28ad9}.next-storm.soon polygon{fill:#f0a35a47;stroke:#f0a35a;animation:pulse .9s ease-in-out infinite}.online-options .option-wide{grid-column:1 / -1}.segmented.wrap{flex-wrap:wrap}.segmented.wrap button{min-width:90px}.friend-block{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.friend-block h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.friend-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}.friend-row.challenge-row{border-color:#e8b04f73}.friend-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.friend-main small{color:var(--faint);font-size:12.5px}.challenge-modal{max-width:560px;text-align:left;display:flex;flex-direction:column;gap:14px}.rail-badge{position:absolute;top:4px;right:8px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;line-height:18px}.toasts{position:fixed;right:18px;bottom:18px;z-index:50;display:flex;flex-direction:column;gap:10px;max-width:360px}.toast{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px 36px 14px 16px;border-radius:14px;background:var(--panel-2);border:1px solid rgba(232,176,79,.45);box-shadow:0 18px 40px #00000073;font-size:14px;animation:toast-in .2s ease-out}.toast small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}.toast-actions{display:flex;gap:8px}.toast-close{position:absolute;top:8px;right:10px;background:none;border:0;color:var(--faint);cursor:pointer}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.watch-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.watch-row .btn{white-space:nowrap}.online-note.watching{color:var(--teal)}.chat-msg.from-spectator .chat-name,.chat-msg.from-spectator .chat-text{color:var(--muted)}.online-page{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.online-head h1{font-size:clamp(28px,4vw,38px);font-weight:800}.online-head p{margin:6px 0 0;color:var(--muted);font-size:15px}.online-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.online-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:22px}.online-main{padding:0;overflow:hidden;min-height:420px}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 8px}.tabs button{position:relative;display:flex;align-items:center;gap:8px;padding:14px 16px;border:0;background:none;color:var(--muted);font:inherit;font-weight:700;font-size:14.5px;cursor:pointer}.tabs button:hover,.tabs button.on{color:var(--text)}.tabs button.on:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:var(--gold)}.tab-count{min-width:20px;padding:1px 7px;border-radius:99px;background:var(--panel-3);color:var(--muted);font-size:11.5px;font-weight:800}.tab-count.hot{background:var(--gold);color:var(--bg)}.tab-body{padding:16px}.empty-state{padding:40px 16px;text-align:center}.empty-state strong{font-size:16px}.card-head{display:flex;align-items:baseline;justify-content:space-between}.waiting-card{border-color:#e8b04f73;display:flex;flex-direction:column;gap:8px}.new-game{display:flex;flex-direction:column;gap:14px}.new-game .btn.big{width:100%}.choice-grid{display:grid;gap:6px}.choice-grid.two{grid-template-columns:1fr 1fr}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:40px;padding:8px 6px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;text-align:center}.choice-grid button strong{font-size:13.5px;color:var(--text)}.choice-grid button small{font-size:10.5px;color:var(--faint);line-height:1.3}.choice-grid button:hover:not(:disabled){border-color:var(--line-2)}.choice-grid button.on{background:var(--panel-3);box-shadow:inset 0 0 0 1px #e8b04f8c}.choice-grid button:disabled{opacity:.45;cursor:not-allowed}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.playing-as.small{padding:10px 12px;font-size:14px}.friends-card{display:flex;flex-direction:column;gap:10px}.friend-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto}.friend-row.compact{padding:8px 10px;gap:8px}.btn.small{padding:6px 10px;font-size:12.5px}.btn.icon.small{width:30px;padding:6px 0}.live-list{display:flex;flex-direction:column;gap:8px}.live-game{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;text-align:left;cursor:pointer}.live-game:hover{border-color:var(--line-2);background:var(--panel-2)}.live-players{display:flex;flex-direction:column;gap:4px;font-weight:600}.live-players small{color:var(--faint);font-weight:500}.live-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:13px}.live-meta small{color:var(--faint)}.live-watch{color:var(--teal);font-weight:700;font-size:13px}@media (max-width: 1080px){.online-grid{grid-template-columns:1fr}.online-side{display:contents}.online-side .quick-pair,.online-side .account-pitch{order:-3}.online-side .new-game{order:-2}.online-main{order:-1;min-height:0}}@media (max-width: 1080px){.play{grid-template-columns:1fr}.side-panel{position:static}.board-frame{height:min(78vh,100vw)}.options{grid-template-columns:1fr}.join-row{flex-direction:column}}@media (max-width: 720px){.toasts{left:12px;right:12px;bottom:76px;max-width:none}.app{grid-template-columns:1fr;padding-bottom:70px}.rail{position:fixed;top:auto;bottom:0;left:0;right:0;height:64px;flex-direction:row;justify-content:space-around;padding:6px;border-right:0;border-top:1px solid var(--line);z-index:10}.logo,.soon-tag{display:none}.rail-item{padding:6px}.main{padding:14px 12px}.hero{padding:20px}.bot-grid{grid-template-columns:1fr}.board-frame{height:auto;flex-direction:column;padding-bottom:10px}.board{height:auto;max-height:72vh}.swap-banner{position:static;transform:none;animation:none;width:calc(100% - 20px)}}.quick-pair{display:flex;flex-direction:column;gap:12px}.pool-grid button{min-height:72px}.pool-grid .pool-clock{font-size:18px;font-weight:800;color:var(--gold-2)}.pool-grid small.pool-live{color:var(--gold);font-weight:700}.quick-pair.seeking{border-color:#e8b04f73}.seek-status{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0 2px}.seek-status strong{font-size:17px}.seek-status small{color:var(--muted);font-variant-numeric:tabular-nums}.account-pitch{display:flex;flex-direction:column;gap:12px;border-color:#e8b04f59}.pitch-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px}.test-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:99px;border:1px solid rgba(110,211,190,.5);color:#6ed3be;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.hop-row{display:flex;gap:12px;align-items:center}.hop-row p{margin:0;font-size:13.5px;color:var(--muted)}.hop-diagram .hop-step{fill:#6ed3be}.hop-diagram .hop-leap{fill:var(--gold)}.hop-diagram .hop-no{stroke:#e0705f;stroke-width:.12;stroke-linecap:round}.hop-step-text{color:#6ed3be}.hop-leap-text{color:var(--gold)}.rule-test .hop-diagram{display:block;margin:0 auto 6px}.hop-row .hop-diagram{flex:none;width:120px;height:132px}.block-link{text-align:right;margin-top:-6px}.link-btn.muted{color:var(--faint);font-size:12.5px}.streamer-toggle{float:right;margin-top:8px;padding:6px 12px;border-radius:99px;border:1px solid var(--line-2);background:var(--panel);color:var(--muted);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}.streamer-toggle.on{border-color:#e0705f;color:#f0907f}.check-row{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.check-row input{margin-top:4px}.check-row span{display:flex;flex-direction:column}.check-row small{color:var(--muted)}.blocked-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.blocked-list li{display:flex;justify-content:space-between;align-items:center}.settings-block h4{margin:16px 0 6px;font-size:13.5px;color:var(--muted)}.board.theme-orbit{filter:drop-shadow(0 0 14px rgba(60,170,255,.18))}.board-frame:has(.theme-orbit){background:#03050e;border-color:#5ff3ff24}.theme-orbit .tile-inner{stroke:#5ff3ff52}.theme-orbit .orbit-pad{fill:none;stroke:#5ff3ff1f;stroke-width:.025;stroke-dasharray:.08 .1;pointer-events:none}.theme-orbit .abyss-tile{fill:#5ff3ff05;stroke:#5ff3ff1f}.theme-orbit .crack-lines{stroke:#ffe08a;stroke-width:.045;filter:drop-shadow(0 0 .06px #ff7a3d);animation:orbit-glitch 2.4s steps(1,end) infinite}.theme-orbit .last-move{fill:#5ff3ff1a;stroke:#5ff3ffb3}.theme-orbit .coord{fill:#96dcff73}.orbit-star{animation:orbit-twinkle 3.6s ease-in-out infinite}.orbit-bob{animation:orbit-bob 3.2s ease-in-out infinite alternate}.orbit-shadow{opacity:.22;transform-box:fill-box;transform-origin:center;animation:orbit-shadow 3.2s ease-in-out infinite alternate}.orbit-flame{opacity:.8;transform-box:fill-box;transform-origin:top center;animation:orbit-flame .18s ease-in-out infinite alternate}.orbit-ring{opacity:.85;animation:orbit-ring 3.2s linear infinite}.orbit-core{transform-box:fill-box;transform-origin:center;animation:orbit-pulse 1.8s ease-in-out infinite}.orbit-blink{animation:orbit-blink 1.4s steps(1,end) infinite}.orbit-beacon{animation:orbit-beacon 1.1s ease-in-out infinite}.orbit-spin,.orbit-spin-back{transform-box:fill-box;transform-origin:center;animation:spin 14s linear infinite}.orbit-spin-back{animation-duration:9s;animation-direction:reverse}.orbit-look{animation:orbit-look 7s ease-in-out infinite}.theme-orbit .piece-vanish{animation:orbit-warp .6s ease-in both}.theme-orbit .piece-selectable .orbit-bob{animation-name:orbit-bob-high}@keyframes orbit-bob{0%{transform:translateY(0)}to{transform:translateY(-.07px)}}@keyframes orbit-bob-high{0%{transform:translateY(-.04px)}to{transform:translateY(-.12px)}}@keyframes orbit-shadow{0%{transform:scale(1);opacity:.26}to{transform:scale(.82);opacity:.14}}@keyframes orbit-flame{0%{transform:scaleY(.8);opacity:.55}to{transform:scaleY(1.25);opacity:.9}}@keyframes orbit-ring{to{stroke-dashoffset:-1}}@keyframes orbit-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.86);opacity:.75}}@keyframes orbit-blink{0%{opacity:1}50%{opacity:.2}}@keyframes orbit-beacon{0%,to{opacity:.3}50%{opacity:1}}@keyframes orbit-look{0%,to{transform:translate(0)}20%{transform:translate(.08px,-.03px)}45%{transform:translate(-.07px,.04px)}70%{transform:translate(.02px,.07px)}}@keyframes orbit-twinkle{0%,to{opacity:.25}50%{opacity:1}}@keyframes orbit-glitch{0%,to{opacity:1}40%{opacity:.45}44%{opacity:1}80%{opacity:.7}}@keyframes orbit-warp{0%{opacity:1;transform:scale(1);filter:brightness(1)}35%{opacity:1;transform:scale(1.15);filter:brightness(2.6)}to{opacity:0;transform:scale(.08,2.4) translateY(-.6px);filter:brightness(3)}}@media (prefers-reduced-motion: reduce){.orbit-piece *,.orbit-star,.theme-orbit .crack-lines{animation:none!important}}.board-frame:has(.theme-castle){background:#06171e}.theme-castle .tile-inner{stroke:#fff5dc1f}.castle-mortar{fill:none;stroke:#28201642;stroke-width:.03;stroke-linecap:round}.castle-moss{fill:#5c803c8c}.theme-castle .abyss-tile{fill:#78b4c80a;stroke:#a0d2e124}.theme-castle .last-move{fill:#f6d28a2e}.castle-ripple{fill:none;stroke:#aadceb38;stroke-width:.025;stroke-linecap:round;animation:castle-ripple 6s ease-in-out infinite}.castle-sway{transform-box:fill-box;transform-origin:bottom center;animation:castle-sway 4s ease-in-out infinite alternate}.castle-nod{transform-box:fill-box;transform-origin:60% 90%;animation:castle-nod 3.4s ease-in-out infinite alternate}.castle-flag,.castle-plume{transform-box:fill-box;transform-origin:left center;animation:castle-flag 1.6s ease-in-out infinite alternate}.castle-plume{transform-origin:bottom center;animation-duration:2.2s}.castle-torch{animation:castle-torch .9s steps(3,end) infinite}.theme-castle .piece-vanish{animation:castle-topple .65s ease-in both;transform-origin:bottom center}@keyframes castle-ripple{0%,to{opacity:0;transform:translate(0)}50%{opacity:1;transform:translate(.25px)}}@keyframes castle-sway{0%{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)}}@keyframes castle-nod{0%{transform:rotate(-2deg)}to{transform:rotate(3deg)}}@keyframes castle-flag{0%{transform:skewY(-6deg) scaleX(.92)}to{transform:skewY(5deg) scaleX(1)}}@keyframes castle-torch{0%{opacity:1}33%{opacity:.75}66%{opacity:.9}}@keyframes castle-topple{0%{opacity:1;transform:rotate(0)}60%{opacity:1;transform:rotate(75deg) translateY(.1px)}to{opacity:0;transform:rotate(90deg) translateY(.4px)}}@media (prefers-reduced-motion: reduce){.castle-piece *,.castle-ripple{animation:none!important}}.board-frame:has(.theme-floe){background:#031423}.board.theme-floe{filter:drop-shadow(0 10px 18px rgba(0,10,25,.6))}.theme-floe .tile-inner{stroke:#ffffff8c}.theme-floe .abyss-tile{fill:#8cc8f00a;stroke:#b4e1ff29}.theme-floe .crack-lines{stroke:#ffffffe6;stroke-width:.045;filter:drop-shadow(0 0 .04px #2a6890)}.theme-floe .coord{fill:#143c5a8c}.theme-floe .last-move{fill:#288cdc24;stroke:#288cdc99}.floe-drift{fill:#fff6}.floe-glint{stroke:#fffc;stroke-width:.03;stroke-linecap:round}.floe-swell{fill:none;stroke:#96d2f533;stroke-width:.025;stroke-linecap:round;animation:castle-ripple 7s ease-in-out infinite}.floe-aurora{animation:floe-aurora 12s ease-in-out infinite alternate}.floe-snow{fill:#ffffffd9;animation:floe-snow linear infinite}.floe-breathe{transform-box:fill-box;transform-origin:bottom center;animation:floe-breathe 3.6s ease-in-out infinite}.floe-waddle{transform-box:fill-box;transform-origin:bottom center;animation:floe-waddle 1.8s ease-in-out infinite alternate}.floe-blink{transform-box:fill-box;transform-origin:center;animation:floe-blink 5s infinite}.theme-floe .piece-vanish{animation:floe-splash .7s ease-in both}@keyframes floe-aurora{0%{opacity:.55;transform:translate(-.6px)}to{opacity:1;transform:translate(.6px)}}@keyframes floe-snow{0%{transform:translate(0)}to{transform:translate(var(--drift),var(--fall))}}@keyframes floe-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,.97)}}@keyframes floe-waddle{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes floe-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes floe-splash{0%{opacity:1;transform:translate(0) rotate(0)}50%{opacity:1;transform:translate(.3px,.15px) rotate(25deg)}to{opacity:0;transform:translate(.6px,.8px) rotate(50deg) scale(.6)}}@media (prefers-reduced-motion: reduce){.floe-piece *,.floe-snow,.floe-swell,.floe-aurora{animation:none!important}}.board-frame:has(.theme-academy){background:#07050f}.board.theme-academy{filter:drop-shadow(0 12px 22px rgba(0,0,0,.6))}.theme-academy .tile-inner{stroke:#78501e40}.academy-ink{fill:none;stroke:#b0802861;stroke-width:.022}.theme-academy .abyss-tile{fill:#8c6eff0a;stroke:#c8b4ff24}.theme-academy .crack-lines{stroke:#ffb35a;stroke-width:.045;filter:drop-shadow(0 0 .06px #ff6a1a);animation:orbit-glitch 2.8s steps(1,end) infinite}.theme-academy .coord{fill:#5a3c1499}.theme-academy .last-move{fill:#7a5bd629;stroke:#7a5bd6b3}.academy-spark{fill:#ffe6a0;animation:orbit-twinkle 4s ease-in-out infinite}.academy-float{animation:orbit-bob 4s ease-in-out infinite alternate}.academy-flame,.academy-glow{transform-box:fill-box;transform-origin:bottom center;animation:academy-flame .7s ease-in-out infinite alternate}.academy-glow{opacity:.18;transform-origin:center;animation:orbit-shadow 2.4s ease-in-out infinite alternate}.academy-bubble{fill:#ffffffd9;animation:academy-bubble 1.7s ease-in infinite}.academy-surface{transform-box:fill-box;transform-origin:center;animation:academy-surface 1.4s ease-in-out infinite alternate}.academy-steam{fill:none;stroke:#e6e6ff73;stroke-width:.03;stroke-linecap:round;animation:academy-steam 2.2s ease-out infinite}.academy-tilt{transform-box:fill-box;transform-origin:bottom center;animation:academy-tilt 6s ease-in-out infinite}.academy-blink{transform-box:fill-box;transform-origin:center;animation:floe-blink 4.5s infinite}.theme-academy .piece-vanish{animation:academy-puff .65s ease-out both}@keyframes academy-flame{0%{transform:scale(.9,.85);opacity:.85}to{transform:scale(1.05,1.15);opacity:1}}@keyframes academy-bubble{0%{transform:translateY(0);opacity:0}20%{opacity:1}to{transform:translateY(var(--rise));opacity:0}}@keyframes academy-surface{0%{transform:scaleX(.97)}to{transform:scaleX(1.02)}}@keyframes academy-steam{0%{opacity:0;transform:translateY(.05px)}30%{opacity:1}to{opacity:0;transform:translateY(-.25px)}}@keyframes academy-tilt{0%,70%,to{transform:rotate(0)}78%{transform:rotate(-9deg)}88%{transform:rotate(6deg)}}@keyframes academy-puff{0%{opacity:1;transform:scale(1);filter:none}40%{opacity:.9;transform:scale(1.25);filter:blur(.04px) hue-rotate(60deg) brightness(1.6)}to{opacity:0;transform:scale(1.7) translateY(-.3px);filter:blur(.15px) hue-rotate(120deg)}}@media (prefers-reduced-motion: reduce){.academy-piece *,.academy-spark,.academy-float,.academy-flame,.theme-academy .crack-lines{animation:none!important}}.theme-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.theme-card{display:flex;flex-direction:column;gap:4px;padding:8px 8px 10px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;text-align:left;cursor:pointer}.theme-card:hover{border-color:var(--line-2)}.theme-card.on{background:var(--panel-3);box-shadow:inset 0 0 0 1px #e8b04f99}.theme-card strong{color:var(--text);font-size:14px;padding:0 2px}.theme-card small{font-size:11.5px;line-height:1.35;padding:0 2px}.theme-preview{width:100%;border-radius:9px;margin-bottom:4px}.option-wide{grid-column:1 / -1}.board-frame:has(.theme-classic){background:#0b0d11}.classic-bevel-light,.classic-bevel-dark{fill:none;stroke-width:.035;stroke-linejoin:round}.classic-bevel-light{stroke:#ffffff21}.classic-bevel-dark{stroke:#00000038}.classic-vein{fill:none;stroke:#ffffff0d;stroke-width:.02;stroke-linecap:round}.theme-classic .abyss-tile{fill:#0000002e}.classic-shine{animation:classic-shine 7s ease-in-out infinite}.theme-classic .piece-arrive{animation:classic-arrive .46s cubic-bezier(.3,.7,.3,1) both}.theme-classic .piece-vanish{animation:classic-roll .7s ease-in both}@keyframes classic-shine{0%,78%{transform:skew(-22deg) translate(-.5px);opacity:0}80%{opacity:1}92%{transform:skew(-22deg) translate(.9px);opacity:1}94%,to{transform:skew(-22deg) translate(.9px);opacity:0}}@keyframes classic-arrive{0%{transform:translate(var(--dx),var(--dy))}70%{transform:translate(calc(var(--dx) * .04),calc(var(--dy) * .04 - .16px))}86%{transform:translateY(.03px)}to{transform:translate(0)}}@keyframes classic-roll{0%{opacity:1;transform:rotate(0) scale(1)}30%{opacity:1;transform:rotate(-12deg) scale(1.06,.8)}to{opacity:0;transform:translate(.5px,1.1px) rotate(140deg) scale(.45,.25)}}@media (prefers-reduced-motion: reduce){.classic-shine,.theme-classic .piece-arrive,.theme-classic .piece-vanish{animation:none!important}}.theme-picker.compact{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.theme-picker.compact .theme-card{padding:6px 6px 8px;border-radius:12px}.theme-picker.compact .theme-card strong{font-size:12.5px}.theme-panel{display:flex;flex-direction:column;gap:10px}.actions .btn.on{box-shadow:inset 0 0 0 1px #e8b04f99}.board-frame:has(.theme-terminal){background:#000}.board-frame:has(.theme-terminal):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.55));border-radius:inherit}.board.theme-terminal{filter:drop-shadow(0 0 6px rgba(77,255,136,.25))}.theme-terminal .tile-inner{stroke:#4dff8873}.terminal-grid{fill:none;stroke:#4dff8814;stroke-width:.02;stroke-dasharray:.03 .05}.terminal-text{font-family:ui-monospace,SF Mono,Menlo,Consolas,Courier New,monospace;font-weight:700}.terminal-addr{fill:#4dff8847}.terminal-err{fill:#ff4a4a;animation:terminal-glitch 1.6s steps(1,end) infinite}.terminal-log text{fill:#4dff8838}.theme-terminal .crack-lines{stroke:#ff4a4acc}.theme-terminal .abyss-tile{fill:none;stroke:#4dff881f}.theme-terminal .coord{fill:#4dff888c;font-family:ui-monospace,Menlo,Consolas,monospace}.theme-terminal .last-move{fill:#4dff8814;stroke:#4dff88b3}.terminal-piece{filter:drop-shadow(0 0 .06px currentColor)}.terminal-flicker{animation:terminal-flicker 5s steps(1,end) infinite}.terminal-cursor{animation:terminal-cursor 1.06s steps(1,end) infinite}.theme-terminal .piece-vanish{animation:terminal-segfault .55s steps(6,end) both}.theme-terminal .tile-fall{animation:terminal-wipe .6s steps(6,end) both}.board.theme-terminal.storm-flash{animation:terminal-panic .8s steps(8,end)}@keyframes terminal-flicker{0%,to{opacity:1}41%{opacity:.82}42%{opacity:1}77%{opacity:.9}78%{opacity:1}}@keyframes terminal-cursor{0%{opacity:1}50%{opacity:0}}@keyframes terminal-glitch{0%,to{opacity:1;transform:translate(0)}30%{opacity:.4;transform:translate(.03px)}34%{opacity:1;transform:translate(-.02px)}}@keyframes terminal-segfault{0%{opacity:1;transform:translate(0);filter:none}30%{transform:translate(.12px) skew(20deg);filter:hue-rotate(160deg) brightness(2)}60%{opacity:.8;transform:translate(-.15px) scaleY(.4)}to{opacity:0;transform:translate(.05px) scaleY(.05)}}@keyframes terminal-wipe{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0)}}@keyframes terminal-panic{0%,to{transform:translate(0);filter:drop-shadow(0 0 6px rgba(77,255,136,.25))}15%{transform:translate(4px,-2px);filter:hue-rotate(250deg) saturate(3) brightness(1.4)}30%{transform:translate(-5px,2px)}45%{transform:translate(3px,1px);filter:hue-rotate(250deg) saturate(3)}60%{transform:translate(-2px,-1px)}}@media (prefers-reduced-motion: reduce){.terminal-piece *,.terminal-flicker,.terminal-cursor,.terminal-err,.board.theme-terminal.storm-flash{animation:none!important}}.board-frame:has(.theme-arcade){background:#4aa3e0}.board.theme-arcade{filter:drop-shadow(0 10px 0 rgba(0,0,0,.18))}.theme-arcade .tile-inner{stroke:#ffffff38;stroke-width:.05}.theme-arcade .abyss-tile{fill:#ffffff14;stroke:#ffffff59}.theme-arcade .crack-lines{stroke:#6b4a1c}.theme-arcade .coord{fill:#143c1499}.arcade-hop{animation:arcade-hop .9s steps(1,end) infinite}.arcade-cloud{animation:arcade-cloud 18s linear infinite alternate}.theme-arcade .piece-vanish{animation:arcade-pop .6s steps(6,end) both}.theme-arcade .tile-fall{animation:arcade-crumble .6s steps(5,end) both}@keyframes arcade-hop{0%{transform:translateY(0)}50%{transform:translateY(-.05px)}}@keyframes arcade-cloud{0%{transform:translate(0)}to{transform:translate(1.6px)}}@keyframes arcade-pop{0%{opacity:1;transform:scale(1)}16%{opacity:0}33%{opacity:1}50%{opacity:0}66%{opacity:1;transform:scale(1.2) translateY(-.1px)}to{opacity:0;transform:scale(1.5) translateY(-.3px)}}@keyframes arcade-crumble{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(1.2px) scale(.6)}}@media (prefers-reduced-motion: reduce){.arcade-hop,.arcade-cloud{animation:none!important}}.hero-new{margin-top:10px;color:var(--gold-2);font-weight:600}.tutorial-card{display:flex;flex-direction:column;gap:10px}.tutorial-card h2{margin:0;font-size:24px}.tutorial-card p{margin:0;line-height:1.5}.tutorial-steps{display:flex;gap:6px}.tutorial-steps span{flex:1;height:5px;border-radius:3px;background:var(--panel-3)}.tutorial-steps span.now{background:#e8b04f73}.tutorial-steps span.done{background:var(--gold)}.tutorial-wrong{color:#ffb0a5}.tutorial-done{color:var(--good, #7fd18b);font-weight:600}.tutorial-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.tutorial-more{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px}.daily-banner{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 18px;padding:14px 18px;border-radius:18px;border:1px solid rgba(232,176,79,.35);background:linear-gradient(90deg,#e8b04f1f,#e8b04f05);color:var(--text);font:inherit;text-align:left;cursor:pointer}.daily-banner:hover{border-color:#e8b04f99}.daily-icon{font-size:26px;color:var(--gold)}.daily-text{display:flex;flex-direction:column;flex:1}.daily-text strong{font-size:17px}.daily-text small{color:var(--muted)}.daily-streak-chip{padding:4px 10px;border-radius:99px;background:var(--panel-3);font-weight:800}.daily-go{font-weight:800;color:var(--gold-2)}.daily-card{display:flex;flex-direction:column;gap:10px}.daily-card h2{margin:0;font-size:24px}.daily-card p{margin:0;line-height:1.5}.daily-marks{display:flex;gap:6px}.daily-marks .mark{width:22px;height:22px;border-radius:5px;background:var(--panel-3);border:1px solid var(--line-2)}.daily-marks .mark.ok{background:#3fb950}.daily-marks .mark.help{background:#e3b341}.daily-marks .mark.shown{background:#e5534b}.daily-streak{display:flex;justify-content:space-between}.daily-streak div{display:flex;flex-direction:column}.daily-streak strong{font-size:20px}.daily-streak small{color:var(--muted)}.theme-card{position:relative}.theme-card.locked{cursor:not-allowed}.theme-card.locked .theme-preview{filter:grayscale(.85) brightness(.55)}.theme-tag{align-self:flex-start;margin:2px 2px 0;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:600;color:var(--gold-2);background:#e8b04f1f}.theme-tag.closed{color:var(--muted);background:var(--panel-3)}.journey-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px}.journey-head p{margin:0;color:var(--muted);font-size:13.5px}.estimate-chip{padding:4px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--text);font-size:13px;white-space:nowrap}.estimate-chip strong{color:var(--gold-2)}.bot-reward{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--gold-2);background:#e8b04f1f}.bot-reward.got{color:var(--good);background:#6bdc9a1a}.bot-beaten{color:var(--good);font-weight:600}.result-reward{display:flex;align-items:center;gap:12px;margin:14px 0 4px;padding:10px 12px;border-radius:12px;background:#e8b04f1a;border:1px solid rgba(232,176,79,.35);text-align:left}.result-reward span{flex:1;font-size:14px}.account-offer{margin:14px 0 4px;padding:12px 14px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line-2);text-align:left}.account-offer strong{display:block;margin-bottom:4px;color:var(--text)}.account-offer p{margin:0 0 10px;color:var(--muted);font-size:13.5px;line-height:1.45}.account-offer .row{display:flex;flex-wrap:wrap;gap:8px}.legal{max-width:720px;margin:0 auto;padding:32px 20px 64px;color:var(--text);line-height:1.6}.legal h1{font-family:var(--display);margin:0 0 4px}.legal h2{font-family:var(--display);font-size:19px;margin:28px 0 8px}.legal p,.legal li{color:var(--muted);font-size:15px}.legal li{margin-bottom:6px}.legal a,.small-print a{color:var(--gold-2)}.legal-meta{font-size:13px!important;color:var(--faint)!important}.legal-links{display:flex;justify-content:center;gap:18px;padding:24px 0 32px;font-size:13px}.legal-links a{color:var(--faint);text-decoration:none}.legal-links a:hover{color:var(--muted)}.small-print{font-size:12.5px;margin-top:4px}.analysis-nav{display:flex;justify-content:center;gap:8px;margin-top:12px}.analysis-engine-title{display:flex;align-items:center;justify-content:space-between}.switch{display:inline-flex;align-items:center;gap:6px;font-size:12px;text-transform:none;letter-spacing:0;cursor:pointer}.analysis-eval{display:flex;align-items:baseline;gap:10px;margin:4px 0 0}.analysis-eval strong{font-family:var(--display);font-size:22px;color:var(--text)}.analysis-eval span{color:var(--muted);font-size:13px}.analysis-setup .segmented{margin-bottom:8px}.kpn-label{display:block;margin:6px 0 8px;font-size:12px;color:var(--faint)}.kpn-row{display:flex;gap:8px;align-items:center;margin-top:4px}.kpn{flex:1;min-width:0;padding:6px 8px;border-radius:8px;background:var(--bg-2);color:var(--text);font-size:12px;overflow-wrap:anywhere}.kpn-input{flex:1;min-width:0;padding:7px 10px;border-radius:8px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--text);font:inherit;font-size:13px}.rush-banner{border-color:#6fd3c159;background:linear-gradient(90deg,#6fd3c11a,#6fd3c105)}.rush-banner:hover{border-color:#6fd3c199}.rush-intro{display:flex;justify-content:center;padding:48px 16px}.rush-card{max-width:520px;width:100%;text-align:center}.rush-card h1{font-family:var(--display);margin:8px 0 10px}.rush-card .btn.huge{margin-top:18px;width:100%}.rush-score{font-size:72px;line-height:1;color:var(--gold-2)}.rush-sub{color:var(--text);margin:6px 0 14px}.rush-marks{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:10px 0}.rush-marks.small{justify-content:flex-start}.rush-mark{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;border:none;font:inherit;font-size:13px;font-weight:700}button.rush-mark{cursor:pointer}.rush-mark.ok{background:#6bdc9a2e;color:var(--good)}.rush-mark.miss{background:#ef6b5e2e;color:var(--danger)}.rush-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.rush-clock{font-family:var(--display);font-size:34px;font-variant-numeric:tabular-nums;color:var(--text)}.rush-clock.low{color:var(--danger)}.rush-now{display:flex;flex-direction:column;align-items:center}.rush-now strong{font-family:var(--display);font-size:30px;color:var(--gold-2);line-height:1}.rush-now small,.rush-link small{color:var(--muted);font-size:12px}.rush-lives span{margin-left:4px;color:var(--faint);font-weight:700}.rush-lives span.lost{color:var(--danger)}.rush-task{font-family:var(--display);margin:0 0 4px}.rush.flash-ok .board-frame{box-shadow:0 0 0 3px #6bdc9ab3}.rush.flash-miss .board-frame{box-shadow:0 0 0 3px #ef6b5ebf}.rush-link{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;font:inherit;color:var(--text);cursor:pointer}.banner-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 14px}.achievements-banner{border-color:var(--line-2);background:var(--panel)}.achievements{max-width:980px;margin:0 auto;padding:28px 16px 64px}.achievements-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.achievements-head h1{font-family:var(--display);margin:0}.achievements-head p{margin:0;color:var(--muted)}.achievements-head strong{color:var(--gold-2)}.achievements h2{font-family:var(--display);font-size:17px;margin:26px 0 10px;color:var(--text)}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.achievement{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);opacity:.62}.achievement.got{opacity:1;border-color:#e8b04f73;background:linear-gradient(180deg,rgba(232,176,79,.08),transparent),var(--panel)}.achievement-icon{font-size:26px;line-height:1;filter:grayscale(1)}.achievement.got .achievement-icon{filter:none}.achievement strong{display:block;color:var(--text);font-size:14.5px}.achievement small{display:block;color:var(--muted);font-size:12.5px;line-height:1.4}.achievement .achievement-at{margin-top:4px;color:var(--good)}.achievement-bar{position:relative;display:block;height:6px;margin-top:8px;border-radius:3px;background:var(--panel-3)}.achievement-bar i{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--gold)}.achievement-bar em{position:absolute;right:0;top:8px;font-style:normal;font-size:11px;color:var(--faint)}.toasts{position:fixed;right:16px;bottom:16px;z-index:50;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;border:1px solid rgba(232,176,79,.55);background:var(--panel-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:0 10px 30px #00000073;animation:toast-in .35s ease-out}.toast-icon{font-size:26px}.toast small{display:block;color:var(--gold-2);font-size:11px;text-transform:uppercase;letter-spacing:.06em}@keyframes toast-in{0%{transform:translateY(14px);opacity:0}}.arena-banner{border-color:#e8b04f40;background:var(--panel)}.arenas{max-width:1040px;margin:0 auto;padding:28px 16px 64px}.arenas-head,.arena-hero{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px 24px;margin-bottom:14px}.arenas h1{font-family:var(--display);margin:0 0 4px}.arenas-head .hint{max-width:620px}.arenas h2{font-family:var(--display);font-size:17px;margin:22px 0 10px}.arena-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.arena-card{display:flex;gap:12px;align-items:center;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;text-align:left;cursor:pointer}.arena-card:hover{background:var(--panel-2)}.arena-card.running{border-color:#6bdc9a80}.arena-icon{font-size:28px}.arena-text strong{display:block;font-size:15px}.arena-text small{display:block;color:var(--muted);font-size:12.5px}.arena-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;align-items:end;margin-bottom:8px}.arena-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--faint)}.arena-form input,.arena-form select{padding:8px 10px;border-radius:8px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--text);font:inherit;font-size:14px}.arena-form .check-row{flex-direction:row}.arena-clock{text-align:right}.arena-clock small{display:block;color:var(--muted);font-size:12px}.arena-clock strong{font-family:var(--display);font-size:30px;font-variant-numeric:tabular-nums;color:var(--gold-2)}.arena-me{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px;color:var(--text)}.arena-me.playing{border-color:#6bdc9a80}.arena-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px}@media (max-width: 760px){.arena-columns{grid-template-columns:1fr}}.standings{width:100%;border-collapse:collapse;font-size:14px}.standings td{padding:7px 6px;border-top:1px solid var(--line);vertical-align:middle}.standings tr.me td{background:#e8b04f12}.standings .rank{width:28px;color:var(--faint)}.standings .who{color:var(--text)}.standings .who small{margin-left:6px;color:var(--faint)}.standings .paused{color:var(--faint);font-size:12px}.standings .sheet{font-variant-numeric:tabular-nums;color:var(--muted)}.standings .sheet span{margin-right:3px}.standings .sheet .loss{color:var(--faint)}.standings .sheet .double{color:var(--gold-2);font-weight:700}.standings .score{text-align:right;font-family:var(--display);font-weight:700;color:var(--text);white-space:nowrap}.arena-games{list-style:none;margin:0;padding:0}.arena-games li{padding:5px 0;border-top:1px solid var(--line)}.podium{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:10px;max-width:520px;margin:0 auto 18px;text-align:center}.podium-step{display:flex;flex-direction:column;gap:2px;padding:12px 8px;border-radius:14px 14px 0 0;background:var(--panel-2);color:var(--text)}.podium-step span{font-size:30px}.podium-step small{color:var(--muted)}.podium-step.p1{padding-bottom:34px;border:1px solid rgba(232,176,79,.5)}.podium-step.p2{padding-bottom:20px}.puzzles-hub h1{font-family:var(--display);margin:0 0 16px}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:18px}.hub-card{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:16px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;text-align:left;cursor:pointer}.hub-card:hover{background:var(--panel-2)}.hub-card.main{border-color:#e8b04f80;background:linear-gradient(180deg,rgba(232,176,79,.1),transparent),var(--panel)}.hub-icon{font-size:28px}.hub-card strong{font-family:var(--display);font-size:19px}.hub-card small{color:var(--muted);font-size:13px;line-height:1.45}.hub-card em{margin-top:auto;font-style:normal;color:var(--gold-2);font-weight:600;font-size:13.5px}.hub-top ol{margin:0;padding-left:22px}.hub-top li{padding:4px 0;color:var(--muted)}.hub-top li span{color:var(--text)}.hub-top li strong{float:right;color:var(--text)}.train-rating{display:flex;align-items:center;gap:14px}.train-rating small{display:block;color:var(--muted);font-size:12px}.train-rating strong{font-family:var(--display);font-size:30px;color:var(--gold-2)}.train-streak{margin-left:auto;font-weight:700}.board-frame.frame-ok{box-shadow:0 0 0 3px #6bdc9ab3}.board-frame.frame-miss{box-shadow:0 0 0 3px #ef6b5ebf}.rail-label-short{display:none}@media (max-width: 720px){.rail{gap:0;padding:4px 2px}.rail-item{flex:1 1 0;min-width:0;padding:6px 1px;font-size:10.5px}.rail-item .rail-label{display:none}.rail-item .rail-label-short{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-account .rail-label{display:none}.rail-account{flex:0 0 44px}.rail-account .rail-label-short{display:none}.arena-hero{flex-direction:column}.arena-clock{text-align:left}.daily-banner{margin-bottom:12px}}.crash{max-width:520px;margin:60px auto;padding:24px;border-radius:16px;border:1px solid var(--line-2);background:var(--panel);color:var(--text)}.crash h2{font-family:var(--display);margin:0 0 8px}.local-icon{display:grid;place-items:center;width:54px;height:54px;font-size:30px}.standings .tiebreak{width:36px;text-align:right;color:var(--faint);font-variant-numeric:tabular-nums}.games-page h1{font-family:var(--display);margin:0 0 14px}.games-tabs{margin-bottom:14px;max-width:520px}.game-rows{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.game-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;text-align:left;cursor:pointer}.game-row:hover{background:var(--panel-2)}.game-result{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;font-weight:800;flex:none}.game-result.won{background:#6bdc9a29;color:var(--good)}.game-result.lost{background:#ef6b5e29;color:var(--danger)}.game-result.neutral{background:var(--panel-3);color:var(--muted)}.game-text{flex:1;min-width:0}.game-text strong{display:block}.game-text small,.game-date{color:var(--muted);font-size:12.5px}.game-date{white-space:nowrap}.replay-head{display:flex;flex-direction:column;margin-bottom:8px}.replay-head small{color:var(--muted)}.board-frame:has(.theme-sketch){background:#fbf8ef}.theme-sketch .tile-inner{stroke:#1d2a44;stroke-width:.035}.theme-sketch .abyss-tile{fill:none;stroke:#1d2a4440;stroke-dasharray:.08 .08}.theme-sketch .crack-lines{stroke:#1d2a44;stroke-width:.05}.theme-sketch .coord{fill:#1d2a4499}.theme-sketch .last-move{fill:#1d2a4414;stroke:#1d2a44;stroke-dasharray:.1 .06}.board-frame:has(.theme-garden){background:#121c12}.theme-garden .tile-inner{stroke:#5a503259}.theme-garden .abyss-tile{fill:#0000001f;stroke:#a0be7826}.theme-garden .crack-lines{stroke:#5b4a2c;stroke-width:.04}.theme-garden .coord{fill:#5046288c}.theme-garden .last-move{fill:#78964629;stroke:#5a783299}.garden-rake path{fill:none;stroke:#96825a59;stroke-width:.02}.garden-petal{fill:#f6c3d2;opacity:.85;animation:garden-fall linear infinite}.garden-settle{transform-box:fill-box;transform-origin:bottom center;animation:garden-settle 6s ease-in-out infinite}.garden-glow{animation:garden-glow 4s ease-in-out infinite alternate}.theme-garden .piece-vanish{animation:garden-scatter .6s ease-in both}@keyframes garden-fall{0%{transform:translate(0)}to{transform:translate(var(--drift),var(--fall))}}@keyframes garden-settle{0%,to{transform:rotate(0)}50%{transform:rotate(1.2deg)}}@keyframes garden-glow{0%{opacity:.7}to{opacity:1}}@keyframes garden-scatter{to{opacity:0;transform:translateY(.4px) scale(.7)}}.board-frame:has(.theme-forge){background:#0c0706}.board.theme-forge{filter:drop-shadow(0 8px 16px rgba(0,0,0,.7))}.theme-forge .tile-inner{stroke:#ffffff1f}.theme-forge .abyss-tile{fill:#ff5a140f;stroke:#ff78282e}.theme-forge .crack-lines{stroke:#ffb347;stroke-width:.05;filter:drop-shadow(0 0 .08px #ff6a00);animation:forge-hot 1.8s ease-in-out infinite alternate}.theme-forge .coord{fill:#ffc89673}.theme-forge .last-move{fill:#ff8c2824;stroke:#ff963cb3}.forge-rivet{fill:#6b7179;stroke:#1e2125;stroke-width:.012}.forge-coal{fill:#ff6a1a;opacity:.18;animation:forge-coal 3s ease-in-out infinite alternate}.forge-spark{fill:#ffcf6e;animation:forge-spark linear infinite}.forge-glint{animation:forge-glint 7s ease-in-out infinite}.theme-forge .piece-vanish{animation:forge-melt .6s ease-in both}@keyframes forge-hot{0%{opacity:.6}to{opacity:1}}@keyframes forge-coal{0%{opacity:.08}to{opacity:.3}}@keyframes forge-spark{0%{opacity:0;transform:translate(0)}10%{opacity:1}to{opacity:0;transform:translate(var(--drift),var(--rise))}}@keyframes forge-glint{0%,80%,to{transform:translate(0);opacity:0}85%{opacity:.6}95%{transform:translate(.5px);opacity:0}}@keyframes forge-melt{to{opacity:0;transform:scaleY(.2) translateY(.4px);filter:brightness(2)}}.board-frame:has(.theme-pond){background:#0a1d22}.theme-pond .tile-inner{stroke:#143c1e99}.theme-pond .abyss-tile{fill:#78a0c80a;stroke:#96c8dc24}.theme-pond .crack-lines{stroke:#3f3a16;stroke-width:.045}.theme-pond .coord{fill:#0a281499}.theme-pond .last-move{fill:#ffe67824;stroke:#ffdc6499}.pond-vein path{stroke:#14461e73;stroke-width:.018}.pond-ring{fill:none;stroke:#b4dcf040;stroke-width:.02;transform-box:fill-box;transform-origin:center;animation:pond-ring 8s ease-out infinite}.pond-firefly{fill:#fff27a;filter:drop-shadow(0 0 .06px #fff27a);animation:pond-firefly ease-in-out infinite}.pond-breathe{transform-box:fill-box;transform-origin:bottom center;animation:pond-breathe 2.4s ease-in-out infinite}.pond-blink{transform-box:fill-box;transform-origin:center;animation:floe-blink 4.5s infinite}.pond-head{animation:pond-peek 5s ease-in-out infinite}.theme-pond .piece-vanish{animation:pond-splash .7s ease-in both}@keyframes pond-ring{0%{opacity:0;transform:scale(.2)}20%{opacity:1}to{opacity:0;transform:scale(2.4)}}@keyframes pond-firefly{0%,to{opacity:.1;transform:translate(0)}50%{opacity:1;transform:translate(.3px,-.3px)}}@keyframes pond-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04,.96)}}@keyframes pond-peek{0%,to{transform:translateY(.04px)}50%{transform:translateY(-.02px)}}@keyframes pond-splash{to{opacity:0;transform:translateY(.5px) scale(.5)}}@media (prefers-reduced-motion: reduce){.garden-petal,.garden-settle,.garden-glow,.forge-spark,.forge-coal,.forge-glint,.theme-forge .crack-lines,.pond-ring,.pond-firefly,.pond-piece *{animation:none!important}}.material{display:flex;align-items:center;gap:6px;margin-top:3px;font-family:var(--font)}.material .taken{display:inline-flex;align-items:center}.material .taken i{width:10px;height:10px;margin-right:-3px;border-radius:50%;border:1px solid rgba(0,0,0,.5)}.material .taken.side-w i{background:#ece6da}.material .taken.side-b i{background:#2b2f38;border-color:#ffffff59}.material .taken em{margin-left:6px;font-style:normal;font-size:11px;color:var(--muted)}.material .lead{margin-left:4px;font-size:12.5px;font-weight:700;color:var(--good)}.admin{max-width:1080px;margin:0 auto;padding:28px 16px 64px;display:flex;flex-direction:column;gap:28px}.admin h2{font-size:15px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.admin-head,.admin-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-section-head h2{margin-bottom:0}.admin-section-head{margin-bottom:12px}.admin-range{display:flex;gap:4px;padding:4px;border-radius:10px;background:var(--panel);border:1px solid var(--line)}.admin-range button{border:0;background:none;color:var(--muted);font-weight:700;font-size:13.5px;padding:8px 12px;border-radius:7px;cursor:pointer}.admin-range button.on{background:var(--panel-3);color:var(--text)}.admin-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.admin-tile{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}.admin-tile-label{color:var(--muted);font-size:13px}.admin-tile strong{font-family:var(--display);font-size:clamp(24px,6vw,30px);line-height:1.1;font-variant-numeric:tabular-nums}.admin-tile small{color:var(--faint);font-size:12.5px}.admin-charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.admin-chart{margin:0;padding:14px 16px 10px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}.admin-chart figcaption{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;color:var(--muted);margin-bottom:10px}.admin-chart figcaption strong{color:var(--text);font-family:var(--display);font-size:20px;font-variant-numeric:tabular-nums}.admin-bars{display:flex;align-items:flex-end;gap:2px;height:90px;border-bottom:1px solid var(--line-2)}.admin-bar{flex:1;height:100%;display:flex;align-items:flex-end;cursor:default}.admin-bar i{display:block;width:100%;min-height:0;border-radius:3px 3px 0 0;background:var(--gold-3)}.admin-bar.on i,.admin-bar:hover i{background:var(--gold)}.admin-axis{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums}.admin-axis .admin-hover{color:var(--text);font-weight:700}.admin-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line)}.admin-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.admin-table th,.admin-table td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table th:first-child,.admin-table td:first-child{text-align:left}.admin-table th{color:var(--muted);font-weight:600;background:var(--panel)}.admin-note{margin:0 0 12px;max-width:760px}.admin-faint{color:var(--faint);font-size:12px;margin-left:4px}.admin-bots th[colspan]{text-align:center;color:var(--text)}.admin-share{display:inline-block;width:48px;height:6px;margin-right:8px;vertical-align:middle;border-radius:3px;background:var(--panel-3);overflow:hidden}.admin-share i{display:block;height:100%;border-radius:3px;background:var(--gold)}.admin-back{align-self:flex-start}
