@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap";
:root{--ink:#171714;--paper:#f2efe6;--card:#e8e4d8;--line:#cac4b3;--acid:#d9ff43;--orange:#ff6846;--muted:#706c62}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Space Grotesk,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.35}.landing{background:var(--ink);min-height:100vh;color:var(--paper);flex-direction:column;align-items:center;gap:56px;padding:56px 32px 72px;display:flex}.landing-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;width:min(1120px,100%);display:grid}.brand-mark{background:var(--acid);width:64px;height:64px;color:var(--ink);place-items:center;margin-bottom:24px;font-weight:700;display:grid;transform:rotate(-4deg)}.eyebrow{letter-spacing:.12em;font-family:DM Mono;font-size:12px;font-weight:500}h1{letter-spacing:-.07em;margin:16px 0;font-size:clamp(42px,6vw,76px);line-height:.95}.muted,.hero-copy{color:#aaa69a;max-width:500px;line-height:1.6}button{background:var(--acid);border:0;padding:14px 20px;font-weight:700}.login-error{color:var(--orange);margin:0;font-family:DM Mono;font-size:13px}.landing-pieces{align-items:flex-end;gap:6px;margin-top:40px;display:flex}.landing-pieces .piece{filter:drop-shadow(0 6px 6px #0006);width:clamp(78px,11vw,132px);height:auto;overflow:visible}.landing .white-piece{fill:#efe9d8;stroke:#0e0e0c;stroke-width:3px}.landing .black-piece{fill:var(--acid);stroke:#0e0e0c;stroke-width:3px}.landing .piece-eye{fill:#0e0e0c;stroke:none}.landing-auth{width:100%}.auth-pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}.auth-card{background:#24241f;border:1px solid #3a3a33;flex-direction:column;gap:11px;padding:24px;display:flex}.auth-card.primary{border-color:var(--acid)}.auth-card h2{letter-spacing:-.02em;margin:0;font-size:22px}.auth-sub{color:#aaa69a;margin:-4px 0 4px;font:12px DM Mono}.auth-card input{color:#fff;background:#1b1b17;border:1px solid #555;outline:none;padding:13px}.auth-card input:focus{border-color:var(--acid)}.auth-card button{background:var(--paper);width:100%;color:var(--ink)}.auth-card.primary button{background:var(--acid)}.auth-status{background:#24241f;border:1px solid #3a3a33;flex-direction:column;align-items:flex-start;gap:14px;padding:28px;display:flex}.tutorial{border-top:1px solid #3a3a33;width:min(1120px,100%);padding-top:34px}.tutorial>.eyebrow{color:#aaa69a;margin-bottom:16px}.tutorial-stage{align-items:center;gap:16px;display:flex}.tutorial-slide{background:#24241f;border:1px solid #3a3a33;flex:1;align-items:center;gap:28px;min-height:132px;padding:26px 32px;display:flex}.tutorial-piece .piece{width:84px;height:auto;overflow:visible}.tutorial-text{flex-direction:column;gap:6px;display:flex}.tutorial-step{letter-spacing:.1em;color:var(--acid);font:11px DM Mono}.tutorial-text h3{letter-spacing:-.02em;margin:0;font-size:20px}.tutorial-text p{color:#aaa69a;max-width:560px;margin:0;line-height:1.55}.tut-nav{width:46px;height:46px;color:var(--paper);background:0 0;border:1px solid #3a3a33;flex:none;padding:0;font-size:24px;line-height:1}.tut-nav:hover{border-color:var(--acid);color:var(--acid)}.tutorial-dots{justify-content:center;gap:9px;margin-top:20px;display:flex}.tutorial-dots button{background:#4a4a42;border-radius:50%;width:9px;height:9px;padding:0}.tutorial-dots .active{background:var(--acid)}@media (max-width:860px){.landing-grid{grid-template-columns:1fr;gap:36px}.auth-pair{grid-template-columns:1fr}.tutorial-slide{text-align:center;flex-direction:column;gap:16px}}header{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:36px;height:72px;padding:0 32px;display:flex}.wordmark{letter-spacing:-.06em;color:var(--ink);background:0 0;padding:0;font-size:20px}.wordmark span{color:var(--orange)}nav{flex:1;gap:8px;display:flex}nav button,.account button,.quiet{text-transform:capitalize;color:var(--ink);background:0 0;padding:9px 12px}nav .active{background:var(--ink);color:var(--paper)}nav .resume-game{color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);font-weight:600}nav .resume-game.active{background:var(--orange);color:var(--paper);box-shadow:none}.account{align-items:center;gap:18px;font-family:DM Mono;font-size:13px;display:flex}.account span b{color:#5a7100}.account .elo b{color:var(--orange)}.account .username-link{color:var(--name-color,var(--ink));text-transform:none;background:0 0;padding:4px 6px;font-weight:600}.account .username-link:hover{text-decoration:underline}.account .logout{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:4px;padding:6px 10px;font-size:12px}.account .logout:hover{color:var(--orange);border-color:var(--orange)}.content{max-width:1200px;margin:0 auto;padding:64px 32px}.quickbar{background:var(--ink);color:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:40px;padding:22px 26px;display:flex}.quickbar .eyebrow{color:var(--acid)}.quickbar-copy h2{letter-spacing:-.02em;margin:6px 0;font-size:24px}.quickbar-copy span{color:#aaa69a;max-width:520px;font:13px/1.5 DM Mono;display:block}.quick-numpad{grid-template-columns:repeat(3,72px);grid-auto-rows:54px;gap:6px;display:grid}.numpad-key{background:var(--paper);color:var(--ink);cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;line-height:1;display:flex}.numpad-key b{font:600 16px Space Grotesk}.numpad-key span{letter-spacing:.04em;color:var(--muted);font:9px DM Mono}.numpad-key.active{background:var(--ink);color:var(--paper);box-shadow:inset 0 0 0 2px var(--acid)}.numpad-key.active span{color:#aaa69a}.numpad-key:disabled{color:#8d897e;cursor:not-allowed;background:#5a574e}.numpad-key:disabled span{color:#8d897e}.numpad-go{background:var(--acid);font:600 16px Space Grotesk}.numpad-go:disabled{color:#aaa69a;background:#5a574e}.hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;padding-bottom:48px;display:flex}.hero h1{max-width:720px}.hero-copy{color:var(--muted);width:330px}.tier-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:34px 0 68px;display:grid}.tier-card{background:var(--ink);color:var(--paper);justify-content:space-between;align-items:flex-end;min-height:180px;padding:24px;display:flex}.tier-card p,.tier-card span,.table-row span{color:#aaa69a;margin:4px 0;font:12px DM Mono;display:block}.tier-card strong{font-size:52px;line-height:1;display:block}.section-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title.compact{margin-bottom:8px}.section-title h2{letter-spacing:-.04em;font-size:26px}.section-title span{color:var(--muted);font:12px DM Mono}.table-list{gap:8px;display:grid}.waiting-tools{align-items:center;gap:10px;margin:0 0 12px;display:flex}.waiting-tools input{border:1px solid var(--line);background:var(--paper);min-width:180px;color:var(--ink);outline:none;flex:1;padding:10px 12px}.segmented{flex-wrap:wrap;gap:4px;display:flex}.segmented button{background:var(--card);width:auto;color:var(--ink);border:1px solid var(--line);text-transform:uppercase;padding:9px 10px;font:11px DM Mono}.segmented button.active{background:var(--ink);color:var(--paper)}.waiting-list{max-height:min(430px,48vh);padding-right:4px;overflow:auto}.table-row{border:1px solid var(--line);text-align:left;min-height:74px;color:var(--ink);background:0 0;grid-template-columns:52px 2fr 1fr 1fr auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.table-row button{justify-self:end}.table-row .close-table{color:var(--orange);border:1px solid var(--orange);background:0 0}.avatar{background:var(--card);place-items:center;width:42px;height:42px;font-weight:700;display:grid;overflow:hidden}.avatar.small{width:28px;height:28px;font-size:11px}.empty{border:1px dashed var(--line);text-align:center;color:var(--muted);padding:38px}.toast{z-index:5;background:var(--orange);color:#fff;padding:10px 16px;font-weight:600;position:fixed;top:86px;left:50%;transform:translate(-50%)}.game-view{max-width:1520px;margin:0 auto;padding:24px 32px 48px}.game-topline{justify-content:space-between;align-items:center;display:flex}.pot{letter-spacing:.1em;font:11px DM Mono}.pot b{color:#697f00;margin-left:8px;font-size:20px}.game-layout{grid-template-columns:minmax(680px,920px) 360px;align-items:start;gap:28px;max-width:1308px;margin:0 auto;padding:20px 0 0;display:grid}.board-column{width:100%;min-width:0;max-width:920px}.board{aspect-ratio:1;grid-template:repeat(8,minmax(0,1fr))/repeat(8,minmax(0,1fr));display:grid;overflow:hidden;box-shadow:0 18px 50px #39372e33}.board button{background:0 0;place-items:center;min-width:0;min-height:0;padding:7%;line-height:1;display:grid;position:relative}.board .light{background:var(--sq-light,#e9e4d4)}.board .dark{background:var(--sq-dark,#687151)}.board .selected{box-shadow:inset 0 0 0 5px var(--acid)}.piece-holder{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.piece-holder.draggable{cursor:grab}.piece-holder.draggable:active{cursor:grabbing}.piece-holder.dragging .piece{opacity:.35}.board .piece{z-index:2;filter:drop-shadow(0 2px 2px #14130f55);stroke-linejoin:round;stroke-linecap:round;width:88%;height:88%;position:relative;overflow:visible}.board .white-piece{fill:#fbf8ef;stroke:#1b1a14;stroke-width:3.4px}.board .black-piece{fill:#1f1e18;stroke:#ece6d2;stroke-width:2.6px}.board .piece-eye{fill:var(--acid);stroke:none}.board .piece-cut{fill:none;stroke:var(--acid);stroke-width:4px}.board .piece.set-outline.white-piece{fill:#f5f1e433;stroke:#f5f1e4;stroke-width:4px}.board .piece.set-outline.black-piece{fill:#24231d44;stroke:#1b1a16;stroke-width:4px}.piece.glyph text{font-family:Space Grotesk,sans-serif;font-size:88px}.board .piece.glyph.white-piece text{fill:#fbf8ef;stroke:#1b1a14;stroke-width:3px;paint-order:stroke}.board .piece.glyph.black-piece text{fill:#1f1e18;stroke:#ece6d2;stroke-width:2.4px;paint-order:stroke}.board .drag-over{box-shadow:inset 0 0 0 5px #d9ff43cc}.board .legal:after{content:"";z-index:1;aspect-ratio:1;background:#d9ff43cc;border-radius:50%;width:20%;position:absolute;box-shadow:0 0 0 3px #17200022}.board .legal.capture:after{width:72%;box-shadow:none;background:0 0;border:5px solid #d9ff43cc}.board.reviewing{opacity:.96}.board.reviewing button{cursor:pointer}.chessweeper-board button{border:1px solid #00000012;padding:0;transition:filter .12s,box-shadow .12s}.chessweeper-board button:not(.sweeper-open):not(.sweeper-flagged):not(.sweeper-wrong){box-shadow:inset 2px 2px #ffffff80,inset -3px -3px #0003}.chessweeper-board button:not(.sweeper-open):hover{filter:brightness(1.08);box-shadow:inset 0 0 0 4px #d9ff4388}.chessweeper-board .sweeper-open{color:var(--ink);background:#cfc8b4;box-shadow:inset 2px 2px 4px #00000026,inset 0 0 0 1px #0002}.chessweeper-board .dark.sweeper-open{background:#bcb49d}.chessweeper-board .sweeper-flagged{box-shadow:inset 0 0 0 5px var(--acid)}.chessweeper-board .sweeper-wrong{box-shadow:inset 0 0 0 5px var(--orange)}.sweeper-count{font:700 clamp(20px,4.2vw,46px)/1 DM Mono}.sweeper-count.c1{color:#346f9f}.sweeper-count.c2{color:#3f7d34}.sweeper-count.c3{color:#a65c1e}.sweeper-count.c4,.sweeper-count.c5{color:#ad351d}.sweeper-flag{aspect-ratio:1;background:var(--acid);border:2px solid var(--ink);width:58%;color:var(--ink);text-shadow:0 1px 0 var(--paper),1px 0 0 var(--paper),0 -1px 0 var(--paper),-1px 0 0 var(--paper);border-radius:50%;place-items:center;font:700 clamp(20px,4vw,42px)/1 DM Mono;display:grid}.game-rail{gap:10px;display:grid}.player-card{border:1px solid var(--line);background:#d1ccbe;justify-content:space-between;align-items:center;min-height:70px;padding:13px 16px;transition:background .15s,color .15s;display:flex}.player-card div{gap:3px;display:grid}.player-card span{color:var(--muted);font:11px DM Mono}.player-card strong{letter-spacing:-.08em;font:24px DM Mono}.player-card .identity-line{gap:10px;display:flex}.player-card.active-player{background:var(--ink);color:var(--paper)}.player-card.active-player span{color:#aaa69a}.player-card.active-player strong{color:var(--acid)}.game-panel{background:var(--paper);border:1px solid var(--line);flex-direction:column;gap:12px;min-height:430px;padding:12px;display:flex}.game-panel.review-panel{min-height:506px}.game-panel-tabs{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.game-panel-tabs.three{grid-template-columns:repeat(3,1fr)}.game-panel-tabs button{background:var(--card);width:auto;color:var(--ink);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;padding:8px 6px;font:11px DM Mono}.game-panel-tabs button.active{background:var(--ink);color:var(--paper)}.tab-count{color:var(--orange);margin-left:4px}.panel-pane{flex-direction:column;gap:10px;min-height:350px;display:flex}.play-pane{min-height:350px}.game-panel.solitaire-panel,.solitaire-panel .panel-pane,.solitaire-panel .play-pane{min-height:0}.cube-pane h3{margin:2px 0;font-size:18px;line-height:1.15}.cube-row{align-items:center;gap:14px;min-height:72px;display:flex}.cube-row p{margin:0;line-height:1.35}.cube{background:var(--ink);width:64px;height:64px;color:var(--acid);flex:0 0 64px;place-items:center;font-size:30px;font-weight:700;display:grid;transform:rotate(3deg)}.panel-action{width:100%}.game-panel .danger{background:var(--orange);color:#fff}.danger-text{color:#ad351d}.muted-note{color:var(--muted);font-size:14px;line-height:1.5}.notation{margin-top:0;padding-top:0}.movenav{gap:6px;margin-bottom:12px;display:flex}.movenav button{background:var(--card);width:auto;color:var(--ink);border:1px solid var(--line);flex:1;padding:8px 0;font-size:14px;line-height:1}.movenav button:disabled{opacity:.3}.moves{border:1px solid var(--line);max-height:176px;overflow:auto}.notation.compact .movenav{margin-bottom:8px}.notation.compact .movenav button{padding:7px 0;font-size:13px}.notation.compact .moves{max-height:152px}.review-panel .notation.compact .moves{max-height:272px}.move-head,.move-row{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.move-head{z-index:2;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line);background:#fffdf6;font:500 10px DM Mono;position:sticky;top:0}.move-head span{padding:7px}.move-head span+span{background:var(--card);border-left:1px solid var(--line)}.move-row{border-top:1px solid var(--line)}.moves .num{color:var(--muted);margin-right:6px;font:10px DM Mono}.moves .mv{background:var(--paper);width:auto;min-height:32px;color:var(--ink);text-align:left;border:0;padding:5px 8px;font:13px DM Mono}.moves .mv:first-child{background:#fffdf6}.moves .mv+.mv{border-left:1px solid var(--line)}.moves .mv:hover{background:var(--card)}.moves .mv.current{z-index:1;box-shadow:inset 0 0 0 3px var(--acid);background:#efffb4;position:relative}.moves .mv:disabled{opacity:1;cursor:default}.moves .empty-mv{color:var(--muted);padding:12px;font:12px DM Mono;display:block}.moves .mv{align-items:center;gap:6px;min-width:0;display:flex}.mv-san{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mv-rating{color:var(--muted);text-align:right;white-space:nowrap;min-width:38px;margin-left:auto;font:10px DM Mono}.mv-quality{text-align:right;letter-spacing:0;min-width:22px;font:800 10px DM Mono}.moves .mv.q-best .mv-quality{color:#2f8a3e}.moves .mv.q-good .mv-quality{color:#7fa324}.moves .mv.q-inaccuracy .mv-quality{color:#c9a227}.moves .mv.q-mistake .mv-quality{color:#dd7a2a}.moves .mv.q-blunder{background:#fbe9e4}.moves .mv.q-blunder .mv-quality{color:#cc2f2f}.analysis-summary{border:1px solid var(--line);background:#fffdf6;flex-direction:column;gap:8px;padding:12px;display:flex}.analysis-summary.pending,.analysis-summary .eyebrow{color:var(--muted)}.analysis-sides{grid-template-columns:1fr 1fr;gap:10px;display:grid}.analysis-side{flex-direction:column;gap:2px;display:flex}.analysis-side strong{font-size:14px}.analysis-side span{color:var(--muted);font:11px DM Mono}.analysis-side span[title]{cursor:help;-webkit-text-decoration:underline dotted var(--line);text-decoration:underline dotted var(--line);text-underline-offset:3px}.board-with-eval{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;display:grid}.board-with-eval.has-eval{grid-template-columns:auto minmax(0,1fr)}.board-wrap{aspect-ratio:1;width:min(100%,100dvh - 184px);min-width:0;margin-inline:auto;position:relative}.board-wrap .board{width:100%;height:100%}.eval-bar{border:1px solid var(--line);background:#24231d;align-self:stretch;width:42px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0002}.eval-bar .eval-white{background:#f5f1e4;transition:height .25s;position:absolute;bottom:0;left:0;right:0}.eval-bar.flip .eval-white{top:0;bottom:auto}.eval-bar .eval-num{color:#24231d;letter-spacing:-.03em;background:#fffdf6;border:1px solid #24231d;place-items:center;min-height:28px;font:700 10px DM Mono;display:grid;position:absolute;top:50%;left:4px;right:4px;transform:translateY(-50%);box-shadow:0 2px 8px #0003}.eval-bar.flip .eval-num{top:50%}.best-arrow{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0}.board-analysis-report{border:1px solid var(--line);background:#fffdf6;gap:10px;margin-top:12px;padding:12px;display:grid}.analysis-report-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.analysis-report-head .eyebrow{color:var(--muted)}.analysis-report-head span{color:var(--muted);font:11px DM Mono}.analysis-metrics{grid-template-columns:1fr 1fr;gap:8px;display:grid}.analysis-side-card{border:1px solid var(--line);background:var(--paper);grid-template-columns:1fr repeat(6,auto);align-items:baseline;gap:8px;min-width:0;padding:10px;display:grid}.analysis-side-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.analysis-side-card span{color:var(--muted);white-space:nowrap;font:11px DM Mono}.analysis-side-card span[title]{cursor:help;-webkit-text-decoration:underline dotted var(--line);text-decoration:underline dotted var(--line);text-underline-offset:3px}.analysis-side-card b{min-width:26px;display:inline-block}.analysis-side-card .q-best b{color:#2f8a3e}.analysis-side-card .q-good b{color:#7fa324}.analysis-side-card .q-inaccuracy b{color:#c9a227}.analysis-side-card .q-mistake b{color:#dd7a2a}.analysis-side-card .q-blunder b{color:#cc2f2f}.eval-graph{height:58px;position:relative}.eval-graph svg{border:1px solid var(--line);background:#fffdf6;width:100%;height:58px;display:block}.eval-graph .eg-bg{fill:#fffdf6}.eval-graph .eg-area{fill:#3f7d3422}.eval-graph .eg-mid{stroke:var(--line);stroke-width:.4px;stroke-dasharray:1 1.5}.eval-graph .eg-line{stroke:#3f7d34;stroke-width:1px;vector-effect:non-scaling-stroke}.eval-graph .eg-cursor{stroke:var(--orange);stroke-width:.6px;vector-effect:non-scaling-stroke}.eval-graph .eg-hit{position:absolute;inset:0}.eval-graph .eg-hit button{cursor:pointer;background:0 0;border:none;width:10px;height:100%;padding:0;position:absolute;top:0;transform:translate(-50%)}.eval-graph .eg-hit button.on{background:#ff684622}.engine-panel{border:1px solid var(--line);background:#fffdf6;flex-direction:column;gap:10px;min-height:268px;padding:12px;display:flex}.engine-head{justify-content:space-between;align-items:baseline;display:flex}.engine-head .eyebrow{color:var(--muted)}.engine-depth{color:var(--muted);font:10px DM Mono}.engine-body{grid-template-columns:70px minmax(0,1fr);align-items:start;gap:10px;min-height:144px;display:grid}.engine-score{color:#3f7d34;min-width:0;font:600 20px/1.1 DM Mono}.engine-score.neg{color:var(--orange)}.engine-lines{grid-template-rows:repeat(3,minmax(42px,auto));gap:6px;min-width:0;display:grid}.pv-line{grid-template-columns:46px minmax(0,1fr);align-items:start;gap:6px;min-width:0;min-height:42px;display:grid}.pv-score{color:var(--muted);flex:none;font:600 11px DM Mono}.pv-moves{flex-wrap:wrap;gap:2px 4px;min-width:0;display:flex}.pv-move{color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 1px;font:12px DM Mono}.pv-move:hover{background:#efffb4}.explore-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding-top:8px;display:grid}.explore-line{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font:12px DM Mono;overflow:hidden}.engine-actions .panel-action{margin:0}.analyze-run{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.analyze-run .quiet{border:1px solid var(--line);background:var(--paper);height:26px;color:var(--ink);padding:0 10px;font:11px DM Mono}.analyze-run .quiet:disabled{opacity:.55;cursor:default}.analyze-progress{border:1px solid var(--line);background:var(--card);place-items:center;height:26px;display:grid;position:relative;overflow:hidden}.analyze-progress .bar{background:#cfeac0;transition:width .2s;position:absolute;top:0;bottom:0;left:0}.analyze-progress span{color:var(--ink);font:11px DM Mono;position:relative}.history{flex-direction:column;align-items:flex-start;display:flex}.history span{margin-top:5px}.tier-actions{flex-direction:column;gap:8px;min-width:148px;display:flex}.tier-actions button{width:100%}.tier-card .ghost{color:var(--paper);border:1px solid var(--paper);background:0 0}nav button{position:relative}.badge{background:var(--orange);color:#fff;vertical-align:middle;border-radius:9px;place-items:center;min-width:18px;height:18px;margin-left:7px;padding:0 5px;font:11px DM Mono;display:inline-grid}.dot{background:var(--orange);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block}.theme-toggle{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:4px;padding:6px 10px;font-size:14px;line-height:1}.linkname{cursor:pointer}.linkname:hover{text-decoration:underline}.user-link{width:auto;color:inherit;text-align:left;text-transform:none;background:0 0;padding:0;font-weight:700;line-height:1.15}.user-link:hover{text-decoration:underline}.identity-line{align-items:center;gap:10px;min-width:0;display:flex}.identity-line>div:last-child{gap:3px;min-width:0;display:grid}.identity-line span{color:var(--muted);font:11px/1.25 DM Mono}.country-mark{margin-left:6px;font-size:12px}.table-row .user-link{justify-self:start}.linklike{color:var(--orange);background:0 0;border:0;padding:8px 0;font-weight:600;text-decoration:underline}.profile-head{border-bottom:1px solid var(--line);align-items:center;gap:20px;margin-bottom:26px;padding-bottom:28px;display:flex}.profile-head h1{margin:0;font-size:clamp(34px,5vw,48px)}.avatar.big{width:72px;height:72px;font-size:24px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:44px;display:grid}.stat{border:1px solid var(--line);text-align:center;padding:22px}.stat strong{font-size:38px;line-height:1;display:block}.stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:8px;font:11px DM Mono;display:block}.tier-card.casual{border-color:var(--line)}.shop-view h1{margin:0;font-size:52px}.shop-banner{border:1px solid var(--line);background:var(--ink);color:var(--paper);justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 24px;padding:28px;display:flex}.shop-banner h2{letter-spacing:0;max-width:620px;margin:10px 0 0;font-size:44px;line-height:1}.shop-banner p:last-child{color:#d7d2c4;max-width:360px;margin:0;line-height:1.45}.shop-note{color:var(--muted);max-width:620px;margin:-30px 0 42px;font-size:13px;line-height:1.45}.perk-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.perk-list li{border:1px solid var(--line);background:var(--card);grid-template-columns:auto 1fr;align-items:start;gap:4px 12px;padding:14px 16px;display:grid}.perk-list li:before{content:"✓";color:var(--orange);grid-row:1/3;font:700 16px/1.2 DM Mono}.perk-list li b{grid-column:2;font-size:15px}.perk-list li span{color:var(--muted);grid-column:2;font:12px/1.45 DM Mono}.perk-list li.perk-more{background:0 0;border-style:dashed}.perk-list li.perk-more:before{content:"+";color:var(--muted)}.perk-note{color:var(--muted);max-width:620px;margin:0 0 42px;font-size:13px;line-height:1.45}.ladder-tabs{gap:6px;margin:0 0 12px;display:flex}.ladder-tabs button{background:var(--card);width:auto;color:var(--ink);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;padding:8px 18px;font:12px DM Mono}.ladder-tabs button.active{background:var(--ink);color:var(--paper)}.ladder-note{color:var(--muted);max-width:620px;margin:0 0 18px;font-size:13px;line-height:1.45}.daily-claim{gap:10px;min-width:280px;max-width:360px;display:grid}.daily-claim p{color:#d7d2c4;margin:0;line-height:1.45}.daily-claim button{width:100%}.daily-claim span{color:var(--acid);font:12px DM Mono}.shop-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 42px;display:grid}.shop-item{border:1px solid var(--line);background:var(--card);flex-direction:column;align-items:flex-start;gap:8px;min-height:190px;padding:22px;display:flex}.shop-item p{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font:11px DM Mono}.shop-item strong{color:var(--orange);font-size:46px;line-height:1}.shop-item span,.cosmetic-item span{color:var(--muted);font:12px DM Mono}.shop-item button{width:100%;margin-top:auto}.cosmetic-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.cosmetic-item{border:1px solid var(--line);grid-template-columns:52px 1fr auto;align-items:center;gap:14px;min-height:96px;padding:16px;display:grid}.cosmetic-swatch{border:1px solid var(--line);background:linear-gradient(135deg,#e9e4d4 0 49%,#687151 50% 100%);width:52px;height:52px}.cosmetic-item b{margin-bottom:4px;display:block}.cosmetic-item button{width:auto}.cosmetic-item .price-tag{color:var(--orange);text-transform:uppercase;letter-spacing:.06em;margin-top:6px;font:11px DM Mono;display:block}.price-line{margin:6px 0 0}.price-line strong{color:var(--orange);font-size:22px}.leaderboard-row{grid-template-columns:52px 2fr 1fr}.leaderboard-row .user-link{cursor:pointer}.leaderboard-row .ladder-stat{text-align:center;color:var(--ink);justify-self:center;font:600 16px DM Mono}.leaderboard-row.premier-member{background:linear-gradient(90deg,#e7c75e33,#0000 62%);box-shadow:inset 4px 0 #c79a2c}.leaderboard-row .member-star{color:#c79a2c;vertical-align:2px;margin-left:6px;font-size:13px}.challenge-toast{flex-wrap:wrap;align-items:center;gap:10px;max-width:min(92vw,720px);display:flex}.friend-add,.chat-form{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.profile-edit{border:1px solid var(--line);background:var(--card);grid-template-columns:1fr 240px;align-items:start;gap:14px;margin:0 0 28px;padding:16px;display:grid}.profile-field{gap:7px;min-width:0;display:grid}.profile-field span:first-child{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font:11px DM Mono}.profile-bio-field{grid-row:span 2}.profile-edit-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:14px;display:flex}.profile-edit-actions button{width:auto;min-width:110px}.friend-add input,.profile-edit input,.profile-edit textarea,.chat-form input{border:1px solid var(--line);background:var(--paper);min-width:180px;color:var(--ink);flex:1;padding:10px 12px}.profile-edit textarea{resize:vertical;width:100%;min-height:132px}.friend-row{border:1px solid var(--line);min-height:74px;color:var(--ink);background:0 0;grid-template-columns:minmax(220px,1fr) minmax(0,auto);align-items:center;gap:18px;padding:14px 18px;display:grid}.friend-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.request-list{gap:10px;margin-bottom:24px;display:grid}.request-row{border:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.request-row>div:first-child{gap:4px;min-width:0;display:grid}.request-row span{color:var(--muted);font:12px DM Mono}.match-requests{margin:0 0 28px}.match-request-row{margin-bottom:0}.empty.small{text-align:left;padding:18px}.game-chat{border-top:0;margin-top:0;padding-top:0}.game-chat .chat-log{flex:1;min-height:0;max-height:none}.chat-log{align-content:start;gap:3px;margin-bottom:0;font-size:13px;display:grid;overflow:auto}.game-chat .chat-form{flex:none;margin-top:auto;margin-bottom:0}.game-chat .chat-form input{height:32px;padding:0 9px;font-size:13px}.game-chat .chat-form button{height:32px;padding:0 10px;font-size:12px}.chat-message-row{align-items:center;gap:6px;min-width:0;line-height:1.25;display:flex}.chat-message-row .avatar.small{flex:0 0 20px;width:20px;height:20px;font-size:9px}.chat-message-author{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;flex:none;font:11px DM Mono}.chat-message-row time{color:var(--muted);flex:none;font:10px DM Mono}.chat-message-row span:last-child{word-break:break-word;min-width:0;line-height:1.25}.avatar img{object-fit:cover;width:100%;height:100%}.profile-head{flex-wrap:wrap}.profile-actions{flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto;display:flex}.country-select,.avatar-upload{border:1px solid var(--line);background:var(--paper);min-width:180px;color:var(--ink);flex:1;padding:10px 12px}.avatar-upload{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font:12px DM Mono;display:inline-block}.chat-dock{z-index:20;position:fixed;bottom:0;right:0}.chat-dock-toggle{border:1px solid var(--line);background:var(--card);width:136px;height:38px;color:var(--ink);text-transform:uppercase;letter-spacing:.06em;border-bottom:0;border-right:0;justify-content:center;align-items:center;gap:8px;padding:0 12px;font:12px DM Mono;display:flex}.chat-dock-panel{border:1px solid var(--line);background:var(--paper);border-bottom:0;border-right:0;flex-direction:column;width:min(620px,100vw);height:min(460px,70vh);display:flex;box-shadow:-4px -4px 24px #0000001a}.chat-dock-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;font-size:15px;display:flex}.chat-dock-body{flex:1;grid-template-columns:180px 1fr;min-height:0;display:grid}.chat-dock-sidebar{border-right:1px solid var(--line);background:var(--card);flex-direction:column;min-height:0;display:flex}.chat-dock-search{border:0;border-bottom:1px solid var(--line);background:var(--paper);width:100%;height:38px;color:var(--ink);outline:none;flex:none;padding:0 12px;font-size:13px}.chat-dock-friends{flex:1;min-height:0;overflow:auto}.chat-dock-friend{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.chat-dock-friend.active{background:var(--paper)}.chat-dock-friend-name{align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.chat-dock-friend-name>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-dock-main{flex-direction:column;min-width:0;min-height:0;display:flex}.chat-dock-thread-head{border-bottom:1px solid var(--line);background:var(--card);flex-shrink:0;padding:10px 14px;font-size:15px;font-weight:600}.chat-dock-log{text-align:left;flex:1;align-content:start;gap:3px;min-height:0;padding:10px 12px;font-size:13px;display:grid;overflow:auto}.chat-dock-msg{text-align:left;display:block}.chat-dock-msg b,.chat-dock-msg .user-link{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-family:DM Mono;font-size:11px}.chat-dock-msg span{word-break:break-word;line-height:1.25}.chat-dock-compose{border-top:1px solid var(--line);flex-shrink:0;gap:8px;margin:0;padding:10px;display:flex}.chat-dock-compose input{border:1px solid var(--line);background:var(--paper);min-width:0;height:38px;color:var(--ink);outline:none;flex:1;padding:0 12px;font-size:14px}.chat-dock-compose button{background:var(--acid);height:38px;color:var(--ink);flex:none;padding:0 14px;font-size:13px;font-weight:700}.chat-dock-empty-side,.chat-dock-empty-main{color:var(--muted);padding:14px;font-size:13px}.chat-dock-empty-main{flex:1;place-items:center;display:grid}.chat-dock-toggle .badge,.chat-dock-friend .badge{min-width:16px;height:16px;margin-left:0;font-size:10px}[data-theme=dark]{--ink:#ece9df;--paper:#14140e;--card:#23231b;--line:#34342a;--muted:#8f8b80}[data-theme=dark] .account span b{color:var(--acid)}[data-theme=dark] .account .elo b{color:var(--orange)}[data-theme=dark] .player-card{color:var(--ink);background:#23231b}[data-theme=dark] .player-card span{color:var(--muted)}[data-theme=dark] .game-panel{background:#1b1b14}[data-theme=dark] .pot b{color:var(--acid)}[data-theme=dark] .cube,[data-theme=dark] .quickbar .eyebrow,[data-theme=dark] .daily-claim span{color:#4a5800}[data-theme=dark] .shop-banner p:last-child,[data-theme=dark] .shop-banner .muted,[data-theme=dark] .quickbar-copy span,[data-theme=dark] .daily-claim p{color:#43403a}[data-theme=dark] .move-head,[data-theme=dark] .moves .mv,[data-theme=dark] .analysis-summary,[data-theme=dark] .engine-panel,[data-theme=dark] .board-analysis-report,[data-theme=dark] .eval-graph svg{color:var(--ink);background:#1f1f17}[data-theme=dark] .move-head span:first-child,[data-theme=dark] .moves .mv:first-child{background:#2b2b22}[data-theme=dark] .move-head span+span{background:#23231b}[data-theme=dark] .moves .mv.current{color:#fff8d7;background:#3a4a00}[data-theme=dark] .moves .mv.q-blunder{color:#ffe8df;background:#3a1f18}[data-theme=dark] .moves .mv:hover,[data-theme=dark] .pv-move:hover{background:#303026}[data-theme=dark] .analysis-side-card,[data-theme=dark] .analyze-progress{color:var(--ink);background:#23231b}[data-theme=dark] .eval-graph .eg-bg{fill:#1f1f17}[data-theme=dark] .eg-mid{stroke:#555044}[data-theme=dark] .analysis-summary.pending,[data-theme=dark] .analysis-summary .eyebrow,[data-theme=dark] .engine-head .eyebrow,[data-theme=dark] .engine-depth,[data-theme=dark] .analysis-report-head span,[data-theme=dark] .analysis-side span,[data-theme=dark] .analysis-side-card span,[data-theme=dark] .pv-score{color:#b9b3a5}[data-theme=dark] .tier-card p,[data-theme=dark] .tier-card span,[data-theme=dark] .player-card.active-player span{color:#5f5b50}@media (max-width:1120px){.game-layout{grid-template-columns:1fr}.board-column{max-width:880px;margin:0 auto}.game-rail{width:100%;max-width:880px;margin:0 auto}}@media (max-width:900px){.account span,nav{display:none}.hero,.shop-banner{display:block}.hero-copy{width:auto}.tier-grid,.shop-grid,.cosmetic-grid,.perk-list{grid-template-columns:1fr}.shop-view h1,.shop-banner h2{font-size:36px}.table-row{grid-template-columns:44px 1fr auto}.table-row>div:nth-child(3),.table-row>div:nth-child(4){display:none}.friend-row{grid-template-columns:1fr}.friend-actions{justify-content:flex-start}.waiting-tools{flex-direction:column;align-items:stretch}.segmented button{flex:1}.profile-edit{grid-template-columns:1fr}.profile-bio-field{grid-row:auto}.cosmetic-item{grid-template-columns:52px 1fr}.cosmetic-item button{grid-column:1/-1;width:100%}}.settings-view{gap:18px;display:grid}.settings-card{border:1px solid var(--line);background:var(--paper);gap:14px;padding:18px 20px;display:grid}.settings-card-head h2{margin:0;font-size:18px}.settings-card-head span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font:11px DM Mono}.cosmetic-row{flex-wrap:wrap;gap:12px;display:flex}.cosmetic-tile{background:var(--card);border:1px solid var(--line);width:auto;color:var(--ink);cursor:pointer;justify-items:center;gap:6px;min-width:96px;padding:12px 14px;display:grid;position:relative}.cosmetic-tile.equipped{box-shadow:inset 0 0 0 2px var(--ink)}.cosmetic-tile span{font-size:12px}.cosmetic-tile em{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);background:var(--acid);padding:2px 5px;font:9px DM Mono}.cosmetic-tile .cosmetic-price{color:var(--orange);background:0 0;padding:0}.name-swatch{align-items:center;height:40px;font-size:16px;font-weight:700;display:flex}.cosmetic-tile .piece-preview{gap:2px;height:40px;display:flex}.cosmetic-tile .piece-preview .piece{width:32px;height:40px}.cosmetic-tile .piece-preview .piece.glyph text{fill:var(--ink);stroke:none}.board-swatch{border:1px solid var(--line);grid-template:1fr 1fr/1fr 1fr;width:44px;height:44px;display:grid;overflow:hidden}.board-swatch span{display:block}.toggle-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-top:12px;display:flex}.toggle-row:first-of-type{border-top:0;padding-top:0}.toggle-row>span{gap:2px;display:grid}.toggle-row input{width:18px;height:18px;accent-color:var(--ink);cursor:pointer}.settings-form{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.settings-form:first-of-type{border-top:0;padding-top:0}.settings-form .profile-field{gap:4px;display:grid}.settings-form .profile-field span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font:11px DM Mono}.settings-form input{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 12px}.settings-form-actions{align-items:center;gap:12px;display:flex}.settings-form-actions button{width:auto}.settings-links{gap:18px;display:flex}.settings-links a{color:var(--ink);font-weight:600}[data-theme=dark] .settings-card{background:#1b1b14}[data-theme=dark] .cosmetic-tile{background:#23231b}[data-theme=dark] .cosmetic-tile.equipped{box-shadow:inset 0 0 0 2px var(--acid)}[data-theme=dark] .settings-form input{background:#23231b}.quick-actions{gap:8px;display:flex}.quick-actions .panel-action{flex:1;margin:0}.rematch-panel{gap:8px;margin-bottom:6px;display:grid}.board .premove{box-shadow:inset 0 0 0 5px var(--orange)}.board .premove-target:after{content:"";z-index:1;aspect-ratio:1;background:#ff684688;border-radius:50%;width:30%;position:absolute;box-shadow:0 0 0 3px #ff684633}.premove-banner{background:var(--orange);color:#1c1208;text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;font:11px DM Mono;display:flex}.premove-banner button{width:auto;color:var(--orange);background:#1c1208;padding:4px 8px}.notif-bell{position:relative}.notif-bell .theme-toggle .badge{margin-left:2px}.notif-panel{background:var(--paper);border:1px solid var(--line);z-index:40;width:320px;max-width:86vw;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 50px #39372e33}.notif-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notif-head strong{font-size:14px}.notif-list{max-height:340px;overflow:auto}.notif-row{border-bottom:1px solid var(--line);gap:3px;padding:10px 14px;display:grid}.notif-row span{font-size:13px;line-height:1.35}.notif-row time{color:var(--muted);text-transform:uppercase;font:10px DM Mono}.notif-list .empty.small{padding:18px 14px}[data-theme=dark] .notif-panel{background:#1b1b14}.legal-page{max-width:760px;color:var(--ink);margin:0 auto;padding:32px 24px 80px}.legal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:16px;display:flex}.legal-home{letter-spacing:-.06em;color:var(--ink);font-size:20px;font-weight:700;text-decoration:none}.legal-home span{color:var(--orange)}.legal-head>span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font:10px DM Mono}.legal-body h1{margin:0 0 12px;font-size:34px}.legal-body h2{margin:26px 0 8px;font-size:18px}.legal-body p,.legal-body li{color:var(--ink);line-height:1.6}.legal-lead{color:var(--muted);font-size:16px}.legal-body ul{gap:6px;padding-left:20px;display:grid}.legal-foot{border-top:1px solid var(--line);gap:20px;margin-top:36px;padding-top:18px;display:flex}.legal-foot a{color:var(--ink);font-weight:600;text-decoration:none}.landing-legal{justify-content:center;gap:16px;margin-top:8px;display:flex}.landing-legal a{color:inherit;opacity:.7;font-size:13px}.game-topline .share-link{width:auto}.invite-link{gap:8px;display:flex}.invite-link input{border:1px solid var(--line);background:var(--paper);color:var(--ink);flex:1;padding:10px 12px;font:12px DM Mono}.invite-link button{width:auto}.referral-note{color:var(--orange)!important}[data-theme=dark] .invite-link input{background:#23231b}.practice-setup{flex-direction:column;gap:24px;max-width:560px;margin:0 auto;padding:24px 0;display:flex}.practice-setup h2{letter-spacing:-.04em;margin:0;font-size:28px}.practice-field{flex-direction:column;gap:10px;display:flex}.practice-choices{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.practice-choice{text-align:left;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.practice-choice b{font-size:15px}.practice-choice span{color:var(--muted);font-size:12px}.practice-choice.active{background:var(--ink);color:var(--paper);box-shadow:inset 0 0 0 2px var(--acid)}.practice-choice.active span{color:#aaa69a}.practice-status{border:1px solid var(--line);background:var(--card);text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:11px 16px;font:12px DM Mono}.practice-moves{flex-direction:column;gap:3px;max-height:320px;margin:0;padding:8px 4px;font:13px DM Mono;list-style:none;display:flex;overflow-y:auto}.practice-moves .ply-no{color:var(--muted);margin-right:6px}.arcade-public{max-width:1308px;min-height:100dvh;color:var(--ink);flex-direction:column;margin:0 auto;padding:18px 20px 40px;display:flex}.arcade-public-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:14px;display:flex}.arcade-public-nav{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.arcade-public-nav a{color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}.arcade-public-nav .arcade-cta{color:var(--paper);background:var(--ink);box-shadow:inset 0 0 0 2px var(--acid);padding:8px 14px}.arcade-public>.game-view,.arcade-public>.practice-setup{flex:1}.arcade-public-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:16px;font-size:13px;display:flex}.arcade-public-foot a{color:var(--orange);font-weight:600;text-decoration:none}.arcade-hub .practice-choices{grid-template-columns:repeat(2,1fr)}.streak-chip{color:var(--orange);margin-left:10px;font-weight:700;display:inline-block}.share-action{background:var(--orange);color:#1b1a14;border:none}@media (max-width:640px){.arcade-public{padding:14px 12px 32px}.arcade-public-nav{gap:12px;font-size:13px}.arcade-hub .practice-choices,.practice-choices{grid-template-columns:1fr}.game-view{padding:12px 0 32px}.game-topline .pot{font-size:12px}}
