@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display:ital@0;1&display=swap";:root{font-family:DM Sans,sans-serif;color:#f3e7d8;background:#111113;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark;--bg: #111113;--surface: #211e20;--surface-raised: #2b2526;--well: #151315;--text: #f3e7d8;--muted: #baada2;--subtle: #b6a79c;--accent: #ee914f;--accent-light: #ffc18e;--accent-dark: #a54b29;--orange: var(--accent);--orange-light: var(--accent-light);--cream: var(--text);--line: #443631;--border: var(--line);--edge: #80553f;--green: #9bbd92;--red: #ef9288;--radius: 12px;--radius-sm: 7px;--shadow: 0 18px 42px #0005, 0 2px 5px #0006;--panel-shadow: inset 0 1px #ffffff0a, 0 10px 28px #0003;--type-meta: 12px;--type-control: 13px;--type-body: 14px;--tooltip-bg: #241c20;--tooltip-border: #90634a;--tooltip-text: #f9ebdb}*{box-sizing:border-box}html{min-width:0;scroll-behavior:smooth;scrollbar-color:#625047 #171416}body{margin:0;min-width:0;font-size:var(--type-body);line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}button,a,input,select,textarea,summary{outline-offset:4px}:focus-visible{outline:2px solid var(--accent-light)}button,input,select,textarea{border-radius:var(--radius-sm)}button{border:1px solid var(--line);background:var(--surface-raised)}a{color:var(--accent-light);text-decoration:none}a:hover{color:#ffe1c3}input,select,textarea{min-width:0;color:var(--text);background:var(--well);border:1px solid var(--line);padding:12px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--subtle)}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}input[type=checkbox],input[type=radio]{padding:0}button,a{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}h1,h2,h3,h4,p{margin:0}button svg{flex-shrink:0}img{max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100svh;display:flex;flex-direction:column;isolation:isolate;background:radial-gradient(ellipse at 14% 4%,#78401d18,transparent 50%),var(--bg)}.app-shell[data-backdrop=midnight]{--bg: #10141c;--surface: #1c222d;--surface-raised: #262e3b;--well: #121720;--line: #3b4149}.app-shell[data-backdrop=violet]{--bg: #17131b;--surface: #251f2b;--surface-raised: #322838;--well: #1a1520;--line: #4b3a4b}.app-shell[data-backdrop=forest]{--bg: #111813;--surface: #1d2821;--surface-raised: #28352b;--well: #141d16;--line: #3d4a3b}.themed-tooltip{inset:auto;margin:0;width:max-content;min-width:0;padding:6px 9px;border:1px solid var(--tooltip-border);border-radius:5px;color:var(--tooltip-text);background:var(--tooltip-bg);font:600 11px/1.4 DM Sans,sans-serif;white-space:normal;overflow-wrap:anywhere;overflow:auto;box-shadow:0 5px 15px #0008;pointer-events:auto;transform:none}.themed-tooltip::backdrop{background:transparent}@media(forced-colors:active){.themed-tooltip{color:CanvasText;background:Canvas;border-color:CanvasText}}.primary-button,.secondary-button,.outline-button,.ghost-button,.danger-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 17px;font-size:13px;font-weight:700;line-height:1.35}.primary-button{color:#2d160c;border-color:#f2a66d;background:linear-gradient(#ffad6f,#e98847);box-shadow:inset 0 1px #ffe2c3,0 3px #8a4024,0 6px 12px #0003}.primary-button:hover:not(:disabled){background:linear-gradient(#ffbf8a,#f59b5a);border-color:#ffd1aa}.primary-button:active:not(:disabled){box-shadow:inset 0 2px 3px #73331066,0 1px #8a4024}.secondary-button{background:linear-gradient(#332c2c,#252123);box-shadow:inset 0 1px #ffffff09,0 2px #0e0c0e}.secondary-button:hover:not(:disabled){border-color:var(--edge);background:linear-gradient(#40312b,#302528)}.ghost-button:hover:not(:disabled){border-color:var(--edge);background-color:#382a25}.ghost-button{background:transparent;color:var(--muted);border-color:transparent;box-shadow:none}.danger-button{border-color:#86483f;background:#4a2524;color:#ffd0c8}.compact{padding:9px 12px;font-size:12px}.error-message,.sidebar-error,.match-action-error,.bot-error{padding:12px;color:#ffc4ba;background:#5e2a273d;border:1px solid #85433b;border-radius:var(--radius-sm);font-size:12px;line-height:1.55}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span,.lobby-group-label{color:var(--muted);font-size:var(--type-control);font-weight:600}.field input{width:100%;min-height:44px;font-size:13px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.select-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.select-chips button{min-height:44px;padding:7px 4px;font-size:12px;background:var(--well)}.select-chips button>span{margin-right:4px;font-size:20px;vertical-align:middle}.select-chips .active,.tab-row .chosen{color:var(--accent-light);border-color:var(--edge);background:#9e572b24;box-shadow:inset 0 1px #f9be8521}.game-select-trigger{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;padding:11px 12px;font-size:13px;text-align:left;background:var(--well)}.game-select-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-select-check{color:var(--accent-light);margin-left:8px}input[aria-invalid=true]{border-color:var(--red)}.game-select-trigger[data-state=open]{border-color:var(--accent)}.game-select-chevron{color:var(--accent);transition:transform .16s}.game-select-trigger[data-state=open] .game-select-chevron{transform:rotate(180deg)}.game-select-content{z-index:999;min-width:var(--radix-select-trigger-width);max-height:min(340px,var(--radix-select-content-available-height));overflow:hidden;background:#292324;border:1px solid #80553f;border-radius:9px;box-shadow:0 16px 40px #0009;color:#f3e7d8;animation:menuAppear .12s ease-out}.game-select-viewport{padding:5px}.game-select-item{min-height:44px;padding:11px 32px 11px 12px;position:relative;display:flex;align-items:center;outline:none;border-radius:5px;font:500 13px DM Sans,sans-serif;cursor:pointer;-webkit-user-select:none;user-select:none}.game-select-item[data-highlighted]{color:#ffcc9d;background:#9f593f4d}.game-select-item[data-state=checked]{color:#ffc18e}.game-select-item[data-disabled]{opacity:.4;pointer-events:none}.game-select-indicator{position:absolute;right:10px;color:#ffc18e}.game-select-scroll{height:28px;display:grid;place-items:center;background:#221d1f}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;width:min(1600px,100%);margin:0 auto;padding:19px clamp(20px,3vw,52px);border-bottom:1px solid #54403166}.brand{display:flex;align-items:center;gap:11px;color:var(--text);flex-shrink:0}.brand-mark{display:grid;place-items:center;width:43px;height:46px}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand-logo{display:block;object-fit:contain;filter:drop-shadow(0 3px 3px #0007)}.brand strong{font-size:25px;font-weight:800;letter-spacing:-1.1px;line-height:1.1}.brand small{display:block;margin-top:4px;color:var(--subtle);font-size:11px;letter-spacing:1.5px;text-transform:uppercase}.brand-dot{color:var(--accent)}.shell-navigation{display:flex;align-items:center;gap:22px}.shell-navigation a,.shell-navigation button{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:var(--type-control);background:transparent;border:0;padding:5px 0}.shell-navigation a:hover,.shell-navigation button:hover{color:var(--accent-light)}.shell-context{color:var(--subtle);border-left:1px solid var(--line);padding-left:22px;font-size:var(--type-meta)}.top-actions,.shell-tools{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%}.connection-pill{display:flex;gap:7px;align-items:center;min-width:0;color:var(--muted);font-size:var(--type-meta);line-height:1.4}.connection-pill span,.live-dot{width:6px;height:6px;flex-shrink:0;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px #9bbd9211}.connection-pill.offline span{background:var(--red)}.language-switch{display:flex;align-items:center;gap:8px;min-height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:7px;padding:10px 12px;background:var(--well);font-size:var(--type-meta);font-weight:700}.language-switch>span{color:var(--accent)}.site-footer,footer.footer{width:min(1480px,100%);margin:36px auto 0;padding:24px 28px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);color:var(--subtle);font-size:var(--type-meta)}.landing{display:grid;grid-template-columns:minmax(0,1fr) clamp(370px,30vw,440px);gap:36px clamp(28px,3vw,48px);width:min(1480px,calc(100% - 64px));margin:42px auto 0;align-items:start}.intro{display:flex;flex-direction:column;align-items:center;min-width:0;padding:12px 0 0}.hero-copy{width:min(100%,840px);min-width:0;text-align:center}.eyebrow,.lobby-eyebrow,.bot-eyebrow,.analysis-kicker,.match-room-kicker{display:block;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}.hero-copy h1{margin:16px 0 19px;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(48px,5.1vw,82px);font-weight:400;letter-spacing:-2px;line-height:1.04}.hero-copy h1 em{color:var(--accent);font-weight:400}.hero-lede{max-width:47ch;margin-inline:auto;color:var(--muted);font-size:14px;line-height:1.75}.hero-journeys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,600px);gap:10px;margin:23px auto 0}.hero-journey{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:60px;padding:10px 16px;text-align:left;border:1px solid var(--edge);background:linear-gradient(135deg,#69402c5c,#312523);border-radius:9px;box-shadow:inset 0 1px #ffcd9b15,0 3px #0a090b;color:var(--text)}.hero-journey-bot{background:var(--surface);border-color:var(--line)}.hero-journey:hover{border-color:var(--accent);background:#483025}.hero-journey-icon{color:var(--accent-light);font-size:28px;line-height:1}.hero-journey-copy{display:flex;flex-direction:column;gap:4px}.hero-journey strong{font-size:var(--type-body)}.hero-journey small{font-size:var(--type-meta);color:var(--muted)}.hero-journey-arrow{margin-left:5px;color:var(--accent)}.hero-invite-note{margin:16px 0 0;color:var(--subtle);font-size:var(--type-control)}.hero-invite-note button,.hero-invite-note a{padding:5px 3px;color:var(--accent-light);background:none;border:0;font-size:inherit}.hero-stage{position:relative;width:min(100%,840px);min-width:0;margin-top:18px}.hero-board-scene{display:flex;flex-direction:column;align-items:center;width:100%;margin:0;container-type:inline-size}.hero-board-viewport{position:relative;width:100%;aspect-ratio:25 / 17;flex:none;perspective:200cqw;perspective-origin:50% 50%}.hero-board-art{position:absolute;left:11.2559%;top:-7cqw;width:70%;height:auto;aspect-ratio:1;margin:0;transform:rotateX(42deg) rotate(-12deg);transform-style:preserve-3d;border:clamp(7px,1.8cqw,15px) solid #633c29;border-radius:6px;background:#2b1a14;box-shadow:inset 0 0 0 2px #b97b4a,0 .6cqw #593825,0 1.2cqw #352117,0 1.8cqw #241713,.5cqw 1.8cqw 1.2cqw #0009}.hero-preview-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));overflow:hidden;border:1px solid #23150f;box-shadow:0 0 0 2px #24150e}.hero-preview-grid>span{display:grid;place-items:center;position:relative;min-width:0;min-height:0;background:#e0b98f}.hero-preview-grid>.dark{background:#8d5138}.hero-preview-pieces{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}.hero-preview-piece{position:absolute;width:12.5%;height:12.5%;transform-style:preserve-3d}.hero-preview-piece-art{display:block;width:100%;height:100%;transform:translateZ(4px);transform-style:preserve-3d}.hero-board-art .piece-render{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(1px 4px 2px #0007)}.hero-preview-piece[data-preview-piece=white-knight]{animation:heroKnightWhite 12s cubic-bezier(.2,.65,.3,1) infinite}.hero-preview-piece[data-preview-piece=black-knight]{animation:heroKnightBlack 12s cubic-bezier(.2,.65,.3,1) infinite}.hero-preview-piece[data-preview-piece=white-knight] .hero-preview-piece-art{animation:heroKnightWhiteLift 12s ease-in-out infinite}.hero-preview-piece[data-preview-piece=black-knight] .hero-preview-piece-art{animation:heroKnightBlackLift 12s ease-in-out infinite}.hero-board-scene[data-preview-motion=paused] .hero-preview-piece,.hero-board-scene[data-preview-motion=paused] .hero-preview-piece-art{animation-play-state:paused}.hero-board-scene[data-preview-motion=reduced] .hero-preview-piece,.hero-board-scene[data-preview-motion=reduced] .hero-preview-piece-art{animation:none}.hero-board-caption{display:flex;flex-wrap:wrap;align-items:center;width:100%;gap:4px 14px;justify-content:center;margin-top:8px;color:var(--subtle);font-size:var(--type-meta);letter-spacing:.5px;text-align:center}.hero-board-caption>span:first-child{color:var(--accent);font-weight:700}.lobby-beta-notice{width:min(100%,700px);min-width:0;margin:28px 0 0;padding:19px 22px 21px;text-align:left;border:1px solid #644331;border-left:3px solid var(--accent);border-radius:11px;background:linear-gradient(135deg,#241e1d,#191618 78%);box-shadow:inset 0 1px #ffc88a10}.lobby-beta-kicker{display:flex;align-items:center;gap:7px;color:var(--accent);font-size:10px;line-height:1.4;font-weight:800;letter-spacing:1.45px}.lobby-beta-dot{width:6px;height:6px;flex:none;border-radius:50%;background:var(--accent)}.lobby-beta-notice h2{margin:12px 0 0;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:0}.lobby-beta-notice p{margin:8px 0 0;font-size:12px;line-height:1.67;color:var(--muted);overflow-wrap:anywhere}.lobby-beta-notice a{color:var(--accent-light);text-decoration:underline;text-underline-offset:2px}.lobby-beta-notice a:hover{color:#ffe1c3}.lobby-card{min-width:0;overflow:hidden;border:1px solid #78523b;border-radius:13px;background:linear-gradient(145deg,#332825 0,#221f21 45%);box-shadow:inset 0 1px #ffc88a1a,0 4px #0b090b,var(--shadow);scroll-margin-top:20px}.lobby-heading{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:24px 24px 20px}.lobby-heading h2{margin-top:7px;font:400 29px/1.12 "DM Serif Display",Georgia,serif;letter-spacing:-.5px}.lobby-eyebrow{font-size:10px;letter-spacing:1.5px}.lobby-connection-status{display:flex;align-items:center;gap:5px;font-size:var(--type-meta);white-space:nowrap;color:var(--subtle)}.lobby-connection-status i{width:5px;height:5px;border-radius:50%;background:var(--subtle)}.lobby-connection-status.is-connected i{background:var(--green)}.tab-row{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--well);border:1px solid var(--line);border-radius:8px}.tab-row button{min-height:44px;background:transparent;border-color:transparent;font-size:var(--type-control);font-weight:700;color:var(--muted)}.lobby-mode-switch{margin:0 24px 20px}.lobby-setup-sections{padding:0 24px 24px}.lobby-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.lobby-section-heading h3{font-size:var(--type-body);font-weight:700;color:var(--text)}.lobby-form-hint{font-size:var(--type-meta);line-height:1.55;color:var(--subtle);text-align:left}.lobby-profile-section{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.profile-entry{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.profile-name{flex:1 1 150px}.avatar-picker-container{position:relative;display:grid;grid-template-columns:48px auto;align-items:center;gap:4px;max-width:100%;flex-shrink:0}.avatar-picker{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;cursor:pointer}.avatar-picker input[type=file]{position:absolute;width:1px;height:1px;padding:0;opacity:0}.avatar-picker:focus-within{outline:2px solid var(--accent-light);outline-offset:4px;border-radius:8px}.avatar-picker-preview{display:grid;place-items:center;width:48px;height:48px;overflow:hidden;border-radius:9px;border:1px solid var(--edge);background:linear-gradient(145deg,#c89867,#74543c);color:#261b13;font-size:22px}.avatar-picker-preview img{width:100%;height:100%;object-fit:cover}.avatar-picker-action{font-size:var(--type-meta);color:var(--accent-light)}.avatar-button,.avatar-picker-button,.avatar-upload{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--edge);border-radius:10px;background:#4c362b;padding:0;overflow:hidden;font-size:26px;color:var(--accent-light)}.avatar-button img,.avatar-picker-button img,.avatar-upload img{width:100%;height:100%;object-fit:cover}.avatar-remove{display:grid;place-items:center;width:44px;height:44px;padding:0;color:var(--muted);font-size:16px;line-height:1;border:0;border-radius:7px;background:radial-gradient(circle,var(--well) 11px,var(--line) 11px 12px,transparent 12px)}.avatar-message{grid-column:1/-1;max-width:240px;min-width:0;overflow-wrap:anywhere;color:var(--red);font-size:var(--type-meta)}.lobby-form{display:flex;flex-direction:column;gap:15px}.lobby-form-heading{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:0}.lobby-configuration-group{display:flex;flex-direction:column;gap:10px}.lobby-time-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.lobby-time-presets button{min-height:44px;font-size:var(--type-control);font-weight:700;font-variant-numeric:tabular-nums;background:var(--well)}.lobby-time-presets .selected{border-color:var(--edge);color:var(--accent-light);background:#9e572b24}.lobby-field-help,.lobby-connection-note{font-size:var(--type-meta);line-height:1.6;color:var(--subtle)}.lobby-custom-time{display:grid;gap:5px;margin-top:3px}.visibility-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.visibility-option{min-height:52px;padding:9px 11px;text-align:left;background:var(--well)}.visibility-option strong,.visibility-option small{display:block}.visibility-option strong{font-size:var(--type-control);margin-bottom:4px}.visibility-option small{font-size:var(--type-meta);line-height:1.5;color:var(--subtle)}.visibility-option.selected{border-color:var(--edge);background:#6e402a26;color:var(--accent-light)}.lobby-launch-summary{display:flex;flex-wrap:wrap;gap:7px 12px;padding:12px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:var(--type-meta)}.lobby-launch-summary span+span:before{content:"·";margin-right:12px;color:var(--accent)}.lobby-submit .primary-button{width:100%;justify-content:space-between}.lobby-bot-entry{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:18px 24px;margin-top:0;border:0;border-top:1px solid var(--line);border-radius:0;background:#11111340}.lobby-bot-icon{font-size:27px;color:var(--accent)}.lobby-bot-copy{display:grid;gap:4px;min-width:0}.lobby-bot-copy strong{font-size:var(--type-control)}.lobby-bot-copy small{font-size:var(--type-meta);line-height:1.5;color:var(--subtle)}.lobby-bot-action{margin-left:auto;color:var(--accent)}.public-rooms{grid-column:1/-1;padding:27px 0 0;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:19px}.section-heading h2{font:400 30px/1.25 "DM Serif Display",Georgia,serif;margin-top:7px}.public-rooms-intro p{margin-top:7px;font-size:var(--type-body);color:var(--subtle)}.public-rooms-count{font-size:var(--type-meta);color:var(--muted)}.public-rooms-ledger{border:1px solid var(--line);border-radius:9px;overflow:hidden}.public-room-columns,.public-room{display:grid;grid-template-columns:minmax(180px,1.6fr) .7fr 1fr .5fr;gap:20px;align-items:center}.public-room-columns{padding:12px 20px;background:#ffffff03;color:var(--subtle);font-size:var(--type-meta);letter-spacing:.8px;text-transform:uppercase}.rooms-grid{list-style:none;padding:0;margin:0}.public-room-row{border-top:1px solid var(--line)}.public-room{width:100%;min-height:74px;text-align:left;padding:14px 20px;background:var(--surface);border:0;border-radius:0}.public-room:hover:not(:disabled){background:#332722}.public-room:focus-visible{outline:2px solid var(--accent-light);outline-offset:-4px}.public-room-identity{min-width:0;display:grid;gap:6px}.public-room-title strong{display:block;overflow-wrap:anywhere;white-space:normal;font-size:15px}.public-room-phase{font-size:var(--type-meta);color:var(--subtle)}.public-room-phase.has-seat{color:var(--green)}.public-room-time{font-size:13px;font-variant-numeric:tabular-nums}.public-room-seats{display:grid;gap:7px}.public-room-seats small{color:var(--muted);font-size:var(--type-meta)}.public-room-seat-markers{display:flex;gap:4px}.public-room-seat-markers i{width:8px;height:8px;border-radius:50%;border:1px solid var(--edge)}.public-room-seat-markers .occupied{background:var(--accent)}.public-room-action{font-size:var(--type-control);color:var(--accent-light);justify-self:end;white-space:nowrap}.lobby-empty-state{display:flex;align-items:center;gap:18px;min-height:88px;padding:20px 22px;border:1px dashed var(--line);border-radius:8px}.lobby-empty-symbol{color:var(--edge);font-size:30px}.empty-rooms{font-size:var(--type-body);color:var(--muted)}.lobby-empty-copy small{display:block;margin-top:5px;color:var(--subtle);font-size:var(--type-meta)}.public-rooms-setup-link{font-size:var(--type-control);margin-left:auto;white-space:nowrap}.game-layout{--board-size: min(920px,max(440px, calc(100svh - 300px) ));--inspector-size: clamp(350px,26vw,410px);display:grid;grid-template-columns:minmax(0,var(--board-size)) var(--inspector-size);align-items:start;gap:22px 28px;width:fit-content;max-width:min(1480px,calc(100% - 48px));margin:24px auto 0}.match-workspace-header{grid-column:1/-1}.bot-game-layout[data-phase=idle]{grid-template-areas:"header header" "board inspector"}.bot-game-layout[data-phase=idle]>.match-workspace-header{grid-area:header}.bot-game-layout[data-phase=idle]>.bot-game-center{grid-area:board}.bot-game-layout[data-phase=idle]>.match-inspector-column{grid-area:inspector}.room-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:0 0 16px;border-bottom:1px solid var(--line)}.room-indicator,.match-room-identity{display:flex;align-items:center;gap:13px;min-width:0}.room-indicator>div,.match-room-identity{min-width:0}.room-indicator h1,.match-room-identity h1{font-size:20px;font-weight:600;letter-spacing:-.6px;line-height:1.2;overflow-wrap:anywhere}.room-indicator small{display:block;color:var(--accent);font-size:11px;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:5px}.room-symbol,.bot-room-symbol{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;font-size:29px;color:var(--accent);border:1px solid var(--edge);border-radius:9px;background:linear-gradient(135deg,#503021,#261f1e);box-shadow:inset 0 1px #ffce991c,0 3px #0b0a0b}.match-room-identity{align-items:center;gap:12px}.match-room-identity h1{margin:5px 0 7px}.match-room-kicker{font-size:10px;letter-spacing:1.3px}.match-room-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--type-meta);color:var(--subtle)}.match-room-code{color:var(--accent-light);letter-spacing:1px}.room-buttons{display:flex;align-items:center;gap:8px;flex-shrink:0}.room-buttons button{min-height:44px;padding:9px 12px;font-size:var(--type-control)}.room-buttons .invite-button{color:var(--accent-light);border-color:var(--edge)}.room-buttons .leave-button{min-width:44px;color:var(--red);font-size:20px}.room-buttons .focus-toggle[aria-pressed=true]{color:var(--accent-light);border-color:var(--accent);background:#71412535}.game-center{min-width:0;width:100%}.chess-stage{width:100%;min-width:0;display:flex;flex-direction:column;gap:10px}.player-card,.bot-player-strip{position:relative;display:flex;align-items:center;gap:12px;min-height:72px;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:linear-gradient(110deg,#292325,#1c191c);box-shadow:inset 0 1px #ffffff07,0 2px #0b0a0b}.player-card.is-turn,.bot-player-strip[data-active=true]{border-color:var(--edge);box-shadow:inset 3px 0 var(--accent),inset 0 1px #ffcd9915,0 2px #0b0a0b;background:linear-gradient(110deg,#382920,#211c1d)}.player-avatar,.bot-player-avatar{flex-shrink:0;display:grid;place-items:center;width:43px;height:43px;border-radius:8px;border:1px solid #796456;background:linear-gradient(135deg,#f1debf,#b79974);color:#382c24;font-size:23px;box-shadow:0 2px 4px #0005;overflow:hidden}.player-avatar img,.bot-player-avatar img{width:100%;height:100%;object-fit:cover}.player-avatar.black,.bot-player-strip[data-color=black] .bot-player-avatar{color:#e7d8c5;background:linear-gradient(135deg,#5a5354,#252326);border-color:#71615c}.player-details,.bot-player-info{flex:1;min-width:0}.player-identity{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}.player-name-line,.bot-player-name{display:flex;align-items:center;gap:7px;min-width:0}.player-name,.player-name-line strong,.bot-player-name{min-width:0;overflow-wrap:anywhere;white-space:normal;font-size:var(--type-body);font-weight:700}.you-label{color:var(--accent-light);font-size:var(--type-meta);padding:3px 5px;border:1px solid var(--edge);border-radius:4px}.player-color-line,.bot-player-detail{display:flex;flex-wrap:wrap;gap:4px 9px;align-items:center;margin-top:5px;font-size:var(--type-meta);color:var(--subtle);line-height:1.4}.seat-description{display:inline-flex;align-items:center;gap:5px}.seat-marker,.bot-color-dot{width:6px;height:6px;border-radius:50%;background:#e8d6bb;border:1px solid #a38f78}.seat-marker.black,.bot-color-dot.black{background:#49464c}.player-status,.player-state,.bot-turn-label{font-size:var(--type-meta);color:var(--subtle);margin-left:auto;min-width:0;overflow-wrap:anywhere}.player-state.active,.bot-player-strip[data-active=true] .bot-turn-label{color:var(--accent-light)}.presence{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--subtle);margin-right:5px}.presence.on{background:var(--green)}.clock,.bot-player-clock{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:110px;min-height:48px;flex-shrink:0;border:1px solid #50403a;border-radius:6px;background:#100e10;box-shadow:inset 0 2px 6px #0008,0 1px #ffffff09;color:#dfd1c1;font-size:24px;font-weight:700;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.clock strong,.bot-player-clock strong{font-size:inherit;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.match-clock-label{font-size:var(--type-meta);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--subtle)}.clock.active,.bot-player-strip[data-active=true] .bot-player-clock{color:#2b180c;border-color:#d49a62;background:linear-gradient(#f8d19a,#cda165);box-shadow:inset 0 1px #fff0cd,0 2px #704b2e}.clock.active .match-clock-label{color:inherit}.clock.urgent,.bot-player-clock[data-urgent=true],.bot-player-strip[data-active=true] .bot-player-clock[data-urgent=true]{background:linear-gradient(#9b3932,#6d2326);color:#ffe0d2;border-color:#ef8f72;animation:clockCritical 1s ease-in-out infinite}.clock.urgent .match-clock-label{color:inherit}.bot-untimed{font-size:14px;font-weight:600;line-height:1.3;letter-spacing:0;color:inherit}.material-tray,.captured-tray{display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-width:0;max-width:100%;min-height:19px;margin-top:4px}.material-tray{gap:6px}.material-tray>.captured-tray{flex:1 1 0;margin-top:0}.material-tray:empty{display:none}.captured-piece{width:17px;height:19px;display:inline-grid;place-items:center}.captured-piece .piece-render{width:100%;height:100%;object-fit:contain}.material-advantage{font-size:var(--type-meta);color:var(--accent-light);padding-left:4px}.match-context-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border:1px solid var(--edge);border-radius:8px;background:#4a2c203d}.match-context-copy{display:grid;gap:5px;min-width:0}.match-context-copy strong{font-size:var(--type-body)}.match-context-copy span,.match-context-copy p{color:var(--muted);font-size:var(--type-control);line-height:1.5}.match-context-strip[data-phase=spectator]{border-color:var(--line);background:var(--well)}.result-banner.match-context-strip{flex-wrap:wrap;align-items:flex-start}.result-banner.match-context-strip>.match-context-copy{flex:1 1 100%}.result-banner.match-context-strip>button{flex:1 1 140px;min-width:0}.resume-room-notice,.lobby-return-notice{grid-column:1/-1}.lobby-return-notice{color:var(--accent-light);font-size:var(--type-control);line-height:1.6}.game-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.match-board-tools{margin-top:12px}.mode-actions{display:flex;flex-wrap:wrap;gap:6px}.mode-actions button{min-height:44px;padding:9px 12px;font-size:var(--type-control)}.mode-actions button.active,.mode-actions button[aria-pressed=true]{color:var(--accent-light);border-color:var(--edge);background:#64402a40}.game-hint,.bot-board-guide{font-size:var(--type-meta);line-height:1.6;color:var(--subtle)}.planner-badge{font-size:var(--type-meta);color:#a9dadd;padding:4px 7px;border:1px solid #3f767a;border-radius:5px}.match-board-dock{margin-top:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--panel-shadow);overflow:hidden}.bot-board-ribbon{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid var(--line)}.bot-ribbon-phase{color:var(--accent-light);font-size:var(--type-control);font-weight:700}.bot-ribbon-move{font-size:var(--type-meta);color:var(--subtle);font-variant-numeric:tabular-nums}.bot-ribbon-move strong{color:var(--text);margin-left:5px}.bot-ribbon-phase[data-check=true]{color:var(--red)}.bot-game-toolbar{padding:11px 14px}.bot-board-guide{flex:1 1 180px;text-align:right}.replay-controls.bot-result-replay{grid-template-columns:1fr 1fr minmax(100px,1.8fr) 1fr 1fr;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.bot-replay-position{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px}.bot-replay-position small{font-size:var(--type-meta);color:var(--subtle)}.bot-replay-position span{color:var(--accent-light)}.bot-board-guide summary{min-height:44px;display:inline-flex;align-items:center;cursor:pointer;color:var(--muted)}.bot-board-guide>div{padding:9px 0;display:grid;gap:6px}.game-banner{display:flex;align-items:center;gap:12px;padding:15px 17px;border:1px solid var(--edge);border-radius:8px;background:#4d2d2033}.game-banner h3,.game-banner strong{font-size:14px}.game-banner p,.game-banner small{color:var(--muted);font-size:var(--type-control);line-height:1.55}.result-sigil{flex-shrink:0;color:var(--accent-light);font-size:28px}.bot-result-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;border:0;border-bottom:1px solid var(--line);border-radius:0}.bot-result-copy,.game-end-title-group{min-width:0}.result-last-move,.result-explanation{margin-top:7px;color:var(--muted);font-size:var(--type-control);line-height:1.6;overflow-wrap:anywhere}.result-last-move b{color:var(--text);font-weight:600}.result-explanation{color:var(--subtle)}.spectator-note{padding:11px 14px;background:var(--well);border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:var(--type-control)}.match-request-stack{display:grid;gap:10px;margin-top:12px}.match-request-stack:empty{display:none}.match-request,.offer-box,.global-request{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:14px;border:1px solid var(--edge);border-radius:8px;background:#39271f}.match-request strong,.offer-box strong{flex:1 1 150px;font-size:var(--type-body)}.match-request button,.offer-box button,.pending-box button{min-height:44px;padding:9px 13px;font-size:var(--type-control)}.pending-box{padding:12px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:var(--type-control)}.sidebar-error{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-error button{min-width:44px;min-height:44px;background:transparent;border:0;font-size:20px}.match-request p,.offer-card p,.global-request p{margin-bottom:10px;font-size:12px}.match-request-actions,.offer-actions{display:flex;flex-wrap:wrap;gap:8px}.match-request-status,.pending-note{font-size:var(--type-control);color:var(--muted);padding:10px 0}.match-focus-mode{--inspector-size: 340px}.match-focus-mode .sidebar{display:none}.match-inspector-column{display:flex;flex-direction:column;gap:14px;min-width:0}.match-control-dock{flex:none;min-width:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--panel-shadow)}.match-control-dock .match-board-tools{margin-top:0}.bot-control-dock{padding:0}.bot-board-dock:empty{display:none}.sidebar{min-width:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--panel-shadow);overflow:hidden}.match-desk-heading,.bot-inspector-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 16px;border-bottom:1px solid var(--line)}.match-desk-title{min-width:0;font-size:14px;font-weight:700}.match-desk-title strong{display:block;font-size:var(--type-body);margin-top:6px;overflow-wrap:anywhere}.match-desk-phase{color:var(--subtle);font-size:var(--type-meta);padding:4px 6px;border-radius:4px;border:1px solid var(--line)}.match-desk-phase[data-phase=playing],.match-desk-phase[data-phase=ready]{color:var(--accent-light);border-color:var(--edge)}.sidebar-tabs{display:grid;grid-template-columns:repeat(2,1fr);padding:8px;gap:4px;background:#1211136b;border-bottom:1px solid var(--line)}.sidebar-tabs button{min-height:44px;min-width:0;border:1px solid transparent;background:transparent;padding:9px 6px;color:var(--subtle);font-size:var(--type-control);font-weight:700;position:relative}.sidebar-tabs .selected-tab{color:var(--accent-light);background:#443025;border-color:#76513d;box-shadow:inset 0 1px #ffc68d13,0 1px 3px #0005}.bot-sidebar-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.bot-sidebar-tabs:not(:has(button:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr))}.match-panel-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-content{display:flex;flex-direction:column;gap:15px;padding:18px;min-width:0;min-height:0}.bot-sidebar-content,.bot-analysis-sidebar{padding:18px;min-width:0}.bot-sidebar-content{container-name:bot-opponent;container-type:inline-size}.panel-title,.match-panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-title h3,.match-panel-heading h3,.panel-title>strong,.match-panel-heading>strong{font-size:var(--type-body)}.panel-title small,.match-panel-heading small{color:var(--subtle);font-size:var(--type-meta)}.match-empty-state{display:flex;align-items:center;gap:12px;padding:15px 0;color:var(--subtle);font-size:var(--type-control)}.match-empty-state>span{color:var(--edge);font-size:26px}.match-empty-state p{line-height:1.65}.move-list{border:1px solid var(--line);border-radius:7px;overflow:auto;max-height:355px;background:var(--well)}.move-history-viewport{block-size:134px;min-block-size:134px;min-width:0;overflow:hidden}.move-history-viewport>.match-empty-state{block-size:100%;min-block-size:100%}.move-history-viewport .move-list{block-size:100%;max-block-size:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.move-row{display:grid;grid-template-columns:34px 1fr 1fr;min-height:44px;align-items:stretch}.move-row:nth-child(2n){background:#ffffff03}.move-number{display:grid;place-items:center;color:var(--subtle);font-size:var(--type-meta)}.move-row button{min-height:44px;border:0;border-radius:0;padding:8px;background:transparent;font-size:var(--type-body);text-align:left}.move-row button:hover{background:#c27d4422}.move-row button.reviewing{color:var(--accent-light);background:#8f542c40;box-shadow:inset 2px 0 var(--accent)}.move-row button:focus-visible{outline:2px solid var(--accent-light);outline-offset:-4px}.replay-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.replay-controls button{min-height:44px;font-size:14px}.bot-result-replay{margin-top:0}.match-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sidebar-match-actions{display:block;padding:16px 18px}.match-controls button,.sidebar-match-actions button{min-height:44px;padding:8px;font-size:var(--type-control)}.sidebar-match-controls,.match-action-dock{padding-top:15px;margin-top:15px;border-top:1px solid var(--line)}.match-controls .danger,.sidebar-match-actions .danger{color:var(--red)}.tab-notification{position:absolute;top:6px;right:7px;display:grid;place-items:center;min-width:15px;height:15px;padding:1px 3px;border-radius:20px;font-size:11px;background:var(--accent);color:#2d160c}.chat-messages{display:flex;flex-direction:column;gap:10px;max-height:410px;min-height:160px;overflow:auto;padding:2px 0 14px}.chat-line{padding:10px 11px;border-radius:7px;background:var(--well);font-size:var(--type-body);line-height:1.6;overflow-wrap:anywhere}.chat-line small{color:var(--accent-light);font-size:var(--type-meta);display:block}.chat-line.own{background:#81532b24;border:1px solid #79523450}.chat-compose{display:flex;gap:7px;border-top:1px solid var(--line);padding-top:12px}.chat-compose input{width:100%;font-size:var(--type-body)}.chat-compose button{min-width:44px;min-height:44px;padding:8px;color:var(--accent-light)}.chat-consent{display:grid;gap:9px}.muted-centered{font-size:var(--type-control);color:var(--subtle);line-height:1.65;padding:14px 0}.chat-empty{font-size:var(--type-control);color:var(--subtle);padding:18px 0;line-height:1.6}.settings-group{padding:16px 0;border-bottom:1px solid var(--line)}.settings-group:first-child{padding-top:0}.settings-group:last-child{border-bottom:0}.settings-group h3,.settings-group h4{font-size:var(--type-body);margin-bottom:12px}.settings-disclosure{padding:0;border-bottom:1px solid var(--line)}.settings-disclosure:last-child{border-bottom:0}.settings-disclosure>summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:var(--type-body);font-weight:700}.settings-disclosure>summary::-webkit-details-marker{display:none}.settings-disclosure>summary:after{content:"+";color:var(--accent);font-size:19px;font-weight:400}.settings-disclosure[open]>summary:after{content:"−"}.settings-disclosure-content{padding:0 0 16px;display:grid;gap:12px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:7px}.theme-tile{display:grid;gap:5px;padding:5px;background:var(--well);min-width:0;text-align:center}.theme-tile>i{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:32px;border-radius:3px;overflow:hidden}.theme-tile b:nth-child(1),.theme-tile b:nth-child(4){background:var(--preview-light,#edc7a0)}.theme-tile b:nth-child(2),.theme-tile b:nth-child(3){background:var(--preview-dark,#8f5036)}.theme-tile b,.theme-tile small{font-size:var(--type-meta);font-weight:500;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}.theme-tile.active-theme{border-color:var(--accent);box-shadow:0 0 0 1px #ee914f38}.backdrop-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:7px}.backdrop-tile{min-height:48px;padding:6px;font-size:var(--type-meta);text-align:center}.backdrop-tile.bg-ember{background:linear-gradient(135deg,#442b24,#151315)}.backdrop-tile.bg-midnight{background:linear-gradient(135deg,#34415c,#10141c)}.backdrop-tile.bg-violet{background:linear-gradient(135deg,#493451,#17131b)}.backdrop-tile.bg-forest{background:linear-gradient(135deg,#364d3b,#111813)}.backdrop-tile.chosen-bg{border-color:var(--accent);color:var(--accent-light)}.piece-set-choices{display:grid;gap:7px}.piece-set-choice{display:flex;align-items:center;gap:10px;min-height:62px;padding:8px 10px;background:var(--well);text-align:left}.piece-set-choice.chosen{border-color:var(--edge);background:#6c412a24}.piece-set-visual{display:flex;width:78px;flex-shrink:0}.piece-set-visual>span{display:grid;place-items:center;width:39px;height:46px;flex:0 0 39px}.piece-set-visual .piece-render{width:39px;height:42px;object-fit:contain}.piece-set-meta{display:grid;gap:4px;min-width:0}.piece-set-meta strong{font-size:var(--type-control)}.piece-set-meta small{font-size:var(--type-meta);color:var(--subtle);line-height:1.5}.piece-set-check{display:grid;place-items:center;margin-left:auto;width:18px;height:18px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;color:transparent;font-size:11px}.piece-set-choice.chosen .piece-set-check{background:var(--accent);color:#27160d;border-color:var(--accent)}.board-preferences{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:10px}.board-preferences-heading{font-size:var(--type-body);font-weight:700;margin-bottom:7px}.board-preference-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;cursor:pointer}.board-preference-copy{display:grid;gap:4px;min-width:0}.board-preference-copy strong{font-size:var(--type-control);font-weight:600}.board-preference-copy small{font-size:var(--type-meta);color:var(--subtle);line-height:1.5}.board-preference-row input{flex-shrink:0}.board-preferences-notice{font-size:var(--type-meta);line-height:1.5;color:var(--accent-light);border-left:2px solid var(--accent);padding-left:9px}.privacy-row,.sound-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--type-control)}.privacy-row strong,.privacy-row small{display:block}.privacy-row small{color:var(--subtle);font-size:var(--type-meta);margin-top:5px}.host-settings{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.sound-customizer{display:grid;gap:0}.sound-customizer>strong{font-size:var(--type-control);margin-bottom:5px}.sound-profile{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:7px;padding:12px 0;border-top:1px solid var(--line)}.sound-profile>span{grid-column:1/-1;font-size:var(--type-control);color:var(--muted)}.sound-test{width:44px;height:44px;padding:0;color:var(--accent-light)}.sound-checkbox{grid-template-columns:minmax(0,1fr) 48px}.sound-checkbox>span{grid-column:auto}.sound-checkbox input{justify-self:end}.settings-panel input[type=range]{width:100%;min-height:32px;padding:0}.bot-appearance-sidebar{min-width:0;padding:0}.selected-piece-guide{display:flex;align-items:center;gap:12px;width:100%;max-width:100%;min-width:0;block-size:8rem;flex:none;border:1px solid var(--edge);border-radius:7px;padding:12px;background:#74452720}.selected-piece-copy{flex:1;min-width:0;min-height:0;max-height:100%;overflow:auto;overflow-wrap:anywhere;scrollbar-gutter:stable}.selected-piece-copy:focus-visible{outline-offset:-2px}.selected-piece-placeholder{display:grid;place-items:center;width:100%;height:100%;border:1px dashed var(--edge);border-radius:7px;color:var(--subtle);font-size:23px}.bot-piece-guide-slot{width:100%;min-width:0;margin-top:0}.selected-piece-visual{width:44px;height:48px;flex-shrink:0}.selected-piece-visual .piece-render,.rule-piece .piece-render{width:100%;height:100%;object-fit:contain}.selected-piece-guide strong,.rule-card strong{font-size:var(--type-body);color:var(--accent-light)}.selected-piece-guide p,.rule-card p{margin-top:5px;color:var(--muted);font-size:var(--type-body);line-height:1.65}.rule-intro{font-size:var(--type-body);color:var(--subtle);line-height:1.65}.rule-card{display:flex;align-items:flex-start;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.rule-card.rule-active{border-color:var(--edge);background:#74452720;border-radius:6px;padding:12px}.rule-number{color:var(--subtle);font-size:var(--type-meta);padding-top:8px}.rule-piece{width:40px;height:46px;flex-shrink:0}.toggle,input.themed-toggle-input{position:relative;width:48px;height:44px;flex:0 0 48px;border-radius:7px;padding:0;border:0;background:transparent}input.themed-toggle-input{appearance:none;-webkit-appearance:none;display:block;margin:0;cursor:pointer}.toggle:before,input.themed-toggle-input:before{content:"";position:absolute;left:3px;top:10px;width:42px;height:24px;border:1px solid var(--line);border-radius:24px;background:#141214}.toggle i,input.themed-toggle-input:after{position:absolute;left:7px;top:14px;display:block;width:16px;height:16px;border-radius:50%;background:#8d8179;transition:transform .16s}input.themed-toggle-input:after{content:""}.toggle.on:before,input.themed-toggle-input:checked:before{background:#7a4829;border-color:var(--edge)}.toggle.on i,input.themed-toggle-input:checked:after{transform:translate(17px);background:var(--accent-light)}input.themed-toggle-input:hover:not(:disabled):before{border-color:var(--accent)}input.themed-toggle-input:focus-visible{outline:2px solid var(--accent-light);outline-offset:4px}input.themed-toggle-input:disabled{opacity:.45;cursor:not-allowed}@media(forced-colors:active){input.themed-toggle-input{forced-color-adjust:none}input.themed-toggle-input:before{background:Canvas;border-color:ButtonText}input.themed-toggle-input:after{background:ButtonText}input.themed-toggle-input:checked:before{background:Highlight;border-color:Highlight}input.themed-toggle-input:checked:after{background:HighlightText}input.themed-toggle-input:focus-visible{outline-color:Highlight}}.bot-panel{display:flex;flex-direction:column;gap:17px}.bot-panel-heading{display:flex;align-items:center;gap:11px}.bot-engine-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--edge);border-radius:9px;color:var(--accent);background:linear-gradient(135deg,#4b3023,#292022);box-shadow:inset 0 1px #ffcf9e14,0 2px #0c0a0b}.bot-panel-heading h2{margin-top:5px;font-size:18px;letter-spacing:-.5px}.bot-eyebrow{font-size:10px;letter-spacing:1.3px}.bot-panel-intro{font-size:var(--type-body);color:var(--subtle);line-height:1.6}.bot-status{display:flex;align-items:flex-start;gap:9px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bot-status-dot{width:6px;height:6px;margin-top:5px;border-radius:50%;flex-shrink:0;background:var(--subtle)}.bot-status-copy{display:grid;gap:5px}.bot-status strong{font-size:var(--type-control)}.bot-status small{font-size:var(--type-meta);color:var(--subtle);line-height:1.5}.bot-status[data-phase=playing] .bot-status-dot{background:var(--green)}.bot-status[data-phase=thinking] .bot-status-dot,.bot-status[data-phase=loading] .bot-status-dot{background:var(--accent);animation:statusPulse 1.3s ease-in-out infinite}.bot-status[data-phase=finished] .bot-status-dot{background:var(--accent-light)}.bot-status[data-phase=error] .bot-status-dot{background:var(--red)}.bot-error>p{font-size:var(--type-control);margin-bottom:10px}.bot-error-diagnostics{margin-top:12px;border-top:1px solid var(--line)}.bot-error-diagnostics>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:var(--type-control);color:var(--muted)}.bot-error-diagnostics>summary:after{content:"+";margin-left:auto;color:var(--accent)}.bot-error-diagnostics[open]>summary:after{content:"−"}.bot-error-diagnostics>p{max-width:100%;margin:4px 0 0;font:12px/1.6 ui-monospace,monospace;color:var(--subtle);white-space:pre-wrap;overflow-wrap:anywhere}.bot-setup{display:grid;gap:15px}.bot-setup-section h3{font-size:16px;margin-bottom:13px}.bot-fieldset{padding:0;margin:0;border:0;min-width:0}.bot-fieldset legend{font-size:var(--type-control);color:var(--muted);font-weight:700;padding:0;margin-bottom:9px}.bot-fieldset:disabled{opacity:.5}.bot-side-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.bot-side-option{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 7px;min-height:48px;padding:8px 4px;border:1px solid var(--line);border-radius:6px;background:var(--well);font-size:var(--type-control);cursor:pointer}.bot-side-option input,.bot-difficulty-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.bot-side-symbol{font-size:24px;color:#ead7b6}.bot-side-symbol.black{color:#a99ca1}.bot-side-symbol.random{font-size:21px;color:var(--accent)}.bot-side-option[data-selected=true],.bot-difficulty-option[data-selected=true]{border-color:var(--edge);background:#72462b2b;box-shadow:inset 0 1px #ffce9710}.bot-side-option:focus-within,.bot-difficulty-option:focus-within{outline:2px solid var(--accent-light);outline-offset:3px}.bot-difficulty-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}@container bot-opponent (min-width: 600px){.bot-difficulty-options{grid-template-columns:repeat(4,minmax(0,1fr))}}.bot-difficulty-option{position:relative;min-height:44px;padding:11px;border:1px solid var(--line);border-radius:7px;background:var(--well);cursor:pointer;min-width:0}.bot-difficulty-title{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bot-difficulty-title strong{font-size:var(--type-control)}.bot-difficulty-rank{font-size:var(--type-meta);color:var(--subtle)}.bot-difficulty-option small{display:block;font-size:var(--type-meta);color:var(--subtle);margin-top:6px;line-height:1.5}.bot-difficulty-emblem{display:grid;place-items:center;width:24px;height:28px;flex:0 0 24px;margin-left:auto}.bot-difficulty-emblem .piece-render{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px #0005)}.bot-level-insight{border-left:2px solid var(--edge);padding-left:11px}.bot-level-insight strong{font-size:var(--type-control);color:var(--accent-light)}.bot-level-insight p{margin-top:5px;color:var(--muted);font-size:var(--type-body);line-height:1.6}.bot-level-insight small{display:block;margin-top:6px;font-size:var(--type-meta);color:var(--subtle);line-height:1.5}.bot-time-select{width:100%;min-height:44px;font-size:var(--type-control)}.bot-time-explanation,.bot-setup-note,.bot-engine-info{color:var(--subtle);font-size:var(--type-meta);line-height:1.6}.bot-time-explanation{margin-top:-8px}.bot-engine-info{padding-top:13px;border-top:1px solid var(--line)}.bot-setup-actions{display:flex;gap:8px}.bot-start-button{flex:1;flex-direction:row-reverse;justify-content:space-between}.bot-game-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px}.bot-game-controls>:last-child:nth-child(odd){grid-column:1/-1}.bot-game-controls button{font-size:var(--type-control)}.bot-resign-button{border-color:var(--line);color:var(--red)}.bot-confirmation{border:1px solid #76443b;border-radius:8px;background:#48272545;padding:13px}.bot-confirmation p{font-size:var(--type-body);line-height:1.5;margin-bottom:12px}.bot-confirmation-actions{display:flex;gap:7px}.bot-confirmation-actions>button{flex:1;padding-inline:7px;font-size:var(--type-control)}.bot-match-summary{display:flex;flex-wrap:wrap;gap:7px}.bot-match-summary span{font-size:var(--type-meta);border:1px solid var(--line);border-radius:4px;padding:5px 7px;color:var(--muted);background:var(--well)}.bot-history{border-top:1px solid var(--line)}.bot-history summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;cursor:pointer;font-size:var(--type-body);font-weight:700}.bot-move-count{font-size:var(--type-meta);font-weight:400;color:var(--subtle)}.bot-history{--bot-history-viewport: 170px }.bot-history-scroll{block-size:var(--bot-history-viewport);max-block-size:var(--bot-history-viewport);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;border:1px solid var(--line);border-radius:6px}.bot-history>.bot-empty-history{block-size:var(--bot-history-viewport);display:flex;align-items:center;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--well)}.bot-move-table thead th{block-size:36px;padding-block:6px;position:sticky;top:0;z-index:2;background:var(--well)}.bot-move-table tbody tr{block-size:44px}.bot-history-selection{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding-top:10px;font-size:var(--type-meta);color:var(--subtle)}.bot-history-selection strong{margin-left:6px;color:var(--text);font-size:var(--type-control)}.bot-show-board{display:none}.bot-move-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--type-body);font-variant-numeric:tabular-nums}.bot-move-table th,.bot-move-table td{text-align:left;padding:10px;border-bottom:1px solid #44363166}.bot-move-table thead{background:var(--well);color:var(--subtle);font-size:var(--type-meta)}.bot-move-table tbody th{font-size:var(--type-meta);color:var(--subtle);font-weight:400;width:35px}.bot-move-table tbody tr:nth-child(2n){background:#ffffff03}.bot-move-table td[data-latest=true]{color:var(--accent-light)}.bot-move-table td[data-selected=true]{background:#8f542c40;box-shadow:inset 2px 0 var(--accent)}.bot-move-table td:has(.bot-history-move){padding:0}.bot-history-move{width:100%;min-height:44px;border:0;border-radius:0;background:transparent;padding:10px;text-align:left;font-size:var(--type-body)}.bot-history-move:hover{background:#c27d4422}.bot-history-move:focus-visible{outline:2px solid var(--accent-light);outline-offset:-4px}.bot-empty-history{padding:10px 0;font-size:var(--type-control);color:var(--subtle)}.bot-analysis-button{width:100%;justify-content:space-between}.bot-analysis-hint,.bot-copy-notice{padding:12px;font-size:var(--type-meta);line-height:1.6;color:var(--muted);border:1px solid var(--line);border-radius:7px}.bot-board-announcement,.bot-board-feedback{font-size:var(--type-control);color:var(--accent-light)}.analysis-workspace{display:grid;gap:16px;min-width:0}.analysis-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.analysis-workspace-header h2{font-size:18px;margin-top:5px;letter-spacing:-.4px}.analysis-kicker{font-size:10px;letter-spacing:1.1px}.analysis-engine-pill{display:grid;gap:3px;font-size:var(--type-meta);color:var(--accent-light);text-align:right}.analysis-engine-pill small{font-size:var(--type-meta);color:var(--subtle)}.analysis-state-card{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:9px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.analysis-state-icon{color:var(--accent);font-size:18px}.analysis-state-copy{display:grid;gap:5px;min-width:0}.analysis-state-copy h3{font-size:var(--type-body)}.analysis-state-copy p,.analysis-state-copy small{color:var(--subtle);font-size:var(--type-control);line-height:1.55}.analysis-state-card[data-state=failed]{border-color:#86483f}.analysis-run-controls{display:flex;flex-wrap:wrap;gap:7px;grid-column:1/-1}.analysis-run-controls button{flex:1;font-size:var(--type-control)}.analysis-progress{grid-column:1/-1;display:flex;align-items:center;gap:9px}.progress-track{flex:1;height:4px;overflow:hidden;border-radius:4px;background:var(--well)}.progress-track i{display:block;height:100%;background:var(--accent);transition:width .2s}.analysis-completion{font-size:var(--type-meta);color:var(--subtle);line-height:1.5}.analysis-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.analysis-player-card{padding:12px;min-width:0;border:1px solid var(--line);border-radius:7px;background:linear-gradient(135deg,#43392f,#272325);box-shadow:inset 0 1px #ffffff0a}.analysis-player-card.black{background:linear-gradient(135deg,#29272e,#1b191e)}.analysis-player-name{display:flex;align-items:center;gap:6px;font-size:var(--type-control);color:var(--muted)}.analysis-player-name i{width:6px;height:6px;border-radius:50%;background:#e8d6bb}.analysis-player-card.black .analysis-player-name i{background:#7d7582}.analysis-metric{display:flex;align-items:baseline;gap:3px;font-size:30px;font-weight:700;letter-spacing:-1px;margin-top:8px;font-variant-numeric:tabular-nums}.analysis-metric small{font-size:var(--type-meta);color:var(--subtle);letter-spacing:0}.analysis-metric-empty{min-height:45px;align-items:center;font-size:var(--type-meta);font-weight:500;letter-spacing:0;color:var(--muted)}.analysis-metric-caption{display:block;margin-top:2px;font-size:var(--type-meta);color:var(--subtle)}.analysis-player-counts{display:flex;flex-direction:column;gap:5px;margin-top:10px;font-size:var(--type-meta);color:var(--subtle)}.analysis-player-counts span{display:flex;justify-content:space-between;gap:7px}.analysis-player-counts b{color:var(--text);font-weight:500}.analysis-loss-caption{display:block;margin-top:7px;font-size:var(--type-meta);color:var(--subtle);line-height:1.5}.analysis-focus-region{display:grid;gap:0;border:1px solid var(--edge);border-radius:8px;overflow:hidden;background:var(--well)}.analysis-position-control{padding:12px;display:grid;gap:10px}.analysis-position-readout{display:flex;align-items:center;justify-content:space-between;gap:10px}.analysis-position-readout strong{font-size:var(--type-body)}.analysis-position-readout>div{display:grid;gap:5px}.analysis-position-readout>div>span{font-size:var(--type-meta);color:var(--subtle)}.analysis-position-readout small{font-size:var(--type-meta);color:var(--subtle)}.analysis-current-evaluation{padding:5px 7px;border:1px solid var(--line);border-radius:4px;color:var(--accent-light);font-size:12px;font-variant-numeric:tabular-nums}.analysis-navigation{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.analysis-navigation button{min-height:44px;padding:7px;font-size:16px}.analysis-slider-label{display:grid;gap:6px;color:var(--subtle);font-size:var(--type-meta)}.analysis-position-slider{width:100%;min-height:20px;margin:0;padding:0;cursor:pointer}.analysis-selected-move{padding:13px;border-top:1px solid var(--line)}.analysis-move-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.analysis-move-heading h3{font-size:18px;letter-spacing:-.3px;margin-top:5px}.analysis-grade{font-size:var(--type-meta);border:1px solid currentColor;border-radius:4px;padding:4px 6px}.q-best,.q-good{color:#abc990}.q-inaccuracy{color:#e2c279}.q-mistake{color:#eea368}.q-blunder{color:#ed8c82}.analysis-annotation{font-size:var(--type-body);color:var(--muted);line-height:1.6;margin-top:9px}.analysis-move-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:12px 0}.analysis-move-facts>div{padding:8px;border:1px solid var(--line);border-radius:5px}.analysis-move-facts dt{font-size:var(--type-meta);color:var(--subtle)}.analysis-move-facts dd{font-size:var(--type-body);margin:5px 0 0;font-weight:700}.analysis-position-description{font-size:var(--type-control);color:var(--subtle);line-height:1.6}.analysis-variation{padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.analysis-variation>strong{font-size:var(--type-body)}.analysis-variation>.secondary-button{width:100%;justify-content:space-between;font-size:var(--type-control)}.analysis-variation-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.analysis-variation-heading h4,.analysis-variation-heading strong{font-size:var(--type-control)}.analysis-variation-readout{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;font-size:var(--type-meta);color:var(--subtle)}.analysis-variation-line{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}.analysis-variation-move{display:inline-flex;align-items:center;gap:4px;width:auto;flex:0 0 auto;min-height:44px;min-width:44px;padding:7px 9px;font-size:var(--type-control);background:transparent}.analysis-variation-move small{font-size:var(--type-meta);color:var(--subtle)}.analysis-variation-move.is-current{color:var(--accent-light);background:#80502b40;border-color:var(--edge)}.analysis-variation-notice{border:1px solid var(--edge);border-radius:7px;padding:11px;background:#74452726}.analysis-variation-notice strong{font-size:var(--type-control)}.analysis-variation-notice p{font-size:var(--type-control);color:var(--muted);line-height:1.6;margin:6px 0 9px}.analysis-evaluation-chart{padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.analysis-chart-topline{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;font-size:var(--type-meta);color:var(--muted);margin-bottom:9px}.analysis-chart-topline small{font-size:var(--type-meta);color:var(--subtle)}.analysis-chart-topline h3{font-size:var(--type-body)}.analysis-chart-svg{display:block;width:100%;height:136px;overflow:visible;cursor:crosshair}.analysis-chart-white{fill:#e5d8c81f}.analysis-chart-black{fill:#0004}.analysis-chart-zero{stroke:#87705b;stroke-dasharray:3 4;stroke-width:1}.analysis-chart-line{fill:none;stroke:var(--accent);stroke-width:2}.analysis-chart-cursor{stroke:#eee1d3;stroke-width:1;stroke-dasharray:3 3}.analysis-chart-point{fill:var(--accent-light);stroke:#282024;stroke-width:2}.analysis-chart-axis,.analysis-chart-scale{display:flex;justify-content:space-between;color:var(--subtle);font-size:var(--type-meta);margin-top:5px}.analysis-moments h3,.analysis-next-step h3{font-size:var(--type-body);margin-bottom:10px}.analysis-moment-list{display:grid;gap:6px}.analysis-moment-list button{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:48px;padding:10px;text-align:left;background:var(--well)}.analysis-moment-list button.is-selected{border-color:var(--edge);background:#72462b2b}.analysis-next-moment{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:9px 11px;margin-bottom:9px;color:var(--accent-light);font-size:var(--type-control)}.analysis-moment-list .analysis-moment-button{flex-wrap:wrap}.analysis-moment-button>small{flex-basis:100%}.analysis-moment-list strong{font-size:var(--type-body)}.analysis-moment-list small{display:block;margin-top:4px;font-size:var(--type-meta);color:var(--subtle)}.analysis-next-step p{color:var(--muted);font-size:var(--type-body);line-height:1.6}.analysis-method,.analysis-phases{border-top:1px solid var(--line)}.analysis-method summary,.analysis-phases>summary{min-height:44px;display:flex;align-items:center;font-size:var(--type-control);color:var(--muted);cursor:pointer}.analysis-method summary:after,.analysis-phases>summary:after{content:"+";margin-left:auto;color:var(--accent)}.analysis-method[open] summary:after,.analysis-phases[open]>summary:after{content:"−"}.analysis-method p{font-size:var(--type-control);line-height:1.7;color:var(--subtle);padding-bottom:10px}.phase-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;padding:9px 0;font-size:var(--type-meta);border-top:1px solid #44363166}.phase-heading{font-size:var(--type-meta);color:var(--subtle)}.analysis-empty{color:var(--subtle);font-size:var(--type-control);line-height:1.7;padding:12px 0}.quality-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--type-meta);color:var(--muted)}.quality-legend>span{display:inline-flex;align-items:center;gap:4px}.move-quality{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;font-size:11px;margin-left:5px}.notation-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.notation-actions button{min-height:44px;font-size:var(--type-control);padding:8px}.analysis-box{padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--well)}.analysis-title{display:flex;gap:8px;align-items:center;font-size:12px;margin-bottom:12px}.analysis-icon{color:var(--accent)}.analysis-progress,.analysis-error,.engine-footnote{font-size:11px;line-height:1.6;color:var(--subtle)}.analysis-error{color:var(--red)}.analysis-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.analysis-stats>div{padding:12px;border:1px solid var(--line);border-radius:6px}.analysis-graph svg{width:100%;height:130px}.critical-moves{display:grid;gap:6px;margin-top:12px}dialog{color:var(--text);border:1px solid var(--edge);border-radius:15px;background:linear-gradient(140deg,#3a2b25,#201c20 60%);box-shadow:inset 0 1px #fc92,0 35px 100px #000b,0 4px #100b0c}dialog::backdrop{background:#070609c9;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}dialog:not([open]){display:none}.game-end-dialog{width:min(500px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:0}.game-end-dialog[open]{animation:gameEndReveal .22s cubic-bezier(.2,.72,.22,1) both}.game-end-card{position:relative;padding:28px}.game-end-close{position:absolute;top:8px;right:8px;width:44px;height:44px;display:grid;place-items:center;background:transparent;border-color:transparent;color:var(--subtle);font-size:21px}.game-end-header{display:flex;align-items:center;gap:17px;padding-right:18px}.game-end-emblem{display:grid;place-items:center;flex-shrink:0;width:64px;height:72px;font-size:45px;color:#ffd39e;background:radial-gradient(ellipse,#8d522b5c,transparent 70%);text-shadow:0 3px 0 #784623,0 8px 15px #0007}.game-end-emblem[data-emblem=loss]{color:#beaaa1}.game-end-emblem[data-emblem=draw]{color:#c4c4d1}.game-end-kicker{color:var(--accent);font-size:11px;letter-spacing:1.5px;text-transform:uppercase}.game-end-title-group h2,.game-end-card>h2{margin:6px 0;font:400 36px/1.1 "DM Serif Display",Georgia,serif;letter-spacing:-.7px}.game-end-reason{font-size:var(--type-body);color:var(--muted);line-height:1.6}.game-end-scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:24px 0 14px}.game-end-player{min-width:0;padding:13px;border:1px solid var(--line);border-radius:8px;background:#1411148c;display:grid;grid-template-columns:30px 1fr;gap:7px 9px;align-items:center}.game-end-player.winner,.game-end-player[data-winner=true]{border-color:var(--edge);background:#68402530}.game-end-avatar{display:grid;place-items:center;width:30px;height:34px;grid-row:span 2;font-size:18px;color:#382c24;background:#d8bd99;border-radius:5px;overflow:hidden}.game-end-avatar.black{color:#e7d8c5;background:#4a4145}.game-end-avatar img{width:100%;height:100%;object-fit:cover}.game-end-player-name{min-width:0;font-size:var(--type-control);font-weight:700;overflow-wrap:anywhere;white-space:normal}.game-end-seat{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:var(--type-meta);color:var(--subtle)}.game-end-score{grid-column:1/-1;font-size:31px;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums;border-top:1px solid var(--line);padding-top:8px}.game-end-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 17px;color:var(--subtle);font-size:var(--type-meta);margin-bottom:23px}.game-end-meta>span{min-width:0;max-width:100%;overflow-wrap:anywhere}.game-end-primary-actions{display:flex;gap:9px}.game-end-primary-actions>button{flex:1;min-width:0;font-size:var(--type-control);padding-inline:9px}.game-end-secondary-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:13px}.game-end-secondary-actions button{min-height:44px;padding:7px 9px;font-size:var(--type-meta)}.game-end-export-actions{display:flex;flex-wrap:wrap;gap:4px}.game-end-status{color:var(--accent-light);font-size:var(--type-control);line-height:1.5;margin-top:12px}.game-end-footer{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.game-end-note{font-size:var(--type-meta);line-height:1.6;color:var(--subtle);max-width:29ch}.game-end-lobby{min-height:44px;background:transparent;border:0;color:var(--muted);font-size:var(--type-control);padding:7px 0 7px 7px;white-space:nowrap}.match-decision-dialog,.bot-leave-confirmation{width:min(430px,calc(100vw - 32px));padding:25px}.match-decision-card{display:grid;gap:14px}.match-decision-symbol{font-size:32px;color:var(--accent)}.match-decision-dialog h2,.bot-leave-confirmation h2{font:400 29px/1.15 "DM Serif Display",Georgia,serif}.match-decision-dialog p,.bot-leave-confirmation p{margin:10px 0 18px;color:var(--muted);font-size:var(--type-body);line-height:1.65}.match-decision-actions,.bot-leave-actions{display:flex;gap:8px}.match-decision-actions>button,.bot-leave-actions>button{flex:1}.online-promotion-dialog.promotion-modal,.bot-promotion-dialog{width:min(440px,calc(100vw - 32px));margin:auto;padding:25px}.promotion-modal h2,.bot-promotion-dialog h2{font:400 28px/1.2 "DM Serif Display",Georgia,serif}.promotion-modal p,.bot-promotion-dialog p{color:var(--muted);font-size:var(--type-body);margin:9px 0 18px}.promotion-options,.bot-promotion-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.promotion-options button,.bot-promotion-options button{display:flex;flex-direction:column;align-items:center;min-width:0;gap:5px;padding:8px 4px;min-height:93px;background:var(--well)}.promotion-options button:hover,.bot-promotion-options button:hover{border-color:var(--accent);background:#7e4a2b2b}.promotion-piece,.bot-promotion-options .piece{display:block;position:relative;width:58px;max-width:100%;height:58px}.promotion-piece .piece-render{width:100%;height:100%;object-fit:contain}.promotion-piece-label,.bot-promotion-options button>span:last-child{font-size:12px;color:var(--text)}.online-promotion-dialog.promotion-modal,.bot-promotion-dialog,.match-decision-dialog,.bot-leave-confirmation{max-height:calc(100dvh - 24px);overflow:auto}.bot-leave-confirmation>strong{display:block;font-size:15px;line-height:1.6;margin-bottom:22px}@media(max-width:1150px){.lobby-heading,.lobby-bot-entry,.lobby-setup-sections{padding-inline:20px}.lobby-mode-switch{margin-inline:20px}.game-layout{--inspector-size: 340px;gap:18px}.clock,.bot-player-clock{width:94px}.player-state,.bot-turn-label{margin-left:0}}@media(max-width:1080px){.landing{width:calc(100% - 48px);grid-template-columns:minmax(0,1fr);gap:32px;margin-top:30px}.intro{padding-top:0}.hero-copy,.hero-stage{width:min(100%,620px)}.hero-copy h1{letter-spacing:-1.5px}.hero-board-caption{letter-spacing:0}.lobby-heading,.lobby-setup-sections{padding-inline:24px}.lobby-mode-switch{margin-inline:24px}.lobby-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px 24px}.lobby-form-heading,.lobby-launch-summary,.lobby-submit,.lobby-invitation-entry,.lobby-form>.lobby-connection-note,.lobby-form>.error-message{grid-column:1/-1}}@media(max-width:1000px){.topbar{padding:16px 24px;min-height:80px}.shell-context{display:none}.game-layout{width:min(740px,var(--board-size),calc(100% - 40px));max-width:none;grid-template-columns:minmax(0,1fr);gap:20px}.bot-game-layout[data-phase=idle]{grid-template-areas:"header" "inspector" "board"}.sidebar,.game-center{width:100%}.bot-sidebar-content,.bot-analysis-sidebar,.sidebar-content{padding:20px}.bot-panel{gap:18px}.bot-show-board{display:inline-flex}.bot-game-controls{grid-template-columns:repeat(3,1fr)}.bot-game-controls>:last-child:nth-child(odd){grid-column:auto}.match-focus-mode .sidebar{display:none}}@media(max-width:850px){.hero-journey{padding:10px;gap:8px}.public-room-columns,.public-room{grid-template-columns:minmax(140px,1.4fr) .7fr 1fr .5fr;gap:12px}}@media(max-width:650px){.lobby-beta-notice{margin-top:20px;padding:16px 16px 18px}.topbar{min-height:74px;gap:10px;padding:14px 16px;flex-wrap:wrap}.shell-navigation{order:3;width:100%;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:5px}.brand-mark{width:34px;height:38px}.brand{gap:7px}.brand strong{font-size:22px}.brand small{font-size:9px;letter-spacing:1px}.top-actions,.shell-tools{gap:7px}.connection-pill{gap:3px}.connection-pill span{width:6px;height:6px;margin:0 5px}.top-actions>.ghost-button{font-size:var(--type-meta);padding:7px}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea,.field input,.chat-compose input,.game-select-trigger,.game-select-item,.bot-time-select{font-size:16px}.landing{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr);gap:26px;margin-top:24px}.intro{padding:0}.hero-copy h1{font-size:clamp(44px,7.4vw,48px);line-height:1.02;margin-top:14px}.hero-lede{font-size:var(--type-body);max-width:45ch}.hero-journeys{gap:8px}.hero-journey{min-height:58px}.hero-journey-icon{font-size:23px}.hero-journey-arrow{margin-left:auto}.hero-invite-note{margin-top:13px}.lobby-card{margin-top:0}.lobby-heading{flex-wrap:nowrap;padding:21px 20px 17px}.lobby-heading h2{font-size:29px}.lobby-setup-sections{padding:0 20px 22px}.lobby-mode-switch{margin-inline:20px}.lobby-form{display:flex;align-items:stretch;gap:16px}.public-rooms{padding-top:22px}.section-heading{align-items:flex-start}.section-heading h2{font-size:28px}.public-room-columns{display:none}.public-room{grid-template-columns:minmax(0,1fr) auto;gap:10px 15px;padding:15px}.public-room-time{justify-self:end}.public-room-seats{grid-column:1;display:flex;align-items:center}.public-room-action{grid-column:2}.public-room-row:first-child{border-top:0}.lobby-empty-state{flex-wrap:wrap;gap:12px;padding:17px}.public-rooms-setup-link{margin-left:42px}.game-layout{width:min(var(--board-size),calc(100% - 24px));margin-top:18px;gap:16px}.room-bar{align-items:flex-start;gap:10px;padding-bottom:14px}.room-indicator h1,.match-room-identity h1{font-size:17px}.room-symbol,.bot-room-symbol{width:36px;height:39px;font-size:24px}.room-indicator{gap:9px}.room-buttons{flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:180px}.match-room-bar{flex-wrap:wrap}.match-room-bar>.match-room-identity{width:100%}.match-room-bar .room-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) 44px;width:100%;max-width:none;gap:6px}.match-room-bar .room-buttons>button{min-width:0}.room-buttons .invite-label{white-space:normal}.room-buttons .invite-icon{margin-right:5px}.room-buttons .invite-button{min-width:44px}.room-buttons button{padding:7px;min-height:44px}.match-room-meta{gap:5px 9px}.player-card,.bot-player-strip{padding:9px 10px;min-height:68px;gap:9px}.player-avatar,.bot-player-avatar{width:37px;height:40px;font-size:25px}.clock,.bot-player-clock{width:85px;min-height:46px;font-size:22px}.match-clock-label{letter-spacing:.4px}.player-name,.player-name-line strong,.bot-player-name{font-size:13px}.chess-stage{gap:8px}.captured-piece{width:13px;height:16px}.material-tray,.captured-tray{gap:0;min-height:18px}.match-context-strip{padding:11px;gap:10px;flex-wrap:wrap}.match-context-strip button{width:100%}.game-toolbar{gap:9px}.mode-actions{width:100%}.mode-actions button{flex:1;padding:8px}.bot-game-toolbar{padding:10px}.bot-board-guide{text-align:left}.bot-board-ribbon{padding:11px}.bot-result-summary{grid-template-columns:auto minmax(0,1fr)}.bot-result-summary>button{grid-column:2;justify-self:start}.sidebar-tabs button{padding:8px 5px}.bot-sidebar-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-content,.bot-sidebar-content,.bot-analysis-sidebar{padding:16px}.bot-game-controls{grid-template-columns:1fr 1fr}.bot-game-controls>:last-child:nth-child(odd){grid-column:1/-1}.analysis-move-facts{gap:4px}.analysis-move-facts>div{padding:7px}.analysis-variation-move{min-height:44px}.game-end-card{padding:23px 20px}.game-end-title-group h2{font-size:32px}.game-end-emblem{width:52px;height:60px;font-size:39px}.game-end-header{gap:12px}.game-end-secondary-actions{align-items:flex-start}.game-end-secondary-actions button{min-height:44px}.game-end-footer{align-items:flex-start}.game-end-lobby{min-height:44px}.promotion-options,.bot-promotion-options{gap:5px}.online-promotion-dialog.promotion-modal,.bot-promotion-dialog{padding:20px}.promotion-piece,.bot-promotion-options .piece{width:49px;height:53px}.site-footer,footer.footer{padding:22px 16px;margin-top:26px;flex-direction:column;gap:8px}}@media(max-width:390px){.replay-controls.bot-result-replay{grid-template-columns:44px 44px minmax(0,1fr) 44px 44px;gap:4px;padding-inline:6px}.lobby-heading{flex-wrap:wrap}}@media(max-width:360px){.hero-journeys{grid-template-columns:minmax(0,1fr)}}@container bot-opponent (min-width: 600px){.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-panel>.bot-status{padding-block:6px}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-panel>.bot-setup-section,.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-panel>.bot-engine-info{grid-column:1/-1}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-panel>.bot-piece-guide-slot{grid-column:1/-1}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-setup{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 16px}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-setup>.bot-fieldset:first-child{grid-column:1;grid-row:1}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-setup>.bot-fieldset:nth-child(2){grid-column:2;grid-row:1/span 2}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-setup>.bot-level-insight{grid-column:1;grid-row:2}.bot-game-layout[data-mode=master]:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-setup>.bot-master-fieldset{grid-column:2;grid-row:1}.bot-game-layout[data-mode=master]:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-setup>.bot-master-profile{grid-column:1/-1;grid-row:2}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-difficulty-options{grid-template-columns:repeat(2,minmax(0,1fr))}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-setup>.bot-time-field{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-time-field>legend{grid-column:1/-1}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-setup>.bot-time-explanation{margin:0}.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-setup>.bot-setup-note,.bot-game-layout:has(.bot-sidebar .bot-setup):not(.match-focus-mode) .bot-setup>.bot-confirmation{grid-column:1/-1}}.bot-prestart-setup{min-width:0;min-height:0;height:min(680px,60svh)}.bot-prestart-panel{display:flex;flex-direction:column;flex:1 1 0;min-height:0;height:100%;padding:16px;gap:14px}.bot-prestart-panel>:is(.bot-panel-heading,.bot-mode-switch){flex:none}.bot-prestart-panel>.bot-prestart-form{display:flex;flex-direction:column;flex:1 1 0;min-height:0;gap:12px}.bot-prestart-options{display:grid;align-content:start;flex:1 1 0;min-height:0;gap:15px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:8px 8px 12px}.bot-prestart-form>:is(.bot-setup-actions,.bot-confirmation){flex:none;margin:0;padding-top:12px;border-top:1px solid var(--line)}.match-room-bar>.waiting-banner{min-width:0}.bot-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;gap:8px}.bot-mode-switch>button{min-width:0;min-height:44px;padding:9px;white-space:normal;overflow-wrap:anywhere}.bot-master-fieldset,.bot-master-profile,.bot-master-summary{min-width:0}.bot-master-select{width:100%;max-width:100%}.bot-master-summary{display:grid;gap:5px}.bot-master-summary>:is(strong,small,span,p){overflow-wrap:anywhere}.bot-master-profile{display:grid;gap:10px}.bot-master-repertoire>summary,.bot-master-sources>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.bot-master-repertoire ul,.bot-master-sources ul{display:grid;gap:9px;margin:0;padding:0 0 0 20px}.bot-master-repertoire li,.bot-master-sources li{min-width:0;overflow-wrap:anywhere}.bot-master-repertoire li>:is(strong,span){display:block}@media(min-width:1001px)and (min-height:651px){.app-shell:is([data-screen=online],[data-screen=bot]){height:100dvh;min-height:0}.app-shell:is([data-screen=online],[data-screen=bot])>.topbar{flex:none;width:100%;min-height:64px;padding-block:8px}.app-shell:is([data-screen=online],[data-screen=bot])>.site-footer{flex:none;width:100%;min-height:35px;margin:0;padding:7px 24px}.app-shell:is([data-screen=online],[data-screen=bot])>.storage-notice{flex:none}.game-layout{--inspector-size: clamp(320px,30vw,460px);flex:1 1 0;min-height:0;width:100%;max-width:none;margin:0;padding:8px 14px 4px;gap:8px 20px;grid-template-columns:var(--inspector-size) minmax(0,1fr) var(--inspector-size);grid-template-rows:auto minmax(0,1fr);align-items:stretch}.game-layout>.match-workspace-header{grid-area:1 / 1 / 2 / -1}.match-room-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;gap:16px;min-height:88px;padding-bottom:12px}.match-room-bar>.match-room-identity{grid-column:1}.match-room-bar>.waiting-banner{grid-column:2;justify-self:center;width:min(100%,720px);padding:8px 12px}.match-room-bar>.room-buttons{grid-column:3}.game-layout>.game-center{grid-area:2 / 2 / 3 / 3;justify-self:center;width:min(900px,100%);height:100%;min-height:0;container-type:size}.game-layout .chess-stage{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:[opponent] auto [board] minmax(0,1fr) [player] auto;gap:10px;align-content:stretch}.game-layout .chess-stage:has(>.spectator-note){grid-template-rows:[spectator] auto [opponent] auto [board] minmax(0,1fr) [player] auto}.game-layout .chess-stage:has(>.result-banner){grid-template-rows:[opponent] auto [board] minmax(0,1fr) [player] auto [result] auto}.game-layout .chess-stage:has(>.spectator-note):has(>.result-banner){grid-template-rows:[spectator] auto [opponent] auto [board] minmax(0,1fr) [player] auto [result] auto}.game-layout .chess-stage>.spectator-note{grid-row:spectator}.game-layout .chess-stage>:is(.player-card,.bot-player-strip){grid-row:opponent;min-width:0}.game-layout .chess-stage>:is(.player-card,.bot-player-strip)~:is(.player-card,.bot-player-strip){grid-row:player}.game-layout .chess-stage>:is(.board-wrap,.bot-board){grid-row:board}.game-layout .chess-stage>:is(.result-banner,.bot-board-dock){grid-row:result;min-height:0;max-height:28cqh;overflow-y:auto;margin-top:0}.game-layout .chess-stage .board-wrap{justify-self:center;align-self:start;width:auto;height:calc(100% - 14px);min-width:0;min-height:0;max-width:100%;max-height:100cqw;aspect-ratio:1}.game-layout .chess-stage .chess-board{height:100%}.game-layout .chess-stage>.bot-board{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(20px,max-content);min-height:0;height:100%}.game-layout .bot-board>.board-wrap{grid-area:1 / 1}.game-layout .bot-board>.bot-board-feedback{grid-area:2 / 1;margin:0;min-width:0;overflow-wrap:anywhere}.game-layout>.match-inspector-column{grid-area:2 / 3 / 3 / 4;align-self:stretch;width:100%;height:100%;min-height:0;max-height:none;position:static;overflow-y:auto;overscroll-behavior-y:contain}.match-inspector-column>.sidebar{flex:1 1 0;min-height:160px}.match-inspector-column>.sidebar>:is(.sidebar-content,.bot-appearance-sidebar){flex:1 1 0;min-height:0;overflow-y:auto;scroll-padding-block:16px}.match-inspector-column>.sidebar>:is(.match-desk-heading,.bot-inspector-heading,.sidebar-tabs,.match-action-dock){flex:none}.match-inspector-column .sidebar-match-actions{margin-top:0}.match-inspector-column .moves-panel>.move-history-viewport{flex:1 1 220px;block-size:auto;min-block-size:88px}.bot-history{--bot-history-viewport: clamp(212px,29dvh,360px)}.bot-game-layout[data-phase=idle]{grid-template-areas:none;grid-template-columns:var(--inspector-size) minmax(0,1fr) var(--inspector-size)}.bot-game-layout[data-phase=idle]>.bot-prestart-setup{grid-area:2 / 1 / 3 / 2;height:100%}.bot-game-layout[data-phase=idle]>.match-workspace-header{grid-area:1 / 1 / 2 / -1}.bot-game-layout[data-phase=idle]>.bot-game-center{grid-area:2 / 2 / 3 / 3}.bot-game-layout[data-phase=idle]>.match-inspector-column{grid-area:2 / 3 / 3 / 4}}@media(min-width:1280px)and (min-height:651px){.game-layout{--inspector-size: clamp(320px,22.5vw,460px);grid-template-columns:minmax(var(--inspector-size),1fr) minmax(0,900px) minmax(var(--inspector-size),1fr)}.game-layout>.game-center,.bot-game-layout[data-phase=idle]>.bot-game-center{grid-area:2 / 2 / 3 / 3}.game-layout>.match-inspector-column,.bot-game-layout[data-phase=idle]>.match-inspector-column{grid-area:2 / 3 / 3 / 4;justify-self:end;width:var(--inspector-size)}}@media(max-width:1000px),(max-height:650px){.bot-game-layout[data-phase=idle]{width:min(740px,calc(100% - 24px));grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "setup" "board" "inspector"}.bot-game-layout[data-phase=idle]>.bot-prestart-setup{grid-area:setup}}@media(min-width:1001px)and (max-height:650px){.online-match-layout:not(.match-focus-mode) .match-inspector-column{position:sticky;top:16px;max-height:calc(100svh - 32px)}.online-match-layout:not(.match-focus-mode) .match-inspector-column>.match-side-desk{flex:1 1 auto;min-height:0;display:block;overflow-y:auto;scroll-padding:12px 18px 140px}.match-inspector-column>.match-side-desk>.sidebar-content{overflow:visible}.match-side-desk>.match-desk-heading{padding:8px 18px}.match-side-desk>.sidebar-match-actions{position:sticky;bottom:0;z-index:2;background:var(--surface)}}@media(max-height:650px){.bot-prestart-setup{height:min(520px,55svh)}}@media(max-width:1000px){.match-room-bar{flex-wrap:wrap}.match-room-bar>.room-buttons{order:2}.match-room-bar>.waiting-banner{order:3;flex:1 1 100%}}@media(max-width:650px){.selected-piece-guide{block-size:10rem}}@media(prefers-reduced-motion:reduce){.game-end-dialog[open]{animation:none}}@keyframes gameEndReveal{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-preview-piece,.hero-preview-piece-art{animation:none!important}}@media(forced-colors:active){button,.player-card,.sidebar,.lobby-card,input,select,textarea{border:1px solid ButtonText}.selected-tab,.active-theme,.chosen,.active,.selected{outline:1px dashed Highlight}:focus-visible{outline:2px solid Highlight}}@keyframes menuAppear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes statusPulse{50%{opacity:.35}}@keyframes clockCritical{50%{box-shadow:inset 0 0 0 1px #ffd7bf,0 0 12px #bd3c2c55}}@keyframes heroKnightWhite{0%,10%,65%,to{transform:translate(0)}15%,60%{transform:translate(-100%,-200%)}}@keyframes heroKnightBlack{0%,30%,85%,to{transform:translate(0)}35%,80%{transform:translate(100%,200%)}}@keyframes heroKnightWhiteLift{0%,10%,15%,60%,65%,to{transform:translateZ(4px) scale(1)}12.5%,62.5%{transform:translateZ(14px) scale(1.06)}}@keyframes heroKnightBlackLift{0%,30%,35%,80%,85%,to{transform:translateZ(4px) scale(1)}32.5%,82.5%{transform:translateZ(14px) scale(1.06)}}.app-shell{--light: #edc7a0;--dark: #8f5036}.app-shell[data-theme=wood]{--light: #cfa87b;--dark: #76503b}.app-shell[data-theme=marble]{--light: #f1eee8;--dark: #909394}.app-shell[data-theme=glass]{--light: #bdd8d9;--dark: #507c85}.app-shell[data-theme=minimal]{--light: #ddd9d5;--dark: #828080}.app-shell[data-theme=neon]{--light: #c8c1e9;--dark: #5741a4}.app-shell[data-theme=midnight]{--light: #abb7c9;--dark: #3d4a69}.app-shell[data-theme=gold]{--light: #f0d8a5;--dark: #9c712f}.app-shell[data-theme=copper]{--light: #f4c7a7;--dark: #ae6142}.app-shell[data-theme=obsidian]{--light: #adb0ba;--dark: #33333f}.app-shell[data-theme=ember]{--light: #f7bc70;--dark: #962e22}.app-shell[data-theme=sapphire]{--light: #accce9;--dark: #316e9e}.app-shell[data-theme=forest]{--light: #c5d4a6;--dark: #55704c}.app-shell[data-theme=ice]{--light: #ebf5f8;--dark: #83b4c0}.app-shell[data-theme=rose]{--light: #f4c4cd;--dark: #ae6077}.app-shell[data-theme=carbon]{--light: #c9c3bb;--dark: #5b5754}.app-shell[data-theme=emberfrost],.theme-emberfrost{--light: #d9e9f0;--dark: #29292d;--preview-light: #d9e9f0;--preview-dark: #29292d;--material-light: url(/assets/boards/emberfrost/light.png);--material-dark: url(/assets/boards/emberfrost/dark.png);--material-frame-light: #d6e5ec;--material-frame-main: #263441;--material-frame-accent: #f37c36;--material-frame-depth: #141821;--material-frame-edge: #92bac9}.app-shell[data-theme=jadeivory],.theme-jadeivory{--light: #e7bc90;--dark: #60321e;--preview-light: #e7bc90;--preview-dark: #60321e;--material-light: url(/assets/boards/jadeivory/light.png);--material-dark: url(/assets/boards/jadeivory/dark.png);--material-frame-light: #f5d9ae;--material-frame-main: #325545;--material-frame-accent: #d4b36a;--material-frame-depth: #172c27;--material-frame-edge: #b9a06e}.app-shell[data-theme=astral],.theme-astral{--light: #eaebf7;--dark: #542878;--preview-light: #eaebf7;--preview-dark: #542878;--material-light: url(/assets/boards/astral/light.png);--material-dark: url(/assets/boards/astral/dark.png);--material-frame-light: #f2edfd;--material-frame-main: #483062;--material-frame-accent: #9c69d5;--material-frame-depth: #22162f;--material-frame-edge: #9271b9}.app-shell[data-theme=forged],.theme-forged{--light: #e7d2b2;--dark: #273443;--preview-light: #e7d2b2;--preview-dark: #273443;--material-light: url(/assets/boards/forged/light.png);--material-dark: url(/assets/boards/forged/dark.png);--material-frame-light: #f0dfbf;--material-frame-main: #344454;--material-frame-accent: #ad9470;--material-frame-depth: #17202b;--material-frame-edge: #9b8a73}.theme-classic{--preview-light: #edc7a0;--preview-dark: #8f5036}.theme-wood{--preview-light: #cfa87b;--preview-dark: #76503b}.theme-marble{--preview-light: #f1eee8;--preview-dark: #909394}.theme-glass{--preview-light: #bdd8d9;--preview-dark: #507c85}.theme-minimal{--preview-light: #ddd9d5;--preview-dark: #828080}.theme-neon{--preview-light: #c8c1e9;--preview-dark: #5741a4}.theme-midnight{--preview-light: #abb7c9;--preview-dark: #3d4a69}.theme-gold{--preview-light: #f0d8a5;--preview-dark: #9c712f}.theme-copper{--preview-light: #f4c7a7;--preview-dark: #ae6142}.theme-obsidian{--preview-light: #adb0ba;--preview-dark: #33333f}.theme-ember{--preview-light: #f7bc70;--preview-dark: #962e22}.theme-sapphire{--preview-light: #accce9;--preview-dark: #316e9e}.theme-forest{--preview-light: #c5d4a6;--preview-dark: #55704c}.theme-ice{--preview-light: #ebf5f8;--preview-dark: #83b4c0}.theme-rose{--preview-light: #f4c4cd;--preview-dark: #ae6077}.theme-carbon{--preview-light: #c9c3bb;--preview-dark: #5b5754}.board-wrap{position:relative;z-index:0;padding:clamp(7px,1vw,13px);margin:2px 0 12px;width:100%;border:1px solid #ac7955;border-radius:9px;background:linear-gradient(138deg,#9c6f4d,#3f2b20 12%,#251d1b 68%,#77503b);box-shadow:inset 0 2px #ffc49b9c,inset 0 -2px #0b0808,0 6px #493025,0 12px #1c1515;transform:none;transition:transform .25s ease,box-shadow .25s ease}.chess-stage>.player-card,.chess-stage>.bot-player-strip{z-index:2}.board-wrap:before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;box-shadow:0 22px 33px #000b,0 43px 66px #0009;pointer-events:none;transition:box-shadow .25s ease}.board-wrap:after{content:"";position:absolute;z-index:-1;inset:100% 22px auto;height:16px;border-radius:50%;background:#0009;filter:blur(11px);pointer-events:none}.board-wrap.invalid-flash{animation:boardInvalid .27s ease}.chess-board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:100%;aspect-ratio:1;border:1px solid #281911;box-shadow:0 0 0 1px #f3b78a38;-webkit-user-select:none;user-select:none;overflow:visible;touch-action:manipulation}.board-rank{display:contents}.square{position:relative;display:grid;place-items:center;min-width:0;min-height:0;aspect-ratio:1;padding:0;border:0;border-radius:0;overflow:visible;transition:none}.square.light{background:var(--light)}.square.dark{background:var(--dark)}.app-shell[data-theme=classic] .square,.app-shell[data-theme=wood] .square,.app-shell[data-theme=copper] .square{background-image:repeating-linear-gradient(88deg,#ffffff07 0 1px,transparent 1px 7px),linear-gradient(#ffffff09,transparent 50%,#00000009)}.app-shell[data-theme=marble] .square{background-image:linear-gradient(117deg,transparent 24%,#ffffff25 25%,transparent 27%,transparent 61%,#00000009 62%,transparent 65%)}.app-shell[data-theme=glass] .square,.app-shell[data-theme=ice] .square{background-image:linear-gradient(135deg,#ffffff1f,transparent 57%,#ffffff0a)}.app-shell[data-theme=gold] .square{background-image:linear-gradient(115deg,#ffffff18,transparent 47%,#4120020d)}.app-shell[data-theme=carbon] .square{background-image:repeating-linear-gradient(45deg,#00000006 0 2px,transparent 2px 4px)}.app-shell:is([data-theme=emberfrost],[data-theme=jadeivory],[data-theme=astral],[data-theme=forged]) .square.light{background-image:var(--material-light);background-position:center;background-size:cover}.app-shell:is([data-theme=emberfrost],[data-theme=jadeivory],[data-theme=astral],[data-theme=forged]) .square.dark{background-image:var(--material-dark);background-position:center;background-size:cover}.theme-tile:is(.theme-emberfrost,.theme-jadeivory,.theme-astral,.theme-forged) b:nth-child(1),.theme-tile:is(.theme-emberfrost,.theme-jadeivory,.theme-astral,.theme-forged) b:nth-child(4){background-image:var(--material-light);background-position:center;background-size:cover}.theme-tile:is(.theme-emberfrost,.theme-jadeivory,.theme-astral,.theme-forged) b:nth-child(2),.theme-tile:is(.theme-emberfrost,.theme-jadeivory,.theme-astral,.theme-forged) b:nth-child(3){background-image:var(--material-dark);background-position:center;background-size:cover}.app-shell:is([data-theme=emberfrost],[data-theme=jadeivory],[data-theme=astral],[data-theme=forged]) .board-wrap,.app-shell:is([data-theme=emberfrost],[data-theme=jadeivory],[data-theme=astral],[data-theme=forged]) .board-wrap:hover{border-color:var(--material-frame-edge);background:linear-gradient(138deg,var(--material-frame-light),var(--material-frame-main) 15%,var(--material-frame-depth) 73%,var(--material-frame-accent));box-shadow:inset 0 2px var(--material-frame-light),inset 0 -2px var(--material-frame-depth),0 6px 0 var(--material-frame-main),0 12px 0 var(--material-frame-depth)}.square:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}.square.last-move:before{background:#f5ad453b;box-shadow:inset 0 0 0 2px #ffd29170}.square.selected:before{background:#ffd0848c;box-shadow:inset 0 0 0 3px #ffbd6b}.square.king-check:before,.square.in-check:before{background:radial-gradient(circle,#ff2d30b5,#a9162266 76%);box-shadow:inset 0 0 0 2px #ee4b47}.square.selected.king-check:before,.square.selected.in-check:before{background:radial-gradient(circle,#ff2d30b5,#a9162266 76%);box-shadow:inset 0 0 0 3px #ffbd6b}.square.drag-over:before,.square.drag-over[data-drop-legal=true]:before{background:#ffc57775;box-shadow:inset 0 0 0 4px #ffb85c}.square.drag-over[data-drop-legal=false]:before{background:#bc2f3e88;box-shadow:inset 0 0 0 4px #ff9a8d}.square.illegal:before,.square.illegal.selected:before,.square.illegal.king-check:before{background:#e647559e;box-shadow:inset 0 0 0 4px #ff9f94;animation:illegalFlash .27s}.square:focus-visible{outline:3px solid #fff9df;outline-offset:-5px;box-shadow:inset 0 0 0 7px #191321;z-index:9}.square:focus-visible:before{outline:1px solid #191321;outline-offset:-2px}.piece,.flight-piece{position:relative;z-index:3;display:grid;place-items:center;width:100%;height:100%;font-family:Segoe UI Symbol,Arial Unicode MS,DejaVu Sans,serif;font-size:clamp(40px,5vw,90px);line-height:1;-webkit-user-select:none;user-select:none;cursor:grab;transform-origin:center}.square>.piece{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.chess-board .square>.piece[data-turn-active=true]:not(:active):not(.is-dragging):not(.is-arriving):not(.is-illegal-piece){filter:drop-shadow(0 0 3px #fff3b580) drop-shadow(0 0 1px #fff6c9b3)}.piece:active{cursor:grabbing;transform:scale(1.08) translateY(-4%);filter:drop-shadow(0 9px 5px #0009)}.piece.is-dragging{opacity:.36;transform:scale(.9)}.piece.is-arriving{opacity:0}.white-piece{color:#fff3db;text-shadow:0 1px #fff,1px 2px #eac69e,2px 4px #bb8760,3px 6px #664531,4px 9px 4px #2f211a,0 13px 10px #0008}.black-piece{color:#28262a;text-shadow:0 -1px #c1aea0,1px 2px #847568,2px 4px #564b48,3px 6px #17151a,0 12px 9px #000b}.piece-modern,.piece-modern.white-piece,.piece-modern.black-piece{border:0;border-radius:0;background:transparent!important;box-shadow:none;text-shadow:none;color:inherit}.piece .piece-render,.flight-piece .piece-render{display:block;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;object-fit:contain;object-position:center;transform:none;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(2px 6px 3px #20150f70)}.piece:has(.piece-render),.flight-piece:has(.piece-render){font-size:0;text-shadow:none}.chess-board .square>.piece .piece-render{transform-origin:center 80%}@media(prefers-reduced-motion:no-preference){.chess-board .square>.piece:not(:active):not(.is-dragging):not(.is-arriving):not(.is-illegal-piece)>.piece-render{animation:pieceBreathe 5.6s ease-in-out infinite alternate}}.chess-board .square>.piece:is(.piece-emberfrost,.piece-jadeivory,.piece-astral,.piece-forged)>.piece-render,.flight-piece:is(.piece-emberfrost,.piece-jadeivory,.piece-astral,.piece-forged)>.piece-render,.bot-capture-ghost:is(.piece-emberfrost,.piece-jadeivory,.piece-astral,.piece-forged)>.piece-render,.board-pointer-piece:is(.piece-emberfrost,.piece-jadeivory,.piece-astral,.piece-forged) .pointer-piece-art>.piece-render{transform:translateY(-5%) scale(.92)}@media(prefers-reduced-motion:no-preference){.chess-board .square>.piece:is(.piece-emberfrost,.piece-jadeivory,.piece-astral,.piece-forged):not(:active):not(.is-dragging):not(.is-arriving):not(.is-illegal-piece)>.piece-render{animation:pieceBreatheMaterialCentered 5.6s ease-in-out infinite alternate}}@keyframes pieceBreatheMaterialCentered{0%{transform:translateY(-5%) scale(.92)}to{transform:translateY(-6%) scale(.93)}}.piece-steel .piece-render{filter:grayscale(.72) contrast(1.08) drop-shadow(2px 6px 3px #0b111970)}.piece-jade .piece-render{filter:sepia(.25) hue-rotate(65deg) saturate(.75) drop-shadow(2px 6px 3px #08160b70)}.piece-amber .piece-render{filter:sepia(.3) saturate(1.24) drop-shadow(2px 6px 3px #28190b70)}.piece-royal .piece-render{filter:saturate(1.08) drop-shadow(2px 6px 3px #23170f70)}.piece-modern .deco-piece{filter:drop-shadow(2px 5px 3px #11101888)}.piece-steel.white-piece{color:#f5faff;text-shadow:0 1px #fff,1px 2px #e4e6ea,2px 4px #a4b1c3,3px 6px #50657b,4px 9px #152738,0 12px 11px #0009}.piece-steel.black-piece{color:#303744;text-shadow:0 -1px #ccd2d9,1px 2px #738195,2px 4px #39465b,3px 6px #0d1420,0 10px 9px #000b}.piece-jade.white-piece{color:#c6f5da;text-shadow:0 1px #f5fff8,1px 3px #83c5a7,2px 5px #286f60,3px 7px #0e3b34,0 10px 10px #0009}.piece-jade.black-piece{color:#20544f;text-shadow:0 1px #b6dfc2,1px 3px #2f8473,2px 5px #12514a,3px 7px #092522,0 10px 9px #000a}.piece-amber.white-piece{color:#ffe2aa;text-shadow:0 1px #fff2d1,1px 3px #ffca78,2px 5px #d8862e,3px 7px #814117,0 10px 10px #000a}.piece-amber.black-piece{color:#633414;text-shadow:0 -1px #ffc17a,1px 3px #b26d31,2px 5px #5e321a,3px 7px #2c160a,0 10px 10px #000b}.piece-outline.white-piece{color:#fff5e5;-webkit-text-stroke:1px #b77847;text-shadow:0 2px #311c16,1px 4px #6c4229,0 10px 10px #000a}.piece-outline.black-piece{color:#19181d;-webkit-text-stroke:1px #bfb1ae;text-shadow:0 2px #e2d4c0,1px 4px #3c363a,0 10px 10px #000b}.legal-dot{position:absolute;z-index:4;pointer-events:none;width:25%;height:25%;border-radius:50%;background:#b6632fd9;box-shadow:inset 0 0 0 2px #ffdfa1,0 1px 4px #0005}.capture-ring{position:absolute;z-index:4;pointer-events:none;inset:6%;border:5px solid #ff9f57e8;border-radius:50%;box-shadow:0 0 0 1px #5c2b16,0 0 10px #ff934c50}.rank-label,.file-label{position:absolute;z-index:5;pointer-events:none;color:#f9ebdb;background:#33241f;border-radius:2px;padding:2px 3px;font:700 11px/1 DM Sans,sans-serif}.rank-label{left:3px;top:3px}.file-label{right:3px;bottom:3px}.last-move-arrow,.planner-arrow-layer{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.planner-arrow-layer{z-index:6}.planner-square-mark{position:absolute;z-index:6;inset:9%;border:5px solid #79d6f1;border-radius:7px;background:#72c7e52a;pointer-events:none}.flight-piece{position:absolute;z-index:9;width:12.5%;height:12.5%;pointer-events:none;animation:pieceFlight .43s cubic-bezier(.16,.75,.27,1) both;filter:drop-shadow(0 10px 6px #0008)}.piece[data-pointer-draggable=true],.square[data-pointer-draggable=true]{touch-action:none}.board-pointer-piece{position:fixed;z-index:350;pointer-events:none;transform:translate(-50%,-50%) scale(1.12);transform-origin:center;transition:none;filter:drop-shadow(0 14px 6px #0009)}.board-pointer-piece.is-settling{animation:boardPieceSettle .18s cubic-bezier(.2,.72,.22,1) both}.pointer-piece-art,.pointer-piece-art .piece-render{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.bot-capture-ghost{position:absolute;z-index:5;width:12.5%;height:12.5%;pointer-events:none;animation:botCapture .32s ease-out both}.bot-capture-ghost .piece-render{display:block;width:100%;height:100%;object-fit:contain}.capture-flight{position:fixed;z-index:210;width:clamp(30px,5vw,66px);height:clamp(30px,5vw,66px);pointer-events:none;transform:translate(-50%,-50%);animation:collect-piece .7s cubic-bezier(.25,.74,.2,1) both}.capture-flight .piece-render{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(2px 5px 3px #0008)}.piece.is-illegal-piece{animation:illegal-piece-shake .32s ease-in-out}.captured-piece{animation:capturePop .3s cubic-bezier(.2,1.7,.4,1) both}.board-keyboard-hint{color:var(--subtle);font-size:10px;line-height:1.6;margin:10px 0 0}@media(min-width:651px)and (hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.board-wrap{transform:perspective(1600px) rotateX(1.3deg)}.board-wrap:hover{transform:perspective(1600px) rotateX(.5deg) translateY(-1px)}}@media(hover:hover){.board-wrap:hover{box-shadow:inset 0 2px #ffc49b9c,inset 0 -2px #0b0808,0 8px #493025,0 14px #1c1515}.board-wrap:hover:before{box-shadow:0 24px 40px #000b,0 48px 70px #0009}.square:not(.selected):not(.king-check):not(.in-check):not(.illegal):not(.drag-over):hover:before{background:#fff2}.square[data-piece-name]:hover:after{content:attr(data-piece-name);position:absolute;bottom:calc(100% - 2px);left:50%;z-index:20;transform:translate(-50%);padding:6px 9px;border:1px solid var(--tooltip-border);border-radius:5px;color:var(--tooltip-text);background:var(--tooltip-bg);font:600 11px/1.4 DM Sans,sans-serif;white-space:nowrap;pointer-events:none;box-shadow:0 5px 15px #0008}}@media(hover:hover){.board-rank>.square:first-child[data-piece-name]:hover:after{left:0;transform:none}.board-rank>.square:last-child[data-piece-name]:hover:after{left:auto;right:0;transform:none}}@media(max-width:1000px){.piece,.flight-piece{font-size:clamp(38px,9vw,83px)}}@media(max-width:650px){.board-wrap,.board-wrap:hover{padding:6px;border-radius:7px;margin-bottom:8px;transform:none;box-shadow:inset 0 1px #ffc49b9c,inset 0 -1px #0b0808,0 4px #493025,0 8px #1c1515}.board-wrap:before,.board-wrap:hover:before{box-shadow:0 16px 24px #0009,0 28px 38px #0005}.board-wrap:after{inset-inline:16px;height:10px;filter:blur(8px)}.piece,.flight-piece{font-size:clamp(28px,8.6vw,60px)}.piece .piece-render,.flight-piece .piece-render{filter:drop-shadow(1px 3px 2px #20150f70)}.rank-label,.file-label{font-size:11px;padding:1px 2px}.rank-label{left:2px;top:2px}.file-label{right:2px;bottom:2px}.capture-ring,.planner-square-mark{border-width:3px}.square:focus-visible{outline-width:2px;outline-offset:-4px;box-shadow:inset 0 0 0 5px #191321}}@media(prefers-reduced-motion:reduce){.board-wrap,.board-wrap:hover{transform:none;transition:none}.board-wrap:before{transition:none}.chess-board .piece .piece-render{animation:none!important}.capture-flight{opacity:0}.bot-capture-ghost,.flight-piece,.board-pointer-piece.is-settling{display:none}.chess-board .piece.is-arriving{opacity:1}}@media(forced-colors:active){.square{border:1px solid ButtonText}.square.selected:before{outline:2px dashed Highlight;outline-offset:-7px}.square:focus-visible{outline:3px solid Highlight;outline-offset:-3px}.legal-dot{background:Highlight}.capture-ring{border-color:Highlight}.rank-label,.file-label{color:CanvasText;background:Canvas}}@keyframes pieceBreathe{0%{transform:translateY(0) scale(1)}to{transform:translateY(-1%) scale(1.01)}}@keyframes pieceFlight{0%{transform:translate(0) scale(1.12);opacity:.96;filter:brightness(1) drop-shadow(0 10px 6px #0008)}44%{opacity:1;filter:brightness(1.12) drop-shadow(0 10px 6px #0008)}to{transform:translate(var(--travel-x),var(--travel-y)) scale(1);opacity:1;filter:brightness(1) drop-shadow(0 10px 6px #0008)}}@keyframes boardPieceSettle{0%{transform:translate(-50%,-50%) scale(1.12)}to{transform:translate(calc(-50% + var(--settle-x)),calc(-50% + var(--settle-y))) scale(var(--settle-scale-x),var(--settle-scale-y))}}@keyframes botCapture{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-24%) scale(.45)}}@keyframes capturePop{0%{opacity:0;transform:translateY(-7px) scale(.6) rotate(-9deg)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes illegalFlash{50%{background:#ff576ec7}}@keyframes boardInvalid{50%{border-color:#ed7361;box-shadow:inset 0 0 0 2px #c9443c,0 6px #493025,0 12px #1c1515}}@keyframes illegal-piece-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6%)}40%,80%{transform:translate(6%)}}@keyframes collect-piece{0%{opacity:1;transform:translate(-50%,-50%) scale(1.09) rotate(-8deg)}32%{opacity:1;transform:translate(calc(-50% + var(--collect-mid-x)),calc(-80% + var(--collect-mid-y))) scale(1.18) rotate(9deg)}75%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--collect-x)),calc(-50% + var(--collect-y))) scale(.37)}}
