﻿:root{color-scheme:light;--graphite: #2c2c2c;--wine: #853953;--plum: #612d53;--bg: #f6f3f4;--surface: #ffffff;--surface-2: #f0eaed;--border: #e3d9de;--text: #2c2c2c;--text-muted: #6e6468;--accent: #853953;--accent-hover: #6f2e45;--accent-ink: #853953;--accent-soft: #8539531a;--on-accent: #ffffff;--plum-soft: #612d531f;--logo-plum: #612d53;--plum-ink: #612d53;--win: #266a42;--win-soft: #2f7d4f1a;--draw: #675f62;--draw-soft: #7a72751f;--loss: #a3392f;--loss-soft: #b3453b1a;--tone-time: #2f59a8;--tone-ending: #97500f;--tone-date: #0f6a62;--tone-length: #715a0c;--tone-rating: #6d45c2;--focus: #85395366;--scroll-thumb: #2c2c2c26;--scroll-thumb-hover: #2c2c2c52;--space-0: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--main-pad: var(--space-5);--pad-y: var(--space-4);--pad-x: var(--space-5);--stack-gap: var(--space-4);--page-gap: var(--space-5);--control-sm: 28px;--control-md: 32px;--control-lg: 36px;--section-width: 1120px;--dialog-width: 400px;--panel-width: 360px;--reading-width: 640px;--radius-xs: 2px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px #1c1b190f;--shadow-md: 0 1px 2px #1c1b190d, 0 6px 20px #1c1b1912;--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-pixel: "Jersey 10", var(--font);--font-mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-md: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--ease: cubic-bezier(0.2, 0.7, 0.2, 1);--fast: 120ms;--normal: 200ms;--slow: 320ms;--content-width: 1600px;--header-height: 0px;--sidebar: 224px;--sidebar-folded: 72px;--nav-width: var(--sidebar);--board-controls: 36px;--board-chrome: calc(var(--header-height) + 2 * var(--main-pad) + 2 * var(--pad-y) + 2px + var(--space-4) + var(--board-controls));--side-panel-min: 380px;--eval-bar: 18px;--board-size: min( calc(100dvh - var(--board-chrome)), calc(min(100vw - var(--nav-width), var(--content-width)) - 2 * var(--space-5) - var(--space-5) - var(--side-panel-min) - 2 * var(--space-5) - 2px - var(--eval-bar) - var(--space-2)) )}@font-face{font-family:"Jersey 10";src:url(assets/themes/bit/fonts/Jersey10.ttf) format("truetype");font-weight:400;font-display:swap;size-adjust:118%}:root[data-theme=dark]{color-scheme:dark;--bg: #232323;--surface: #2c2c2c;--surface-2: #363335;--border: #433e41;--text: #efeaed;--text-muted: #aba1a7;--accent: #853953;--accent-hover: #9b4562;--accent-ink: #e08fab;--accent-soft: #85395340;--on-accent: #ffffff;--plum-soft: #612d5359;--logo-plum: #8c4379;--plum-ink: #c07fb0;--win: #74c393;--win-soft: #74c39326;--draw: #bdb6b9;--draw-soft: #aea6a926;--loss: #ee9494;--loss-soft: #e57f7f26;--tone-time: #97b6f1;--tone-ending: #e8a15f;--tone-date: #62c7bb;--tone-length: #e2c36f;--tone-rating: #bda2f4;--focus: #e08fab66;--scroll-thumb: #efeaed2b;--scroll-thumb-hover: #efeaed59;--shadow-sm: 0 1px 2px #0000004d;--shadow-md: 0 1px 2px #0000004d, 0 8px 24px #00000066}@media(prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #232323;--surface: #2c2c2c;--surface-2: #363335;--border: #433e41;--text: #efeaed;--text-muted: #aba1a7;--accent: #853953;--accent-hover: #9b4562;--accent-ink: #e08fab;--accent-soft: #85395340;--on-accent: #ffffff;--plum-soft: #612d5359;--logo-plum: #8c4379;--plum-ink: #c07fb0;--win: #74c393;--win-soft: #74c39326;--draw: #bdb6b9;--draw-soft: #aea6a926;--loss: #ee9494;--loss-soft: #e57f7f26;--tone-time: #97b6f1;--tone-ending: #e8a15f;--tone-date: #62c7bb;--tone-length: #e2c36f;--tone-rating: #bda2f4;--focus: #e08fab66;--scroll-thumb: #efeaed2b;--scroll-thumb-hover: #efeaed59;--shadow-sm: 0 1px 2px #0000004d;--shadow-md: 0 1px 2px #0000004d, 0 8px 24px #00000066}}@media(prefers-reduced-motion: reduce){:root{--fast: 0ms;--normal: 0ms;--slow: 0ms}}*,*::before,*::after{box-sizing:border-box}html,body{margin:0}body{-webkit-user-select:none;user-select:none;display:flex;flex-direction:row;height:100dvh;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--text-md);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}button{font:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{border:2px solid rgba(0,0,0,0);border-radius:var(--radius-full);background:var(--scroll-thumb) padding-box}:hover::-webkit-scrollbar-thumb{background-color:var(--scroll-thumb-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--text-muted)}}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) rgba(0,0,0,0)}*:hover{scrollbar-color:var(--scroll-thumb-hover) rgba(0,0,0,0)}}.mono{font-family:var(--font-mono)}.sidebar{flex:none;display:flex;flex-direction:column;gap:var(--space-5);width:var(--sidebar);height:100dvh;padding:var(--space-5) var(--space-3) var(--space-4);border-right:1px solid var(--border);background:radial-gradient(120% 60% at 0% 0%, var(--plum-soft), transparent 60%),var(--surface)}.brand-slot{display:contents}.brand{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2);color:var(--text);text-decoration:none}.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.brand-sub{color:var(--text-muted);font-size:var(--text-xs)}.brand-name{font-size:var(--text-lg);font-weight:700;letter-spacing:-0.01em}.brand-bit{color:var(--accent-ink)}.brand-base{color:var(--plum-ink)}.logo{flex:none;width:32px;height:32px;overflow:visible}.logo .bit{--logo-fade: 1.2s;rx:3px;stroke-width:2;transition:fill var(--logo-fade) ease-in-out,stroke var(--logo-fade) ease-in-out,fill-opacity var(--logo-fade) ease-in-out,stroke-opacity var(--logo-fade) ease-in-out}.logo .one{fill-opacity:1;stroke-opacity:0}.logo .wine{fill:var(--wine);stroke:var(--wine)}.logo .plum{fill:var(--logo-plum);stroke:var(--logo-plum)}.logo .zero{fill:var(--accent-ink);fill-opacity:0;stroke:var(--accent-ink);stroke-opacity:1}.brand:hover .logo .one{fill-opacity:0;stroke-opacity:1}.brand:hover .logo .zero{fill-opacity:1;stroke-opacity:0}.nav{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-4);min-height:0;margin-inline:calc(-1*var(--space-3));padding-inline:var(--space-3);overflow-y:auto;scrollbar-width:none}.sidebar-foot{display:flex;flex:none;flex-direction:column;gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--border)}.sidebar-foot .nav-link{width:calc(100% - var(--space-2))}.nav-group{display:flex;flex-direction:column;gap:var(--space-1)}.nav-heading{padding:0 var(--space-3) var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.nav-link{margin-left:var(--space-2)}.nav-link{position:relative;display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink)}.nav-link::before{content:"";position:absolute;left:calc(-1*var(--space-3));top:10px;bottom:10px;width:3px;border-radius:0 var(--radius-full) var(--radius-full) 0;background:var(--accent);scale:1 0;transition:scale var(--normal) var(--ease)}.nav-link[aria-current=page]::before{scale:1 1}.nav-link .icon{width:20px;height:20px}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-status{display:flex;align-items:center;gap:var(--space-3);margin-left:var(--space-2);padding:var(--space-1) var(--space-3);color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.status-dot{flex:none;width:8px;height:8px;margin-inline:6px;border-radius:var(--radius-full);background:var(--text-muted)}.server-status.online .status-dot{background:var(--win);box-shadow:0 0 0 0 var(--win);animation:pulse 2.4s var(--ease) infinite}.server-status.offline .status-dot{background:var(--loss)}.server-status.checking .status-dot{animation:waiting 1.2s steps(2, jump-none) infinite}@keyframes waiting{from{opacity:1}to{opacity:.3}}.server-status.degraded .status-dot,.server-status.outdated .status-dot{background:var(--tone-ending)}.app-version{flex:none;margin-left:auto;color:var(--text-muted);font-size:var(--text-xs)}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--win) 60%, transparent)}70%,100%{box-shadow:0 0 0 6px rgba(0,0,0,0)}}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.topbar,.drawer-backdrop,.drawer-top .drawer-close{display:none}@media(min-width: 601px)and (max-width: 1200px){:root{--nav-width: var(--sidebar-folded)}.sidebar{width:var(--sidebar-folded);align-items:center;padding-inline:var(--space-2)}.brand{padding:0}.brand-text,.nav-label,.nav-heading{display:none}.nav{gap:var(--space-2)}.nav-group+.nav-group{padding-top:var(--space-2);border-top:1px solid var(--border)}.nav-link{margin-left:0}.nav-link{justify-content:center;width:44px;height:44px;padding:0}.nav-link::before{left:calc(-1*(var(--sidebar-folded) - 44px)/2)}.sidebar .server-status{justify-content:center;margin-left:0;padding:var(--space-2)}.nav{margin-inline:calc(-1*var(--space-2));padding-inline:var(--space-2)}.nav-group{align-items:center}.sidebar-foot{align-items:center}.sidebar-foot .nav-link{width:44px}}.app-main{flex:1;min-width:0;min-height:0;max-width:var(--content-width);margin:0 auto;padding:var(--main-pad);overflow-y:auto}.columns{height:100%;display:grid;grid-template-columns:auto minmax(var(--side-panel-min), 1fr);grid-template-rows:minmax(0, 100%);gap:var(--space-5);align-items:start}.side-panel{align-self:stretch;display:flex;flex-direction:column;gap:var(--stack-gap);min-height:0;overflow-y:auto;padding:2px;margin:-2px}.side-panel>*{flex:none}.side-panel>.moves-card:not(.folded){flex:1 1 0;min-height:120px;display:flex;flex-direction:column}.side-panel>.popular-card:not(.folded){flex:0 1 auto;min-height:0;display:flex;flex-direction:column}.side-panel>:is(.moves-card,.popular-card)>.card-body{flex:1;min-height:0;overflow-y:auto}.side-panel .popular-card .explorer{height:auto;overflow:visible}.side-panel>.popular-card>.card-body{max-height:calc(240px + var(--pad-y) + var(--space-3) + 24px)}.side-panel.moves-folded>.popular-card:not(.folded){flex:1 1 0}.side-panel.moves-folded>.popular-card>.card-body{max-height:none}.row.board-controls{flex-wrap:nowrap;min-height:var(--board-controls);margin-top:var(--space-4)}.stack{display:flex;flex-direction:column;gap:var(--stack-gap)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.muted{color:var(--text-muted);font-size:var(--text-sm)}@media(max-width: 900px){:root{--board-size: min( calc(100vw - var(--nav-width) - 2 * var(--main-pad) - 2 * var(--pad-x) - 2px - var(--eval-bar) - var(--space-2)), calc(100dvh - var(--board-chrome)) )}.columns{height:auto;grid-template-columns:minmax(0, 1fr);grid-template-rows:auto}.side-panel{overflow:visible}.side-panel>:is(.moves-card,.popular-card)>.card-body{overflow:visible}.side-panel .explorer{height:auto;overflow:visible}.side-panel>.popular-card>.card-body{max-height:none}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);animation:rise var(--slow) var(--ease) both;transition:box-shadow var(--normal) var(--ease),transform var(--normal) var(--ease)}.card.interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--pad-y) var(--pad-x) 0}.card-heading{flex:1;min-width:0}.card-actions{display:flex;flex:none;gap:var(--space-0)}.card-header>:is(.card-actions,.fold-button){position:relative;top:3px}.card.folded>.card-header+.card-body{display:none}.card.folded>.card-header{padding-bottom:var(--pad-y)}.fold-button .icon{transform:rotate(90deg);transition:transform var(--fast) var(--ease)}.fold-button.folded .icon{transform:none}.card-title{font-size:var(--text-md);font-weight:650}.card-subtitle{margin-top:var(--space-0);color:var(--text-muted);font-size:var(--text-sm)}.card-body{padding:var(--pad-y) var(--pad-x)}.card-header+.card-body{padding-top:var(--space-3)}.stack>.card:nth-child(2){animation-delay:40ms}.stack>.card:nth-child(3){animation-delay:80ms}.stack>.card:nth-child(n+4){animation-delay:120ms}@keyframes rise{from{opacity:0;transform:translateY(6px)}}.tag{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--text-muted)}.tag-accent{background:var(--accent-soft);color:var(--accent-ink)}.tag-draw{background:var(--draw-soft);color:var(--draw)}.tag-loss{background:var(--loss-soft);color:var(--loss)}.tone-neutral{--tone: var(--text-muted)}.tone-white{--tone: #f4f3ee;--tone-ink: #1c1b19}.tone-draw{--tone: var(--draw)}.tone-black{--tone: #2b2a27;--tone-ink: #f4f3ee}.tone-time{--tone: var(--tone-time)}.tone-ending{--tone: var(--tone-ending)}.tone-date{--tone: var(--tone-date)}.tone-length{--tone: var(--tone-length)}.tone-rating{--tone: var(--tone-rating)}.tone-check{--tone: var(--loss)}.tag.toned{background:color-mix(in srgb, var(--tone) 16%, transparent);color:var(--tone)}.tag.toned.tag-strong{background:var(--tone);color:var(--tone-ink, var(--surface))}.toned:is(.tone-white,.tone-black){box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 30%, transparent)}.chip.toned:is(.tone-white,.tone-black):not(.active),.tag.toned:is(.tone-white,.tone-black):not(.tag-strong){color:var(--text)}.chip.toned{border-color:color-mix(in srgb, var(--tone) 40%, var(--border));background:color-mix(in srgb, var(--tone) 8%, var(--surface));color:var(--tone)}.chip.toned:hover{background:color-mix(in srgb, var(--tone) 16%, var(--surface))}.chip.toned.active{border-color:var(--tone);background:var(--tone);color:var(--tone-ink, var(--surface))}.chip.toned:is(.tone-white,.tone-black):not(.active){border-color:var(--border);background:var(--surface);box-shadow:none;color:var(--text-muted)}.chip.toned:is(.tone-white,.tone-black).active{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-lg);padding:0 var(--space-4);border:1px solid rgba(0,0,0,0);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}.button:active:not(:disabled){transform:scale(0.97)}.button:disabled{opacity:.45;cursor:default}.button-primary,.infinity-header .account-out{background:var(--accent);color:var(--on-accent)}.button-primary:hover:not(:disabled),.infinity-header .account-out:hover:not(:disabled){background:var(--accent-hover)}.button-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.button-secondary:hover:not(:disabled){background:var(--surface-2)}.button-ghost,.infinity-header .account-in{background:rgba(0,0,0,0);color:var(--text-muted)}.button-ghost:hover:not(:disabled),.infinity-header .account-in:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.tabs{display:inline-flex;max-width:100%;overflow-x:auto;scrollbar-width:none;gap:var(--space-0);padding:var(--space-1);border-radius:var(--radius-md);background:var(--surface-2)}.tab{display:inline-flex;flex:none;white-space:nowrap;align-items:center;text-decoration:none;height:var(--control-md);padding:0 var(--space-4);border:0;border-radius:calc(var(--radius-md) - var(--space-1));background:rgba(0,0,0,0);color:var(--text-muted);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background var(--normal) var(--ease),color var(--normal) var(--ease),box-shadow var(--normal) var(--ease)}.tab:hover{color:var(--text)}.tab.active,.tab[aria-current=page]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.spacer{flex:1}.icon{width:18px;height:18px;flex:none}.button.icon-only{width:var(--control-lg);padding:0}@media(max-width: 600px){:root{--top-bar: 56px}.topbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);height:var(--top-bar);padding:0 var(--space-3);border-bottom:1px solid var(--border);background:var(--surface)}.topbar .brand{padding:0}.drawer-top .drawer-close{display:inline-flex}.drawer{padding-top:0}.drawer-top{flex:none;height:var(--top-bar)}.drawer{position:fixed;z-index:90;inset:0;width:100%;height:100dvh;overflow-y:auto;scrollbar-width:none;border-right:0;transform:translateX(100%);visibility:hidden;transition:transform var(--normal) var(--ease),visibility 0s linear var(--normal)}.drawer.open{transform:none;visibility:visible;transition:transform var(--normal) var(--ease)}.drawer-backdrop{position:fixed;z-index:85;inset:0;display:block;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity var(--normal) var(--ease)}.drawer-backdrop.open{opacity:1;pointer-events:auto}}.explorer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.explorer-eval{margin-left:auto;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.explorer{display:flex;flex-direction:column;height:300px;margin:0 calc(-1*var(--space-2));overflow-y:auto}.explorer-row{flex:none;min-height:30px}.explorer.loading{opacity:.5;pointer-events:none;transition:opacity var(--fast) var(--ease) 150ms}.explorer .error{padding:0 var(--space-2)}.explorer-row{display:grid;grid-template-columns:3.4em 6.2em 1fr;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-sm);background:rgba(0,0,0,0);color:var(--text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background var(--fast) var(--ease)}.explorer-row:hover{background:var(--accent-soft)}.explorer-move{font-weight:700}.explorer-games{font-variant-numeric:tabular-nums;white-space:nowrap}.results{display:flex;height:20px;border-radius:var(--radius-sm);overflow:hidden;box-shadow:inset 0 0 0 1px var(--border);font-size:var(--text-xs);font-weight:600;line-height:20px}.result{display:block;text-align:center;overflow:hidden;white-space:nowrap;transition:width var(--slow) var(--ease)}.result.white{background:#f4f3ee;color:#3a3935}.result.draw{background:#9c9a93;color:#1c1b19}.result.black{background:#3a3935;color:#f4f3ee}@media(max-width: 600px){.explorer-row{grid-template-columns:3.4em minmax(0, 1fr);row-gap:var(--space-1)}.explorer-row .results{grid-column:1/-1}}.app-main:has(>.games-page){max-width:none;overflow:hidden}.games-page{display:grid;grid-template-columns:minmax(0, 1fr);height:100%}.filters-drawer{container:filters/inline-size;position:fixed;z-index:60;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:max(380px,(100vw - var(--nav-width))/2);max-width:100vw;border-left:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);translate:100% 0;visibility:hidden;transition:translate var(--slow) var(--ease),visibility 0s linear var(--slow)}.filters-drawer.open{translate:0 0;visibility:visible;transition:translate var(--slow) var(--ease)}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--pad-y) var(--pad-x);border-bottom:1px solid var(--border)}.games-filters{flex:1;display:grid;grid-template-columns:minmax(0, 1fr);align-content:start;gap:var(--space-5);min-height:0;overflow-y:auto;padding:var(--pad-y) var(--pad-x)}@container filters (min-width: 560px){.games-filters{grid-template-columns:repeat(2, minmax(0, 1fr));column-gap:var(--space-6)}.games-filters>:is(.filters-head,.filter-position){grid-column:1/-1}}@media(max-width: 480px){.filters-drawer{width:100vw;border-left:0}}.drawer-foot{padding:var(--space-3) var(--pad-x);border-top:1px solid var(--border)}.drawer-foot .button{width:100%}.filters-backdrop{position:fixed;inset:0;z-index:50;background:color-mix(in srgb, #000 60%, transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity var(--slow) var(--ease)}.filters-backdrop.open{opacity:1;pointer-events:auto}.games-toolbar-start{grid-area:tools;display:flex;flex:0 1 auto;align-items:center;gap:var(--space-2);min-width:0}.filters-button{flex:none}.chip-row{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-1) var(--space-2) var(--space-2) 0;margin-bottom:calc(-1*var(--space-1));overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab}.chip-row::-webkit-scrollbar{display:none}.chip-row:empty{display:none}.chip-row>*{flex:none}.chip-row-wrap{position:relative;display:flex;min-width:0}.chip-row-wrap::before,.chip-row-wrap::after{content:"";position:absolute;top:0;bottom:0;z-index:1;width:32px;opacity:0;pointer-events:none;transition:opacity var(--fast) var(--ease)}.chip-row-wrap::before{left:0;background:linear-gradient(to right, var(--bg), transparent)}.chip-row-wrap::after{right:0;background:linear-gradient(to left, var(--bg), transparent)}.chip-row-wrap.fade-left::before,.chip-row-wrap.fade-right::after{opacity:1}.filters-button.active{border-color:var(--accent);color:var(--accent-ink)}.filters-button .badge{background:var(--accent);color:var(--on-accent)}.filter{display:flex;flex-direction:column;gap:var(--space-2)}.filter-title{margin:0;color:var(--text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.filter-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--control-sm, 24px)}.filter-reset{padding-block:0;font-size:var(--text-xs)}.filter-reset:disabled{visibility:hidden}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filters-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.filters-head .chip:disabled{opacity:.4;cursor:default}.segments{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface-2)}.segment{height:calc(var(--control-sm) - 4px);padding:0 var(--space-3);border:0;border-radius:var(--radius-full);background:rgba(0,0,0,0);color:var(--text-muted);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer}.segment.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.filter-range{display:grid;grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);align-items:center;gap:var(--space-2)}.filter-range .input{height:var(--control-md);padding:0 var(--space-2);font-variant-numeric:tabular-nums}.opening-matches{max-height:9rem;overflow-y:auto}.opening-matches:empty{display:none}.input:is(.tone-rating,.tone-date,.tone-length){border-color:color-mix(in srgb, var(--tone) 40%, var(--border));background:color-mix(in srgb, var(--tone) 6%, var(--surface));accent-color:var(--tone)}.input:is(.tone-rating,.tone-date,.tone-length):focus{border-color:var(--tone);box-shadow:0 0 0 3px color-mix(in srgb, var(--tone) 22%, transparent)}.games-results{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;min-height:0}.games-head{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0, max-content) 1fr auto;grid-template-areas:"tools total pager";align-items:center;justify-content:flex-start;gap:var(--space-2) var(--space-4)}.games-summary{display:inline-flex;flex:none;align-items:center;margin:0 auto 0 0;white-space:nowrap}.games-head>.games-summary{grid-area:total}.summary-unit{margin-left:.3em}.games-head>.pager{grid-area:pager}@media(max-width: 1372px){.games-head{grid-template-columns:minmax(0, 1fr) auto;grid-template-areas:"tools tools" "total pager";row-gap:var(--space-2)}}.sort{position:relative;flex:none}.sort-button{gap:var(--space-2)}.sort-button.active{border-color:var(--accent);color:var(--accent-ink)}.sort-label{color:var(--text-muted)}.sort-chosen{font-weight:600}.sort-menu{position:absolute;z-index:80;top:calc(100% + var(--space-1));left:0;display:flex;flex-direction:column;gap:2px;min-width:100%;margin:0;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);list-style:none;animation:rise var(--fast) var(--ease) both}.sort-option{display:flex;align-items:center;width:100%;height:var(--control-md);padding:0 var(--space-3);border:1px solid rgba(0,0,0,0);border-radius:var(--radius-sm, var(--radius-md));background:none;color:var(--text);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;text-align:left}.sort-option:hover{background:var(--surface-2)}.sort-option.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.input{width:100%;height:var(--control-lg);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-sm);transition:border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.input:focus{border-color:var(--accent)}select.input{width:auto;padding-right:var(--space-5);cursor:pointer}textarea.input{height:auto;min-height:6rem;padding:var(--space-2) var(--space-3);line-height:1.5;resize:vertical}.setup{display:flex;flex-direction:column;gap:var(--space-4)}.palette{display:flex;flex-direction:column;gap:var(--space-1)}.palette-row{display:flex;gap:var(--space-1)}.tool{height:44px;min-width:44px;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);background-size:80%;background-position:center;background-repeat:no-repeat;color:var(--text-muted);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.tool:hover{background-color:var(--surface-2)}.tool.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background-color:var(--accent-soft);color:var(--accent-ink)}.tool-text{display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.field .tabs{align-self:flex-start}.chip{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-muted);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all var(--fast) var(--ease)}.chip:hover{background:var(--surface-2)}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.errors{margin:0;padding:0;list-style:none}.errors:empty{display:none}.error{color:var(--loss);font-size:var(--text-sm)}.errors .error::before{content:"• "}.credits{font-size:var(--text-xs)}.credits a{color:inherit}.view{animation:rise var(--slow) var(--ease) backwards}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--text) 7%, transparent) 50%, transparent 100%) 0 0/200% 100% no-repeat,var(--surface-2);animation:shimmer 1.4s linear infinite}@keyframes shimmer{from{background-position:150% 0,0 0}to{background-position:-50% 0,0 0}}@media(prefers-reduced-motion: reduce){.skeleton{animation:none}}.skeleton.text{display:inline-block;width:70%;height:.9em;vertical-align:-0.1em}.skeleton.text.short{width:40%}.skeleton.text.wide{width:90%}.skeleton.bar{height:20px}.skeleton.block{height:96px}.skeleton.block.tall{height:180px}.skeleton.board-skeleton{width:calc(var(--board-size) + var(--eval-bar) + var(--space-2));height:calc(var(--board-size) + var(--space-4) + var(--board-controls));border-radius:var(--radius-md)}.engine-line .skeleton.engine-score{height:18px;box-shadow:none}.engine-line:has(>.skeleton){cursor:default;animation:none}.engine-line:has(>.skeleton):hover{background:rgba(0,0,0,0)}.explorer-row:has(>.skeleton){cursor:default}.explorer-row:has(>.skeleton):hover{background:rgba(0,0,0,0)}.game-card-skeleton{cursor:default}.game-card-skeleton .game-panel{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-2);box-shadow:none}.table-card .size-bar:empty{background:var(--surface-2)}.spinner{display:inline-block;flex:none;width:12px;height:12px;margin-inline:var(--space-1);border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:var(--radius-full);vertical-align:-1px;animation:spin .7s linear infinite}@keyframes spin{to{rotate:1turn}}.explorer-head .spinner{color:var(--text-muted)}.copied-bubble{position:fixed;z-index:200;translate:-50% calc(-100% - 10px);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-md);font-size:var(--text-xs);font-weight:700;pointer-events:none;animation:bubble 1.1s var(--ease) both}@keyframes bubble{0%{opacity:0;translate:-50% calc(-100% - 2px)}15%,75%{opacity:1;translate:-50% calc(-100% - 10px)}100%{opacity:0;translate:-50% calc(-100% - 14px)}}[data-copy]{cursor:copy}.appearance{position:relative}.appearance-button{width:100%;border:0;background:none;font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.appearance-button.open{background:var(--surface-2);color:var(--text)}.appearance-menu{position:absolute;z-index:80;left:0;bottom:calc(100% + var(--space-2));display:flex;flex-direction:column;gap:var(--space-4);width:240px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);animation:rise var(--fast) var(--ease) both}.appearance-menu .segments{align-self:flex-start}@media(min-width: 601px)and (max-width: 1200px){.appearance-button{width:44px}}:root:not([data-board=classic]){--pixel-frame: color-mix(in srgb, var(--text) 16%, var(--surface));--pixel-shadow: color-mix(in srgb, var(--graphite) 16%, transparent);--pixel-notch: polygon( 0 2px, 2px 2px, 2px 0, calc(100% - 2px) 0, calc(100% - 2px) 2px, 100% 2px, 100% calc(100% - 2px), calc(100% - 2px) calc(100% - 2px), calc(100% - 2px) 100%, 2px 100%, 2px calc(100% - 2px), 0 calc(100% - 2px) );--pixel-card: 0 -2px 0 0 var(--pixel-frame), 0 2px 0 0 var(--pixel-frame), -2px 0 0 0 var(--pixel-frame), 2px 0 0 0 var(--pixel-frame)}:root:not([data-board=classic]) :is(h1,h2,h3,.card-title,.panel-title,.home-title){font-family:var(--font-pixel);font-weight:400;letter-spacing:.02em}:root:not([data-board=classic])[data-theme=dark]{--pixel-shadow: #0000006b}@media(prefers-color-scheme: dark){:root:not([data-board=classic]):not([data-theme]){--pixel-shadow: #0000006b}}:root:not([data-board=classic]) .card{border-color:rgba(0,0,0,0);border-radius:0;box-shadow:var(--pixel-card),4px 4px 0 0 var(--pixel-shadow);transition:box-shadow var(--fast) steps(2),transform var(--fast) steps(2)}:root:not([data-board=classic]) .card.interactive:hover{box-shadow:var(--pixel-card),6px 6px 0 0 var(--pixel-shadow);transform:translate(-2px, -2px)}:root:not([data-board=classic]) .card.interactive:active{box-shadow:var(--pixel-card),2px 2px 0 0 var(--pixel-shadow);transform:translate(2px, 2px)}:root:not([data-board=classic]) .sort-menu{border-color:rgba(0,0,0,0);border-radius:0;box-shadow:var(--pixel-card),4px 4px 0 0 var(--pixel-shadow);animation-timing-function:steps(2)}:root:not([data-board=classic]) .sort-option{border-radius:0;transition:background var(--fast) steps(2)}:root:not([data-board=classic]) .sort-option.active{border-color:rgba(0,0,0,0);box-shadow:0 -2px 0 0 var(--accent), 0 2px 0 0 var(--accent), -2px 0 0 0 var(--accent), 2px 0 0 0 var(--accent)}:root:not([data-board=classic]) :is(.tag,.badge,.chip,.segments,.segment){border-radius:0;clip-path:var(--pixel-notch);font-family:var(--font-pixel);font-weight:400;letter-spacing:.03em}:root:not([data-board=classic]) :is(.chip,.segment):focus-visible{outline-offset:-3px}:root:not([data-board=classic]) :is(.nav-label,.nav-heading,.server-status,.back-link,.button,.tab,.tool-text,.pager-page,.field-label,.tile-label,.tile-value,.topic-number,.index-name,.index-size,.table-name,.table-rows,.table-size,.engine-score,.engine-moves,.explorer-row,.explorer-games,.player-name,.player-rating,.game-result,.result,.games-summary,.game-card-move,.fan-value,.stack-count,.copied-bubble,.sort-option,.consent-text){font-family:var(--font-pixel);font-weight:400;letter-spacing:.02em}:root:not([data-board=classic]){--radius-xs: 0;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-full: 0}:root:not([data-board=classic]) :is(.brand-name,.brand-sub){font-family:var(--font-pixel);font-weight:400;letter-spacing:.02em}:root:not([data-board=classic]) :is(.status-dot,.switch-knob,.spinner,.player-color,.active-filter-board .board){border-radius:0}:root:not([data-board=classic]) .logo{shape-rendering:crispEdges}:root:not([data-board=classic]) .logo .bit{rx:0}:root:not([data-board=classic]) :is(.button-primary,.infinity-header .account-out,.button-secondary){--frame: var(--pixel-frame);border-color:rgba(0,0,0,0);box-shadow:0 -2px 0 0 var(--frame),0 2px 0 0 var(--frame),-2px 0 0 0 var(--frame),2px 0 0 0 var(--frame),3px 3px 0 0 var(--pixel-shadow)}:root:not([data-board=classic]) .button-primary,:root:not([data-board=classic]) .infinity-header .account-out{--frame: var(--accent-hover)}:root:not([data-board=classic]) :is(.button-primary,.infinity-header .account-out,.button-secondary):hover:not(:disabled){transform:translate(-1px, -1px);box-shadow:0 -2px 0 0 var(--frame),0 2px 0 0 var(--frame),-2px 0 0 0 var(--frame),2px 0 0 0 var(--frame),4px 4px 0 0 var(--pixel-shadow)}:root:not([data-board=classic]) .button:active:not(:disabled){transform:translate(2px, 2px)}:root:not([data-board=classic]) :is(.button-primary,.infinity-header .account-out,.button-secondary):active:not(:disabled){box-shadow:0 -2px 0 0 var(--frame),0 2px 0 0 var(--frame),-2px 0 0 0 var(--frame),2px 0 0 0 var(--frame),1px 1px 0 0 var(--pixel-shadow)}:root:not([data-board=classic]) :is(.button,.chip,.tab,.tool,.nav-link,.icon-chip,.back-link,.engine-line,.explorer-row,.active-filter-remove,.pager button){transition-timing-function:steps(2)}:root:not([data-board=classic]) .input{border-width:2px;border-color:var(--pixel-frame);caret-shape:block;transition-timing-function:steps(2)}:root:not([data-board=classic]) .input:focus{border-color:var(--accent);box-shadow:none}:root:not([data-board=classic]) .input:is(.tone-rating,.tone-date,.tone-length){border-color:color-mix(in srgb, var(--tone) 55%, var(--pixel-frame))}:root:not([data-board=classic]) .input:is(.tone-rating,.tone-date,.tone-length):focus{border-color:var(--tone);box-shadow:none}:root:not([data-board=classic]){font-synthesis-weight:none;--pixel-round: polygon( 0 4px, 2px 4px, 2px 2px, 4px 2px, 4px 0, calc(100% - 4px) 0, calc(100% - 4px) 2px, calc(100% - 2px) 2px, calc(100% - 2px) 4px, 100% 4px, 100% calc(100% - 4px), calc(100% - 2px) calc(100% - 4px), calc(100% - 2px) calc(100% - 2px), calc(100% - 4px) calc(100% - 2px), calc(100% - 4px) 100%, 4px 100%, 4px calc(100% - 2px), 2px calc(100% - 2px), 2px calc(100% - 4px), 0 calc(100% - 4px) )}:root:not([data-board=classic]) .explorer-move{font-weight:400}:root:not([data-board=classic]) :is(.switch,.switch-knob,.segment){transition-duration:90ms;transition-timing-function:var(--ease)}:root:not([data-board=classic]) :is(.switch,.switch-knob){clip-path:var(--pixel-round)}:root:not([data-board=classic]) .switch:focus-visible{outline-offset:-3px}:root:not([data-board=classic]) .player-color{clip-path:var(--pixel-notch)}.icon{display:inline-block}.icon .icon-bit{display:none}:root:not([data-board=classic]) .icon{width:calc(9*var(--icon-cell, 2px));height:calc(9*var(--icon-cell, 2px))}:root:not([data-board=classic]) .icon .icon-bit{display:inline}:root:not([data-board=classic]) .icon .icon-classic{display:none}.user-icon{display:block;flex:none;width:32px;height:32px;fill:currentColor}.icon-picker{display:grid;grid-template-columns:repeat(auto-fill, minmax(44px, 1fr));gap:var(--space-1)}.icon-choice{display:grid;place-items:center;aspect-ratio:1;padding:0;color:var(--text-muted);cursor:pointer;background:var(--surface-2);border:2px solid rgba(0,0,0,0);border-radius:var(--radius-sm)}.icon-choice:hover{color:var(--text);border-color:var(--border)}.icon-choice.picked{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.icon-choice:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.icon-sheet-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:var(--space-3);padding:0;list-style:none}.icon-sheet-row{display:flex;align-items:center;gap:var(--space-3)}.icon-sheet-small .user-icon{width:16px;height:16px}.icon-sheet-large .user-icon{width:48px;height:48px}.account-backdrop{position:fixed;z-index:210;inset:0;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb, #000 45%, transparent);animation:fade var(--fast) var(--ease) both}.account-dialog{display:flex;flex-direction:column;gap:var(--space-4);width:min(var(--dialog-width),100%);max-height:calc(100dvh - 2*var(--space-4));overflow-y:auto;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);animation:rise var(--fast) var(--ease) both}.account-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.account-title{margin:0;font-size:var(--text-lg);font-weight:700}.account-tabs{align-self:stretch}.account-tabs .tab{flex:1}.account-form{display:flex;flex-direction:column;gap:var(--space-3)}.account-field{display:flex;flex-direction:column;gap:var(--space-1)}.account-field .input{width:100%}.account-hint,.account-notice{margin:0;color:var(--text-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.account-notice{color:var(--win)}.account-dialog .error{margin:0;color:var(--loss);font-size:var(--text-sm)}.account-link{align-self:flex-start;padding:0;color:var(--accent-ink);font:inherit;font-size:var(--text-sm);text-decoration:underline;cursor:pointer;background:none;border:0}.account-submit,.account-google,.account-sign-out{width:100%}.account-or{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase}.account-or::before,.account-or::after{content:"";flex:1;border-top:1px solid var(--border)}.account-returning{padding:var(--main-pad);color:var(--text-muted)}.account-button.nav-link{border:0;background:none;font:inherit;font-size:var(--text-sm);font-weight:600;text-align:left;cursor:pointer}.nav-link.account-button .avatar,.account-compact .avatar{--avatar-size: 24px;padding:var(--space-1)}.nav-link.account-button{--icon-slot: 20px}:root:not([data-board=classic]) .nav-link.account-button{--icon-slot: calc(9 * var(--icon-cell, 2px))}.nav-link.account-button>.user-icon{width:16px;height:16px;margin-inline:calc((var(--icon-slot) - 16px)/2)}.sidebar .nav-link.account-button>.avatar{margin-block:0;margin-inline:calc((var(--icon-slot) - var(--avatar-size))/2)}.account-compact>.user-icon{width:16px;height:16px}.account-compact .account-name{display:none}.account-waiting.nav-link{display:block}.topbar-account{margin-left:auto}.avatar{--avatar-size: 40px;display:inline-grid;flex:none;place-items:center;width:var(--avatar-size);height:var(--avatar-size);padding:calc(var(--avatar-size)/10);color:var(--avatar-ink);background:var(--avatar-fill);border-radius:var(--radius-sm)}.avatar .user-icon{width:100%;height:100%}:root:not([data-board=classic]) .avatar{margin:var(--space-0);border-radius:0;box-shadow:0 -2px 0 0 color-mix(in srgb, var(--avatar-fill) 55%, var(--text)),0 2px 0 0 color-mix(in srgb, var(--avatar-fill) 55%, var(--text)),-2px 0 0 0 color-mix(in srgb, var(--avatar-fill) 55%, var(--text)),2px 0 0 0 color-mix(in srgb, var(--avatar-fill) 55%, var(--text))}.account-preview{display:flex;justify-content:center}.account-preview .avatar{--avatar-size: 72px}.icon-choice:has(.avatar){background:none}.colour-picker{display:grid;grid-template-columns:repeat(auto-fill, minmax(28px, 1fr));gap:var(--space-2)}.colour-choice{aspect-ratio:1;padding:0;cursor:pointer;background:var(--avatar-fill);border:2px solid var(--border);border-radius:var(--radius-sm)}.colour-choice.picked{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text)}.colour-choice:focus-visible{outline:2px solid var(--focus);outline-offset:2px}:root{--board-light: #e4dade;--board-dark: #8b5b71;--board-font: var(--font-pixel);--hl-last: rgb(224 143 171 / 0.42);--hl-selected: rgb(224 143 171 / 0.62);--hl-dot: rgb(44 44 44 / 0.26);--hl-check: rgb(214 52 96 / 0.9);--hl-check-halo: rgb(214 52 96 / 0.55);--piece-move: 180ms}:root[data-board=classic]{--board-light: #ebecd0;--board-dark: #779556;--board-font: var(--font);--hl-last: rgb(255 255 51 / 0.42);--hl-selected: rgb(255 255 51 / 0.55);--hl-dot: rgb(0 0 0 / 0.18);--hl-check: rgb(255 0 0 / 0.9);--hl-check-halo: rgb(231 0 0 / 0.55)}@media(prefers-reduced-motion: reduce){:root{--piece-move: 0ms}}.board{position:relative;width:var(--board-size);aspect-ratio:1;margin-inline:auto;border-radius:var(--radius-sm);overflow:hidden;background:var(--board-light);user-select:none;-webkit-user-select:none;touch-action:none}.board::before{content:"";position:absolute;inset:0;background:var(--board-dark);mask:url(assets/shared/board/squares.svg) 0 0/100% 100%;-webkit-mask:url(assets/shared/board/squares.svg) 0 0/100% 100%}.piece,.coord,.hl{position:absolute;top:0;left:0;width:12.5%;height:12.5%;translate:calc(var(--file)*100%) calc((7 - var(--rank))*100%)}.board.flipped :is(.piece,.coord,.hl){translate:calc((7 - var(--file))*100%) calc(var(--rank)*100%)}.sq-a1{--file: 0;--rank: 0}.sq-b1{--file: 1;--rank: 0}.sq-c1{--file: 2;--rank: 0}.sq-d1{--file: 3;--rank: 0}.sq-e1{--file: 4;--rank: 0}.sq-f1{--file: 5;--rank: 0}.sq-g1{--file: 6;--rank: 0}.sq-h1{--file: 7;--rank: 0}.sq-a2{--file: 0;--rank: 1}.sq-b2{--file: 1;--rank: 1}.sq-c2{--file: 2;--rank: 1}.sq-d2{--file: 3;--rank: 1}.sq-e2{--file: 4;--rank: 1}.sq-f2{--file: 5;--rank: 1}.sq-g2{--file: 6;--rank: 1}.sq-h2{--file: 7;--rank: 1}.sq-a3{--file: 0;--rank: 2}.sq-b3{--file: 1;--rank: 2}.sq-c3{--file: 2;--rank: 2}.sq-d3{--file: 3;--rank: 2}.sq-e3{--file: 4;--rank: 2}.sq-f3{--file: 5;--rank: 2}.sq-g3{--file: 6;--rank: 2}.sq-h3{--file: 7;--rank: 2}.sq-a4{--file: 0;--rank: 3}.sq-b4{--file: 1;--rank: 3}.sq-c4{--file: 2;--rank: 3}.sq-d4{--file: 3;--rank: 3}.sq-e4{--file: 4;--rank: 3}.sq-f4{--file: 5;--rank: 3}.sq-g4{--file: 6;--rank: 3}.sq-h4{--file: 7;--rank: 3}.sq-a5{--file: 0;--rank: 4}.sq-b5{--file: 1;--rank: 4}.sq-c5{--file: 2;--rank: 4}.sq-d5{--file: 3;--rank: 4}.sq-e5{--file: 4;--rank: 4}.sq-f5{--file: 5;--rank: 4}.sq-g5{--file: 6;--rank: 4}.sq-h5{--file: 7;--rank: 4}.sq-a6{--file: 0;--rank: 5}.sq-b6{--file: 1;--rank: 5}.sq-c6{--file: 2;--rank: 5}.sq-d6{--file: 3;--rank: 5}.sq-e6{--file: 4;--rank: 5}.sq-f6{--file: 5;--rank: 5}.sq-g6{--file: 6;--rank: 5}.sq-h6{--file: 7;--rank: 5}.sq-a7{--file: 0;--rank: 6}.sq-b7{--file: 1;--rank: 6}.sq-c7{--file: 2;--rank: 6}.sq-d7{--file: 3;--rank: 6}.sq-e7{--file: 4;--rank: 6}.sq-f7{--file: 5;--rank: 6}.sq-g7{--file: 6;--rank: 6}.sq-h7{--file: 7;--rank: 6}.sq-a8{--file: 0;--rank: 7}.sq-b8{--file: 1;--rank: 7}.sq-c8{--file: 2;--rank: 7}.sq-d8{--file: 3;--rank: 7}.sq-e8{--file: 4;--rank: 7}.sq-f8{--file: 5;--rank: 7}.sq-g8{--file: 6;--rank: 7}.sq-h8{--file: 7;--rank: 7}.piece{z-index:2;background-size:cover;will-change:translate;transition:translate var(--piece-move) var(--ease),opacity var(--piece-move) var(--ease),scale var(--piece-move) var(--ease)}.board:not(.dragging) .piece{cursor:pointer}.board.dragging,.piece.dragged{cursor:grabbing}.piece.dragged{z-index:10;scale:1.08;transition:none}.piece.gone{opacity:0;scale:.7;pointer-events:none}:is(.piece,.piece-img).white.king{background-image:url(assets/themes/classic/pieces/wK.svg)}:is(.piece,.piece-img).white.queen{background-image:url(assets/themes/classic/pieces/wQ.svg)}:is(.piece,.piece-img).white.rook{background-image:url(assets/themes/classic/pieces/wR.svg)}:is(.piece,.piece-img).white.bishop{background-image:url(assets/themes/classic/pieces/wB.svg)}:is(.piece,.piece-img).white.knight{background-image:url(assets/themes/classic/pieces/wN.svg)}:is(.piece,.piece-img).white.pawn{background-image:url(assets/themes/classic/pieces/wP.svg)}:is(.piece,.piece-img).black.king{background-image:url(assets/themes/classic/pieces/bK.svg)}:is(.piece,.piece-img).black.queen{background-image:url(assets/themes/classic/pieces/bQ.svg)}:is(.piece,.piece-img).black.rook{background-image:url(assets/themes/classic/pieces/bR.svg)}:is(.piece,.piece-img).black.bishop{background-image:url(assets/themes/classic/pieces/bB.svg)}:is(.piece,.piece-img).black.knight{background-image:url(assets/themes/classic/pieces/bN.svg)}:is(.piece,.piece-img).black.pawn{background-image:url(assets/themes/classic/pieces/bP.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).white.king{background-image:url(assets/themes/bit/pieces/wK.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).white.queen{background-image:url(assets/themes/bit/pieces/wQ.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).white.rook{background-image:url(assets/themes/bit/pieces/wR.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).white.bishop{background-image:url(assets/themes/bit/pieces/wB.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).white.knight{background-image:url(assets/themes/bit/pieces/wN.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).white.pawn{background-image:url(assets/themes/bit/pieces/wP.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).black.king{background-image:url(assets/themes/bit/pieces/bK.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).black.queen{background-image:url(assets/themes/bit/pieces/bQ.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).black.rook{background-image:url(assets/themes/bit/pieces/bR.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).black.bishop{background-image:url(assets/themes/bit/pieces/bB.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).black.knight{background-image:url(assets/themes/bit/pieces/bN.svg)}:root:not([data-pieces=classic]) :is(.piece,.piece-img).black.pawn{background-image:url(assets/themes/bit/pieces/bP.svg)}.coord{z-index:1;padding:2px 4px;font-family:var(--board-font);font-size:clamp(9px,var(--board-size)/45,13px);font-weight:700;line-height:1;pointer-events:none}:root:not([data-board=classic]) .coord{font-size:clamp(11px,var(--board-size)/38,15px);font-weight:400}.coord.on-dark{color:color-mix(in srgb, var(--board-light) 50%, #fff)}.coord.on-light{color:color-mix(in srgb, var(--board-dark) 70%, #000)}:root[data-board=classic] .coord.on-dark{color:color-mix(in srgb, var(--board-dark) 25%, #000)}.coord.file{display:flex;align-items:flex-end;justify-content:flex-end}.hl{z-index:1;pointer-events:none}.hl.last-move{background:var(--hl-last)}.hl.selected{background:var(--hl-selected)}.hl.target{background:radial-gradient(circle, var(--hl-dot) 16%, transparent 17%)}.hl.capture{background:radial-gradient(circle, transparent 62%, var(--hl-dot) 63%)}.hl.check{background:radial-gradient(circle, var(--hl-check) 0%, var(--hl-check-halo) 30%, transparent 72%)}.hl.hover{box-shadow:inset 0 0 0 4px hsla(0,0%,100%,.65)}.promotion{position:absolute;inset:0;z-index:20;background:rgba(0,0,0,.4);animation:fade var(--normal) var(--ease) both}.promotion-choice{border:0;padding:0;border-radius:var(--radius-full);background-color:var(--board-light);box-shadow:0 2px 10px rgba(0,0,0,.35);cursor:pointer;transition:background-color var(--fast) var(--ease),scale var(--fast) var(--ease)}.promotion-choice:hover{background-color:#fff;scale:1.06}@keyframes fade{from{opacity:0}}.board{--brush-green: 21 120 27;--brush-red: 136 32 32;--brush-blue: 0 48 136;--brush-yellow: 230 143 0}.hl.mark.green{background:rgb(var(--brush-green)/0.55)}.hl.mark.red{background:rgb(var(--brush-red)/0.6)}.hl.mark.blue{background:rgb(var(--brush-blue)/0.55)}.hl.mark.yellow{background:rgb(var(--brush-yellow)/0.6)}:root:not([data-board=classic]) .hl.last-move{background-image:url(assets/themes/bit/board/last-move.svg);background-size:100% 100%}:root:not([data-board=classic]) .hl.selected{background-image:url(assets/themes/bit/board/selected.svg);background-size:100% 100%}:root:not([data-board=classic]) .hl.target{background:url(assets/themes/bit/board/target.svg) 0 0/100% 100%}:root:not([data-board=classic]) .hl.capture{background:url(assets/themes/bit/board/capture.svg) 0 0/100% 100%}:root:not([data-board=classic]) .hl.check{background:url(assets/themes/bit/board/check.svg) 0 0/100% 100%}:root:not([data-board=classic]) .hl.hover{box-shadow:none;background:url(assets/themes/bit/board/hover.svg) 0 0/100% 100%}:root:not([data-board=classic]) .board{--brush-green: 245 197 66;--brush-red: 224 72 72;--brush-blue: 65 105 225;--brush-yellow: 244 239 230}:root:not([data-board=classic]) .hl.mark.green{background:url(assets/themes/bit/board/mark-green.svg) 0 0/100% 100%,rgb(var(--brush-green)/0.18)}:root:not([data-board=classic]) .hl.mark.red{background:url(assets/themes/bit/board/mark-red.svg) 0 0/100% 100%,rgb(var(--brush-red)/0.18)}:root:not([data-board=classic]) .hl.mark.blue{background:url(assets/themes/bit/board/mark-blue.svg) 0 0/100% 100%,rgb(var(--brush-blue)/0.18)}:root:not([data-board=classic]) .hl.mark.yellow{background:url(assets/themes/bit/board/mark-yellow.svg) 0 0/100% 100%,rgb(var(--brush-yellow)/0.18)}.arrows{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none}.arrow{opacity:.8}.arrow.preview{opacity:.55}.arrow path{fill:none;stroke-width:.17;stroke-linejoin:round}.arrow.green path{stroke:rgb(var(--brush-green))}.arrow.red path{stroke:rgb(var(--brush-red))}.arrow.blue path{stroke:rgb(var(--brush-blue))}.arrow.yellow path{stroke:rgb(var(--brush-yellow))}.arrow.green polygon{fill:rgb(var(--brush-green))}.arrow.red polygon{fill:rgb(var(--brush-red))}.arrow.blue polygon{fill:rgb(var(--brush-blue))}.arrow.yellow polygon{fill:rgb(var(--brush-yellow))}.arrow .pixels{display:none;shape-rendering:crispEdges}:root:not([data-board=classic]) .arrow .smooth{display:none}:root:not([data-board=classic]) .arrow .pixels{display:inline}:root:not([data-board=classic]) .arrow{opacity:.7}:root:not([data-board=classic]) .arrow.preview{opacity:.45}.arrow .pixels .outline{fill:#1c1c1c}.arrow.green .pixels .fill{fill:rgb(var(--brush-green))}.arrow.red .pixels .fill{fill:rgb(var(--brush-red))}.arrow.blue .pixels .fill{fill:rgb(var(--brush-blue))}.arrow.yellow .pixels .fill{fill:rgb(var(--brush-yellow))}@media(prefers-reduced-motion: no-preference){:root:not([data-board=classic]) .hl.check{animation:bit-blink .28s steps(1) 4}:root:not([data-board=classic]) .board:has(.hl.selected.sq-a1) .piece.sq-a1:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-b1) .piece.sq-b1:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-c1) .piece.sq-c1:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-d1) .piece.sq-d1:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-e1) .piece.sq-e1:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-f1) .piece.sq-f1:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-g1) .piece.sq-g1:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-h1) .piece.sq-h1:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-a2) .piece.sq-a2:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-b2) .piece.sq-b2:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-c2) .piece.sq-c2:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-d2) .piece.sq-d2:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-e2) .piece.sq-e2:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-f2) .piece.sq-f2:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-g2) .piece.sq-g2:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-h2) .piece.sq-h2:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-a3) .piece.sq-a3:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-b3) .piece.sq-b3:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-c3) .piece.sq-c3:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-d3) .piece.sq-d3:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-e3) .piece.sq-e3:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-f3) .piece.sq-f3:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-g3) .piece.sq-g3:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-h3) .piece.sq-h3:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-a4) .piece.sq-a4:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-b4) .piece.sq-b4:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-c4) .piece.sq-c4:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-d4) .piece.sq-d4:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-e4) .piece.sq-e4:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-f4) .piece.sq-f4:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-g4) .piece.sq-g4:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-h4) .piece.sq-h4:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-a5) .piece.sq-a5:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-b5) .piece.sq-b5:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-c5) .piece.sq-c5:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-d5) .piece.sq-d5:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-e5) .piece.sq-e5:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-f5) .piece.sq-f5:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-g5) .piece.sq-g5:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-h5) .piece.sq-h5:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-a6) .piece.sq-a6:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-b6) .piece.sq-b6:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-c6) .piece.sq-c6:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-d6) .piece.sq-d6:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-e6) .piece.sq-e6:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-f6) .piece.sq-f6:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-g6) .piece.sq-g6:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-h6) .piece.sq-h6:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-a7) .piece.sq-a7:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-b7) .piece.sq-b7:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-c7) .piece.sq-c7:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-d7) .piece.sq-d7:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-e7) .piece.sq-e7:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-f7) .piece.sq-f7:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-g7) .piece.sq-g7:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-h7) .piece.sq-h7:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-a8) .piece.sq-a8:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-b8) .piece.sq-b8:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-c8) .piece.sq-c8:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-d8) .piece.sq-d8:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-e8) .piece.sq-e8:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-f8) .piece.sq-f8:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-g8) .piece.sq-g8:not(.gone,.dragged),:root:not([data-board=classic]) .board:has(.hl.selected.sq-h8) .piece.sq-h8:not(.gone,.dragged){animation:bit-hop .5s steps(1) infinite}:root:not([data-board=classic]) .piece.gone{opacity:1;scale:1;transition:none;mask-size:12.5% 12.5%;-webkit-mask-size:12.5% 12.5%;animation:bit-break .24s steps(1) forwards}}@keyframes bit-blink{50%{opacity:.25}}@keyframes bit-hop{50%{top:-0.390625%}}@keyframes bit-break{0%{mask-image:url(assets/themes/bit/board/dither-75.svg);-webkit-mask-image:url(assets/themes/bit/board/dither-75.svg)}33%{mask-image:url(assets/themes/bit/board/dither-50.svg);-webkit-mask-image:url(assets/themes/bit/board/dither-50.svg)}66%{mask-image:url(assets/themes/bit/board/dither-25.svg);-webkit-mask-image:url(assets/themes/bit/board/dither-25.svg)}100%{opacity:0}}@media(prefers-reduced-motion: no-preference){.board.entering .piece{animation:piece-appear 80ms var(--ease) both;animation-delay:var(--appear-delay, 0ms)}:root:not([data-board=classic]) .board.entering .piece{mask-size:12.5% 12.5%;-webkit-mask-size:12.5% 12.5%;animation:bit-appear 80ms steps(1) both;animation-delay:var(--appear-delay, 0ms)}}@keyframes piece-appear{from{opacity:0;scale:.6}}@keyframes bit-appear{0%{opacity:0}25%{opacity:1;mask-image:url(assets/themes/bit/board/dither-25.svg);-webkit-mask-image:url(assets/themes/bit/board/dither-25.svg)}50%{mask-image:url(assets/themes/bit/board/dither-50.svg);-webkit-mask-image:url(assets/themes/bit/board/dither-50.svg)}75%{mask-image:url(assets/themes/bit/board/dither-75.svg);-webkit-mask-image:url(assets/themes/bit/board/dither-75.svg)}}.board:is(.entering,.leaving) .piece{transition:none}@media(prefers-reduced-motion: no-preference){.board.leaving .piece{animation:piece-leave 80ms var(--ease) both;animation-delay:var(--appear-delay, 0ms)}:root:not([data-board=classic]) .board.leaving .piece{mask-size:12.5% 12.5%;-webkit-mask-size:12.5% 12.5%;animation:bit-leave 80ms steps(1) both;animation-delay:var(--appear-delay, 0ms)}}@keyframes piece-leave{to{opacity:0;scale:.6}}@keyframes bit-leave{25%{mask-image:url(assets/themes/bit/board/dither-75.svg);-webkit-mask-image:url(assets/themes/bit/board/dither-75.svg)}50%{mask-image:url(assets/themes/bit/board/dither-50.svg);-webkit-mask-image:url(assets/themes/bit/board/dither-50.svg)}75%{mask-image:url(assets/themes/bit/board/dither-25.svg);-webkit-mask-image:url(assets/themes/bit/board/dither-25.svg)}100%{opacity:0}}:root[data-animations=off]{--piece-move: 0ms}:root[data-animations=off] :is(.piece,.hl){animation:none !important}:root[data-animations=off] .piece.gone{opacity:0 !important}:root:not([data-board=classic]) .promotion-choice{border-radius:0}@media(pointer: coarse){:root{--control-sm: 36px;--control-md: 44px;--control-lg: 44px;--board-controls: 44px}:is(.chip,.icon-chip,.switch,.player-profile-link){position:relative}:is(.chip,.icon-chip)::after{content:"";position:absolute;inset:-4px}.switch::after{content:"";position:absolute;inset:-11px -2px}.player-profile-link::after{content:"";position:absolute;inset:-15px}:is(.move,.back-link,.engine-line,.topic-nav-link,.account-link,.segment,.pager-input,.appearance-button){min-height:44px}.move{display:inline-flex;align-items:center;justify-content:center;min-width:44px}.engine-line{align-items:center}.appearance-button,.button{min-width:44px}.topbar .brand{min-height:44px}:is(.input,input,select,textarea){font-size:max(16px,1em)}.colour-picker{grid-template-columns:repeat(auto-fill, minmax(44px, 1fr))}.icon-picker{grid-template-columns:repeat(auto-fill, minmax(48px, 1fr))}}.infinity{position:relative;width:100%;height:100%;overflow:hidden}.infinity-stage{position:absolute;inset:0;overflow:hidden}.infinity-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.infinity-canvas:active{cursor:grabbing}.infinity-stage.pointing .infinity-canvas{cursor:pointer}.infinity-live{position:absolute;top:0;left:0;z-index:1}.infinity-live.too-small{display:none}.game-stack{--stack-out: calc(var(--board-size) * 24 / 280);position:absolute;top:var(--stack-out);left:var(--stack-out);z-index:-1;box-sizing:border-box;width:var(--board-size);height:var(--board-size);background:var(--surface);border:calc(var(--board-size)*2/280) solid var(--border);box-shadow:0 calc(var(--board-size)*4/280) 0 rgba(0,0,0,.35)}.game-stack-foot{position:absolute;right:calc(var(--board-size)*8/280);bottom:0;left:calc(var(--board-size)*8/280);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--board-size)*.03);height:var(--stack-out);color:var(--text);font-size:calc(var(--board-size)*11/280);line-height:1;white-space:nowrap}.game-stack-player{display:flex;align-items:baseline;gap:.25em;min-width:0}.game-stack-name{overflow:hidden;text-overflow:ellipsis}.game-stack-clock{margin-left:.3em;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.game-stack-player.to-move .game-stack-clock{color:var(--accent-ink)}.game-stack-clock.low{color:var(--loss)}.flight-here,.draw-bar,.infinity-rail,.follow-news,.infinity-left,.walk-bar,.map-chip,.map-panel,.game-form,.infinity-drawer,.infinity-header,.infinity-arrows,.infinity-zoom{z-index:2;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.infinity-corners{position:absolute;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);pointer-events:none}.infinity-corners>*{pointer-events:auto}.infinity-corners.beside-drawer{right:calc(372px + var(--space-3))}.readout-line{display:grid;grid-template-columns:2.8em minmax(0, 1fr);gap:var(--space-2)}.readout-value{color:var(--text);overflow-wrap:anywhere}.infinity-controls{display:flex;align-items:flex-end;gap:var(--space-2)}.infinity-zoom{display:flex;flex-direction:column}.infinity-arrows{display:grid;grid-template:". up ." "left down right"}.infinity-arrows .up{grid-area:up;rotate:90deg}.infinity-arrows .left{grid-area:left}.infinity-arrows .down{grid-area:down;rotate:90deg}.infinity-arrows .right{grid-area:right}.infinity-float{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);pointer-events:none}.infinity-float>*{pointer-events:auto}.infinity-header{position:relative;display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);min-height:48px;padding:var(--space-1) var(--space-3)}.infinity-name{display:flex;flex-direction:column}.infinity-tools{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}.infinity-title{margin:0;font-size:inherit;white-space:nowrap}.infinity-header .brand{gap:var(--space-2);padding:0}.infinity-header .brand-name{font-size:18px}.infinity-header .brand-sub{font-size:12px}.infinity-header .appearance-button{display:flex;padding:var(--space-1);color:inherit;cursor:pointer}.infinity-header .nav-label{display:none}.infinity-header .appearance-menu{top:calc(100% + var(--space-2));right:0;bottom:auto;left:auto;max-width:calc(100vw - 2*var(--space-4))}.infinity-drawer{display:flex;flex:1;flex-direction:column;align-self:flex-end;width:var(--panel-width);min-height:0;overflow:hidden}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex:none;padding:var(--space-2) var(--space-2) 0 var(--space-3)}.drawer-body{display:flex;flex-direction:column;gap:var(--stack-gap);min-height:0;padding:var(--space-3);overflow-y:auto}.drawer-body>*{flex:none}.drawer-section{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm)}.drawer-section .explorer{height:auto;max-height:240px;margin:0}.note-form{display:flex;flex-direction:column;gap:var(--space-2)}.note-form textarea{width:100%;height:auto;resize:vertical}.note-form-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.notes{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.note{padding:var(--space-1) var(--space-3);border-left:3px solid var(--accent)}.note-body{margin:0;overflow-wrap:anywhere}.note-pinned{border-left-color:var(--hl-selected);margin-block-end:var(--space-3)}.shelf-palette{display:grid;width:min(100%,24rem);margin-inline:auto;grid-template-columns:repeat(8, 1fr);gap:var(--space-1)}.shelf-colour{aspect-ratio:1;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.shelf-colour.bare{background-image:linear-gradient(135deg, transparent 46%, var(--text-muted) 46% 54%, transparent 54%)}.shelf-colour.active{box-shadow:0 0 0 1px var(--surface),0 0 0 3px var(--accent)}.game-form{position:absolute;top:50%;left:50%;z-index:3;display:flex;flex-direction:column;gap:var(--space-3);width:min(var(--dialog-width),100% - 2*var(--space-3));padding:var(--space-4);translate:-50% -50%}.game-form-row{display:flex;flex-direction:column;gap:var(--space-1)}.game-form-check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.game-join,.game-invite{display:flex;flex-direction:column;gap:var(--space-2)}.game-link{font-size:var(--text-xs);overflow-wrap:anywhere;cursor:copy}.game-panel{display:flex;flex:1;flex-direction:column;gap:var(--space-2);min-height:0}.game-middle{display:flex;flex:1;flex-direction:column;gap:var(--space-2);min-height:0}.game-strip{display:flex;flex:none;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.game-strip.to-move{border-color:var(--accent-ink)}.game-side{flex:none;width:12px;height:12px;border:1px solid var(--text-muted);border-radius:var(--radius-full)}.game-side.white{background:#f4f3ee}.game-side.black{background:#2b2a27}.game-name{flex:1;min-width:0;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.game-clock{font-family:var(--font-mono);font-size:var(--text-xl, 1.5rem);font-variant-numeric:tabular-nums}.game-clock.low{color:var(--loss)}.game-time{margin:0}.game-moves{flex:1;min-height:0;margin:0;padding:0;overflow-y:auto;font-family:var(--font-mono);font-size:var(--text-sm);list-style:none}.game-move-row{display:grid;grid-template-columns:3ch 1fr 1fr;gap:var(--space-2);padding:2px var(--space-1)}.game-move-number{color:var(--text-muted)}.game-result{display:flex;flex-direction:column;gap:var(--space-1)}.game-actions{display:flex;flex:none;flex-wrap:wrap;gap:var(--space-2)}.game-offer{flex-basis:100%}.game-column{position:absolute;top:var(--column-top);left:var(--column-left);z-index:2;display:flex;box-sizing:border-box;width:272px;height:var(--column-height);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.game-column.away{display:none}.game-back{position:absolute;top:76px;left:50%;z-index:3;translate:-50% 0}.game-vignette{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at var(--vignette-x) var(--vignette-y), transparent 0 calc(var(--vignette-r) * 0.75), rgba(20, 20, 20, 0.55) calc(var(--vignette-r) * 1.25));transition:opacity var(--normal, 200ms) var(--ease, ease)}.game-vignette.away{opacity:0}.infinity-header.in-a-game{justify-content:space-between}.infinity-header.in-a-game .game-chip{margin-inline:auto}.map-panel{display:flex;flex-direction:column;width:360px;max-width:100%;overflow:hidden}.map-panel:hover,.map-chip:hover{border-color:var(--accent-ink)}.minimap-canvas{display:block;width:360px;height:220px;border-bottom:1px solid var(--border);cursor:pointer;touch-action:none;image-rendering:pixelated}.map-coordinates{position:relative;display:flex;padding:var(--space-2) var(--space-3);border:0;background:none;font:inherit;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);text-align:left;cursor:pointer}.map-coordinates:hover{color:var(--text)}.map-coordinates:focus-visible,.map-chip:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}.map-lines{display:flex;flex:1;flex-direction:column;gap:var(--space-1);min-width:0}.map-key{position:absolute;right:var(--space-3);bottom:var(--space-2)}.map-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);font:inherit;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer}@media(pointer: coarse){.map-coordinates,.map-chip{min-height:44px}}.game-chip{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted)}.game-chip-live{width:8px;height:8px;background:var(--accent-ink)}@media(prefers-reduced-motion: no-preference){.game-chip-live{animation:game-chip-blink 1.2s steps(1) infinite}}@keyframes game-chip-blink{50%{opacity:0}}.trail-scroll{max-height:168px;overflow-y:auto}.trail-map{display:block;width:100%}.trail-leg{stroke:var(--text-muted);stroke-width:1.5}.trail-leg.teleport{stroke-dasharray:4 4}.trail-dot{stroke:rgba(0,0,0,0);stroke-width:6;cursor:pointer}.trail-dot.legal{fill:var(--win)}.trail-dot.illegal{fill:var(--loss)}.trail-dot.empty{fill:var(--surface);stroke:var(--text-muted);stroke-width:1.5}.trail-dot.current{stroke:var(--accent-ink);stroke-width:2.5}.trail-line{margin:var(--space-1) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);overflow-wrap:anywhere}.drawer-title{margin:0;font-size:var(--text-sm)}.infinity-verdict{flex:1;min-width:0;margin:0;font-size:var(--text-sm);font-weight:700}.infinity-verdict.legal{color:var(--accent-ink)}.infinity-hint{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.infinity-label{font-size:var(--text-xs);color:var(--text-muted)}.infinity-stops{width:100%;margin:0;padding:0;list-style:none}.infinity-stop{display:flex;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.infinity-stop:hover{background:var(--accent-soft)}.infinity-stop.current{background:var(--accent-soft);color:var(--accent-ink);font-weight:700}.infinity-stop-number{min-width:2ch;color:var(--text-muted);text-align:right}.detail-link{color:var(--accent-ink)}.infinity-page{width:100%;max-width:var(--reading-width);margin:0 auto;padding:var(--main-pad);overflow-y:auto}.infinity-privacy{font-size:var(--text-sm);line-height:1.6}.infinity-privacy h2{margin:var(--space-4) 0 var(--space-1);font-size:var(--text-md)}.plot-text{margin:0;overflow-wrap:anywhere;white-space:pre-line}@media(max-width: 1100px){.infinity-header .brand-sub{display:none}}@media(max-width: 800px){.minimap-canvas{display:none}.infinity-float{padding:var(--space-2)}.infinity-corners{right:var(--space-2);bottom:var(--space-2);left:var(--space-2)}.infinity-corners.beside-drawer{display:none}.infinity-arrows{display:none}.map-coordinates{padding:var(--space-1) var(--space-2)}.game-column{top:auto;right:var(--space-2);bottom:var(--space-2);left:var(--space-2);display:flex;width:auto;height:auto;max-height:35%;padding:var(--space-2)}.game-chip{display:none}.game-strip.opponent{position:fixed;top:calc(var(--space-2)*2 + 54px);right:var(--space-2);left:var(--space-2);z-index:2}.game-panel{flex-direction:column-reverse}.game-moves{display:flex;flex:none;gap:var(--space-2);overflow:auto hidden}.game-move-row{display:inline-flex;flex:none;padding:0}.game-move-number{margin-right:var(--space-0)}.infinity-drawer{position:absolute;top:auto;right:var(--space-2);bottom:var(--space-2);left:var(--space-2);width:auto;height:calc(60% - var(--space-2))}}.owner-form{display:flex;flex-direction:column;gap:var(--space-3)}.owner-form label{display:flex;flex-direction:column;gap:var(--space-0)}.owner-form textarea{height:auto;resize:vertical}.owner-form .owner-check{flex-direction:row;align-items:center;gap:var(--space-2);min-height:44px;cursor:pointer}.owner-check input{width:18px;height:18px;accent-color:var(--accent-ink)}.plot-one{margin:0}.plot-wide{justify-content:center;width:100%}.plot-kind-value{display:inline-flex;align-items:center;gap:var(--space-1)}.plot-poster{border:2px solid var(--border);background:var(--surface-2);line-height:0;overflow:hidden}.plot-poster img{width:100%;height:auto;max-height:12rem;object-fit:contain;image-rendering:pixelated}.plot-kind-cards{display:flex;flex-direction:column;gap:var(--space-2)}.plot-kind-card{display:flex;gap:var(--space-3);align-items:flex-start;min-height:44px;padding:var(--space-3);border:2px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer}.plot-kind-card:hover{border-color:var(--accent)}.plot-kind-card:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.plot-kind-card.on{border-color:var(--accent-ink);background:var(--accent-soft)}.plot-kind-card-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--border);background:var(--surface);color:var(--accent-ink)}.plot-kind-card-words{display:flex;flex-direction:column;gap:2px}.plot-ask{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:2px solid var(--accent-ink);background:var(--surface-2)}.plot-ask .infinity-hint{margin:0}.infinity-left.manage-panel{width:340px}.manage-head{display:flex;flex-direction:column;gap:2px;min-width:0}.manage-kind,.manage-shape{display:flex;flex-direction:column;gap:var(--space-3)}.plot-kind-card.now{opacity:.85}.plot-kind-now{margin-left:var(--space-2);padding:0 6px;border:2px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:var(--text-xs);font-weight:400}.plot-then{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:2px solid var(--border);background:var(--surface-2)}.plot-then .infinity-hint,.plot-then .infinity-stops,.plot-then .error{margin:0}.plot-then .infinity-stop{cursor:default}.plot-then .infinity-stop:hover{background:none}.plot-map-scroll{max-height:22rem;overflow:auto;border:2px solid var(--border);background:var(--bg)}.plot-map{--map-cell: 64px;display:grid;grid-template-columns:repeat(var(--map-columns), var(--map-cell));gap:6px;justify-content:center;width:max-content;min-width:100%;box-sizing:border-box;padding:var(--space-3)}.plot-map.small{--map-cell: 44px}.plot-map-row,.plot-map-slot{display:contents}.plot-map-cell{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--map-cell);height:var(--map-cell);padding:0;border:2px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit}.plot-map-cell[aria-disabled=true]{cursor:default}button.plot-map-cell.mine,button.plot-map-cell.join{cursor:pointer}.plot-map-cell.mine{border-color:var(--accent-ink);background:var(--accent-soft);color:var(--accent-ink)}.plot-map-cell.join{border-style:dashed;border-color:var(--accent-ink);background:rgba(0,0,0,0);color:var(--accent-ink)}button.plot-map-cell.join:hover,button.plot-map-cell.mine:hover{background:var(--accent-soft);border-color:var(--accent)}.plot-map-cell.chosen{outline:3px solid var(--text);outline-offset:2px}.plot-map-cell:focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px}.plot-map-cell.chosen:focus-visible{outline-color:var(--text);box-shadow:0 0 0 5px var(--accent-ink)}.plot-map-cell.tiny{width:16px;height:16px}.plot-map-cell.tiny.chosen{outline-width:2px;outline-offset:1px}.plot-map-key{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.plot-map-key-item{display:inline-flex;align-items:center;gap:6px}@media(max-width: 800px){.infinity-left.manage-panel{width:min(340px,100% - 2*var(--space-2))}}.catalogue-list{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.catalogue-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2);font:inherit;text-align:left;color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.catalogue-row:hover{border-color:var(--accent-ink)}.catalogue-row:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.catalogue-thumb{flex:none;width:56px;height:56px;border-radius:var(--radius-xs);image-rendering:pixelated}.catalogue-row-text{display:flex;flex-direction:column;gap:var(--space-0);min-width:0}.catalogue-row-title{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.catalogue-row-title.quoted{font-style:italic}@media(max-width: 600px){.infinity-header .infinity-catalogue-button{display:none}}.catalogue-sort-picker{display:flex;align-items:center;gap:var(--space-2)}.catalogue-sort-menu{position:relative;flex:1;min-width:0}.catalogue-sort-button{justify-content:space-between;width:100%;min-height:44px}.catalogue-sort-caret{color:var(--text-muted)}.catalogue-sort-caret{display:inline-flex}.catalogue-sort-options{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;z-index:5;margin:0;padding:var(--space-1);list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.catalogue-sort-options:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.catalogue-sort-option{display:flex;align-items:center;min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);cursor:pointer}.catalogue-sort-option.active{background:var(--surface-2)}.catalogue-sort-option[aria-selected=true]{font-weight:600;color:var(--accent-ink)}.catalogue-facts{display:flex;flex-wrap:wrap;gap:0 var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.catalogue-fact+.catalogue-fact::before{content:"·";margin-right:var(--space-1)}.catalogue-fact.sorted{font-weight:700;color:var(--accent-ink)}.plot-search{width:100%}.plot-list{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.plot-row{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.plot-row:hover{border-color:var(--accent-ink)}.plot-row:has(.plot-row-open:focus-visible){outline:2px solid var(--accent-ink);outline-offset:2px}.plot-row-text{display:flex;flex:1;flex-direction:column;gap:var(--space-0);min-width:0}.plot-row-name{display:flex;align-items:center;gap:var(--space-2);min-width:0}.plot-row-open{min-width:0;padding:0;overflow:hidden;border:0;background:none;color:inherit;font:inherit;font-size:var(--text-sm);font-weight:600;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.plot-row-open:focus-visible{outline:none}.plot-row-open::after{content:"";position:absolute;inset:0}.plot-yours{flex:none;padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--accent-ink);font-family:var(--font-pixel);font-size:var(--text-md);line-height:1.2}.plot-kind{font-weight:600}.plot-kind.wall{color:var(--tone-rating)}.plot-kind.poster{color:var(--tone-date)}.plot-kind.unset{color:var(--draw)}.owner-link{position:relative;z-index:1;padding:0;border:0;background:none;color:var(--plum-ink);font:inherit;font-weight:600;text-decoration:underline;text-decoration-color:rgba(0,0,0,0);text-underline-offset:2px;cursor:pointer}.owner-link:hover{text-decoration-color:currentColor}.owner-link:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.plot-fly{position:relative;z-index:1;flex:none}@media(pointer: coarse){.owner-link::after{content:"";position:absolute;inset:-12px -4px}}.plot-thumb{flex:none;width:44px;height:44px;border-radius:var(--radius-xs);background:var(--border)}.plot-thumb-cell{fill:var(--draw)}.plot-thumb.poster .plot-thumb-cell{fill:var(--tone-date)}.plot-thumb.unset .plot-thumb-cell{fill:#1d1430}.art-rose{fill:var(--accent-ink)}.art-wine{fill:var(--accent)}.art-plum{fill:var(--plum-ink)}.plot-page{gap:var(--space-3)}.plot-back{align-self:flex-start;gap:var(--space-1)}.plot-hero{width:100%;height:132px;border-radius:var(--radius-md)}.plot-page-head{display:flex;flex-direction:column;gap:var(--space-1)}.plot-page-name{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;font-family:var(--font-pixel);font-size:var(--text-xl);font-weight:400;line-height:1;overflow-wrap:anywhere}.plot-page-shelf{display:flex;flex-direction:column;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md)}.plot-page-part{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.plot-page-title{margin:0;font-family:var(--font-pixel);font-size:var(--text-lg);font-weight:400;line-height:1}.trail-journey{max-height:12rem;overflow-y:auto}.trail-tools,.trail-page{display:flex;flex-direction:column;gap:var(--space-2)}.trail-tools .button{align-self:flex-start}.trail-list{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.trail-row{position:relative;display:flex;flex-direction:column;gap:var(--space-0);min-height:44px;padding:var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.trail-row:hover{border-color:var(--accent-ink)}.trail-row:has(.trail-row-open:focus-visible){outline:2px solid var(--accent-ink);outline-offset:2px}.trail-row-open{text-align:left}.trail-hidden{margin:0;color:var(--loss);font-size:var(--text-xs)}.trail-public>span{display:flex;flex-direction:column}.trail-editor-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.trail-editor-actions .button{gap:var(--space-1)}.trail-draft-stops{display:flex;flex-direction:column;gap:var(--space-1)}.trail-draft-list{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.trail-draft-stop{display:flex;align-items:center;gap:var(--space-2)}.trail-draft-text{display:flex;flex:1;flex-direction:column;min-width:0}.trail-stop-tools{display:flex;flex:none}.trail-stop-tool{min-width:44px;min-height:44px}.trail-stop-tool.up .icon{rotate:180deg}.trail-report-form{margin:0;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.trail-report-form .owner-check{display:flex;align-items:center;gap:var(--space-2);min-height:44px;cursor:pointer}.walk-bar{position:absolute;top:6rem;left:50%;z-index:4;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);box-sizing:border-box;width:max-content;max-width:min(32rem,100% - 2*var(--space-3));padding:var(--space-2) var(--space-3);font-size:var(--text-sm);text-align:center;translate:-50% 0}.walk-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:var(--space-0) var(--space-3)}.walk-name{font-family:var(--font-pixel);font-size:var(--text-md);font-weight:400}.walk-count{color:var(--text-muted)}.walk-caption{margin:0;overflow-wrap:anywhere}.walk-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.walk-actions .button{gap:var(--space-1);min-height:44px}.walk-bar .error{margin:0}@media(max-width: 800px){.walk-bar{top:4.75rem;max-width:calc(100% - 2*var(--space-2))}}.collection-page{display:flex;flex-direction:column;gap:var(--space-2)}.collection-steps{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.collection-steps .button{gap:var(--space-1);min-height:44px}.collection-entries{display:flex;flex-direction:column;gap:var(--space-1);max-height:24rem;margin:0;padding:0;overflow-y:auto;list-style:none}.collection-entry{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-1);color:inherit;font:inherit;font-size:var(--text-sm);text-align:left;background:none;border:1px solid rgba(0,0,0,0);border-radius:var(--radius-sm);cursor:pointer}.collection-entry:hover{background:var(--accent-soft)}.collection-entry.current{color:var(--accent-ink);border-color:var(--tone-time)}.collection-entry:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.collection-entry-words{min-width:0;overflow-wrap:anywhere}.many-form{display:flex;flex-direction:column;gap:var(--space-2)}.many-input{font-family:var(--font-mono);font-size:var(--text-xs)}.many-lines{display:flex;flex-direction:column;gap:var(--space-1);max-height:14rem;margin:0;padding:0;overflow-y:auto;list-style:none}.many-line{display:flex;flex-direction:column;padding-left:var(--space-2);border-left:2px solid var(--loss)}.many-line.good{border-left-color:var(--win)}.many-text{overflow:hidden;font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis}.many-says{color:var(--text-muted);font-size:var(--text-xs)}.community-maker{display:flex;flex-direction:column;gap:var(--space-2)}.community-note{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:0;color:inherit;font:inherit;text-align:left;background:none;border:0;cursor:pointer}.trail-row:has(.community-note:focus-visible){outline:2px solid var(--accent-ink);outline-offset:2px}.community-note:focus-visible{outline:none}.community-note-words{display:flex;flex-direction:column;gap:var(--space-0);min-width:0;overflow-wrap:anywhere}.community-note-words .plot-text{margin:0}.infinity-left.wide{width:min(560px,100vw - 2*var(--space-3))}@media(max-width: 800px){.infinity-left.wide{width:calc(100% - 2*var(--space-2))}}.community,.yours-following,.yours-solves{display:flex;flex-direction:column;gap:var(--space-2)}.place-kinds{display:flex;flex-wrap:wrap;gap:var(--space-1)}.place-kind{min-height:44px;padding:0 var(--space-3);color:var(--text-muted);font:inherit;font-size:var(--text-sm);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.place-kind:hover{color:var(--text)}.place-kind:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.place-kind.active{color:var(--accent-ink);border-color:var(--accent-ink)}.community-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.community-tools .plot-search{flex:1 1 12rem;min-width:0}.yours-group{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}.yours-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.yours-group-head .plot-page-title{margin:0}.yours-new{flex:none;gap:var(--space-1);min-height:44px}.yours-tiles{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--space-2)}.yours-tile{display:flex;flex-direction:column;gap:var(--space-0);padding:var(--space-2);background:var(--surface-2);border-radius:var(--radius-md)}.yours-tile-value{font-size:var(--text-xl);font-variant-numeric:tabular-nums}.puzzles-here,.puzzle-maker{display:flex;flex-direction:column;gap:var(--space-2)}.puzzle-row{display:flex;flex-direction:column;gap:var(--space-1)}.puzzle-name{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-pixel);font-size:var(--text-md)}.puzzle-name strong{font-weight:400}.puzzle-solution{display:flex;flex-direction:column;gap:var(--space-0)}.puzzle-line{margin:0;font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere}.puzzle-bar .walk-count.error{color:var(--loss)}.puzzle-hint{font-style:italic}.puzzle-bar .button,.puzzle-row .button,.puzzle-maker .button{min-height:44px}.infinity-panels{display:flex;flex:1;gap:var(--space-3);min-height:0;pointer-events:none}.infinity-panels>*{pointer-events:auto}.infinity-panels>.infinity-drawer{flex:none;align-self:stretch;margin-left:auto}.infinity-left{display:flex;flex:none;flex-direction:column;width:var(--panel-width);min-height:0;overflow:hidden;animation:left-in var(--normal) var(--ease)}@keyframes left-in{from{opacity:0;translate:calc(-1*var(--space-4)) 0}}@media(prefers-reduced-motion: reduce){.infinity-left{animation:none}}.infinity-left-backdrop{display:none}@media(max-width: 800px){.infinity-left{position:absolute;top:var(--space-2);bottom:var(--space-2);left:var(--space-2);z-index:4;width:min(var(--panel-width),100% - 2*var(--space-2))}.infinity-left-backdrop{position:absolute;inset:0;z-index:3;display:block;background:rgba(0,0,0,.4)}}.go-search-box{display:flex;gap:var(--space-2)}.go-search-box .input{flex:1;min-width:0}.go-teleports{display:flex;flex-direction:column;gap:var(--space-0);margin:0;padding:0;list-style:none}.go-teleport{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);font:inherit;text-align:left;color:inherit;background:rgba(0,0,0,0);border:0;border-radius:var(--radius-sm);cursor:pointer}.go-teleport:hover{background:var(--surface-2)}.go-teleport:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}.go-teleport-name{font-weight:600}.go-to{display:flex;flex-direction:column;gap:var(--space-2)}.go-read{display:flex;align-items:baseline;gap:var(--space-2);margin:0;font-size:var(--text-sm)}.go-read::before{content:"";flex:none;width:8px;height:8px;background:currentColor;translate:0 -1px}.go-read.read{color:var(--win)}.go-read.problem{color:var(--loss)}.go-read.waiting{color:var(--text-muted)}.go-apart{display:grid;flex:1;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--space-2);min-width:0}.go-preview{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-2)}.go-preview .catalogue-thumb,.go-preview-shelf{flex:none;width:56px;height:56px}.go-preview-shelf{background:var(--board-light)}.go-preview-text{display:flex;flex-direction:column;gap:var(--space-0);min-width:0}.go-preview-verdict.legal{color:var(--accent-ink)}.go-preview-verdict.illegal{color:var(--loss)}.go-preview-verdict.empty{color:var(--text-muted)}.go-switch{align-self:flex-start;padding:0;border:0;background:none;color:var(--accent-ink);font:inherit;font-size:var(--text-sm);cursor:pointer}.go-switch:hover{text-decoration:underline}.go-switch:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}@media(pointer: coarse){.go-switch{min-height:44px}}.go-teleport .icon{flex:none;color:var(--accent-ink)}.go-teleport-text{display:flex;flex-direction:column;gap:var(--space-0);min-width:0}.go-teleport.last{background:var(--accent-soft)}.go-surprise-problem{color:var(--loss);font-size:var(--text-sm)}.go-surprises,.go-recents{display:flex;flex-direction:column;gap:var(--space-2)}.go-recent{display:block;width:100%;min-height:36px;padding:var(--space-1) var(--space-3);border:0;border-radius:var(--radius-sm);background:rgba(0,0,0,0);color:inherit;font:inherit;text-align:left;cursor:pointer}.go-recent:hover{background:var(--surface-2)}.go-recent:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}.go-recent-text{display:block;overflow:hidden;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}@media(pointer: coarse){.go-recent{min-height:44px}}.go-build-editor{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) 0 var(--space-3)}.go-build-palette{display:grid;grid-template-columns:repeat(6, 1fr);gap:var(--space-1)}.go-build-tool{aspect-ratio:1;min-height:40px;padding:0;background-color:var(--surface-2);background-size:80%;background-position:center;background-repeat:no-repeat;border:2px solid rgba(0,0,0,0);border-radius:var(--radius-sm);cursor:pointer}.go-build-tool.active{border-color:var(--accent);background-color:var(--accent-soft)}.go-build-tool:focus-visible{outline:2px solid var(--accent-ink);outline-offset:1px}.go-build-erase{grid-column:1/-1;aspect-ratio:auto;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:inherit;color:inherit}.go-build-board{width:100%;max-width:320px;align-self:center}.go-build-board .board{width:100%}.go-build-rights{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-2) var(--space-3)}.go-build-rights .row,.go-build-resets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.go-build-go{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.go-build-go code{overflow-wrap:anywhere}@media(pointer: coarse){.go-build-tool,.go-build-erase,.go-build-rights .chip{min-height:44px}}.infinity-header{flex-wrap:nowrap;gap:var(--space-3)}.infinity-tools{flex:none;margin-left:auto}.infinity-account{gap:var(--space-2);min-height:40px}.infinity-account.account-out>.user-icon{display:none}.infinity-header .account-in{padding:0 var(--space-2) 0 var(--space-1);color:var(--text)}.infinity-account .avatar{--avatar-size: 30px;padding:7px}.infinity-header .infinity-account .account-name{display:inline;max-width:12em;overflow:hidden;font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap}.infinity-account.account-in::after{content:"";flex:none;width:12px;height:12px;background-color:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 9l6 6 6-6%22/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 9l6 6 6-6%22/%3E%3C/svg%3E") center/contain no-repeat}:root:not([data-board=classic]) .infinity-account.account-in::after{width:calc(9*var(--icon-cell, 2px));height:calc(9*var(--icon-cell, 2px));mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 9 9%22 shape-rendering=%22crispEdges%22%3E%3Cpath d=%22M1 3h7v1h-7zM2 4h5v1h-5zM3 5h3v1h-3zM4 6h1v1h-1z%22/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 9 9%22 shape-rendering=%22crispEdges%22%3E%3Cpath d=%22M1 3h7v1h-7zM2 4h5v1h-5zM3 5h3v1h-3zM4 6h1v1h-1z%22/%3E%3C/svg%3E")}@media(pointer: coarse){.infinity-header .button{min-height:44px}.infinity-header .button.icon-only,.infinity-header .appearance-button{min-width:44px;min-height:44px;justify-content:center}}@media(max-width: 600px){.infinity-header{gap:var(--space-1);padding:var(--space-1) var(--space-2)}.infinity-header .brand-name,.infinity-header .infinity-account.account-in .account-name{display:none}}.position-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3)}.position-title .infinity-verdict{flex:none;font-size:var(--text-md)}.position-side{font-size:var(--text-sm);color:var(--text-muted)}.position-details{padding-top:var(--space-3);border-top:1px solid var(--border)}.detail-title{margin:0;font-family:var(--font-pixel);font-size:var(--text-xl);font-weight:400;line-height:1}.detail-tiles{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--space-2)}.detail-tile{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-2)}.detail-tile.wide{grid-column:1/-1}.detail-big{font-family:var(--font-pixel);font-size:var(--text-xl);line-height:1;overflow-wrap:anywhere}.detail-big.loss{color:var(--loss)}.detail-big.win{color:var(--win)}.detail-big.check{color:var(--tone-ending)}.detail-big.mate{color:var(--accent-ink)}.detail-big.draw{color:var(--draw)}.material-bar{display:flex;height:6px;overflow:hidden;border-radius:var(--radius-xs);background:#3a3935}.material-white{background:#f4f3ee}.detail-reasons{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none;color:var(--loss)}.detail-reasons li{display:flex;gap:var(--space-2);align-items:baseline}.detail-reasons li::before{content:"";flex:none;width:6px;height:6px;background:currentColor;translate:0 -1px}.detail-tile .infinity-label.over{color:var(--loss)}.detail-strip{display:grid;grid-template-columns:repeat(6, minmax(0, 1fr));gap:var(--space-1)}.detail-strip+.infinity-label{margin-top:var(--space-1)}.detail-count{display:flex;flex-direction:column;align-items:center;gap:var(--space-0);padding:var(--space-1) 0;border-radius:var(--radius-sm);background:var(--bg)}.detail-count .piece-img{display:block;width:26px;height:26px;background-size:cover}.detail-count-number{font-family:var(--font-pixel);font-size:var(--text-lg);line-height:1;font-variant-numeric:tabular-nums}.detail-count.zero{opacity:.35}.detail-count.over{box-shadow:inset 0 0 0 1px var(--loss)}.detail-count.over .detail-count-number{color:var(--loss)}.castling-rights{display:flex;flex-direction:column;gap:var(--space-1)}.castling-side{display:flex;align-items:center;gap:var(--space-1)}.castling-colour{box-sizing:border-box;flex:none;width:14px;height:14px;margin-right:var(--space-1);border:2px solid var(--border)}.castling-colour.white{background:#f4f3ee}.castling-colour.black{background:#2b2a27}.castling-right{display:inline-grid;place-items:center;height:22px;padding:0 var(--space-1);color:var(--text);font-family:var(--font-pixel);font-size:var(--text-lg);line-height:1}.castling-right.off{color:var(--text-muted);text-decoration:line-through;opacity:.5}.address-strip{flex-direction:row;align-items:center}.address-strip-value{flex:1;min-width:0;overflow:hidden;font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.address-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm)}.address-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.address-line{display:grid;grid-template-columns:40px minmax(0, 1fr) auto;gap:var(--space-2);align-items:start;padding:var(--space-1) 0}.address-line+.address-line{border-top:1px solid var(--border)}.address-key{font-family:var(--font-pixel);font-size:var(--text-lg);line-height:var(--control-sm);color:var(--accent-ink)}.address-value{padding-top:var(--space-1);font-size:var(--text-xs);line-height:1.5;overflow-wrap:anywhere;cursor:copy}.copy-btn{display:inline-flex;flex:none;align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font:inherit;font-size:var(--text-xs);font-weight:600;white-space:nowrap;cursor:pointer;transition:color var(--fast) var(--ease),background-color var(--fast) var(--ease)}.copy-btn:hover{color:var(--text);background:var(--surface-2)}.copy-btn:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.copy-btn.copied{color:var(--win)}.copy-btn.refused{color:var(--loss)}@media(pointer: coarse){.copy-btn{min-width:44px;min-height:44px}}.position-actions{display:flex;gap:var(--space-1)}.position-action{display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-0);min-width:0;min-height:52px;padding:var(--space-1);color:var(--text);font:inherit;font-size:var(--text-xs);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.position-action:hover:not(:disabled){border-color:var(--accent-ink)}.position-action:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.position-action:disabled{color:var(--text-muted);cursor:default;opacity:.6}.position-action.on{color:var(--accent-ink);border-color:var(--accent-ink)}.position-action-word{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.position-menu{margin:0;padding:var(--space-1);background:var(--surface-2);border:1px solid var(--accent-ink);border-radius:var(--radius-md)}.position-menu .infinity-stop{min-height:44px}.position-stats{display:flex;flex-direction:column;gap:var(--space-2)}.visit-chart{display:flex;flex-direction:column;gap:var(--space-1);margin:0}.visit-bars{display:block;width:295px;max-width:100%;height:auto;image-rendering:pixelated}.visit-bars .chart-day{fill:var(--accent-ink)}.visit-bars .chart-none{fill:var(--border)}.visit-axis{display:flex;justify-content:space-between;width:295px;max-width:100%;font-size:var(--text-xs);color:var(--text-muted)}.stats-rows{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--space-1) var(--space-3);margin:0}.stats-row{display:flex;justify-content:space-between;gap:var(--space-2);min-width:0;font-size:var(--text-sm)}.stats-row dt{color:var(--text-muted)}.stats-row dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}.follow-news{position:absolute;top:6rem;left:50%;z-index:4;display:flex;flex-direction:column;gap:var(--space-2);box-sizing:border-box;width:min(26rem,100% - 2*var(--space-3));max-height:50vh;padding:var(--space-2) var(--space-3);overflow-y:auto;font-size:var(--text-sm);translate:-50% 0}.follow-news-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.follow-news-line{margin:0;align-self:center}.follow-news-list .infinity-stop{min-height:44px}.news-place{font-family:var(--font-mono)}.news-what{margin-left:auto;color:var(--text-muted)}@media(max-width: 800px){.stats-rows{grid-template-columns:minmax(0, 1fr)}.follow-news{top:4.75rem;width:calc(100% - 2*var(--space-2))}}:root{--rail-bar: 64px}.infinity-rail{display:flex;flex:none;flex-direction:column;align-self:flex-start;gap:var(--space-1);padding:var(--space-1)}.rail-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-0);width:72px;min-height:56px;padding:var(--space-2) var(--space-1);font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);background:rgba(0,0,0,0);border:0;border-radius:var(--radius-md);cursor:pointer;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.rail-button .icon{width:22px;height:22px}.rail-button:hover{color:var(--text);background:var(--surface-2)}.rail-button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}.rail-button.open{color:var(--accent-ink);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent-ink)}.left-title{margin:0;font-size:var(--text-lg)}@media(max-width: 800px){.infinity-rail{position:absolute;right:var(--space-2);bottom:var(--space-2);left:var(--space-2);z-index:4;flex-direction:row;box-sizing:border-box;height:var(--rail-bar)}.rail-button{flex:1;width:auto;min-height:0;padding:var(--space-1)}.rail-button.open{box-shadow:inset 0 -3px 0 var(--accent-ink)}.infinity-corners{bottom:calc(var(--rail-bar) + 2*var(--space-2))}.infinity-drawer{bottom:calc(var(--rail-bar) + 2*var(--space-2));height:calc(60% - var(--rail-bar) - 2*var(--space-2))}.infinity-left{bottom:calc(var(--rail-bar) + 2*var(--space-2))}}@media(min-width: 801px){.infinity-rail{display:none}}.place-nav{display:flex;flex:1;justify-content:center;gap:var(--space-1);min-width:0}.place-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-0);min-width:64px;min-height:40px;padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.place-button .icon{width:22px;height:22px}.place-button:hover{color:var(--text);background:var(--surface-2)}.place-button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}.place-button.open{color:var(--accent-ink);background:var(--surface-2);box-shadow:inset 0 -3px 0 var(--accent-ink)}@media(max-width: 1100px){.place-button{min-width:44px;min-height:44px}.place-button .place-word{display:none}}@media(max-width: 800px){.place-nav{display:none}}.infinity-float.editing>.infinity-panels{display:none}.plot-editor{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.plot-editor-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);min-height:52px;box-sizing:border-box;padding:var(--space-2) var(--space-3);background:var(--surface);border-bottom:2px solid var(--border)}.plot-editor-bar .grow,.plot-editor-status .grow{flex:1}.plot-editor-title{display:flex;flex-direction:column;min-width:0;line-height:1.1}.plot-editor-name{width:14em;max-width:100%;padding:0;font:inherit;font-weight:700;font-size:var(--text-lg, 1.1rem);color:var(--text);background:none;border:0;border-bottom:2px solid rgba(0,0,0,0)}.plot-editor-name:hover,.plot-editor-name:focus-visible{border-bottom-color:var(--accent-ink);outline:none}.plot-editor-steps,.plot-editor-zoom{display:inline-flex;align-items:center;gap:var(--space-1)}.plot-editor-zoom .button.active{color:var(--accent-ink);background:var(--accent-soft)}.plot-editor-body{display:flex;flex:1;min-height:0}.plot-editor-tools{display:flex;flex:none;flex-direction:column;align-items:center;gap:var(--space-1);width:60px;padding:var(--space-2) 0;overflow-y:auto;background:var(--surface);border-right:2px solid var(--border)}.plot-editor-tools hr{width:36px;margin:var(--space-1) 0;border:0;border-top:2px solid var(--border)}.plot-editor-tool{display:inline-flex;flex:none;align-items:center;justify-content:center;width:44px;height:44px;color:var(--text-muted);background:none;border:2px solid rgba(0,0,0,0);cursor:pointer}.plot-editor-tool:hover{color:var(--text)}.plot-editor-tool.on{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-ink)}.plot-editor-tool .icon{width:20px;height:20px}.plot-editor-stage{position:relative;display:flex;flex:1;min-width:0;overflow:auto;padding:var(--space-4);background:repeating-conic-gradient(#232323 0 25%, #1d1d1d 0 50%) 0 0/24px 24px}.plot-editor-plot{position:relative;flex:none;margin:auto;box-shadow:0 0 0 2px var(--border);touch-action:none;cursor:crosshair}.plot-editor-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.plot-editor-canvas.over{image-rendering:pixelated}.plot-editor-shelves{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right, var(--accent-ink) 2px, transparent 2px),linear-gradient(to bottom, var(--accent-ink) 2px, transparent 2px);background-size:var(--cell) var(--cell);opacity:.35}.plot-editor-brush{position:absolute;box-sizing:border-box;pointer-events:none;border:2px solid #fff;outline:2px solid #000}.plot-editor-box{position:absolute;box-sizing:border-box;pointer-events:none;border:2px dashed #fff;outline:2px dashed var(--accent);outline-offset:-4px}.plot-editor-whole{position:absolute;box-sizing:border-box;pointer-events:none;border:1px dashed hsla(0,0%,100%,.6);background:rgba(0,0,0,.25)}.plot-editor-handle{position:absolute;box-sizing:border-box;width:14px;height:14px;background:#fff;border:2px solid var(--accent);touch-action:none;cursor:grab}.plot-editor-handle::after{position:absolute;inset:-15px;content:""}.plot-editor-side{display:flex;flex:none;flex-direction:column;width:320px;overflow:auto;background:var(--surface);border-left:2px solid var(--border)}.plot-editor-side section{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--border)}.plot-editor-side .row{display:flex;flex-wrap:wrap;gap:var(--space-1)}.plot-editor-side .drawer-title{display:flex;align-items:center;gap:var(--space-2)}.plot-editor-palette{display:grid;grid-template-columns:repeat(8, minmax(0, 1fr));gap:4px}.plot-editor-swatch{box-sizing:border-box;min-width:28px;aspect-ratio:1;padding:0;border:2px solid var(--border);cursor:pointer}.plot-editor-swatch.on{outline:3px solid var(--accent-ink);outline-offset:1px}.plot-editor-swatch.second:not(.on){outline:2px dashed var(--accent-ink);outline-offset:1px}.plot-editor-swatch.bare{background:repeating-conic-gradient(#fff 0 25%, #c9bfc4 0 50%) 0 0/8px 8px}.plot-editor-sizes{display:flex;gap:4px}.plot-editor-size{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--surface-2);border:2px solid var(--border);cursor:pointer}.plot-editor-size.on{border-color:var(--accent-ink)}.plot-editor-size span{background:var(--text)}.plot-editor-layers{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.plot-editor-layer{display:flex;align-items:center;gap:var(--space-1);padding:4px;background:var(--surface-2);border:2px solid rgba(0,0,0,0)}.plot-editor-layer.on{border-color:var(--accent-ink)}.plot-editor-layer-pick{display:flex;flex:1;align-items:center;gap:var(--space-2);min-width:0;min-height:44px;padding:0;color:inherit;font:inherit;text-align:left;background:none;border:0;cursor:pointer}.plot-editor-layer .thumb{flex:none;width:40px;height:40px;object-fit:contain;background:repeating-conic-gradient(#fff 0 25%, #c9bfc4 0 50%) 0 0/8px 8px;border:2px solid var(--border)}.plot-editor-layer .name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.plot-editor-layer .button.off{opacity:.4}.plot-editor-file{display:none}.plot-editor-opacity{width:100%;min-height:32px}.plot-editor-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-4);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--text-muted);background:var(--surface);border-top:2px solid var(--border)}.plot-editor-way{color:var(--accent-ink)}.plot-editor-phone{display:none}@media(max-width: 800px){.plot-editor-bar{gap:var(--space-1) var(--space-2);padding:var(--space-1) var(--space-2)}.plot-editor-name{width:9em}.plot-editor-note,.plot-editor-zoom .infinity-label{display:none}.plot-editor-tools{display:none}.plot-editor-stage{padding:var(--space-2)}.plot-editor-side{position:absolute;right:0;bottom:0;left:0;z-index:3;display:none;width:auto;max-height:60%;border-top:2px solid var(--border);border-left:0;box-shadow:var(--shadow-md)}.plot-editor-side.open{display:flex}.plot-editor-body{position:relative}.plot-editor-phone{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);background:var(--surface);border-top:2px solid var(--border)}.plot-editor-phone-colours{display:flex;gap:4px;overflow-x:auto}.plot-editor-phone-colours .plot-editor-swatch{flex:none;width:36px;min-width:36px}.plot-editor-phone-tools{display:flex;align-items:center;justify-content:space-between;gap:2px;overflow-x:auto}.plot-editor-more{flex:none;min-height:44px;padding:0 var(--space-2)}.plot-editor-status span:not(:first-child):not(.plot-editor-way){display:none}}:root:not([data-board=classic]) .plot-editor-name{font-family:var(--font-pixel)}.infinity-left.paint-panel{width:300px}.paint-count{display:flex;flex-direction:column;gap:var(--space-0)}.paint-left{font-size:var(--text-2xl);line-height:1;color:var(--text)}.paint-left .infinity-label{font-size:var(--text-md)}.paint-panel .shelf-palette{width:auto;margin:0;grid-template-columns:repeat(4, 2.5rem);gap:calc(var(--space-1) + var(--space-0))}.paint-wide{width:100%;justify-content:center}.paint-panel .error{margin:0}.draw-bar{display:none;position:absolute;bottom:var(--space-2);left:50%;z-index:4;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);box-sizing:border-box;width:max-content;max-width:calc(100% - 2*var(--space-2));padding:var(--space-2) var(--space-3);font-size:var(--text-sm);translate:-50% 0}.paint-bar .grow{flex:1}.paint-bar-head{display:flex;flex-basis:100%;flex-direction:column;line-height:1.15;text-align:center}.draw-bar .shelf-palette{flex:none;width:auto;margin:0;grid-template-columns:repeat(8, 2rem)}.paint-bar-go{flex-direction:column;align-items:center;gap:0;min-width:112px;padding-block:var(--space-1);line-height:1.1}.paint-bar-go-words{display:inline-flex;align-items:center;gap:var(--space-2)}.paint-bar-go-sub{font-size:var(--text-xs);opacity:.85}.draw-bar .error{flex-basis:100%;margin:0;text-align:center}.infinity-stage.drawing{cursor:crosshair}.paint-marks{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}.paint-marks rect{fill:none}.paint-mark-under{stroke:rgba(0,0,0,.55)}.paint-mark,.paint-hover{stroke:#fff}@media(max-width: 800px){.infinity-left.paint-panel{display:none}.draw-bar{display:flex}}@media(pointer: coarse){.draw-bar .shelf-palette{grid-template-columns:repeat(8, 2.5rem)}}.flight-marks{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.flight-streaks{position:absolute;inset:0;background:repeating-linear-gradient(90deg, rgba(255, 255, 255, 0) 0 18px, rgba(255, 255, 255, 0.2) 18px 20px),rgba(13,11,14,.45);filter:blur(1px);animation:flight-streaks .2s linear infinite}@keyframes flight-streaks{to{background-position:40px 0,0 0}}.flight-tags{position:absolute;inset:0;opacity:0;transition:opacity .2s ease-out}.flight-tags.shown{opacity:1}.flight-tag{position:absolute;padding:1px 6px;font-size:var(--text-xs);line-height:1.3;color:var(--text);white-space:nowrap;background:var(--surface);border:1px solid var(--border)}.flight-ring{position:absolute;box-sizing:border-box;border:3px solid var(--accent-ink);box-shadow:0 0 0 6px hsla(0,0%,100%,.08);opacity:0;transition:opacity .15s ease-out}.flight-ring.shown{opacity:1}.flight-ring.pulse{animation:flight-pulse .5s ease-in-out 2}.flight-ring.waiting{animation:flight-pulse .9s ease-in-out infinite}@keyframes flight-pulse{50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--accent-ink) 35%, transparent);scale:1.08}}.flight-here{position:absolute;top:var(--y);left:var(--x);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text);white-space:nowrap;border:2px solid var(--accent-ink);pointer-events:auto}.flight-here.before{translate:-100% 0}.flight-here-keys kbd{padding:0 var(--space-1);font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border)}.flight-here-go{margin-top:var(--space-1)}@media(max-width: 800px){.flight-here,.flight-here.before{top:auto;bottom:10.5rem;left:50%;translate:-50% 0;max-width:calc(100% - 2*var(--space-2));white-space:normal}.flight-here-keys{display:none}}@media(pointer: coarse){.flight-here-go{min-height:44px}}@media(prefers-reduced-motion: reduce){.flight-streaks,.flight-ring.pulse,.flight-ring.waiting{animation:none}}:root[data-animations=off] :is(.flight-streaks,.flight-ring.pulse,.flight-ring.waiting){animation:none}:root:not([data-board=classic]){--font: "Jersey 10", ui-sans-serif, system-ui, sans-serif;--font-mono: "Jersey 10", ui-monospace, monospace;--text-xs: 15px;--text-sm: 17px;--text-md: 19px;--text-lg: 22px;--text-xl: 26px;--text-2xl: 32px}:root:not([data-board=classic]) body{font-family:var(--font);font-size:var(--text-md);line-height:1.2;font-synthesis:none}:root:not([data-board=classic]) body :is(code,kbd,pre,samp){font-family:var(--font-mono)}:root:not([data-board=classic]) body .input{border-radius:0}:root:not([data-board=classic]) body select.input{appearance:none;padding-right:calc(var(--space-3) + 18px);background-image:linear-gradient(var(--text-muted), var(--text-muted)),linear-gradient(var(--text-muted), var(--text-muted)),linear-gradient(var(--text-muted), var(--text-muted)),linear-gradient(var(--text-muted), var(--text-muted));background-repeat:no-repeat;background-size:14px 2px,10px 2px,6px 2px,2px 2px;background-position:right var(--space-3) top calc(50% - 3px),right calc(var(--space-3) + 2px) top calc(50% - 1px),right calc(var(--space-3) + 4px) top calc(50% + 1px),right calc(var(--space-3) + 6px) top calc(50% + 3px)}:root:not([data-board=classic]) body input[type=checkbox]{appearance:none;display:inline-grid;flex:none;place-items:center;width:20px;height:20px;margin:0;border:2px solid var(--pixel-frame);border-radius:0;background:var(--bg);cursor:pointer}:root:not([data-board=classic]) body input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}:root:not([data-board=classic]) body input[type=checkbox]:checked::after{content:"";width:12px;height:12px;background:var(--on-accent);mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 9 9%22 shape-rendering=%22crispEdges%22%3E%3Cpath d=%22M8 2h1v1h-1zM7 3h1v1h-1zM0 4h1v1h-1zM6 4h1v1h-1zM1 5h1v1h-1zM5 5h1v1h-1zM2 6h1v1h-1zM4 6h1v1h-1zM3 7h1v1h-1z%22/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 9 9%22 shape-rendering=%22crispEdges%22%3E%3Cpath d=%22M8 2h1v1h-1zM7 3h1v1h-1zM0 4h1v1h-1zM6 4h1v1h-1zM1 5h1v1h-1zM5 5h1v1h-1zM2 6h1v1h-1zM4 6h1v1h-1zM3 7h1v1h-1z%22/%3E%3C/svg%3E") center/contain no-repeat}:root:not([data-board=classic]) body input[type=checkbox]:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}:root:not([data-board=classic]) body input[type=file]::file-selector-button{margin-right:var(--space-2);padding:var(--space-1) var(--space-3);border:2px solid var(--pixel-frame);border-radius:0;background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer}:root:not([data-board=classic]) body input[type=file]::file-selector-button:hover{border-color:var(--accent-ink)}:root:not([data-board=classic]) body .account-head .icon-only{font-size:0}:root:not([data-board=classic]) body .account-head .icon-only::before{content:"";width:calc(9*var(--icon-cell, 2px));height:calc(9*var(--icon-cell, 2px));background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 9 9%22 shape-rendering=%22crispEdges%22%3E%3Cpath d=%22M1 1h1v1h-1zM7 1h1v1h-1zM2 2h1v1h-1zM6 2h1v1h-1zM3 3h1v1h-1zM5 3h1v1h-1zM4 4h1v1h-1zM3 5h1v1h-1zM5 5h1v1h-1zM2 6h1v1h-1zM6 6h1v1h-1zM1 7h1v1h-1zM7 7h1v1h-1z%22/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 9 9%22 shape-rendering=%22crispEdges%22%3E%3Cpath d=%22M1 1h1v1h-1zM7 1h1v1h-1zM2 2h1v1h-1zM6 2h1v1h-1zM3 3h1v1h-1zM5 3h1v1h-1zM4 4h1v1h-1zM3 5h1v1h-1zM5 5h1v1h-1zM2 6h1v1h-1zM6 6h1v1h-1zM1 7h1v1h-1zM7 7h1v1h-1z%22/%3E%3C/svg%3E") center/contain no-repeat}
