:root{--ink:#0f1411;--ink-2:#171f1a;--line:#2a352e;--text:#e7e4da;--text-dim:#9aa398;--brass:#c9a227;--brass-soft:#c9a2272e;--sq-light:#e8dcc5;--sq-dark:#4a5d43;--danger:#c96a4a;--ink-3:#1d2721;--win:#7fb069;--ember:#e2542c;--ember-soft:#e2542c26;--font-display:"Archivo", "Segoe UI", system-ui, sans-serif;--font-body:"IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-data:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-3xs:.65rem;--text-2xs:.7rem;--text-xs:.75rem;--text-sm:.8rem;--text-base:.85rem;--text-md:.9rem;--text-lg:1rem;--text-xl:1.15rem;--text-2xl:1.4rem;--text-3xl:2rem;--text-hero:clamp(2rem, 6vw, 3.2rem);--radius:6px;--board-fit:min(88vw, 640px, max(260px, calc(100vh - 16.5rem)));--board-size:min(var(--board-fit), var(--board-pref,9999px))}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--ink);color:var(--text);font-family:var(--font-body);min-height:100vh;line-height:1.5}.shell{max-width:1240px;margin:0 auto;padding:0 1.5rem 4rem}.topbar{border-bottom:1px solid var(--line);z-index:20;background:var(--ink);justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.25rem;padding:.9rem 0;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:.22em;font-weight:700;font-size:var(--text-md);text-decoration:none}.brand span{color:var(--brass)}.topbar-right{align-items:center;gap:.8rem;display:flex}.topbar-user{color:var(--text-dim);font-size:var(--text-base)}.btn{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px solid #0000;padding:.6rem 1.2rem;transition:background .15s,border-color .15s}.btn:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brass);color:#1a1408;font-weight:600}.btn-primary:hover:not(:disabled){background:#dab637}.btn-ghost{color:var(--text-dim);border-color:var(--line);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--text-dim);color:var(--text)}.btn-block{width:100%;margin-top:.6rem}.auth-page{place-items:center;min-height:70vh;display:grid}.auth-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);width:min(92vw,380px);padding:2rem}.auth-title{font-size:var(--text-2xl);margin-bottom:1.4rem;font-weight:600}.field{margin-bottom:1rem;display:block}.field span{font-size:var(--text-sm);color:var(--text-dim);margin-bottom:.3rem;display:block}.field input{width:100%;font:inherit;background:var(--ink);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .7rem}.field input:focus{border-color:var(--brass);outline:none}.form-error{color:var(--danger);font-size:var(--text-base);margin-bottom:.8rem}.hero{padding:1.5rem 0 2.5rem}.hero-eyebrow{color:var(--brass);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.6rem}.hero-title{font-size:var(--text-hero);font-weight:700;line-height:1.1}.play-options{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.play-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:.7rem;padding:1.4rem;display:flex}.play-card h2{font-size:var(--text-lg)}.play-card p{color:var(--text-dim);font-size:var(--text-md);flex:1}.play-card-locked{opacity:.6}.searching{color:var(--brass);font-size:var(--text-md)}.stats-strip{border-top:1px solid var(--line);flex-wrap:wrap;gap:2rem;margin-top:2.5rem;padding-top:1.5rem;display:flex}.stats-strip div{flex-direction:column;display:flex}.stats-strip strong{font-size:var(--text-2xl);color:var(--brass)}.stats-strip span{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.ratings-grid{grid-template-columns:repeat(4,1fr);gap:.6rem;width:100%;display:grid}@media (width<=460px){.ratings-grid{grid-template-columns:repeat(2,1fr)}}.rating-cell{text-align:center;background:var(--ink);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:center;gap:.15rem;padding:.6rem .4rem;display:flex}.rating-cat{font-size:var(--text-3xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.rating-value{font-size:var(--text-2xl);color:var(--brass);font-variant-numeric:tabular-nums}.rating-games{font-size:var(--text-2xs);color:var(--text-dim)}.dashboard-stats{border-top:1px solid var(--line);flex-direction:column;gap:1.2rem;margin-top:2.5rem;padding-top:1.5rem;display:flex}.dashboard-stats .stats-strip{border-top:none;margin-top:0;padding-top:0}.rated-badge,.casual-badge{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;border-radius:4px;padding:.1rem .4rem;font-weight:700;display:inline-block}.rated-badge{color:var(--ink);background:var(--brass)}.casual-badge{color:var(--text-dim);background:var(--line)}.stake-badge{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;color:var(--brass);border:1px solid var(--brass);font-variant-numeric:tabular-nums;border-radius:4px;padding:.1rem .4rem;font-weight:700;display:inline-block}.mode-toggle{border:1px solid var(--line);border-radius:var(--radius);width:100%;display:flex;overflow:hidden}.mode-toggle-btn{min-width:0;font:inherit;font-weight:600;font-size:var(--text-md);background:var(--ink);color:var(--text-dim);cursor:pointer;white-space:nowrap;text-align:center;border:none;flex:1;padding:.55rem .6rem}.mode-toggle-btn+.mode-toggle-btn{border-left:1px solid var(--line)}.mode-toggle-active{background:var(--brass);color:var(--ink)}@media (width<=360px){.mode-toggle-btn{font-size:var(--text-sm);padding:.5rem .35rem}}.rating-change{font-size:var(--text-md);color:var(--text-dim);justify-content:center;align-items:baseline;gap:.4rem;display:flex}.rating-change strong{color:var(--text);font-size:var(--text-xl);font-variant-numeric:tabular-nums}.rating-delta{font-variant-numeric:tabular-nums;font-weight:700}.rating-up{color:var(--brass)}.rating-down{color:var(--danger)}.game-mode-line{justify-content:center;align-items:center;gap:.4rem;display:flex}.board{width:var(--board-size);height:var(--board-size);border:3px solid var(--line);-webkit-touch-callout:none;border-radius:4px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);margin:0 auto;display:grid;position:relative;overflow:hidden}.board-marks{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.square{cursor:pointer;font:inherit;aspect-ratio:1;border:none;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.sq-light{background:var(--sq-light)}.sq-dark{background:var(--sq-dark)}.sq-selected{box-shadow:inset 0 0 0 3px var(--brass)}.sq-last{box-shadow:inset 0 0 0 100vmax var(--brass-soft)}.sq-target:after{content:"";background:#0f141159;border-radius:50%;width:26%;height:26%}.sq-capture{box-shadow:inset 0 0 0 3px var(--danger)}.piece{pointer-events:none;place-items:center;width:100%;height:100%;display:grid}.piece img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:86%;height:86%}.coord{opacity:.65;pointer-events:none;font-size:.6rem;font-weight:600;position:absolute}.sq-light .coord{color:var(--sq-dark)}.sq-dark .coord{color:var(--sq-light)}.coord-rank{top:2px;left:3px}.coord-file{bottom:1px;right:3px}.game-page{flex-direction:column;align-items:center;gap:.9rem;display:flex}.page-title{font-size:var(--text-2xl)}.clock-row{width:var(--board-size);justify-content:space-between;align-items:center;display:flex}.player-tag{color:var(--text-dim);font-size:var(--text-md)}.clock{font-variant-numeric:tabular-nums;font-size:var(--text-xl);border:1px solid var(--line);border-radius:var(--radius);color:var(--text-dim);padding:.2rem .7rem;font-weight:600}.clock-live{color:var(--brass);border-color:var(--brass)}.banner{color:var(--brass);font-size:var(--text-md);text-align:center;border:1px solid var(--brass-soft);border-radius:var(--radius);padding:.4rem 1rem}.banner-quiet{border:none}.game-end{flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;display:flex}.game-result{font-size:var(--text-xl);font-weight:600}.game-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.draw-offer{border:1px solid var(--brass-soft);border-radius:var(--radius);color:var(--text);font-size:var(--text-md);flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;padding:.5rem .8rem;display:flex}.game-layout{grid-template-columns:1fr;grid-template-areas:"board""movelist";justify-items:center;gap:1.4rem;width:100%;display:grid}.board-column{flex-direction:column;grid-area:board;align-items:center;gap:.9rem;display:flex}@media (width>=900px){.game-layout{grid-template-columns:auto 280px;grid-template-areas:"board movelist";justify-content:center;place-items:start stretch}}.move-list{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;grid-area:movelist;gap:.6rem;width:min(92vw,280px);padding:.8rem;display:flex}.move-list-nav{gap:.4rem;display:flex}.move-nav-btn{font-size:var(--text-base);flex:1;padding:.4rem}.move-list-scroll{height:min(60vh, calc(var(--board-size) - 3rem));overflow-y:auto}.move-list-empty{padding:.4rem 0}.move-rows{flex-direction:column;list-style:none;display:flex}.move-row{grid-template-columns:2.2rem 1fr 1fr;align-items:center;gap:.3rem;padding:.2rem 0;display:grid}.move-number{color:var(--text-dim);font-size:var(--text-base)}.move-cell{font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.15rem .4rem}.move-cell:hover{background:var(--brass-soft)}.move-cell-active{background:var(--brass-soft);color:var(--brass);font-weight:600}.move-cell-empty{padding:.15rem .4rem}.move-annot{margin-left:1px;font-size:.8em;font-weight:700}.move-annot-brilliant{color:#4fae7a}.move-annot-good{color:#7fb24f}.move-annot-interesting{color:var(--brass)}.move-annot-dubious{color:#d3a53e}.move-annot-mistake{color:#cd6f3c}.move-annot-blunder{color:#c94a3a}.move-annot-manual{text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.annot-backdrop{z-index:50;position:fixed;inset:0}.annot-picker{z-index:51;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);gap:.2rem;padding:.3rem;display:flex;position:fixed;box-shadow:0 6px 20px #00000080}.annot-opt{font:inherit;font-weight:700;font-size:var(--text-md);background:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:4px;min-width:2rem;padding:.25rem .4rem}.annot-opt:hover{border-color:var(--brass)}.annot-clear{color:var(--text-dim);font-weight:400}.setup-subtitle{font-size:var(--text-lg);margin-top:1.4rem;margin-bottom:.8rem;font-weight:600}.strength-picker{flex-direction:column;gap:.6rem;width:min(92vw,320px);margin-bottom:.6rem;display:flex}.strength-value{text-align:center;color:var(--text-dim);font-size:var(--text-md)}.strength-value strong{color:var(--brass);font-size:var(--text-xl)}.strength-slider{appearance:none;background:var(--line);cursor:pointer;border-radius:999px;outline:none;width:100%;height:4px}.strength-slider::-webkit-slider-thumb{appearance:none;background:var(--brass);border:2px solid var(--ink);width:18px;height:18px;box-shadow:0 0 0 1px var(--brass-soft);cursor:pointer;border-radius:50%}.strength-slider::-moz-range-thumb{background:var(--brass);border:2px solid var(--ink);width:18px;height:18px;box-shadow:0 0 0 1px var(--brass-soft);cursor:pointer;border-radius:50%}.strength-slider::-moz-range-track{background:var(--line);border-radius:999px;height:4px}.strength-slider:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.strength-anchors{width:100%;height:1.2rem;position:relative}.strength-anchor{white-space:nowrap;font-size:var(--text-3xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;position:absolute;transform:translate(-50%)}.thinking-indicator{color:var(--brass);font-size:var(--text-xs);opacity:.85;margin-left:.5rem;font-style:italic;animation:1.2s ease-in-out infinite thinking-pulse}@keyframes thinking-pulse{0%,to{opacity:.4}50%{opacity:.95}}.color-picker{gap:.6rem;width:min(92vw,320px);display:flex}.color-picker .btn{flex:1}.time-picker{flex-direction:column;gap:.8rem;width:min(92vw,320px);margin-top:.2rem;display:flex}.time-picker-group{flex-direction:column;gap:.4rem;display:flex}.time-picker-category{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.time-picker-options{flex-wrap:wrap;gap:.5rem;display:flex}.time-picker-options .btn{flex:1;min-width:70px}.home-time-picker{width:100%}.wizard{flex-direction:column;align-items:center;gap:1.2rem;width:min(92vw,340px);display:flex}.home-wizard{width:100%}.wizard-progress{flex-direction:column;align-items:center;gap:.4rem;width:100%;display:flex}.wizard-step-label{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.wizard-dots{gap:.5rem;display:flex}.wizard-dot{background:var(--line);border-radius:50%;width:8px;height:8px}.wizard-dot-active{background:var(--brass)}.wizard-dot-done{background:var(--brass-soft)}.wizard-panel{flex-direction:column;align-items:center;gap:.8rem;width:100%;display:flex}.wizard-panel .setup-subtitle{text-align:center;margin-top:0}.wizard-summary{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:center;gap:.2rem;width:100%;padding:.8rem;display:flex}.wizard-summary-label{font-size:var(--text-2xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.wizard-summary-text{font-size:var(--text-lg);color:var(--brass);text-align:center;font-weight:600}.wizard-back{align-self:center}.hint{color:var(--text-dim);font-size:var(--text-sm)}.settings-page{flex-direction:column;gap:1.4rem;max-width:480px;margin:0 auto;padding-top:1rem;display:flex}.settings-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.9rem;padding:1.4rem;display:flex}.settings-heading{font-size:var(--text-lg);color:var(--brass);font-weight:600}.profile-row{font-size:var(--text-md);color:var(--text-dim);justify-content:space-between;align-items:center;display:flex}.profile-row strong{color:var(--text);font-weight:600}.form-success{color:var(--brass);font-size:var(--text-base)}.pref-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.pref-row>span:first-child{font-size:var(--text-md);color:var(--text-dim)}.theme-swatches{gap:.5rem;display:flex}.theme-swatch{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:4px;width:36px;height:24px;padding:0;display:flex;overflow:hidden}.theme-swatch-square{flex:1}.theme-swatch-active{border-color:var(--brass)}.toggle{border:1px solid var(--line);background:var(--ink);cursor:pointer;border-radius:12px;width:42px;height:24px;padding:0;position:relative}.toggle-on{border-color:var(--brass);background:var(--brass-soft)}.toggle-knob{background:var(--text-dim);border-radius:50%;width:18px;height:18px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.toggle-on .toggle-knob{background:var(--brass);transform:translate(18px)}.btn-icon{width:2.4rem;height:2.4rem;font-size:var(--text-xl);justify-content:center;align-items:center;padding:0;line-height:1;text-decoration:none;display:inline-flex}.settings-back{align-self:flex-start}.saved-flash{font-size:var(--text-xs);color:var(--brass);text-transform:none;letter-spacing:normal;margin-left:.6rem;font-weight:500;animation:1.5s saved-flash-fade}@keyframes saved-flash-fade{0%{opacity:0}15%{opacity:1}70%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.wallet-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:1.2rem;margin-bottom:2rem;padding:1.4rem;display:flex}.wallet-balance{flex-direction:column;gap:.3rem;display:flex}.wallet-label{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.wallet-amount{font-size:var(--text-3xl);color:var(--brass);font-weight:700}.wallet-actions{flex-wrap:wrap;gap:.7rem;display:flex}.wallet-history{border-top:1px solid var(--line);padding-top:1rem}.wallet-history-title{font-size:var(--text-md);margin-bottom:.7rem;font-weight:600}.tx-viewall{font-size:var(--text-sm);color:var(--brass);margin-top:.7rem;font-weight:600;text-decoration:none;display:inline-block}.tx-viewall:hover{text-decoration:underline}.tx-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.tx-row{font-size:var(--text-base);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.8rem;padding:.4rem 0;display:grid}.tx-row:last-child{border-bottom:none}.tx-date{color:var(--text-dim)}.tx-kind{color:var(--text)}.tx-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.tx-status{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;text-align:right}.tx-status-success{color:var(--brass)}.tx-status-failed{color:var(--danger)}.game-history-list{flex-direction:column;list-style:none;display:flex}.game-row{border-bottom:1px solid var(--line);color:inherit;cursor:pointer;flex-direction:column;gap:.3rem;padding:.7rem 0;text-decoration:none;display:flex}.game-history-list li:last-child .game-row{border-bottom:none}.game-row:hover{background:var(--brass-soft)}.game-row-main{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.game-row-opponent{overflow-wrap:anywhere;font-weight:600}.game-outcome{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-weight:700}.game-outcome-win{color:var(--brass)}.game-outcome-loss{color:var(--danger)}.game-outcome-draw,.game-outcome-aborted{color:var(--text-dim)}.game-row-meta{font-size:var(--text-sm);color:var(--text-dim);flex-wrap:wrap;gap:.35rem;display:flex}.game-row-opening{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:var(--text-sm);color:var(--text-dim);overflow:hidden}.game-opening-eco{color:var(--brass);font-weight:600}.game-row-moves{font-size:var(--text-xs);color:var(--text-dim);overflow-wrap:anywhere}.analysis-header{text-align:center;flex-direction:column;align-items:center;gap:.4rem;width:100%;display:flex}.analysis-players{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;font-weight:600;display:flex}.analysis-player{align-items:center;gap:.35rem;display:inline-flex}.analysis-vs{color:var(--text-dim);font-weight:400;font-size:var(--text-base)}.analysis-color-dot{border:1px solid var(--line);border-radius:50%;width:.7rem;height:.7rem}.analysis-dot-white{background:var(--sq-light)}.analysis-dot-black{background:#2a2a2a}.analysis-meta{font-size:var(--text-sm);color:var(--text-dim);flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.analysis-result{color:var(--text);font-weight:600}.analysis-opening{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:var(--text-sm);color:var(--text-dim);overflow:hidden}.analysis-panel{width:var(--board-size);background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.5rem;max-width:100%;padding:.8rem 1rem;display:flex}.analysis-eval-row{align-items:baseline;gap:.6rem;display:flex}.analysis-eval{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;color:var(--brass);font-weight:700}.analysis-eval-label{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.analysis-best{align-items:baseline;gap:.5rem;display:flex}.analysis-best-label{font-size:var(--text-2xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.analysis-best-move{font:inherit;font-weight:600;font-size:var(--text-lg);color:var(--brass);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.05rem .3rem}.analysis-best-move:hover{background:var(--brass-soft)}.analysis-pv{font-size:var(--text-sm)}.san-line{flex-wrap:wrap;align-items:baseline;gap:.15rem .25rem;display:flex}.san-num{color:var(--text-dim);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.san-move{font:inherit;font-size:var(--text-base);color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.05rem .25rem}.san-move:hover{background:var(--brass-soft)}.san-move-active{background:var(--brass-soft);color:var(--brass);font-weight:600}.analysis-mode-flag{width:var(--board-size);max-width:100%;font-size:var(--text-sm);color:var(--text-dim);border-radius:var(--radius);border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .7rem;display:flex}.analysis-mode-variation{border-color:var(--brass);background:var(--brass-soft)}.analysis-mode-badge{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);background:var(--brass);border-radius:4px;padding:.1rem .4rem;font-weight:700}.analysis-mode-badge-quiet{color:var(--text-dim);background:var(--line)}.link-btn{font:inherit;font-size:var(--text-sm);color:var(--brass);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-weight:600;text-decoration:underline}.analysis-variation-panel{width:var(--board-size);background:var(--ink-2);border:1px solid var(--brass);border-radius:var(--radius);flex-direction:column;gap:.5rem;max-width:100%;padding:.7rem .9rem;display:flex}.analysis-variation-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.analysis-variation-from{font-size:var(--text-xs);color:var(--text-dim)}.review-panel{width:var(--board-size);flex-direction:column;gap:.7rem;max-width:100%;display:flex}.review-running{flex-direction:column;gap:.5rem;display:flex}.review-progress-row{font-size:var(--text-base);color:var(--text-dim);justify-content:space-between;align-items:center;gap:.6rem;display:flex}.review-bar{background:var(--ink-2);border:1px solid var(--line);border-radius:999px;height:6px;overflow:hidden}.review-bar-fill{background:var(--brass);height:100%;transition:width .2s}.review-summary{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.4rem;padding:.7rem .9rem;display:flex}.review-summary-row{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.review-summary-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.review-summary-counts{font-size:var(--text-base);font-variant-numeric:tabular-nums;gap:.7rem;font-weight:700;display:flex}.eval-graph{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;width:100%;height:64px;display:block}.eval-graph-zero{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.eval-graph-line{fill:none;stroke:var(--brass);stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.eval-graph-cursor{stroke:var(--text);stroke-width:1px;opacity:.5;vector-effect:non-scaling-stroke}.modal-overlay{z-index:100;overscroll-behavior:contain;background:#0f1411b3;justify-content:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:1rem;width:min(92vw,380px);margin:auto 0;padding:1.6rem;display:flex}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--text-xl)}.modal-close{color:var(--text-dim);cursor:pointer;font-size:var(--text-2xl);background:0 0;border:none;padding:0;line-height:1}.modal-close:hover{color:var(--text)}.wallet-poll{flex-direction:column;gap:.6rem;display:flex}.admin-page{flex-direction:column;gap:1.2rem;max-width:880px;margin:0 auto;padding-top:1rem;display:flex}.admin-section{flex-direction:column;gap:1rem;display:flex}.admin-table-wrap{border:1px solid var(--line);border-radius:var(--radius);width:100%;max-height:72vh;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.admin-table thead th{z-index:1;background:var(--ink-2);color:var(--text-dim);font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.07em;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:.5rem .6rem;font-weight:600;position:sticky;top:0}.admin-table th.ta-right,.admin-table td.ta-right{text-align:right}.admin-table tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.44rem .6rem}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--brass-soft)}.admin-row-click{cursor:pointer}.admin-num{font-variant-numeric:tabular-nums}.admin-cell-user{color:var(--text);font-weight:600}.admin-cap{text-transform:capitalize}.admin-neg{color:var(--danger)}.admin-pos{color:var(--brass)}.th-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;display:inline-flex}.th-sort:hover{color:var(--brass)}.th-sort-ind{color:var(--brass);font-size:.7em}.admin-actions{justify-content:flex-end;gap:.4rem;display:flex}.admin-actions .btn{font-size:var(--text-sm);padding:.28rem .6rem}.admin-chip{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.12rem .45rem;font-weight:700;display:inline-block}.admin-chip-success{color:var(--brass);background:var(--brass-soft)}.admin-chip-failed{color:var(--danger);background:#c96a4a29}.admin-ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);color:var(--text-dim);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;background:0 0;border:none;max-width:14ch;padding:0;display:inline-block;overflow:hidden}.admin-ref:hover{color:var(--brass)}.admin-cards{display:none}.admin-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:.7rem .8rem;display:flex}.admin-card-top{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.admin-card-primary{font-weight:600;font-size:var(--text-md);overflow-wrap:anywhere}.admin-card-amount{color:var(--brass);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.admin-card-meta{font-size:var(--text-sm);color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-card-actions{gap:.5rem;display:flex}.admin-card-actions .btn{flex:1}@media (width<=720px){.admin-table-wrap{display:none}.admin-cards{flex-direction:column;gap:.6rem;display:flex}}.admin-tabs{border-bottom:1px solid var(--line);gap:.3rem;display:flex}.admin-tab{font:inherit;font-weight:600;font-size:var(--text-md);color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .8rem}.admin-tab-active{color:var(--brass);border-bottom-color:var(--brass)}.admin-filters{flex-wrap:wrap;gap:.9rem;display:flex}.admin-filter{flex-direction:column;gap:.35rem;display:flex}.admin-filter-label{font-size:var(--text-2xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.admin-filter-opts{flex-wrap:wrap;gap:.3rem;display:flex}.admin-filter-btn{font:inherit;font-size:var(--text-sm);color:var(--text-dim);background:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:.25rem .7rem}.admin-filter-active{background:var(--brass);color:var(--ink);border-color:var(--brass)}.admin-pager{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.admin-pager .btn{flex-shrink:0}.admin-pager-label{font-size:var(--text-sm);color:var(--text-dim);text-align:center}.admin-search{gap:.5rem;display:flex}.admin-search-input{min-width:0;font:inherit;background:var(--ink);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);flex:1;padding:.5rem .7rem}.admin-search-input:focus{border-color:var(--brass);outline:none}.admin-detail-back{align-self:flex-start;margin-left:0}.admin-user-head{flex-direction:column;gap:.15rem;display:flex}.admin-user-name{font-size:var(--text-xl)}.admin-user-email{font-size:var(--text-base);color:var(--text-dim);overflow-wrap:anywhere}.admin-balance{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.2rem;padding:1rem;display:flex}.admin-balance-amount{font-size:var(--text-3xl);color:var(--brass);font-variant-numeric:tabular-nums;font-weight:700}.admin-user-record{font-size:var(--text-base);color:var(--text-dim)}.admin-subhead{font-size:var(--text-md);color:var(--brass);margin-top:.4rem;font-weight:600}.discreet-link{text-align:center;color:var(--text-dim);font-size:var(--text-xs);margin-top:.4rem;text-decoration:none;display:block}.discreet-link:hover{color:var(--text)}.brand{font-family:var(--font-display);font-weight:800;font-stretch:75%}.hero-title{font-family:var(--font-display);letter-spacing:-.01em;font-weight:900;font-stretch:75%}.page-title,.auth-title{font-family:var(--font-display);font-weight:800;font-stretch:75%}.clock,.stats-strip strong,.rating-value,.wallet-amount,.admin-balance-amount,.tx-amount,.admin-num,.admin-card-amount,.move-cell,.move-number,.san-move,.san-num,.game-opening-eco,.analysis-eval,.rating-change strong,.rating-delta,.review-summary-counts,.strength-value strong,.admin-ref{font-family:var(--font-data)}.clock,.stats-strip strong,.rating-value,.wallet-amount,.move-number{font-variant-numeric:tabular-nums}.searching{color:var(--ember)}.waiting{color:var(--brass);font-size:var(--text-md)}.clock-low{color:var(--ember);border-color:var(--ember)}.tx-status-pending{color:var(--ember)}.admin-chip-pending{color:var(--ember);background:var(--ember-soft)}.cash-card{border-color:var(--brass-soft)}.cash-card .setup-subtitle{margin-top:.4rem}.stake-picker{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));align-self:stretch;gap:.5rem;display:grid}.stake-picker .btn{font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0;padding-left:.3rem;padding-right:.3rem}.payout-table{border:1px solid var(--line);border-radius:var(--radius);font-size:var(--text-base);flex-direction:column;align-self:stretch;gap:.35rem;padding:.7rem .8rem;display:flex}.payout-table div{justify-content:space-between;gap:.5rem;display:flex}.payout-table dt{color:var(--text-dim)}.payout-table dd{font-variant-numeric:tabular-nums;color:var(--text)}.cash-note{font-size:var(--text-xs)}.stake-result{font-size:var(--text-md);color:var(--text-dim);text-align:center;width:100%}.stake-result strong{color:var(--brass);font-variant-numeric:tabular-nums}.page-subtitle{font-size:var(--text-lg);margin-top:.6rem}.ledger-credit{color:var(--brass)}.ledger-debit{color:var(--text-dim)}.admin-tabs{scrollbar-width:none;overflow-x:auto}.admin-tab{white-space:nowrap}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem;display:grid}.stat-tile{text-align:left;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;background:0 0;flex-direction:column;gap:.2rem;padding:.75rem .9rem;display:flex}.stat-tile-link{cursor:pointer}.stat-tile-link:hover{border-color:var(--text-dim)}.stat-tile-link:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.stat-tile-alert{border-color:var(--brass)}.stat-tile-label{font-size:var(--text-2xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.stat-tile-value{font-size:var(--text-xl);font-variant-numeric:tabular-nums}.stat-tile-alert .stat-tile-value{color:var(--brass)}.stat-tile-sub{font-size:var(--text-sm);color:var(--text-dim)}.audit-row{grid-template-columns:auto 1fr auto}.admin-chip-flagged,.admin-chip-error,.admin-chip-suspended,.admin-chip-open{color:var(--danger);background:#c96a4a29}.admin-chip-clear,.admin-chip-cleared,.admin-chip-settled,.admin-chip-resolved{color:var(--brass);background:var(--brass-soft)}.admin-chip-voided,.admin-chip-dismissed,.admin-chip-none,.admin-chip-held{color:var(--text-dim);background:#9aa39826}.review-status{font-size:var(--text-sm);color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.review-players{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem;display:grid}.review-player{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:.75rem .9rem;display:flex}.review-player-flagged{border-color:var(--danger)}.review-player-head{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.review-stats{font-size:var(--text-sm);grid-template-columns:1fr 1fr;gap:.35rem .8rem;display:grid}.review-stats div{justify-content:space-between;gap:.4rem;display:flex}.review-stats dt{color:var(--text-dim)}.review-stats dd{font-variant-numeric:tabular-nums}.review-help{font-size:var(--text-xs)}.review-actions{flex-wrap:wrap;gap:.5rem;display:flex}.review-void{border:1px solid var(--danger);border-radius:var(--radius);flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.review-void select,.report-form textarea{font:inherit;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:0 0;width:100%;padding:.5rem .6rem}.review-void select option{color:#1a1408}.review-check{font-size:var(--text-base);cursor:pointer;align-items:center;gap:.5rem;display:flex}.review-reports{font-size:var(--text-sm);flex-direction:column;gap:.5rem;list-style:none;display:flex}.review-pgn summary{cursor:pointer;color:var(--text-dim);font-size:var(--text-sm)}.review-pgn pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-xs);color:var(--text-dim);margin-top:.4rem}.report-details{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:220px;display:inline-block;overflow:hidden}.account-controls{flex-direction:column;gap:.4rem;display:flex}.report-link{font-size:var(--text-sm);color:var(--text-dim)}.report-form{text-align:left;flex-direction:column;gap:.5rem;width:100%;max-width:420px;display:flex}.report-done{font-size:var(--text-sm)}.suspended-banner{border-color:var(--danger);color:var(--danger)}.rematch{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;width:100%;display:flex}.rematch-note{text-align:center;width:100%}.challenge-page{max-width:520px}.challenge-card{flex-direction:column;gap:.8rem;display:flex}.challenge-link{gap:.5rem;display:flex}.challenge-link input{min-width:0;font:inherit;font-size:var(--text-sm);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:0 0;flex:1;padding:.5rem .6rem}.challenge-link input:focus{border-color:var(--brass);outline:none}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.auth-next-hint{margin-bottom:.6rem}.side-column{flex-direction:column;grid-area:movelist;gap:.8rem;width:min(92vw,280px);display:flex}.side-column .move-list{width:100%}.watchers-count{color:var(--text-dim);white-space:nowrap}.chat{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:.6rem .8rem;display:flex}.chat-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chat-toggle{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.2rem 0;font-weight:600;display:inline-flex}.chat-caret{color:var(--text-dim)}.chat-badge{background:var(--brass);min-width:1.3rem;color:var(--ink);font-size:var(--text-2xs);text-align:center;border-radius:999px;padding:0 .35rem;font-weight:700;line-height:1.3rem}.chat-mute{font-size:var(--text-xs);color:var(--text-dim)}.chat-list{max-height:180px;font-size:var(--text-sm);flex-direction:column;gap:.35rem;list-style:none;display:flex;overflow-y:auto}.chat-msg{overflow-wrap:anywhere;flex-direction:column;display:flex}.chat-name{font-size:var(--text-2xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.chat-mine .chat-name{color:var(--brass)}.chat-text{color:var(--text)}.chat-empty{font-size:var(--text-sm)}.chat-quick{flex-wrap:wrap;gap:.3rem;display:flex}.chat-quick-btn{font:inherit;font-size:var(--text-xs);color:var(--text);cursor:pointer;border:1px solid var(--line);background:0 0;border-radius:999px;padding:.2rem .6rem}.chat-quick-btn:hover{border-color:var(--brass);color:var(--brass)}.chat-form{gap:.4rem;display:flex}.chat-form input{min-width:0;font:inherit;font-size:var(--text-sm);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:0 0;flex:1;padding:.4rem .55rem}.chat-form input:focus{border-color:var(--brass);outline:none}.chat-form .btn{font-size:var(--text-sm);padding:.35rem .75rem}.chat-note,.chat-off{font-size:var(--text-xs)}.chat-error{font-size:var(--text-xs);margin:0}.watch-page{max-width:620px}.watch-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.watch-row{color:var(--text);background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.35rem;padding:.75rem .9rem;text-decoration:none;display:flex}.watch-row:hover,.watch-row:focus-visible{border-color:var(--brass);outline:none}.watch-players{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.watch-player{align-items:baseline;gap:.3rem;display:inline-flex}.watch-rating{color:var(--text-dim);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.watch-vs{color:var(--text-dim);font-size:var(--text-sm)}.watch-meta{font-size:var(--text-sm);color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.spectating-badge{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;color:var(--text);border:1px solid var(--text-dim);border-radius:4px;padding:.1rem .4rem;font-weight:700;display:inline-block}.review-chat{font-size:var(--text-sm);overflow-wrap:anywhere;flex-direction:column;gap:.3rem;list-style:none;display:flex}@media (width<=899px){.side-column .move-list-scroll{height:auto;min-height:2.4rem;max-height:30vh}}@media (width<=480px){.tx-row{grid-template-columns:1fr auto;grid-template-areas:"kind amount""date status";gap:.15rem .6rem}.tx-row .tx-kind{grid-area:kind}.tx-row .tx-amount{grid-area:amount}.tx-row .tx-date{font-size:var(--text-sm);grid-area:date}.tx-row .tx-status{grid-area:status}}.auth-forgot{font-size:var(--text-sm);color:var(--text-dim);text-align:right;align-self:flex-end;margin:-.2rem 0 .6rem;display:block}.reset-link-box{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:.8rem;display:flex}.reset-link-box .btn{align-self:flex-start}.player-link{color:inherit;text-decoration:none}.player-link:hover,.player-link:focus-visible{color:var(--brass);text-decoration:underline}.presence-dot{background:var(--line);vertical-align:middle;border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem;margin-right:.45rem;display:inline-block}.presence-online{background:#6bbf59;box-shadow:0 0 0 3px #6bbf592e}.leaderboard-page{max-width:620px}.your-rank{font-size:var(--text-md);color:var(--text-dim)}.your-rank strong{color:var(--brass)}.leaderboard{flex-direction:column;list-style:none;display:flex}.leaderboard-row{border-bottom:1px solid var(--line);font-size:var(--text-md);grid-template-columns:2.4rem 1fr auto auto;align-items:center;gap:.6rem;padding:.55rem .4rem;display:grid}.leaderboard-rank{color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right}.leaderboard-top .leaderboard-rank{color:var(--brass);font-weight:700}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.leaderboard-rating{font-variant-numeric:tabular-nums;font-weight:700}.leaderboard-games{color:var(--text-dim);font-size:var(--text-sm);white-space:nowrap}@media (width<=400px){.leaderboard-games{display:none}.leaderboard-row{grid-template-columns:2rem 1fr auto}}.profile-public{max-width:620px}.profile-head{flex-direction:column;gap:.5rem;display:flex}.profile-head .page-title{overflow-wrap:anywhere;align-items:center;display:flex}.playing-now{align-self:flex-start}.friends-badge{color:var(--brass);align-self:center;font-weight:600}.result-win{color:var(--brass)}.result-loss{color:var(--danger)}.result-draw{color:var(--text-dim)}.friends-page{max-width:620px}.friend-list{flex-direction:column;list-style:none;display:flex}.friend-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem 0;display:flex}.friend-row:last-child{border-bottom:none}.friend-who{align-items:center;gap:.4rem;min-width:0;display:flex}.friend-name{overflow-wrap:anywhere;font-weight:600}.friend-rating{color:var(--text-dim);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.friend-actions{align-items:center;gap:.5rem;display:flex}.friend-actions .btn{font-size:var(--text-sm);padding:.35rem .8rem}.friend-remove{font-size:var(--text-xs);color:var(--text-dim)}.incoming-challenge{z-index:50;background:var(--ink-2);border:1px solid var(--brass);border-radius:var(--radius);flex-direction:column;gap:.4rem;width:min(420px,100vw - 2rem);padding:.9rem 1rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000073}.incoming-title{font-size:var(--text-md)}.incoming-title strong{color:var(--brass)}@media (width<=420px){.topbar-user{display:none}}.offline-banner{border:1px solid var(--line);border-radius:var(--radius);color:var(--text-dim);font-size:var(--text-sm);text-align:center;margin:.6rem 0;padding:.5rem .8rem}.offline-banner a{color:var(--brass)}.sq-premove{box-shadow:inset 0 0 0 100vmax #508ccd61}.sq-pending{box-shadow:inset 0 0 0 100vmax #c9a22773}.confirm-move{border:1px solid var(--brass);border-radius:var(--radius);font-size:var(--text-md);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;padding:.5rem .8rem;display:flex}.premove-note{font-size:var(--text-xs);margin:-.4rem 0 0}.puzzles-head{width:100%;max-width:var(--board-size);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.puzzle-tabs{gap:.2rem;display:flex}.puzzle-stats{color:var(--text-dim);font-size:var(--text-md);text-align:center}.puzzle-stats strong{color:var(--brass);font-variant-numeric:tabular-nums}.puzzle-prompt{min-height:2.2rem}.puzzle-meta{text-align:center;font-size:var(--text-sm)}.verify-intro{margin:-.6rem 0 1.2rem;line-height:1.5}.verify-email{color:var(--text);word-break:break-all;font-weight:600}.field input.verify-code{font-family:var(--font-data);font-size:var(--text-3xl);letter-spacing:.45em;text-align:center;padding:.5rem 0 .5rem .45em}.verify-notice{color:var(--brass);margin-bottom:.8rem}.verify-help{text-align:center;margin-top:1rem;line-height:1.6}.verify-help .link-btn{margin-left:0}.clock-critical{background:var(--ember-soft);animation:1s ease-in-out infinite clock-pulse}@keyframes clock-pulse{0%,to{box-shadow:0 0 #e2542c00}50%{box-shadow:0 0 0 4px #e2542c59}}@media (prefers-reduced-motion:reduce){.clock-critical{animation:none}}.result-modal{flex-direction:column;gap:1rem;display:flex}.result-headline{font-size:var(--text-lg);line-height:1.4}.result-headline strong{color:var(--brass)}.result-players{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.result-player{background:var(--ink);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.7rem;padding:.7rem .8rem;display:grid}.result-player+.result-player{border-top:1px solid var(--line)}.result-winner{background:var(--brass-soft)}.result-piece{border:1px solid var(--text-dim);border-radius:50%;width:.8rem;height:.8rem}.result-piece-white{background:var(--sq-light)}.result-piece-black{background:#111}.result-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.result-you{color:var(--text-dim);font-weight:400}.result-sub{color:var(--text-dim);font-size:var(--text-sm);font-weight:400;display:block}.result-rating{font-family:var(--font-data);align-items:baseline;gap:.4rem;display:flex}.result-score{font-family:var(--font-data);font-weight:700;font-size:var(--text-lg);text-align:right;min-width:1.2em}.result-winner .result-score{color:var(--brass)}.result-note{margin-top:-.4rem}.result-actions{flex-wrap:wrap;gap:.5rem;display:flex}.result-actions .btn{flex:auto}.modal-card:has(.result-modal){width:min(92vw,420px)}.modal-card:has(.result-tone-win) .modal-header h2{color:var(--brass)}.modal-card:has(.result-tone-loss) .modal-header h2{color:var(--danger)}.board-movable{touch-action:none}.sq-movable{cursor:grab}.board-dragging,.board-dragging .square{cursor:grabbing}.piece-lifted{opacity:.3}.piece-dragging{z-index:200;pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain;filter:drop-shadow(0 6px 8px #00000073);position:fixed;transform:scale(1.12)}.sq-drop{box-shadow:inset 0 0 0 3px var(--brass)}.player-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.captured{flex-wrap:wrap;align-items:center;min-height:1.15rem;display:flex}.captured-piece{object-fit:contain;-webkit-user-select:none;user-select:none;opacity:.9;width:1.15rem;height:1.15rem}.captured-stack{margin-left:-.6rem}.material-plus{font-family:var(--font-data);font-size:var(--text-sm);color:var(--text-dim);margin-left:.3rem;font-weight:600}.promotion-layer{z-index:20;background:#0f141173;position:absolute;inset:0}.promotion-picker{background:var(--ink-2);border-radius:4px;width:12.5%;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 24px #0000008c}.promotion-choice{aspect-ratio:1;cursor:pointer;background:var(--sq-light);border:none;width:100%;padding:6%}.promotion-choice:nth-child(2n){background:var(--sq-dark)}.promotion-choice:hover,.promotion-choice:focus-visible{background:var(--brass);outline:none}.promotion-choice img{object-fit:contain;pointer-events:none;width:100%;height:100%}.topnav{gap:.2rem;margin-right:auto;display:flex}.topnav-link{color:var(--text-dim);font-weight:500;font-size:var(--text-md);border-radius:8px;padding:.45rem .8rem;text-decoration:none}.topnav-link:hover{color:var(--text)}.topnav-link.active{color:var(--text);background:var(--ink-2)}.wallet-chip{border:1px solid var(--line);color:var(--text-dim);font-size:var(--text-sm);background:var(--ink-2);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .8rem;text-decoration:none;display:inline-flex}.wallet-chip b{color:var(--brass);font-family:var(--font-data);font-weight:500}.wallet-chip:hover{border-color:var(--text-dim)}.avatar{background:var(--brass);color:#1a1408;border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-weight:700;text-decoration:none;display:inline-grid}.avatar-lg{width:2.9rem;height:2.9rem;font-size:var(--text-xl)}.bottomnav{display:none}@media (width<=760px){.topnav,.wallet-chip{display:none}.shell.has-bottomnav{padding-bottom:5.5rem}.bottomnav{z-index:30;background:var(--ink-2);border-top:1px solid var(--line);padding:.4rem 0 calc(.4rem + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav-link{color:var(--text-dim);font-size:var(--text-2xs);flex-direction:column;align-items:center;gap:.1rem;padding:.2rem .6rem;text-decoration:none;display:flex}.bottomnav-link.active{color:var(--brass)}.bottomnav-icon{font-size:1.15rem;line-height:1.2}}.home-dash{flex-direction:column;gap:1.5rem;padding-bottom:1rem;display:flex}.dash-greet{flex-wrap:wrap;align-items:baseline;gap:.4rem 1.2rem;display:flex}.dash-greet .hero-title{font-size:clamp(1.8rem,4vw,2.6rem)}.dash-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1.5rem;display:grid}.dash-main,.dash-side{flex-direction:column;gap:1.5rem;min-width:0;display:flex}.dash-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.dash-card{background:var(--ink-2);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:.9rem;min-width:0;padding:1.25rem;display:flex}.dash-card-head{align-items:center;gap:.8rem;min-height:1.8rem;display:flex}.dash-card-head h2{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-right:auto;font-weight:600}.dash-link{color:var(--brass);font-size:var(--text-sm);font-weight:500;text-decoration:none}.dash-link:hover{text-decoration:underline}.dash-num{font-family:var(--font-data)}.dim{color:var(--text-dim)}.win-text{color:var(--win)}.loss-text{color:var(--danger)}.tc-chip{font-family:var(--font-data);font-size:var(--text-xs);color:var(--text-dim);border:1px solid var(--line);white-space:nowrap;border-radius:5px;padding:.05rem .4rem}.btn-small{font-size:var(--text-sm);padding:.3rem .65rem}.dash-list{flex-direction:column;list-style:none;display:flex}.dash-list>li{border-top:1px solid var(--line);align-items:center;gap:.6rem;padding:.55rem 0;display:flex}.dash-list>li:first-child{border-top:none;padding-top:.1rem}.seg{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.seg button{font:inherit;font-size:var(--text-sm);cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:.35rem .9rem}.seg button.seg-on{background:var(--brass);color:#1a1408;font-weight:600}.seg button:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}.qp-tiles{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.qp-tile{font:inherit;color:var(--text);cursor:pointer;background:var(--ink-3);border:1px solid var(--line);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;min-height:6.4rem;padding:.9rem .5rem;transition:border-color .12s,background .12s,transform .12s;display:flex}.qp-tile:hover:not(:disabled){border-color:var(--text-dim);transform:translateY(-1px)}.qp-tile:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.qp-tile:disabled{opacity:.45;cursor:not-allowed}.qp-time{font-family:var(--font-data);font-size:1.75rem;font-weight:600;line-height:1.2}.qp-cat{font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.qp-waiting{font-size:var(--text-xs);color:var(--brass);min-height:1.1em;margin-top:.2rem}.qp-hot{border-color:#c9a22773}.qp-searching{border-color:var(--brass);background:var(--brass-soft);box-shadow:inset 0 0 0 1px var(--brass);animation:1.6s ease-in-out infinite qp-pulse}@keyframes qp-pulse{50%{box-shadow:inset 0 0 0 1px var(--brass), 0 0 0 4px #c9a2272e}}@media (prefers-reduced-motion:reduce){.qp-searching{animation:none}.qp-tile{transition:none}}.qp-alt{gap:.35rem}.qp-icon{font-size:1.5rem}.qp-alt-label{font-weight:600;font-size:var(--text-md)}.qp-status{border:1px solid var(--brass-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;padding:.6rem .8rem;display:flex}.qp-status .btn{margin-left:auto;padding:.3rem .8rem}.qp-hint,.qp-error{margin:0}.qp-more{flex-wrap:wrap;gap:.6rem;display:flex}.daily-body{grid-template-columns:9.5rem 1fr;align-items:center;gap:1rem;display:grid}.mini-board{aspect-ratio:1;border:2px solid var(--line);border-radius:5px;grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden}.mini-board>span{aspect-ratio:1;place-items:center;display:grid}.mini-board img{object-fit:contain;width:88%;height:88%}.mini-light{background:var(--sq-light)}.mini-dark{background:var(--sq-dark)}.mini-placeholder{background:var(--ink-3)}.daily-text{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.daily-title{font-family:var(--font-display);font-weight:800;font-stretch:75%;font-size:var(--text-2xl);line-height:1.1}.live-row{width:100%;color:var(--text);align-items:center;gap:.6rem;text-decoration:none;display:flex}.live-row:hover b{color:var(--brass)}.live-players{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:auto;overflow:hidden}.live-dot{background:var(--ember);width:.5rem;height:.5rem;box-shadow:0 0 0 3px var(--ember-soft);border-radius:50%;flex:none}.cash-strip{border:1px solid var(--line);background:linear-gradient(90deg, var(--brass-soft), transparent 65%), var(--ink-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.cash-strip-lock{background:var(--ink-3);border:1px solid var(--line);border-radius:10px;place-items:center;width:2.6rem;height:2.6rem;font-size:1.2rem;display:grid}.cash-strip-text{flex-direction:column;flex:16rem;gap:.15rem;min-width:0;display:flex}.cash-strip-text .tc-chip{font-family:var(--font-body);margin-left:.4rem}.cash-strip-stakes{flex-wrap:wrap;gap:.5rem;display:flex}.cash-strip-stakes span{font-family:var(--font-data);font-size:var(--text-sm);color:var(--text-dim);border:1px dashed var(--line);border-radius:7px;padding:.3rem .6rem}.dash-main .cash-card{max-width:none}.dp-head{color:var(--text);align-items:center;gap:.8rem;text-decoration:none;display:flex}.dp-head>span:last-child{flex-direction:column;min-width:0;display:flex}.dp-name{font-size:var(--text-lg)}.dp-ratings{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.dp-rating{background:var(--ink-3);border:1px solid var(--line);border-radius:8px;flex-direction:column;padding:.55rem .7rem;display:flex}.dp-rating-cat{font-size:var(--text-3xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.dp-rating-value{font-family:var(--font-data);font-size:var(--text-xl);font-weight:500}.dp-rating-value.settled{color:var(--brass)}.wld-bar{background:var(--ink-3);border-radius:99px;height:.45rem;display:flex;overflow:hidden}.wld-bar i{display:block}.wld-w{background:var(--win)}.wld-d{background:var(--text-dim)}.wld-l{background:var(--danger)}.wld-legend{font-size:var(--text-xs);color:var(--text-dim);justify-content:space-between;margin-top:-.4rem;display:flex}.wallet-dash-amount{font-family:var(--font-data);color:var(--brass);font-size:1.9rem;font-weight:500;line-height:1.1}.wallet-dash-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.wallet-dash-tx>li{font-size:var(--text-sm);justify-content:space-between}.tx-success{color:var(--win)}.tx-failed{color:var(--danger)}.tx-pending{color:var(--ember)}.recent-row{width:100%;color:var(--text);align-items:center;gap:.6rem;text-decoration:none;display:flex}.recent-row:hover .recent-opp b{color:var(--brass)}.recent-opp{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:auto;overflow:hidden}.recent-delta{text-align:right;min-width:2.4rem;font-size:var(--text-sm)}.res-badge{width:1.4rem;height:1.4rem;font-size:var(--text-xs);color:#10140f;border-radius:5px;flex:none;place-items:center;font-weight:700;display:grid}.res-W{background:var(--win)}.res-L{background:var(--danger)}.res-D{background:var(--text-dim)}.friend-row .friend-name{color:var(--text);font-weight:600;text-decoration:none}.friend-row .btn{margin-left:auto}.online-dot{background:var(--win);border-radius:50%;flex:none;width:.5rem;height:.5rem}@media (width<=1080px){.dash-grid{grid-template-columns:minmax(0,1fr) 300px}.dash-row{grid-template-columns:1fr}}@media (width<=860px){.dash-grid{grid-template-columns:1fr}.dash-row{grid-template-columns:1fr 1fr}}@media (width<=640px){.shell{padding-left:1rem;padding-right:1rem}.home-dash,.dash-main,.dash-side{gap:1rem}.dash-row{grid-template-columns:1fr;gap:1rem}.dash-card{padding:1rem}.qp-tiles{gap:.5rem}.qp-tile{min-height:4.9rem;padding:.6rem .2rem}.qp-time{font-size:1.15rem}.qp-cat{letter-spacing:.08em;font-size:.55rem}.qp-waiting{font-size:.6rem}.qp-alt-label{font-size:var(--text-xs);text-align:center;line-height:1.2}.qp-icon{font-size:1.1rem}.daily-body{grid-template-columns:7.5rem 1fr}.dash-greet .hint{width:100%}.qp-more{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.qp-more .btn{font-size:var(--text-xs);white-space:normal;padding:.55rem .3rem;line-height:1.25}}.daily-text .btn{white-space:nowrap}@supports (height:100dvh){:root{--board-fit:min(88vw, 640px, max(260px, calc(100dvh - 16.5rem)))}}.modal-card .setup-subtitle{font-size:var(--text-md);margin:.2rem 0 .1rem}.modal-card .time-picker{gap:.45rem}.modal-card .time-picker-group{flex-direction:row;align-items:center;gap:.6rem}.modal-card .time-picker-category{flex:none;width:4.8rem}.modal-card .time-picker-options{flex:1}.modal-card .time-picker-options .btn{min-width:0;padding:.4rem .3rem}.modal-card .mode-toggle-btn{padding:.45rem .4rem}.modal-card:has(.time-picker){gap:.7rem;width:min(92vw,420px)}@media (width>=1100px){:root{--board-fit:min(calc(100vw - 38rem), 780px, max(300px, calc(100vh - 10.5rem)))}.board-column:has(>.clock-top){grid-template-columns:var(--board-size) 13rem;grid-template-rows:auto auto auto auto auto 1fr auto;grid-template-areas:"board top""board confirm""board draw""board premove""board actions""board.""board bottom";align-items:start;gap:.8rem 1.25rem;display:grid}.board-column:has(>.clock-top)>*{grid-column:1}.board-column:has(>.clock-top)>.board{grid-area:board;margin:0}.board-column:has(>.clock-top)>.clock-top{grid-area:top}.board-column:has(>.clock-top)>.clock-bottom{grid-area:bottom;align-self:end}.board-column:has(>.clock-top)>.confirm-move{grid-area:confirm}.board-column:has(>.clock-top)>.draw-offer{grid-area:draw}.board-column:has(>.clock-top)>.premove-note{grid-area:premove;margin:0}:is(.board-column:has(>.clock-top)>.game-actions,.board-column:has(>.clock-top)>.game-end){grid-area:actions}.board-column:has(>.clock-top)>:is(.confirm-move,.draw-offer,.game-actions,.game-end){flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.5rem;width:100%}.board-column:has(>.clock-top)>:is(.confirm-move,.draw-offer,.game-actions,.game-end) .btn{width:100%;padding:.4rem .6rem}.board-column:has(>.clock-top)>.game-end .game-result{font-size:var(--text-lg);text-align:center}.board-column:has(>.clock-top) .rematch{flex-direction:column;align-items:stretch}.board-column:has(>.clock-top)>.clock-row{background:var(--ink-2);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:flex-start;gap:.3rem;width:100%;padding:.55rem .7rem}.board-column:has(>.clock-top)>.clock-bottom{flex-direction:column-reverse}.board-column:has(>.clock-top) .clock{padding:.05rem .6rem;font-size:1.7rem}.game-layout:has(.clock-top){grid-template-columns:auto 280px}}@supports (height:100dvh){@media (width>=1100px){:root{--board-fit:min(calc(100vw - 38rem), 780px, max(300px, calc(100dvh - 10.5rem)))}}}.board-resize{z-index:8;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 50%, var(--brass) 50%);opacity:.75;border-top-left-radius:4px;width:1.4rem;height:1.4rem;position:absolute;bottom:0;right:0}.board-resize:hover{opacity:1}
