@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--void:#070708;--surface:#101012;--elevated:#18181c;--border:#2a2a30;--muted:#7c7c86;--text:#f4f4f5;--accent:#ff3b3f;--accent-dim:#ff3b3f26;--white-adv:#e8e8ed;--black-adv:#1a1a1f;--scrollbar-track:#121214;--scrollbar-thumb:#3a3a44;--scrollbar-thumb-hover:#4e4e5c;color:var(--text);background:var(--void);font-family:DM Sans,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(120% 80% at 50% -20%, #1a1a22 0%, var(--void) 55%);min-height:100vh;margin:0}#root{min-height:100vh}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem 1.25rem 2rem;display:flex}.auth-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:22rem;padding:1.5rem 1.35rem 1.65rem;box-shadow:0 24px 48px #00000059}.auth-panel--landing{text-align:center;max-width:26rem}.auth-brand{letter-spacing:-.03em;margin:0;font-size:1.75rem;font-weight:600}.auth-lead{color:var(--muted);margin:.75rem 0 0;font-size:.9rem;line-height:1.5}.auth-landing-actions{flex-wrap:wrap;justify-content:center;gap:.55rem .65rem;margin-top:1.35rem;display:flex}.auth-cta{text-align:center;justify-content:center;align-items:center;min-width:7.5rem;text-decoration:none;display:inline-flex}.auth-back{color:var(--muted);margin:0 0 .85rem;font-size:.78rem;text-decoration:none;display:inline-block}.auth-back:hover{color:var(--text)}.auth-title{margin:0;font-size:1.25rem;font-weight:600}.auth-hint{color:var(--muted);margin:.45rem 0 1rem;font-size:.68rem;line-height:1.4}.auth-form{flex-direction:column;gap:.85rem;display:flex}.auth-field{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-direction:column;gap:.28rem;font-size:.72rem;font-weight:600;display:flex}.auth-field input{text-transform:none;letter-spacing:normal;color:var(--text);border:1px solid var(--border);background:var(--void);border-radius:9px;outline:none;padding:.5rem .65rem;font-family:inherit;font-size:.88rem;font-weight:400;transition:border-color .12s,box-shadow .12s}.auth-field input::placeholder{color:#5c5c66}.auth-field input:focus{box-shadow:0 0 0 3px var(--accent-dim);border-color:#505058}.auth-submit{width:100%;margin-top:.25rem}.auth-switch{color:var(--muted);text-align:center;margin:1rem 0 0;font-size:.8rem}.auth-switch a{color:var(--text);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}html{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}html::-webkit-scrollbar{width:8px;height:8px}.scroll-themed::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.scroll-themed::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}html::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:4px}.scroll-themed::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:4px}html::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.scroll-themed::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.scroll-themed{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.mono{font-feature-settings:"ss02" 1;font-family:IBM Plex Mono,ui-monospace,monospace}.app-shell{max-width:1320px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.nav-primary{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:0;margin-bottom:.85rem;padding:0;display:flex;overflow:hidden}.nav-primary-tab{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:none;flex:1;padding:.42rem .65rem;font-family:inherit;font-size:.66rem;font-weight:600;transition:color .15s,background .15s}.nav-primary-tab:hover{color:var(--text);background:#ffffff08}.nav-primary-tab.active{color:var(--text);background:var(--elevated);box-shadow:inset 0 -1.5px 0 var(--accent)}.nav-secondary{background:var(--void);border:1px solid var(--border);border-radius:10px;gap:.35rem;margin-bottom:.85rem;padding:.2rem;display:flex}.nav-secondary-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:.45rem .6rem;font-size:.78rem;font-weight:500;transition:color .12s,background .12s}.nav-secondary-tab:hover{color:var(--text)}.nav-secondary-tab.active{background:var(--elevated);color:var(--text);box-shadow:0 0 0 1px var(--border)}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.75rem;display:flex}.app-header h1{letter-spacing:-.03em;margin:0;font-size:1.35rem;font-weight:600}.app-header p{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.badge-row{align-items:center;gap:.5rem;display:flex}.dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 12px var(--accent);border-radius:50%}.pill{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.35rem .65rem;font-size:.7rem}.layout-main{grid-template-columns:minmax(260px,340px) minmax(360px,1fr);align-items:start;gap:1.1rem;display:grid}.layout-main--pre-game .layout-main-header{grid-column:1/-1}.layout-main--in-game{grid-template-rows:auto 1fr}.layout-main--in-game .layout-main-header{grid-area:1/1}.layout-main--in-game .layout-left{grid-area:2/1}.layout-main--in-game .panel-board{grid-area:1/2/span 2;align-self:stretch}.layout-left{flex-direction:column;align-items:stretch;gap:.85rem;min-width:0;display:flex}.layout-logout{align-self:flex-start;padding:.35rem .65rem;font-size:.72rem}.app-header-inline{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:.65rem 1rem;margin:0 0 1rem;display:flex}.layout-main--in-game .app-header-inline{margin-bottom:0}.app-header-titles{min-width:0}.app-header-inline h1{letter-spacing:-.03em;margin:0;font-size:1.35rem;font-weight:600}.app-header-inline p{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}@media (width<=960px){.layout-main{grid-template-columns:1fr}.layout-main--pre-game .layout-main-header{grid-column:1}.layout-main--in-game .layout-main-header,.layout-main--in-game .layout-left,.layout-main--in-game .panel-board{grid-area:auto/1}}.board-toolbar{flex-wrap:wrap;align-items:center;gap:.45rem .75rem;min-width:0;margin:0 0 .55rem;display:flex}.board-toolbar-title{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);flex-shrink:0;margin:0;font-size:.72rem;font-weight:600}.board-toolbar .board-line-badge{flex-shrink:0}.move-nav-buttons .board-back-to-line-btn{white-space:nowrap}.board-toolbar-players{min-width:0;margin:0;font-size:.72rem}.board-toolbar-themes{flex-wrap:wrap;flex-shrink:0;align-items:flex-end;gap:.55rem .65rem;margin-left:auto;display:flex}.panel-board .board-toolbar-themes .board-theme-field{flex:0 6.75rem;max-width:9.5rem}@media (width>=961px){.board-toolbar-players{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:12rem;overflow:hidden}}@media (width<=960px){.panel-board .board-toolbar{flex-flow:column;align-content:flex-start;align-items:stretch;gap:.3rem .55rem}.panel-board .board-toolbar-players{text-align:left;white-space:normal;text-overflow:clip;flex:none;overflow:visible}.panel-board .board-toolbar-themes{flex:none;justify-content:flex-start;gap:.45rem .55rem;width:100%;margin-left:0}.panel-board .board-toolbar-themes .board-theme-field{flex:8rem;max-width:none}}.board-theme-field{flex-direction:column;flex:0 7.75rem;gap:.2rem;min-width:0;max-width:11rem;display:flex}.board-theme-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.65rem;font-weight:600}.board-select{appearance:none;width:100%;max-width:100%;color:var(--text);background:var(--void) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237c7c86' d='M3 4.5L6 8l3-3.5'/%3E%3C/svg%3E") no-repeat right .55rem center;border:1px solid var(--border);cursor:pointer;border-radius:9px;padding:.45rem 2rem .45rem .65rem;font-family:inherit;font-size:.8rem;transition:border-color .12s,box-shadow .12s}.board-select:hover{border-color:#505058}.board-select:focus{box-shadow:0 0 0 3px var(--accent-dim);border-color:#606068;outline:none}.board-empty-hint{text-align:center;margin:0 0 .75rem;font-size:.78rem}.board-move-nav{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .75rem;margin-top:.55rem;padding-top:.55rem;display:flex}.board-move-nav .move-nav-buttons{justify-content:center}.board-nav-cluster{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.35rem;display:flex}.board-flip-btn{white-space:nowrap;flex-shrink:0;padding:.4rem .75rem;font-size:.74rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1rem 1.1rem;box-shadow:0 24px 48px #00000059}.panel h2{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 .75rem;font-size:.72rem;font-weight:600}.side-subheading{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 .5rem;font-size:.72rem;font-weight:600}.tabs{gap:.35rem;margin-bottom:.85rem;display:flex}.tab{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:.45rem .5rem;font-size:.78rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.tab:hover{color:var(--text);border-color:#44444c}.tab.active{background:var(--elevated);color:var(--text);border-color:#3a3a44}textarea.import-area{resize:vertical;border:1px solid var(--border);background:var(--void);width:100%;min-height:140px;color:var(--text);border-radius:12px;margin-bottom:.65rem;padding:.65rem .75rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;line-height:1.4}textarea.import-area:focus{box-shadow:0 0 0 3px var(--accent-dim);border-color:#505058;outline:none}.field{flex-direction:column;gap:.25rem;margin-bottom:.6rem;display:flex}.field label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.68rem}.field input{border:1px solid var(--border);background:var(--void);color:var(--text);border-radius:10px;padding:.5rem .65rem;font-size:.88rem}.field input:focus{border-color:#505058;outline:none}.row-2{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.btn{cursor:pointer;border:none;border-radius:11px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.82rem;font-weight:600;transition:transform .12s,filter .12s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--text);color:var(--void)}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{color:var(--muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{color:var(--text);border-color:#505058}.error{color:#ff8a8c;margin:.5rem 0 0;font-size:.8rem}.game-list{border:1px solid var(--border);background:var(--void);scrollbar-gutter:stable;border-radius:12px;max-height:220px;margin-top:.75rem;overflow:auto}.game-row{text-align:left;border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:0 0;padding:.55rem .65rem;font-size:.78rem;transition:background .12s}.game-row:last-child{border-bottom:none}.game-row:hover{background:var(--elevated)}.game-row small{color:var(--muted);margin-top:.15rem;font-size:.68rem;display:block}.panel-board{--board-side:min(36rem, max(22rem, calc(100vh - 22rem)))}.panel-board--empty .board-empty-hint{margin-top:.35rem}.engine-status-bar{border:1px solid var(--border);background:var(--elevated);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.5rem;padding:.42rem .55rem;display:flex}.engine-stack{border:1px solid var(--border);background:var(--void);border-radius:12px;margin-top:.5rem;overflow:hidden}.engine-stack-summary{cursor:pointer;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);-webkit-user-select:none;user-select:none;padding:.5rem .75rem;font-size:.72rem;font-weight:600;list-style:none;transition:color .12s,background .12s}.engine-stack-summary::-webkit-details-marker{display:none}.engine-stack-summary::marker{content:""}.engine-stack-summary:hover{color:var(--text);background:#ffffff08}.engine-stack-summary:after{content:"▸";float:right;opacity:.7;font-size:.65rem;transition:transform .15s}.engine-stack[open] .engine-stack-summary:after{transform:rotate(90deg)}.engine-stack-body{border-top:1px solid var(--border);padding:.65rem .75rem .75rem}.engine-stack-body.controls-sliders{gap:.55rem}.analysis-block-moves{margin-bottom:.45rem}.analysis-block-moves .meta-chip{margin-top:.35rem}.analysis-block-top-lines{margin-top:.55rem}.line-cards-scroll{scrollbar-gutter:stable;max-height:13rem;margin-top:.35rem;padding-right:.15rem;overflow-y:auto}.board-line-badge{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);border-radius:999px;padding:.28rem .55rem;font-size:.65rem;font-weight:600}.board-line-badge.on-line{color:#8ae6a8;background:#50c8781f;border-color:#50c87859}.board-line-badge.off-line{color:#ffb86b;background:#ff8c421f;border-color:#ff8c4266}.btn-game-end{padding:.32rem .65rem;font-size:.68rem}.board-frame-outer{width:min(100%, var(--board-side));max-width:var(--board-side);flex:none;position:relative}.board-resize-handle-se{cursor:nwse-resize;touch-action:none;z-index:3;width:1.35rem;height:1.35rem;color:var(--muted);-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:0 0 12px;margin:0;padding:0;position:absolute;bottom:0;right:0}.board-resize-handle-se:after{content:"";opacity:.65;background:linear-gradient(-45deg,#0000 42%,currentColor 42% 48%,#0000 48% 58%,currentColor 58% 64%,#0000 64%);width:9px;height:9px;position:absolute;bottom:5px;right:5px}.board-resize-handle-se:hover,.board-resize-handle-se:focus-visible{color:var(--text);outline:none}.board-resize-handle-se:focus-visible{box-shadow:0 0 0 2px var(--accent-dim)}.board-wrap{justify-content:center;align-items:center;gap:.65rem;padding:.2rem .25rem;display:flex}.eval-bar{width:12px;height:var(--board-side);max-height:var(--board-side);border:1px solid var(--border);border-radius:6px;flex-direction:column;flex:0 0 12px;align-self:center;display:flex;overflow:hidden}.eval-bar-white{background:linear-gradient(#ececf2,#9c9cac);flex-shrink:0;transition:height .35s ease-out}.eval-bar-rest{background:linear-gradient(#383844,#121214);flex:1;min-height:0}.board-frame{aspect-ratio:1;border:1px solid var(--border);background:var(--void);border-radius:14px;width:100%;overflow:hidden}.cb-square-wrap{width:100%;height:100%;position:relative}.mq-badge{z-index:5;pointer-events:none;letter-spacing:-.02em;border-radius:3px;justify-content:center;align-items:center;min-width:.85rem;min-height:.85rem;padding:.1rem .14rem;font-size:.52rem;font-weight:800;line-height:1;display:flex;position:absolute;top:2px;right:2px;box-shadow:0 1px 4px #0000008c}.mq-brilliant{color:#fff;background:#1694f7}.mq-great{color:#fff;background:#629920}.mq-good{color:#0f0f12;background:#96bc4b}.mq-inaccuracy{color:#0f0f12;background:#d9a520}.mq-mistake{color:#0f0f12;background:#e58f2a}.mq-blunder{color:#fff;background:#d94a3d}.mq-miss{color:#fff;background:#d94a4a}.review-depth-row{margin-top:.65rem}.review-depth-row label{color:var(--muted);grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;width:100%;font-size:.72rem;display:grid}.review-depth-label{text-transform:uppercase;letter-spacing:.08em;grid-column:1/-1;font-size:.65rem;font-weight:600}.game-review-chesscom{margin-top:1rem;font-size:.78rem}.review-pair-block{flex-direction:column;gap:.55rem;display:flex}.review-pair-row{grid-template-columns:minmax(4.5rem,5.25rem) 1fr 1fr;align-items:center;gap:.45rem .65rem;display:grid}.review-side-label{color:var(--text);font-size:.74rem;font-weight:600}.review-player-cell{text-align:center;flex-direction:column;align-items:center;gap:.35rem;min-width:0;display:flex}.review-avatar{border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;font-weight:700;display:flex}.review-avatar--white{color:#e8e8ec;background:#3a3d48}.review-avatar--black{color:#c4c4cc;background:#25262c}.review-avatar--won{border-color:#46c846;box-shadow:0 0 0 1px #46c84659}.review-player-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.7rem;overflow:hidden}.review-accuracy-cell{justify-content:center;display:flex}.review-accuracy-pill{text-align:center;font-variant-numeric:tabular-nums;border-radius:10px;min-width:3.25rem;padding:.32rem .55rem;font-size:.85rem;font-weight:700;display:inline-block}.review-accuracy-pill--light{color:#121218;background:#ececf2}.review-accuracy-pill--dim{color:#e6e6ee;border:1px solid var(--border);background:#2a2c34}.review-accuracy-pill--empty{color:var(--muted);border:1px dashed var(--border);background:0 0}.review-stats-divider{background:var(--border);height:1px;margin:.65rem 0 .5rem}.review-stats-table{flex-direction:column;gap:.02rem;display:flex}.review-stat-row{grid-template-columns:minmax(5rem,auto) 1fr 2.4rem 1fr;align-items:center;gap:.4rem;padding:.26rem 0;display:grid}.review-stat-label{color:var(--text);font-size:.72rem}.review-stat-count{font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:700}.review-stat-count--w{text-align:right}.review-stat-count--b{text-align:left}.review-stat-count--brilliant{color:#4fc3ff}.review-stat-count--great{color:#8ab4e8}.review-stat-count--good{color:#9abf6b}.review-stat-count--inaccuracy{color:#e8c84a}.review-stat-count--mistake{color:#f0a04a}.review-stat-count--miss{color:#ff8a8a}.review-stat-count--blunder{color:#ff7a6e}.review-stat-icon{color:#fff;border-radius:50%;justify-content:center;justify-self:center;align-items:center;width:1.85rem;height:1.85rem;font-size:.5rem;font-weight:800;line-height:1;display:flex}.review-stat-icon--brilliant{background:#1694f7}.review-stat-icon--great{background:#5a7a9a}.review-stat-icon--good{background:#6a7a58}.review-stat-icon--inaccuracy{background:#c9a227}.review-stat-icon--mistake{background:#d97a28}.review-stat-icon--miss{background:#d94a4a}.review-stat-icon--blunder{background:#b03028}.quality-summary-row{flex-wrap:wrap;gap:.35rem .45rem;margin-top:.45rem;display:flex}.quality-pill{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);border-radius:999px;padding:.28rem .45rem;font-size:.62rem;font-weight:600}.quality-pill strong{margin-left:.2rem;font-weight:700}.quality-pill--brilliant{color:#7cc9ff;background:#1694f72e;border-color:#1694f773}.quality-pill--great{color:#9fd65c;background:#62992033;border-color:#62992073}.quality-pill--good{color:#b8d97a;background:#96bc4b2e;border-color:#96bc4b66}.quality-pill--inaccuracy{color:#e8c24b;background:#d9a52026;border-color:#d9a52066}.quality-pill--mistake{color:#f0a855;background:#e58f2a26;border-color:#e58f2a66}.quality-pill--blunder{color:#ff8a80;background:#d94a3d2e;border-color:#d94a3d73}.quality-pill--miss{color:#d4a3ff;background:#9c4ecd2e;border-color:#9c4ecd73}.classified-moves-scroll{max-height:min(38vh,16rem);margin-top:.4rem;padding-right:.15rem;font-size:.72rem;overflow-y:auto}.classified-move-row{border-bottom:1px solid var(--border);grid-template-columns:2rem .65rem 1fr auto;align-items:center;gap:.35rem;padding:.22rem 0;display:grid}.classified-move-row:last-child{border-bottom:none}.classified-move-num{color:var(--muted);text-align:right}.classified-move-san{color:var(--text)}.classified-move-cpl{color:var(--muted);font-size:.68rem}.quality-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.quality-dot--brilliant{background:#1694f7}.quality-dot--great{background:#629920}.quality-dot--good{background:#96bc4b}.quality-dot--inaccuracy{background:#d9a520}.quality-dot--mistake{background:#e58f2a}.quality-dot--blunder{background:#d94a3d}.quality-dot--miss{background:#d94a4a}.controls{border-top:1px solid var(--border);margin-top:.65rem;padding-top:.65rem}.controls-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.controls-row+.controls-row{margin-top:.75rem}.controls-sliders{flex-direction:column;gap:.65rem;width:100%;display:flex}.controls-sliders label{color:var(--muted);grid-template-columns:3.5rem 1fr 2rem;align-items:center;gap:.5rem;width:100%;font-size:.72rem;display:grid}.controls-sliders input[type=range]{width:100%;min-width:0;accent-color:var(--accent)}.controls label{color:var(--muted);align-items:center;gap:.35rem;font-size:.72rem;display:flex}.controls input[type=range]{width:120px;accent-color:var(--accent)}.meta-chip{color:var(--muted);font-size:.75rem}.meta-chip strong{color:var(--text);font-weight:500}.move-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.move-nav-buttons{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.btn-step{border:1px solid var(--border);background:var(--elevated);color:var(--text);cursor:pointer;border-radius:9px;padding:.4rem .65rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.74rem;font-weight:600;transition:background .12s,border-color .12s,opacity .12s}.btn-step:hover:not(:disabled){background:#222228;border-color:#505058}.btn-step:disabled{opacity:.35;cursor:not-allowed}.move-grid{scrollbar-gutter:stable;grid-template-columns:36px 1fr 1fr;gap:.15rem .35rem;max-height:200px;padding-right:.15rem;font-size:.78rem;display:grid;overflow:auto}.panel-side .move-grid{max-height:min(17vh,152px)}.move-cell{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;padding:.25rem .35rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem}.move-cell:hover{background:var(--elevated);color:var(--text)}.move-cell.active{background:var(--accent-dim);color:var(--accent);outline:1px solid #ff3b3f59}.move-num{color:var(--muted);justify-content:flex-end;align-items:center;padding-right:.25rem;font-size:.72rem;display:flex}.analysis-block{margin-bottom:1rem}.analysis-block:last-child{margin-bottom:0}.line-card{background:var(--void);border:1px solid var(--border);border-radius:10px;margin-bottom:.45rem;padding:.55rem .65rem}.line-card:last-child{margin-bottom:0}.line-head{justify-content:space-between;align-items:baseline;margin-bottom:.35rem;display:flex}.line-eval{color:var(--accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85rem;font-weight:500}.line-pv{color:var(--muted);word-break:break-all;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;line-height:1.5}.status-dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:.35rem;display:inline-block}.status-dot.on{background:#5ee4a8;box-shadow:0 0 8px #5ee4a8}.status-dot.off{background:var(--muted)}.engine-toast{z-index:10000;pointer-events:none;max-width:min(32rem,100vw - 1.75rem);position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.engine-toast-inner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#101012f5;border:1px solid #ff3b3f73;border-radius:12px;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;animation:.2s ease-out engine-toast-in;display:flex;box-shadow:0 12px 40px #0000008c,0 0 0 1px #0006}@keyframes engine-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.engine-toast-text{color:#ffb4b6;flex:1;margin:0;font-size:.78rem;line-height:1.45}.engine-toast-close{width:1.75rem;height:1.75rem;color:var(--text);cursor:pointer;background:#ffffff14;border:none;border-radius:8px;flex-shrink:0;padding:0;font-size:1.25rem;line-height:1;transition:background .12s}.engine-toast-close:hover{background:#ffffff24}
