.board-visibility-panel{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#fff;scroll-margin-top:10rem}.board-visibility-toolbar{display:flex;justify-content:flex-end}.board-visibility-toolbar button{min-height:36px;padding:.45rem .75rem}.board-visibility-content{margin-top:.8rem}.board-turn-label{margin:0 0 .55rem;color:var(--ink-soft);font-size:.86rem;font-weight:700;text-align:center}.chessboard{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,560px);aspect-ratio:1;margin:0 auto;overflow:hidden;border:3px solid var(--accent-dark);border-radius:.35rem;box-shadow:0 12px 28px #0f172a29}.chessboard-square{position:relative;display:grid;min-width:0;place-items:center;aspect-ratio:1}.chessboard-square.is-light{background:#fef3c7;color:#451a03}.chessboard-square.is-dark{background:#b45309;color:#fff7ed}.chessboard-piece{position:relative;z-index:1;font-family:DejaVu Sans,"Noto Sans Symbols 2",Segoe UI Symbol,serif;font-size:clamp(1.65rem,7vw,3.9rem);font-style:normal;font-weight:400;font-synthesis:none;line-height:1;forced-color-adjust:none}.chessboard-piece.is-white-piece{color:#fff;-webkit-text-fill-color:#ffffff;-webkit-text-stroke:.6px #111827;text-shadow:-1px -1px 0 #111827,1px -1px 0 #111827,-1px 1px 0 #111827,1px 1px 0 #111827,0 2px 3px rgb(15 23 42 / .45)}.chessboard-piece.is-black-piece{color:#000;-webkit-text-fill-color:#000000;-webkit-text-stroke:.35px #000000;text-shadow:-1px -1px 0 rgb(255 255 255 / .82),1px -1px 0 rgb(255 255 255 / .82),-1px 1px 0 rgb(255 255 255 / .82),1px 1px 0 rgb(255 255 255 / .82),0 2px 3px rgb(15 23 42 / .32)}.rank-label,.file-label{position:absolute;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(.5rem,1.6vw,.72rem);font-weight:800;line-height:1;opacity:.8}.rank-label{top:.2rem;left:.22rem}.file-label{right:.22rem;bottom:.18rem}@media (max-width: 760px){.board-visibility-panel{scroll-margin-top:18rem}.chessboard-piece{font-size:clamp(1.45rem,9.5vw,3.2rem)}}.evaluation-panel-host{margin-top:.9rem}.evaluation-panel{border:1px solid var(--border-color, #d7c5a8);border-radius:12px;background:var(--surface-color, rgba(255, 255, 255, .82));padding:.85rem}.evaluation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.evaluation-title{display:grid;gap:.12rem}.evaluation-title small{opacity:.72;font-size:.78rem;line-height:1.35}.evaluation-toolbar button{min-height:36px;padding:.45rem .75rem}.evaluation-lines{position:relative;display:grid;gap:.35rem;margin-top:.7rem}.evaluation-lines p{display:grid;grid-template-columns:minmax(5.2rem,auto) minmax(3rem,1fr) auto;align-items:baseline;gap:.75rem;margin:0;padding:.42rem .55rem;border-radius:8px;background:#ffffff8c;line-height:1.35}.evaluation-lines p>span:first-child{font-variant-numeric:tabular-nums;font-weight:700}.evaluation-lines small{opacity:.72;white-space:nowrap}.evaluation-progress{position:absolute;top:-.35rem;right:0;width:.55rem;height:.55rem;border-radius:50%;background:currentColor;opacity:.45;animation:evaluation-pulse 1s ease-in-out infinite alternate}@keyframes evaluation-pulse{0%{transform:scale(.75);opacity:.25}to{transform:scale(1);opacity:.65}}@media (max-width: 560px){.evaluation-toolbar{align-items:stretch;flex-direction:column}.evaluation-lines p{grid-template-columns:minmax(4.7rem,auto) 1fr}.evaluation-lines small{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){.evaluation-progress{animation:none}}:root{--app-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-font: Georgia, "Times New Roman", serif;--header-background: rgb(255 255 255 / .94);--footer-background: rgb(255 251 235 / .97);--panel-background: #ffffff;--status-background: #f8fafc;--button-background: #ffffff;--surface-color: var(--surface);--board-light: #fef3c7;--board-dark: #b45309}:root[data-ui-theme=classic]{color-scheme:light;--page-background: #fff7ed;--page-gradient-start: #ffedd5;--surface: #fffbeb;--input-background: #ffffff;--ink: #451a03;--ink-soft: #475569;--muted: #64748b;--border: #cbd5e1;--header-background: rgb(255 255 255 / .94);--footer-background: rgb(255 251 235 / .97);--panel-background: #ffffff;--status-background: #f8fafc;--button-background: #ffffff;--surface-color: #fffbeb;--board-light: #fef3c7;--board-dark: #b45309}:root[data-ui-theme=light]{color-scheme:light;--page-background: #f8fafc;--page-gradient-start: #e2e8f0;--surface: #ffffff;--input-background: #ffffff;--ink: #172033;--ink-soft: #475569;--muted: #64748b;--border: #cbd5e1;--header-background: rgb(255 255 255 / .96);--footer-background: rgb(248 250 252 / .97);--panel-background: #ffffff;--status-background: #f1f5f9;--button-background: #ffffff;--surface-color: #ffffff;--board-light: #f8fafc;--board-dark: #64748b}:root[data-ui-theme=dark]{color-scheme:dark;--page-background: #111827;--page-gradient-start: #1f2937;--surface: #182131;--input-background: #0f172a;--ink: #f8fafc;--ink-soft: #cbd5e1;--muted: #94a3b8;--border: #475569;--header-background: rgb(15 23 42 / .96);--footer-background: rgb(15 23 42 / .97);--panel-background: #0f172a;--status-background: #111827;--button-background: #1e293b;--surface-color: #182131;--board-light: #cbd5e1;--board-dark: #475569;--shadow: 0 12px 32px rgb(0 0 0 / .28)}:root[data-ui-accent=brown]{--accent: #d97706;--accent-dark: #92400e;--accent-soft: #fef3c7}:root[data-ui-accent=blue]{--accent: #2563eb;--accent-dark: #1e40af;--accent-soft: #dbeafe}:root[data-ui-accent=green]{--accent: #15803d;--accent-dark: #166534;--accent-soft: #dcfce7}:root[data-ui-accent=burgundy]{--accent: #9f1239;--accent-dark: #701a2d;--accent-soft: #ffe4e6}:root[data-ui-theme=dark][data-ui-accent=brown]{--accent-soft: #422006}:root[data-ui-theme=dark][data-ui-accent=blue]{--accent-soft: #172554}:root[data-ui-theme=dark][data-ui-accent=green]{--accent-soft: #052e16}:root[data-ui-theme=dark][data-ui-accent=burgundy]{--accent-soft: #4c0519}:root[data-ui-text-size=small]{font-size:14px}:root[data-ui-text-size=normal]{font-size:16px}:root[data-ui-text-size=large]{font-size:18px}:root[data-ui-text-size=xlarge]{font-size:20px}:root[data-ui-font=system]{--app-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-font: Georgia, "Times New Roman", serif}:root[data-ui-font=serif]{--app-font: Georgia, "Times New Roman", serif;--heading-font: Georgia, "Times New Roman", serif}:root[data-ui-font=sans]{--app-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root[data-ui-font=mono]{--app-font: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--heading-font: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}html[data-ui-font] body,html[data-ui-font] button,html[data-ui-font] input,html[data-ui-font] select{font-family:var(--app-font)}html[data-ui-font] h1,html[data-ui-font] h2,html[data-ui-font] h3{font-family:var(--heading-font)}html[data-ui-theme] body{background:linear-gradient(180deg,var(--page-gradient-start) 0,var(--page-background) 360px);color:var(--ink)}html[data-ui-theme] .app-header{background:var(--header-background)}html[data-ui-theme] .app-footer{background:var(--footer-background)}html[data-ui-theme] button{background:var(--button-background);color:var(--ink)}html[data-ui-theme] .primary-button{background:var(--accent);color:#fff}html[data-ui-theme] select,html[data-ui-theme] input{border-color:var(--border);background:var(--input-background);color:var(--ink)}html[data-ui-theme] .moves-panel,html[data-ui-theme] .board-visibility-panel{background:var(--panel-background)}html[data-ui-theme] .status-panel{background:var(--status-background);color:var(--ink)}html[data-ui-theme] .language-switch,html[data-ui-theme] .assistant-avatar{background:var(--panel-background)}html[data-ui-theme=dark] .evaluation-lines p{background:#0f172ab8}html[data-ui-theme=dark] .build-version{color:#64748b}html[data-ui-accent] button:focus-visible,html[data-ui-accent] a:focus-visible,html[data-ui-accent] select:focus-visible,html[data-ui-accent] input:focus-visible{outline-color:var(--accent)}html[data-ui-accent] .chessboard-square.is-light{background:var(--board-light)}html[data-ui-accent] .chessboard-square.is-dark{background:var(--board-dark)}html[data-ui-board-size=small] .chessboard{width:min(100%,360px)}html[data-ui-board-size=medium] .chessboard{width:min(100%,500px)}html[data-ui-board-size=large] .chessboard{width:min(100%,640px)}.settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:1rem;background:#0f172a9e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.settings-dialog{width:min(720px,100%);max-height:min(86vh,760px);overflow:auto;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--border);border-radius:1rem;background:var(--surface);color:var(--ink);box-shadow:0 28px 80px #00000057}.settings-dialog:focus{outline:none}.settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.settings-heading h2{margin:0}.settings-heading p{margin:.3rem 0 0;color:var(--ink-soft)}.settings-heading>button{display:grid;flex:0 0 auto;place-items:center;width:2.5rem;min-height:2.5rem;padding:0;border-radius:999px;font-size:1.35rem;line-height:1}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1.15rem}.settings-field{display:grid;gap:.42rem;min-width:0}.settings-field>span{font-weight:800}.settings-field select{min-width:0}.settings-storage-note{margin:.9rem 0 0;color:var(--muted);font-size:.82rem}.settings-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-top:1.2rem}@media (max-width: 760px){.settings-modal-backdrop{align-items:end;padding:0}.settings-dialog{width:100%;max-height:90vh;border-right:0;border-bottom:0;border-left:0;border-radius:1rem 1rem 0 0}.settings-grid{grid-template-columns:1fr}.settings-dialog-actions button{flex:1 1 10rem}}@media (prefers-reduced-motion: no-preference){.settings-modal-backdrop{animation:settings-backdrop-in .15s ease-out}.settings-dialog{animation:settings-dialog-in .18s ease-out}@keyframes settings-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes settings-dialog-in{0%{opacity:0;transform:translateY(.6rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#451a03;background:#fff7ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--page-background: #fff7ed;--page-gradient-start: #ffedd5;--surface: #fffbeb;--input-background: #ffffff;--ink: #451a03;--ink-soft: #475569;--muted: #64748b;--accent: #d97706;--accent-dark: #92400e;--accent-soft: #fef3c7;--border: #cbd5e1;--shadow: 0 12px 32px rgb(15 23 42 / .08);--content-width: 1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,var(--page-gradient-start) 0,var(--page-background) 360px);color:var(--ink)}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid rgb(217 119 6 / .24);outline-offset:2px}button{min-height:44px;padding:.72rem 1rem;border:1px solid var(--border);border-radius:.75rem;background:#fff;color:var(--ink);cursor:pointer;font-weight:700}button:hover:not(:disabled){border-color:#d977066b;background:var(--accent-soft)}button:disabled{opacity:.55;cursor:not-allowed}h1,h2,h3{font-family:Georgia,Times New Roman,serif;line-height:1.15}p,li{line-height:1.65}.app-shell{min-height:100vh;padding-top:9.5rem;padding-bottom:7.75rem}.app-header{position:fixed;inset:0 0 auto;z-index:40;padding:.9rem 0;border-bottom:1px solid var(--border);background:#fffffff0;box-shadow:0 4px 14px #0f172a14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-header-top,.navigation-row,.app-main,.local-storage-notice,.app-footer>p,.app-footer>.footer-meta,.app-footer>.build-version{width:min(var(--content-width),calc(100% - 2rem));margin-right:auto;margin-left:auto}.app-header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand-block h1{margin:0;font-size:clamp(1.8rem,4vw,2.45rem)}.eyebrow{margin:0 0 .45rem;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.utility-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem}.utility-actions>a,.utility-actions>button,.language-switch button{min-height:38px;padding:.45rem .72rem;border:1px solid rgb(203 213 225 / .6);border-radius:999px;background:transparent;color:var(--ink-soft);font-size:.85rem;font-weight:700;line-height:1;text-decoration:none}.utility-actions>a:hover,.utility-actions>button:hover,.language-switch button:hover,.language-switch button.active{border-color:#d9770659;background:var(--accent-soft);color:var(--accent-dark)}.utility-actions .ecosystem-link{padding-inline:.2rem;border:0;border-radius:0;color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.assistant-launch-button{display:inline-flex;align-items:center;gap:.5rem}.assistant-avatar-wrap{position:relative;display:inline-grid;place-items:center;width:1.8rem;height:1.8rem}.assistant-avatar{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:999px;background:#fff;box-shadow:0 0 0 1px #cbd5e1b3;font-size:1rem}.engine-dot{position:absolute;right:-.08rem;bottom:-.04rem;width:.58rem;height:.58rem;border:2px solid #ffffff;border-radius:999px;background:#f59e0b}.engine-dot.is-ready{background:#16a34a}.engine-dot.is-checking{animation:pulse 1.3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.language-switch{display:inline-flex;gap:.2rem;padding:.15rem;border:1px solid rgb(217 119 6 / .32);border-radius:999px;background:#fff7ed}.language-switch button{min-width:2.4rem;border-color:transparent}.navigation-row{margin-top:.85rem;overflow-x:auto;padding-bottom:.1rem}.main-nav{display:flex;gap:.4rem;width:max-content;min-width:100%}.main-nav a{padding:.56rem .86rem;border:1px solid rgb(203 213 225 / .58);border-radius:999px;color:var(--ink-soft);font-weight:700;line-height:1;text-decoration:none;white-space:nowrap}.main-nav a:hover,.main-nav a.active{border-color:#d9770659;background:var(--accent-soft);color:var(--accent-dark)}.app-main{padding:2rem 0}.game-panel,.guide-panel{width:100%;border:1px solid var(--border);border-radius:1.2rem;background:var(--surface);box-shadow:var(--shadow)}.game-panel{margin:0;padding:clamp(1.15rem,3vw,2rem);scroll-margin-top:10rem}.guide-panel{margin:1.25rem 0 0;padding:clamp(1.15rem,3vw,1.7rem);scroll-margin-top:10rem}.page-heading{margin-bottom:1.25rem}.page-heading h2,.guide-panel h2{margin:0;font-size:clamp(1.7rem,4vw,2.3rem)}.page-heading p:last-child,.guide-panel>p,.guide-panel li{color:var(--ink-soft)}.control-section,.moves-panel,.status-panel{scroll-margin-top:10rem}.control-section{margin-top:1rem}.control-section>label,.control-section>h3{display:block;margin:0 0 .55rem;font-weight:800}select,input{width:100%;min-height:48px;padding:.78rem .88rem;border:1px solid #b8c1cc;border-radius:.75rem;background:var(--input-background);color:#111827}.field-help{margin-top:.42rem;color:var(--muted);font-size:.82rem}.input-help{margin-bottom:.7rem}.game-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}.primary-button{border-color:var(--accent);background:var(--accent);color:#fff}.primary-button:hover:not(:disabled){border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.move-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.moves-panel{min-height:150px;margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#fff}.moves-panel h3{margin:0 0 .65rem}.moves-panel pre{margin:0;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.55}.status-panel{margin-top:1rem;padding:.9rem 1rem;border-radius:.9rem;background:#f8fafc;color:#1f2937}.local-storage-notice{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.75rem 0 1rem;color:var(--muted);font-size:.82rem}.local-storage-notice a{color:var(--accent);font-weight:700;text-underline-offset:.2em}.app-footer{position:fixed;inset:auto 0 0;z-index:40;padding:.9rem 0 1rem;border-top:1px solid var(--border);background:#fffbebf7;box-shadow:0 -4px 14px #0f172a14;color:var(--muted);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-footer p{margin-top:0;margin-bottom:0}.footer-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;margin-top:.35rem}.footer-meta button{min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink-soft);font-size:.82rem;font-weight:400;text-decoration:underline;text-underline-offset:.2em}.footer-meta button:hover{background:transparent;color:var(--accent-dark)}.build-version{display:block;margin-top:.35rem;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#0f172a7a}.legal-dialog{width:min(620px,100%);max-height:82vh;overflow:auto;padding:clamp(1.2rem,4vw,2rem);border:1px solid var(--border);border-radius:1.15rem;background:var(--surface);box-shadow:0 24px 70px #0f172a47}.legal-dialog h2{margin-top:0}.legal-dialog p{color:var(--ink-soft)}.dialog-actions{display:flex;justify-content:flex-end;margin-top:1.2rem}@media (max-width: 760px){.app-shell{padding-top:17.5rem;padding-bottom:10rem}.app-header-top,.navigation-row,.app-main,.local-storage-notice,.app-footer>p,.app-footer>.footer-meta,.app-footer>.build-version{width:min(100% - 1rem,var(--content-width))}.app-header-top{align-items:flex-start;flex-direction:column}.utility-actions{justify-content:flex-start;width:100%}.assistant-launch-button{order:-1}.app-main{padding-top:.75rem}.game-panel,.guide-panel{border-radius:.95rem}.move-form{grid-template-columns:1fr}.move-form button{width:100%}.game-panel,.guide-panel,.control-section,.moves-panel,.status-panel{scroll-margin-top:18rem}}
