:root{accent-color:var(--accent);--bg-base:#050505;--bg-surface:#0a0a0a;--bg-elevated:#121212;--bg-panel:#0a0a0ab3;--bg-card:#121212bf;--bg-card-hover:#1c1c1cd9;--bg-input:#050505cc;--border-subtle:#ffffff0a;--border-default:#ffffff14;--border-strong:#ffffff29;--border-accent:#34d39959;--text-primary:#ededed;--text-secondary:#a1a1aa;--text-tertiary:#8a8a93;--text-heading:#fff;--text-muted:#83838c;--accent:#10b981;--accent-hover:#34d399;--accent-muted:#064e3b;--accent-subtle:#10b98126;--accent-glow:#10b98159;--danger:#ef4444;--warning:#f59e0b;--warning-subtle:#f59e0b1f;--success:#10b981;--info:#3b82f6;--info-subtle:#3b82f61f;--quality-best:#10b981;--quality-good:#34d399;--quality-inaccuracy:#fbbf24;--quality-mistake:#f97316;--quality-blunder:#ef4444;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:9999px;--shadow-md:0 8px 24px #00000080;--shadow-lg:0 16px 48px #000000a6;--font-heading:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--font-cjk-serif:"Songti TC", "STSong", "Noto Serif CJK TC", "Noto Serif CJK SC", "SimSun", serif;font-family:var(--font-body);color:var(--text-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}body{background:var(--bg-base);scroll-behavior:smooth;min-width:320px;max-width:100vw;margin:0;overflow-x:hidden}@media (prefers-reduced-motion:reduce){html:focus-within,body{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#root{width:100%}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#6e76813d}@media (hover:hover) and (pointer:fine){::-webkit-scrollbar-thumb:hover{background:#6e768170}}#root{height:100%}.app-error-fallback{text-align:center;width:100%;min-height:100vh;color:var(--text-primary);background:linear-gradient(#050505 0%,#0b0f0d 48%,#0a0a0a 100%);align-content:center;place-items:center;gap:.85rem;padding:2rem;display:grid}.app-error-mark{color:#7f1d1d;width:4rem;height:4rem;font-family:var(--font-heading);background:radial-gradient(circle at 32% 24%,#ffffffa6,#0000 32%),radial-gradient(circle,#d6b35f 0%,#9b7330 100%);border:1px solid #d6b35f8c;border-radius:50%;place-items:center;font-size:1.25rem;font-weight:900;display:grid;box-shadow:0 18px 40px #0000008c}.app-error-brand{color:var(--accent);font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.app-error-fallback h1{max-width:32rem;color:var(--text-heading);font-family:var(--font-heading);margin:0;font-size:2rem;line-height:1.05}.app-error-fallback p{max-width:28rem;color:var(--text-secondary);margin:0;font-size:.96rem}.app-error-fallback button{border:1px solid var(--border-accent);border-radius:var(--radius-pill);background:var(--accent-subtle);color:var(--accent-hover);cursor:pointer;font:inherit;margin-top:.35rem;padding:.72rem 1.1rem;font-size:.86rem;font-weight:800}.app-error-fallback button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:#10b98138}@media (hover:hover) and (pointer:fine){.app-error-fallback button:hover{outline:2px solid var(--accent);outline-offset:2px;background:#10b98138}}.app-error-fallback code{overflow-wrap:anywhere;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);max-width:min(32rem,100vw - 2rem);color:var(--text-tertiary);font-family:var(--font-mono);padding:.55rem .7rem;font-size:.72rem}@media (width<=480px){.app-error-fallback h1{font-size:1.55rem}}:root select.app-select{appearance:none;box-sizing:border-box;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%239d9d9d' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;min-width:0;max-width:100%;min-height:32px;padding-inline-end:2rem;overflow:hidden}:root select.app-select-roomy{min-height:44px;font-size:max(16px,1rem)}:root select.app-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (pointer:coarse){:root select.app-select{min-height:44px;font-size:max(16px,1rem)}}.study-analysis-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);min-width:0;margin:.6rem 0;padding:.65rem;font-size:.78rem}.study-analysis-card summary{cursor:pointer;overflow-wrap:anywhere;line-height:1.5}.study-analysis-card p,.study-analysis-card dd{color:var(--text-secondary);overflow-wrap:anywhere;line-height:1.5}.study-analysis-card dl{margin:.6rem 0}.study-analysis-card dl div{margin:.45rem 0}.study-analysis-card dt{color:var(--text-muted);font-size:.72rem}.study-analysis-card dd{margin:0}.study-analysis-card code{white-space:pre-wrap;overflow-wrap:anywhere;margin:.5rem 0;font-size:.72rem;display:block}.study-analysis-card button{min-height:32px;font:inherit;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);cursor:pointer;margin-top:.55rem;padding:.4rem .6rem}.study-analysis-card :is(button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (pointer:coarse){.study-analysis-card button,.study-analysis-card summary{min-height:44px}}.game-metadata{border:1px solid var(--border-subtle);border-radius:8px;margin:8px 0;padding:8px 10px;container-type:inline-size}.game-metadata summary{cursor:pointer;font-size:.8125rem;line-height:1.5}.game-metadata summary span{text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);margin-top:4px;font-size:.75rem;display:block;overflow:hidden}.game-metadata p{color:var(--text-secondary);font-size:.75rem;line-height:1.5}.game-metadata-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.game-metadata-fields label{flex-direction:column;gap:5px;min-width:0;font-size:.75rem;display:flex}.game-metadata-fields input{box-sizing:border-box;border:1px solid var(--border-default);width:100%;min-width:0;min-height:44px;color:inherit;font:inherit;background:0 0;border-radius:5px;padding:6px 8px;font-size:max(16px,1rem)}@container (width<=16rem){.game-metadata-fields{grid-template-columns:minmax(0,1fr)}}@media (pointer:coarse){.game-metadata summary{box-sizing:border-box;min-height:44px;padding-block:10px}}.study-notes{border:1px solid var(--border-subtle);border-radius:8px;flex-shrink:0;min-width:0;margin:8px 0;font-size:.8125rem;line-height:1.5}.study-notes summary{box-sizing:border-box;cursor:pointer;align-content:center;min-height:44px;padding:8px 10px}.study-notes summary span,.study-notes p,.study-note-result small{color:var(--text-secondary)}.study-notes-body{min-width:0;padding:0 10px 10px}.study-notes label{margin-bottom:6px;display:block}.study-notes input{box-sizing:border-box;border:1px solid var(--border-default);width:100%;min-width:0;min-height:44px;color:inherit;font:inherit;background:0 0;border-radius:5px;padding:6px 8px;font-size:max(16px,1rem)}.study-notes ul{overscroll-behavior:contain;gap:6px;max-height:22rem;margin:0 -4px;padding:4px;list-style:none;display:grid;overflow-y:auto}.study-notes li{min-width:0}.study-notes .study-note-result{box-sizing:border-box;text-align:start;border:1px solid var(--border-subtle);width:100%;min-height:44px;color:inherit;font:inherit;overflow-wrap:anywhere;cursor:pointer;background:0 0;border-radius:5px;flex-direction:column;align-items:stretch;gap:3px;padding:8px;display:flex}.study-note-result strong,.study-note-result small,.study-note-result span{min-width:0;max-width:100%}.study-note-result span{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.study-note-result small{font-size:.75rem}.study-note-result:hover,.study-note-result[aria-current]{border-color:var(--accent);background:var(--bg-card-hover)}.study-note-result:disabled{cursor:default;opacity:.6}.study-notes summary:focus-visible,.study-note-result:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.study-notes-more{white-space:normal;min-height:44px;margin-top:8px}.imported-glyphs{border:1px solid var(--border-subtle);border-radius:8px;flex-shrink:0;min-width:0;margin:8px 0;padding:0 10px;font-size:.8125rem;line-height:1.5}.imported-glyphs summary{cursor:pointer;box-sizing:border-box;align-content:center;min-height:44px;padding-block:8px}.imported-glyphs p,.imported-glyphs small{color:var(--text-secondary)}.imported-glyphs ul{max-height:16rem;margin:0 0 10px;padding:0;list-style:none;overflow-y:auto}.imported-glyphs li{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-block:6px;display:flex}.imported-glyphs li>span{flex:8rem;min-width:0}.imported-glyphs label{gap:4px;min-width:0;display:grid}.imported-glyphs select,.imported-glyphs input{box-sizing:border-box;border:1px solid var(--border-default);background:var(--bg-panel);width:100%;min-width:0;min-height:44px;color:var(--text-primary);font:inherit;border-radius:5px;padding:6px;font-size:max(16px,1rem)}.imported-glyphs button{white-space:normal;overflow-wrap:anywhere;border:1px solid var(--border-default);max-width:100%;min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border-radius:5px;padding:6px 8px}.imported-glyphs button:disabled,.imported-glyphs select:disabled{opacity:.5;cursor:default}.imported-glyphs .glyph-code-editor{margin-bottom:8px}.imported-glyphs form{gap:8px;display:grid}.imported-glyphs strong{margin-inline-end:4px}.imported-glyphs small{font-size:inherit}.mtree-glyphs{white-space:normal;overflow-wrap:anywhere;font-weight:700}.lazy-panel-error{border:1px solid var(--danger,#d64545);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);margin:.75rem;padding:.7rem .9rem;font-size:.8rem;line-height:1.4}.study-practice-backdrop{z-index:9200;background:#02060cdb;position:fixed;inset:0}.study-practice-dialog{box-sizing:border-box;background:var(--bg-elevated);width:min(100vw - 16px,900px);max-height:96vh;color:var(--text-primary);border:1px solid var(--border-default);z-index:9201;border-radius:14px;padding:1rem;scroll-padding-block:6px;position:fixed;inset:2vh auto auto 50%;overflow:auto;transform:translate(-50%);container-type:inline-size}.study-practice-dialog header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.study-practice-dialog header div{min-width:0}.study-practice-dialog h2{margin:0;font-size:1.15rem}.study-practice-dialog p{overflow-wrap:anywhere;font-size:.85rem;line-height:1.5}.study-practice-dialog header p{color:var(--text-secondary);margin:.35rem 0 0}.study-practice-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"board controls""board feedback";align-items:start;gap:.75rem 1rem;display:grid}.study-practice-controls{grid-area:controls;grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));align-items:end;gap:.5rem;min-width:0;display:grid}.study-practice-controls label{gap:.3rem;font-size:.85rem;display:grid}.study-practice-dialog select{box-sizing:border-box;background:var(--bg-input);width:100%;min-width:0;min-height:44px;color:inherit;border:1px solid var(--border-default);border-radius:6px;padding:.4rem;font-size:max(16px,1rem)}.study-practice-dialog button:not(.hitbox){min-width:44px;max-width:100%;min-height:44px;font:inherit;color:inherit;background:var(--bg-input);border:1px solid var(--border-default);cursor:pointer;border-radius:8px;padding:.5rem .75rem;font-size:.85rem}.study-practice-dialog button[aria-pressed=true]{border-color:var(--accent)}.study-practice-board{grid-area:board;min-width:0;padding:10px}.study-practice-board .xiangqi-board-container{--board-max-width:440px}.study-practice-feedback{grid-area:feedback;min-width:0}.study-practice-feedback>p[role=status]{border:1px solid var(--border-subtle);background:var(--bg-panel);border-radius:8px;padding:.65rem}.study-practice-actions{flex-wrap:wrap;gap:.5rem;display:flex}.app-shell .study-practice-dialog .study-practice-actions button:focus{outline:2px solid var(--info);outline-offset:2px;scroll-margin-block:5px}.study-practice-note{color:var(--text-secondary)}.study-practice-note summary{cursor:pointer;align-content:center;min-height:44px;font-size:.85rem}.study-practice-line-notes{border:1px solid var(--border-subtle);border-radius:8px;margin:.75rem 0;padding:.65rem}.study-practice-line-notes ul{margin:.5rem 0 0;padding:0;list-style:none}.study-practice-line-notes li+li{border-top:1px solid var(--border-subtle);padding-top:.5rem}.study-practice-line-notes strong{overflow-wrap:anywhere;font-size:.78rem}.study-practice-line-notes p{color:var(--text-primary)}@container (width<=36rem){.study-practice-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"controls""board""feedback"}}@media (height<=520px){.study-practice-board .xiangqi-board-container{--board-max-width:65vh}}.library-matches{border-top:1px solid var(--border-default);margin-top:.5rem;padding-top:.5rem;font-size:.75rem}.library-matches summary{cursor:pointer;color:var(--text-primary);padding:.25rem 0}.library-matches p{color:var(--text-secondary);margin:.5rem 0;line-height:1.5}.library-matches-list{gap:.375rem;margin-bottom:.5rem;display:grid}.library-matches-list button{text-align:left;border:1px solid var(--border-subtle);background:var(--bg-panel);min-width:0;min-height:44px;color:var(--text-primary);cursor:pointer;overflow-wrap:anywhere;border-radius:6px;flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.library-matches-list button:hover{border-color:var(--accent)}.library-matches-list span{color:var(--text-secondary);font-size:.7rem}.beginner-guide{border:1px solid var(--border-subtle);background:var(--bg-panel);min-width:0;color:var(--text-primary);border-radius:12px;flex:none;margin:.5rem 0;padding:.75rem;font-size:.8125rem;line-height:1.5}.beginner-guide-heading{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.beginner-guide-heading button{color:inherit;cursor:pointer;background:0 0;border:0;min-width:32px;min-height:32px;font-size:1.25rem}.beginner-guide p{margin:0 0 .5rem}.beginner-guide-actions{flex-wrap:wrap;gap:.5rem;display:flex}.beginner-guide-actions .chip-btn{white-space:normal;min-height:36px}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){.beginner-guide{margin:0 .5rem;padding:.375rem .75rem;font-size:.75rem}[data-mobile-view=board] .board-stage:has(>.beginner-guide){grid-template-rows:auto auto minmax(0,1fr) auto}}.beginner-guide summary{cursor:pointer;padding:.25rem 0}@media (width<=900px) and (height<=699px),(width<=960px) and (height<=500px) and (pointer:coarse) and (height<=699px){.beginner-guide{max-height:30vh;overflow-y:auto}}.dialog-load-backdrop{z-index:9200;background:#02060cc7;position:fixed;inset:0}.dialog-load{background:var(--bg-elevated);width:min(94vw,32rem);max-height:94vh;color:var(--text-primary);border:1px solid var(--border-default);z-index:9201;border-radius:14px;padding:1rem;position:fixed;top:3vh;left:50%;overflow:auto;transform:translate(-50%)}.dialog-load header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dialog-load h2{margin:0;font-size:1.15rem}.dialog-load p{font-size:.9rem;line-height:1.5}.dialog-load button{min-width:44px;min-height:44px;color:inherit;background:var(--bg-input);border:1px solid var(--border-default);cursor:pointer;border-radius:8px;flex-shrink:0;padding:.5rem .75rem;font-size:.9rem}.app-shell{width:100%;height:100vh;font-family:var(--font-body);background:var(--bg-base);-webkit-font-smoothing:antialiased;box-sizing:border-box;flex-direction:column;display:flex;position:relative}.app-shell.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.resizing,body.resizing *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.main-container{box-sizing:border-box;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.panel{z-index:4;transition:width .22s cubic-bezier(.22,1,.36,1);position:relative;overflow:visible}:root:not([data-panels-ready]) .panel{transition:none}.panel-inner{border:1px solid var(--border-subtle);background:var(--bg-panel);width:100%;height:100%;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(24px);flex-direction:column;transition:opacity .18s;display:flex;overflow:hidden;container:panel-col/inline-size}@container panel-col (width<=22rem){.panel-header-tabs>.analysis-tab-strip{flex:1;min-width:0}.panel-header-tabs>h2{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.panel-header{padding:var(--space-md);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.panel-header h2{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);margin:0;font-size:.7rem;font-weight:700}.panel-content{padding:var(--space-md)}.panel-copy{margin:0 0 var(--space-md);color:var(--text-secondary);font-size:.8rem;line-height:1.55}.panel-copy.small{margin-top:var(--space-xs);color:var(--text-tertiary);font-size:.7rem}.library-loading,.panel-loading{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);min-height:9rem;color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;place-items:center;font-size:.72rem;font-weight:700;display:grid}.panel :where(button){border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;font-family:inherit;font-size:.78rem;font-weight:500;line-height:1;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.22,1,.36,1);display:inline-flex;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.panel button:hover:not(:disabled):not([aria-selected=true]):not([aria-pressed=true]):not([aria-current=true]){background:var(--bg-card-hover);border-color:var(--border-strong);color:var(--text-heading)}}.panel button:active{transform:scale(.97);box-shadow:inset 0 1px 3px #0000004d}.app-shell :is(button,summary,input,select,textarea,a,[role=button],[role=separator]):focus-visible{outline:2px solid var(--info);outline-offset:2px}.app-shell :is(button,summary,input,select,textarea,a,[role=button]):focus:not(:focus-visible){outline:none}.top{z-index:2000;border-bottom:1px solid var(--border-subtle);background:#0d1117eb;flex-shrink:0;width:100%}.top .panel-inner{box-shadow:none;padding:.38rem .85rem;padding-top:calc(.38rem + env(safe-area-inset-top));padding-left:calc(.85rem + env(safe-area-inset-left));padding-right:calc(.85rem + env(safe-area-inset-right));background:0 0;border:none;flex-direction:row;align-items:center;overflow:visible}.top .panel-header{display:none}.top .panel-content{flex:1;padding:.38rem .85rem;overflow:visible}.top .compact-grid{flex-wrap:wrap;align-items:center;gap:.45rem;width:100%;display:flex}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){.top .compact-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;box-sizing:border-box;flex-wrap:nowrap;overflow-x:auto}}.top .compact-grid::-webkit-scrollbar{display:none}.top-mode-pills{border:1px solid var(--border-subtle);min-height:unset;background:#0d111780;border-radius:24px;flex-shrink:0;gap:.2rem;margin:0;padding:.2rem;display:flex}.top .compact-grid button{min-height:unset;box-sizing:border-box;border-radius:20px;justify-content:center;align-items:center;height:2.2rem;padding:0 .8rem;font-size:.78rem;display:flex}.app-brand{border-right:1px solid var(--border-subtle);flex:none;align-items:center;gap:.5rem;margin-right:.75rem;padding-right:.75rem;display:flex}.app-brand-icon{opacity:.85;vertical-align:middle;flex-shrink:0;width:1.05rem;height:1.05rem}.app-brand-text{letter-spacing:0;color:var(--text-heading);white-space:nowrap;font-size:.82rem;font-weight:700}.toolbar-divider{background:var(--border-default);flex-shrink:0;width:1px;height:16px;margin:0 .1rem}.top .settings-body{z-index:1000;width:320px;max-height:72vh;padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--bg-surface);-webkit-backdrop-filter:blur(32px);box-shadow:var(--shadow-lg), 0 0 0 1px var(--border-subtle);animation:.22s cubic-bezier(.22,1,.36,1) dropdown-in;position:absolute;top:calc(100% + 6px);left:auto;right:0;overflow-y:auto}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.board-stage{padding:var(--space-lg);z-index:1;flex:1;place-items:center;min-width:0;display:grid;position:relative}.board-wrap{z-index:2;touch-action:manipulation;border-radius:14px;width:min-content;max-width:100%;margin:0 auto;transition:transform .3s cubic-bezier(.22,1,.36,1);position:relative}.thinking-dots{align-items:center;gap:3px;display:flex}.thinking-dots span{background:var(--accent);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite thinking-bounce}.thinking-dots span:nth-child(2){animation-delay:.15s}.thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes thinking-bounce{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.panel.left{width:var(--left-panel-w,320px)}.panel.right{width:var(--right-panel-w,320px)}.left{height:100%}.left .panel-inner{box-shadow:1px 0 0 var(--border-subtle);border-top:none;border-bottom:none;border-left:none;border-radius:0}.right{height:100%}.right .panel-inner{box-shadow:-1px 0 0 var(--border-subtle);border-top:none;border-bottom:none;border-right:none;border-radius:0}.left .panel-content,.right .panel-content{padding:var(--space-md);flex:1;min-width:0;overflow-y:auto}.left .panel-header{display:none}.left .panel-header-tabs{display:flex}.bottom{z-index:100;border-top:1px solid var(--border-subtle);background:#0d1117eb;flex-shrink:0;width:100%}.bottom .panel-inner{box-shadow:0 -1px 0 var(--border-subtle);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:#0d1117eb;border-bottom:none;border-left:none;border-right:none;border-radius:0}.bottom .panel-header{display:none}.bottom .panel-content{align-items:center;gap:var(--space-sm);flex-wrap:wrap;min-height:2.1rem;padding:.3rem .85rem;display:flex}.bottom.hidden{transition:transform .25s cubic-bezier(.22,1,.36,1);transform:translateY(100%)}.top.hidden{transition:transform .25s cubic-bezier(.22,1,.36,1);transform:translateY(-100%)}.top.hidden,.bottom.hidden{border-width:0;height:0}.top.hidden .panel-inner,.bottom.hidden .panel-inner{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .18s,visibility 0s linear .18s}.resize-handle{z-index:110;-webkit-user-select:none;user-select:none;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.panel .resize-handle{background:0 0;border:0;border-radius:0;gap:0;position:absolute;overflow:visible}@media (hover:hover) and (pointer:fine){.panel .resize-handle:hover{color:inherit;background:0 0;border-color:#0000}}.resize-handle{--grip-bleed:5px}.resize-handle-left:after,.resize-handle-right:after{content:"";inset:0 calc(-1 * var(--grip-bleed));position:absolute}.resize-handle-top:after,.resize-handle-bottom:after{content:"";inset:calc(-1 * var(--grip-bleed)) 0;position:absolute}.resize-handle-left,.resize-handle-right{cursor:col-resize;width:14px;top:0;bottom:0}.resize-handle-right{right:-7px}.resize-handle-left{left:-7px}.resize-handle-top,.resize-handle-bottom{cursor:pointer;height:14px;left:0;right:0}.resize-handle-top{top:-7px}.resize-handle-bottom{bottom:-7px}.resize-pill{background:#6e768126;border-radius:2px;width:3px;height:32px;transition-property:background-color,box-shadow,width,height;transition-duration:.2s;transition-timing-function:ease}.resize-pill.horizontal{flex-direction:row;width:32px;height:3px}@media (hover:hover) and (pointer:fine){.resize-handle:hover .resize-pill{background:#6e76815c}}.resize-handle:focus-visible .resize-pill{background:#d6b35fb8;box-shadow:0 0 0 3px #d6b35f2e}.resize-handle[aria-expanded=false] .resize-pill{background:#d6b35fb3;width:46px}.resize-handle[data-collapsed=true] .resize-pill{background:#d6b35fb3;width:4px;height:46px}@media (hover:hover) and (pointer:fine){.resize-handle[aria-expanded=false]:hover .resize-pill,.resize-handle[data-collapsed=true]:hover .resize-pill{background:#e6c678e6}.resize-handle-left:hover .resize-pill,.resize-handle-right:hover .resize-pill{width:4px;height:48px}.resize-handle-top:hover .resize-pill,.resize-handle-bottom:hover .resize-pill{width:48px;height:4px}}.settings-body{padding:0 .65rem .65rem}.settings-header{display:none}.control{gap:.28rem;margin-bottom:.55rem;display:grid}.control span{color:var(--text-tertiary);font-size:.74rem}.control strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.76rem}.control input[type=range]{accent-color:var(--accent);width:100%;height:4px}.compact-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.compact-grid button{padding:.5rem}.analysis-tab-strip{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.32rem;display:grid}.analysis-tab-btn{border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);border-radius:var(--radius-sm);white-space:nowrap;gap:.3rem;padding:.34rem .36rem;font-size:.7rem;font-weight:600}@media (hover:hover) and (pointer:fine){.analysis-tab-btn:hover{border-color:var(--border-default);color:var(--text-primary)}}.analysis-tab-btn>svg{flex-shrink:0}.analysis-tab-btn.active{border-color:var(--accent-muted);background:var(--accent-subtle);color:var(--accent)}@container panel-col (width<=16.25rem){.analysis-tab-btn>svg{display:none}.analysis-tab-btn{text-overflow:ellipsis;padding-inline:.2rem}}.move-uci{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:.66rem!important}.mtree-chip-active .move-uci{color:var(--text-tertiary)}.quality-best{border-left-color:var(--quality-best)!important}.quality-good{border-left-color:var(--quality-good)!important}.quality-inaccuracy{border-left-color:var(--quality-inaccuracy)!important}.quality-mistake{border-left-color:var(--quality-mistake)!important}.quality-blunder{border-left-color:var(--quality-blunder)!important}.graph-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);flex-shrink:0;width:100%;min-height:min-content;padding:.5rem;position:relative;overflow:hidden;container-type:inline-size}.graph-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.42rem;margin-bottom:.45rem;display:grid}.graph-summary-card{overflow-wrap:anywhere;border-radius:var(--radius-sm);background:linear-gradient(180deg, #ffffff0a, #ffffff03), var(--bg-elevated);border:1px solid #ffffff0f;flex-direction:column;gap:.16rem;min-width:0;padding:.46rem .54rem;display:flex}.graph-summary-card span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);font-size:.63rem}.graph-summary-card strong{color:var(--text-primary);font-size:.8rem;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.graph-summary-card-stalled{background:linear-gradient(180deg, #f59e0b1a, #f59e0b05), var(--bg-elevated);border-color:#f59e0b52}.graph-summary-card-stalled strong{color:var(--warning)}.graph-summary-hint{color:var(--warning);opacity:.85;font-size:.58rem;font-style:normal;line-height:1.25}@container (width<=420px){.graph-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=16rem){.graph-wrap .graph-summary{grid-template-columns:minmax(0,1fr)}}.graph-scroll{width:100%;overflow:hidden}.graph-scroll-inner{width:100%;position:relative}.graph-svg-stage{border-radius:calc(var(--radius-sm) + 2px);position:relative;overflow:hidden}.winrate-graph{outline:none;width:100%;min-width:0;display:block}.graph-svg-stage-sweeping .winrate-graph{will-change:clip-path, filter;animation:.65s cubic-bezier(.22,1,.36,1) graph-load-reveal}.graph-load-sweep-overlay{pointer-events:none;mix-blend-mode:screen;background:linear-gradient(90deg,#b8ffe200 0%,#b8ffe20d 36%,#b8ffe266 50%,#b8ffe20d 64%,#b8ffe200 100%);animation:.65s cubic-bezier(.22,1,.36,1) graph-load-sweep;position:absolute;inset:0}.winrate-graph:focus-visible{outline:2px solid var(--info);outline-offset:-2px}.app-shell .bottombar-fen-copy:focus-visible,.app-shell .mobile-tab-bar-btn:focus-visible{outline-offset:-2px}@keyframes graph-load-reveal{0%{clip-path:inset(0 100% 0 0);filter:saturate(1.08)brightness(1.04)}to{clip-path:inset(0);filter:saturate()brightness()}}@keyframes graph-load-sweep{0%{opacity:0;transform:translate(-115%)}18%{opacity:1}to{opacity:0;transform:translate(115%)}}@media (prefers-reduced-motion:reduce){.graph-svg-stage-sweeping .winrate-graph,.graph-load-sweep-overlay{animation:none}}.graph-grid-line{stroke:#f0f6fc0d;stroke-width:1px;stroke-dasharray:3 4}.graph-grid-line-zero{stroke:#f0f6fc2e}.graph-grid-text{fill:var(--text-secondary);font-family:inherit;font-size:13px}.graph-zone{pointer-events:none}.graph-zone-positive{fill:#3fb9500d}.graph-zone-negative{fill:#ff7a590a}.graph-axis-tick{stroke:#f0f6fc2e;stroke-width:1px}.graph-axis-text{fill:var(--text-tertiary);font-size:11px;font-family:var(--font-mono)}.graph-area{fill:url(#graph-gradient)}.graph-line{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px var(--accent-glow))}.graph-point{fill:var(--accent);stroke:var(--bg-base);stroke-width:1.3px}.graph-legend{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.3rem .6rem;margin-top:.45rem;font-size:.72rem;display:flex}.graph-legend span{align-items:center;gap:.3rem;display:flex}.graph-legend span:before{content:"";background:var(--accent);border-radius:2px;flex-shrink:0;width:8px;height:3px;display:inline-block}.graph-legend strong{color:var(--accent);font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.graph-legend.wdl{flex-wrap:wrap;justify-content:flex-start;gap:.9rem}.graph-legend.wdl span{gap:.36rem}.graph-legend.wdl span:before{width:10px;height:3px}.empty-state{padding:var(--space-xl) var(--space-md);text-align:center;justify-content:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.empty-state p{color:var(--text-tertiary);max-width:200px;margin:0;font-size:.76rem;line-height:1.55}.analyzing-bar{background:var(--border-subtle);border-radius:1px;width:100%;height:2px;position:relative;overflow:hidden}.analyzing-bar.active:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);width:40%;height:100%;animation:1.4s ease-in-out infinite analyzing-slide;position:absolute;top:0;left:0;transform:translate(-100%)}@keyframes analyzing-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.game-mode-badge{color:var(--text-secondary);border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-elevated);align-items:center;gap:.25rem;padding:.16rem .48rem;font-size:.71rem;font-weight:600;display:inline-flex}.opening-badge{color:var(--accent,#10b981);border-radius:var(--radius-pill);font-size:.74rem;font-weight:700;font-family:var(--font-heading);letter-spacing:.02em;white-space:nowrap;background:#10b98114;border:1px solid #10b9814d;align-items:center;gap:.3rem;max-width:320px;padding:.16rem .52rem;animation:.28s cubic-bezier(.22,1,.36,1) badge-pop;display:inline-flex;overflow:hidden}.opening-badge-chinese{flex:none}.opening-badge-name{color:var(--text-secondary);font-size:.65rem;font-weight:500;font-family:var(--font-body);text-overflow:ellipsis;min-width:0;overflow:hidden}@keyframes badge-pop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){.app-shell{width:100vw;max-width:100vw;height:100dvh;padding:0;overflow:hidden}.main-container{flex-direction:column;width:100%;max-width:100%;overflow:hidden}.top{order:0;position:relative!important;top:auto!important}.board-stage{box-sizing:border-box;background:var(--bg-base);flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:100%;display:flex;position:relative}.right,.left{min-height:0;overflow:hidden;width:100%!important;padding:0!important}.left .panel-inner,.right .panel-inner{flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:none!important;border:none!important;border-radius:0!important}.left .panel-content,.right .panel-content{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}[data-mobile-view=analysis] .main-container:is([data-mobile-tab=moves],[data-mobile-tab=review],[data-mobile-tab=engine]) .panel.left,[data-mobile-view=analysis] .main-container:is([data-mobile-tab=graph],[data-mobile-tab=library]) .panel.right{display:none}.panel{transition:none}.resize-handle-right,.resize-handle-left{display:none}.bottom{display:none!important}.app-brand-text{display:none}.top .panel-inner{padding-top:env(safe-area-inset-top)}.top .panel-content{padding:.35rem .5rem}.top .settings-body{z-index:1000;width:100%;max-width:100%;max-height:85vh;box-shadow:0 -12px 48px #0009, 0 -1px 0 0 var(--border-subtle);padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0;border:none;border-top:1px solid var(--border-strong);animation:.4s cubic-bezier(.16,1,.3,1) forwards slide-up;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%)!important}.top .settings-body:before{content:"";background:var(--border-strong);z-index:1001;pointer-events:none;border-radius:4px;width:40px;height:4px;position:fixed;top:8px;left:50%;transform:translate(-50%)}.settings-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.settings-header h2{color:var(--text-heading);margin:0;font-size:1.1rem;font-weight:600}.settings-close-btn{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;padding:0;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.14s;transition-timing-function:ease}@media (hover:hover) and (pointer:fine){.settings-close-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}}@keyframes slide-up{to{transform:translateY(0)!important}}.desktop-only{display:none!important}.top-mode-pills,.wc-nav,.wc-speed{min-height:2.5rem;padding:.18rem}.top-mode-pills{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.top-mode-pills::-webkit-scrollbar{display:none}.gc-pill,.wc-speed-pill,.analysis-tab-btn{min-height:40px;padding:.4rem .8rem;font-size:.85rem}.wc-btn{min-width:2.5rem;min-height:2.5rem;padding:.35rem .55rem;font-size:1.15rem}.gc-btn{min-height:2.5rem;padding:.35rem .85rem}.watch-controls{flex-wrap:wrap;gap:.6rem}.bottom .panel-content{padding:.5rem var(--space-md);flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.bottom-status-row{justify-content:center;width:100%;margin:0;padding-bottom:.15rem}.game-controls,.watch-controls{flex-wrap:wrap;justify-content:center;gap:.4rem;overflow-x:visible}.resize-handle{display:none!important}.bottom-engine-info{margin-bottom:.4rem;font-size:.85rem}.panel-copy.small{font-size:.78rem}.control{margin-bottom:1rem;padding-bottom:.4rem}.control span{font-size:.9rem;font-weight:500}.control strong{font-size:.95rem}input[type=range]{border-radius:8px;height:16px}input[type=checkbox]{width:1.3rem;height:1.3rem}}.game-controls{scrollbar-width:thin;align-items:center;gap:.4rem;min-width:0;max-width:100%;padding-bottom:2px;display:flex;overflow:auto hidden}.game-controls>*{flex-shrink:0}.game-controls>.opening-badge{flex-shrink:1;min-width:7rem}.review-progress{color:var(--accent,#10b981);align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;display:inline-flex}.review-summary{color:var(--text-secondary);border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-elevated);flex-wrap:wrap;align-items:center;gap:.35rem;padding:.12rem .4rem;font-size:.7rem;font-weight:500;display:inline-flex}.review-summary-issue{white-space:nowrap}.review-summary-side{white-space:nowrap;font-family:var(--font-mono);font-size:.68rem;font-weight:800}.review-summary-loss{white-space:nowrap;font-family:var(--font-mono);color:#67e8f9;font-size:.68rem;font-weight:800}.review-summary-side-red{color:#fca5a5}.review-summary-side-black{color:#cbd5e1}.review-summary strong{color:var(--accent,#10b981)}.review-summary .chip-btn{padding:.18rem .42rem}.gc-btn{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--bg-elevated);min-height:24px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:.3rem;padding:.22rem .65rem;font-family:inherit;font-size:.72rem;font-weight:600;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.14s;transition-timing-function:ease;display:inline-flex}@media (hover:hover) and (pointer:fine){.gc-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-card-hover)}}.gc-btn:disabled{opacity:.42;cursor:not-allowed;border-color:var(--border-subtle);color:var(--text-tertiary);background:#ffffff08}.gc-btn-warning{color:#f87171;background:#ef444424;border-color:#ef44446b}.gc-pill{border-radius:var(--radius-pill);color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:.25rem;padding:.2rem .55rem;font-family:inherit;font-size:.68rem;font-weight:600;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.13s;transition-timing-function:ease;display:inline-flex}@media (hover:hover) and (pointer:fine){.gc-pill:hover{color:var(--text-secondary);background:var(--bg-elevated)}}.gc-pill-active{background:var(--accent-subtle)!important;border-color:var(--border-accent)!important;color:var(--accent)!important}.top-mode-pills{border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-card);align-items:center;gap:.18rem;padding:.12rem;display:flex}.watch-controls{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.wc-nav{border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-card);align-items:center;gap:.15rem;padding:.12rem;display:flex}.wc-btn{border-radius:var(--radius-pill);min-width:1.9rem;min-height:24px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.22rem .5rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .11s,color .11s;display:inline-flex}@media (hover:hover) and (pointer:fine){.wc-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}}.wc-btn:disabled{opacity:.28;cursor:not-allowed}.wc-play{gap:.2rem;display:flex}.wc-btn-pause{background:var(--bg-elevated)!important;border-color:var(--border-default)!important;color:var(--text-secondary)!important}@media (hover:hover) and (pointer:fine){.wc-btn-pause:hover{color:var(--warning)!important;background:var(--warning-subtle)!important;border-color:#d2992266!important}}.wc-btn-resume{background:var(--accent-subtle)!important;border-color:var(--border-accent)!important;color:var(--accent)!important}@media (hover:hover) and (pointer:fine){.wc-btn-resume:hover{box-shadow:0 0 10px var(--accent-glow)!important;background:#3fb95038!important}}.wc-btn-step{background:var(--info-subtle)!important;color:var(--info)!important;border-color:#58a6ff4d!important}.wc-speed{border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-card);align-items:center;gap:.18rem;padding:.12rem;display:flex}.wc-speed-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;-webkit-user-select:none;user-select:none;padding:0 .25rem 0 .35rem;font-size:.63rem;font-weight:600}.wc-speed-pill{border-radius:var(--radius-pill);min-height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;padding:.18rem .5rem;font-family:inherit;font-size:.67rem;font-weight:600;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.12s;transition-timing-function:ease;display:inline-flex}@media (hover:hover) and (pointer:fine){.wc-speed-pill:hover{color:var(--text-secondary);background:var(--bg-elevated)}}.wc-speed-active{background:var(--accent-subtle)!important;border-color:var(--border-accent)!important;color:var(--accent)!important}.wc-paused-label{color:var(--warning);border-radius:var(--radius-pill);background:var(--warning-subtle);white-space:nowrap;border:1px solid #d2992240;padding:.18rem .55rem;font-size:.7rem;font-weight:600;animation:.2s cubic-bezier(.22,1,.36,1) badge-pop}.mtree-scroll{overscroll-behavior:contain;outline:none;flex:260px;min-height:14rem;padding:.1rem max(4px,.15rem);overflow-y:auto}.mtree-row{grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.15rem;margin-bottom:.12rem;display:grid}.mtree-num{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.67rem;font-family:var(--font-mono);-webkit-user-select:none;user-select:none;overflow-wrap:anywhere;padding-left:.1rem}.mtree-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr));align-items:start;gap:.15rem;display:grid}.mtree-chip{border-radius:var(--radius-xs);width:100%;max-width:100%;min-height:24px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.22rem .4rem;font-family:inherit;font-size:.76rem;font-weight:500;transition:background .1s,color .1s,border-color .1s;display:inline-flex}@media (hover:hover) and (pointer:fine){.mtree-chip:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-subtle)}}.mtree-chip-active{background:var(--accent-subtle)!important;border-color:var(--border-accent)!important;color:var(--accent)!important;font-weight:700!important}.mtree-quality-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:auto;display:inline-block}.quality-best .mtree-quality-dot{width:5px;height:5px;box-shadow:inset 0 0 0 1.5px var(--quality-best);background:0 0}.quality-good .mtree-quality-dot{width:5px;height:5px}.quality-inaccuracy .mtree-quality-dot{width:7px;height:7px}.quality-mistake .mtree-quality-dot{width:8px;height:8px}.quality-blunder .mtree-quality-dot{width:9px;height:9px}.quality-good .mtree-quality-dot{background:var(--quality-good)}.quality-inaccuracy .mtree-quality-dot{background:var(--quality-inaccuracy)}.quality-mistake .mtree-quality-dot{background:var(--quality-mistake)}.quality-blunder .mtree-quality-dot{background:var(--quality-blunder)}@media (forced-colors:active){.quality-inaccuracy .mtree-quality-dot,.quality-mistake .mtree-quality-dot,.quality-blunder .mtree-quality-dot{width:auto;height:auto;font-family:var(--font-mono);background:0 0;border-radius:0;font-size:.72rem;font-weight:700;line-height:1}.quality-inaccuracy .mtree-quality-dot:after{content:"?!"}.quality-mistake .mtree-quality-dot:after{content:"?"}.quality-blunder .mtree-quality-dot:after{content:"??"}}.mtree-quality-legend{margin-top:var(--space-lg,1rem);padding:var(--space-sm,.5rem) var(--space-md,.75rem);border-top:1px solid var(--border-subtle);color:var(--text-tertiary)}.mtree-quality-legend .legend-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.4rem;font-size:.64rem;font-weight:700;display:block}.mtree-quality-legend .legend-items{flex-direction:column;gap:.25rem;display:flex}.mtree-quality-legend .legend-item{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.7rem;display:flex}.mtree-quality-legend .mtree-quality-dot{margin-left:0}.mtree-quality-legend .legend-item em{color:var(--text-tertiary);font-size:.65rem;font-style:normal}.mtree-quality-legend p{color:var(--text-tertiary);margin:.45rem 0 0;font-size:.66rem;line-height:1.35}.mtree-var-delete{width:1.3rem;height:1.3rem;min-height:unset;color:var(--text-secondary);opacity:.55;background:0 0;border:1px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.mtree-var-delete svg{width:.75rem;height:.75rem}.mtree-var-delete:hover,.mtree-var-delete:focus-visible{opacity:1;color:#f87171;background:#f871711f;border-color:#f8717180}.mtree-variation{border-left:2px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:.15rem;margin:.1rem 0 .1rem .9rem;padding:.06rem 0 .06rem 2rem;display:flex}.mtree-variation-rest{font-variant-numeric:tabular-nums;color:var(--text-muted);flex:none;padding-inline:.25rem;font-size:.72rem}.mtree-var-marker{width:.75rem;height:.75rem;color:var(--text-muted);vertical-align:middle;flex-shrink:0;margin-right:.15rem}.mtree-chip-compact{width:auto;padding:.15rem .35rem;font-size:.71rem}.mtree-chip-wrap{flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0;max-width:100%;display:inline-flex}.mtree-side{color:var(--text-secondary);font-size:.55rem}.mtree-coach-hint{font-size:.62rem;font-family:var(--font-mono);color:var(--accent);opacity:.75;letter-spacing:.02em;cursor:default;overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.2rem;max-width:100%;padding:0 .2rem;display:inline-flex}.mtree-coach-hint svg{flex-shrink:0;width:.6rem;height:.6rem}@media (hover:hover) and (pointer:fine){.mtree-coach-hint:hover{opacity:1}}.mtree-review-note{overflow-wrap:anywhere;max-width:min(100%,16rem);color:var(--text-tertiary);padding:0 .2rem .1rem;font-size:.62rem;line-height:1.35}.mtree-comment{overflow-wrap:anywhere;max-width:min(100% - .2rem,16rem);color:var(--text-secondary);border-left:2px solid var(--border-default);margin-left:.2rem;padding:0 .2rem .1rem .4rem;font-size:.62rem;line-height:1.35}button:active:not(:disabled),.gc-btn:active:not(:disabled),.wc-btn:active:not(:disabled),.gc-pill:active,.analysis-tab-btn:active,summary:active{transition:transform 50ms;transform:scale(.96)}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important}.analyzing-bar.active:after,.thinking-dots span{animation:none!important}}.board-stage{min-height:0;overflow:auto}.board-wrap{width:min(94vw,620px);max-width:100%;margin:0 auto}.brand-badge{border-radius:var(--radius-pill);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;background:#10b98126;border:1px solid #34d39959;padding:.12rem .45rem;font-size:.62rem;font-weight:700}.top-engine-state{min-width:0;color:var(--text-tertiary);font-size:.71rem;font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.top-engine-state>span:not(.status-dot){text-overflow:ellipsis;min-width:0;overflow:hidden}.status-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.status-dot.healthy{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.status-dot.warning{background:var(--warning);box-shadow:0 0 8px #f59e0b59}.status-dot.danger{background:var(--danger);box-shadow:0 0 8px #ef444459}.top-engine-state-warning{max-width:12rem;color:var(--warning)}.top-engine-state-danger{color:var(--danger)}.settings-group{gap:.45rem;display:grid}.settings-group :is(label,.settings-label){color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.settings-hint{color:var(--text-muted);margin:0;font-size:.7rem;line-height:1.4}.settings-group label.settings-label-value{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.settings-group label.settings-label-value strong{color:var(--text-primary);font-family:var(--font-mono);letter-spacing:0;text-transform:none;font-weight:700}.premium-select,.premium-slider{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated);width:100%;color:var(--text-primary);outline:none;padding:.55rem .65rem;font-size:.82rem}.premium-select:focus,.premium-slider:focus{border-color:var(--accent-muted);box-shadow:0 0 0 2px var(--accent-subtle)}.settings-inline-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;display:grid}.pill-btn{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;padding:.34rem .48rem;font-size:.72rem;font-weight:700}.pill-btn-active{border-color:var(--border-accent);background:var(--accent-subtle);color:var(--accent)}.tree-actions{flex-shrink:0;justify-content:flex-end;gap:.4rem;padding:.4rem .1rem 0;display:flex}.tree-breadcrumb{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);scrollbar-width:thin;flex-wrap:nowrap;flex:none;gap:.24rem;max-width:100%;padding:.32rem;display:flex;overflow:auto hidden}.tree-breadcrumb-chip{border-radius:var(--radius-xs);min-height:24px;color:var(--text-tertiary);font-size:.64rem;font-family:var(--font-mono);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;flex:none;padding:.18rem .35rem}.tree-breadcrumb-chip-active{border-color:var(--border-accent);background:var(--accent-subtle);color:var(--accent)}.tree-breadcrumb-sep{opacity:.55;margin-left:.35rem}.graph-branch-badge{cursor:pointer}.graph-branch-badge rect{fill:#3fb95038;stroke:#3fb95085;stroke-width:1px}.graph-branch-badge text{fill:#d9fff1;font-size:8px;font-family:var(--font-mono);font-weight:700}.graph-current-line{stroke:#f0f6fc9e}.graph-hover-line{stroke:#3fb9508c}.graph-point-hover{fill:#b8ffe2}.graph-point-active{fill:#fff}.graph-point.graph-point-bound{stroke-dasharray:2 2}.graph-bound-note{color:var(--text-secondary);overflow-wrap:anywhere;margin:.35rem 0 0;font-size:.68rem}.graph-point.graph-point-unknown{fill:var(--bg-base);stroke:var(--text-secondary);stroke-dasharray:2 2}.graph-review-marker{fill:#0000;stroke-width:1.7px;opacity:.95;pointer-events:none}.graph-review-marker.quality-inaccuracy{stroke:var(--quality-inaccuracy);stroke-width:1.2px}.graph-review-marker.quality-mistake{stroke:var(--quality-mistake);stroke-width:1.7px}.graph-review-marker.quality-blunder{stroke:var(--quality-blunder);stroke-width:2.4px}.graph-tooltip{border:1px solid var(--border-default);border-radius:var(--radius-sm);width:max-content;color:var(--text-primary);font-size:.68rem;font-family:var(--font-mono);pointer-events:none;white-space:normal;z-index:4;background:#080a0cf0;flex-direction:column;gap:.1rem;max-width:min(15rem,100% - 46px);max-height:calc(100% - 8px);padding:.38rem .48rem;display:flex;position:absolute;overflow:hidden;transform:translate(-50%,-100%);box-shadow:0 10px 24px #00000052}.graph-tooltip-below{transform:translate(-50%)}@media (width<=900px),(hover:none),(pointer:coarse){.graph-tooltip{overflow-wrap:anywhere;width:auto;max-width:none;max-height:none;box-shadow:none;margin-top:.6rem;position:static;transform:none}}@container (width<=16rem){.graph-tooltip{overflow-wrap:anywhere;width:auto;max-width:none;max-height:none;box-shadow:none;margin-top:.6rem;position:static;transform:none}}.graph-tooltip strong{color:var(--text-primary);font-weight:700}.graph-tooltip span{color:#d9fff1}.graph-tooltip em{color:var(--text-secondary);font-style:normal}.graph-tooltip-quality,.graph-tooltip-chance{font-weight:700}.graph-tooltip-quality.quality-inaccuracy{color:var(--quality-inaccuracy)}.graph-tooltip-quality.quality-mistake{color:var(--quality-mistake)}.graph-tooltip-quality.quality-blunder{color:var(--quality-blunder)}.graph-jump-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;display:grid}.settings-help{color:var(--text-secondary);margin:.5rem 0 0;font-size:.8125rem;line-height:1.5}.settings-resource-reset{min-height:44px}.graph-jump-btn{place-items:center;min-height:2rem;padding:0;font-size:.95rem;display:grid}.graph-jump-btn svg{width:1rem;height:1rem}.opening-candidates-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:linear-gradient(#f59e0b14,#ffffff05),#080a0c8a;gap:.45rem;padding:.55rem;display:grid}.opening-candidates-head{color:var(--text-secondary);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;gap:.6rem;font-size:.66rem;font-weight:800;display:flex}.opening-candidates-head strong{color:var(--warning);font-family:var(--font-mono)}.opening-candidates-list{gap:.34rem;display:grid}.opening-candidate-btn{text-align:left;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);background:#ffffff09;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.38rem .48rem;display:grid}.opening-candidate-btn strong{color:var(--text-primary);font-family:var(--font-mono);font-size:.7rem}.opening-candidate-main{gap:.08rem;min-width:0;display:grid}.opening-candidate-main>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-size:.72rem;font-weight:700;overflow:hidden}.opening-candidate-main small{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-tertiary);font-size:.61rem;font-weight:800;overflow:hidden}.opening-candidate-btn em{color:var(--text-tertiary);white-space:nowrap;font-size:.64rem;font-style:normal}.opening-candidate-btn:disabled{opacity:.45;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.opening-candidate-btn:hover:not(:disabled){background:#f59e0b14;border-color:#f59e0b52}}.chip-btn{border:1px solid var(--border-default);background:var(--bg-elevated);min-height:24px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;padding:.34rem .42rem;font-size:.71rem;font-weight:600;display:inline-flex}.chip-btn-primary{border-color:var(--border-accent);background:var(--accent-subtle);color:var(--accent)}.chip-btn-warning{color:#f87171;background:#ef444424;border-color:#ef44446b}@media (hover:hover) and (pointer:fine){.chip-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-card-hover)}}.chip-btn:disabled{opacity:.34;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.chip-btn-primary:hover:not(:disabled){border-color:var(--accent-hover);color:var(--accent-hover);background:#10b9813d}.chip-btn-warning:hover:not(:disabled){color:#fca5a5;background:#ef444438;border-color:#ef44449e}}.chip-btn-danger{color:#f27272;border-color:#ef44444d}@media (hover:hover) and (pointer:fine){.chip-btn-danger:hover:not(:disabled){color:#fca5a5;background:#ef44441f;border-color:#ef444494}}.chip-btn-danger-armed{color:#fff1f1;background:#dc2626e6;border-color:#ef4444d9;font-weight:700}@media (hover:hover) and (pointer:fine){.chip-btn-danger-armed:hover:not(:disabled){color:#fff;background:#dc2626;border-color:#f87171}}.graph-extrema{color:var(--text-tertiary);font-size:.68rem;font-family:var(--font-mono);flex-wrap:wrap;justify-content:space-between;gap:.15rem .6rem;margin-top:.38rem;display:flex}.review-panel{flex-direction:column;gap:.7rem;display:flex}.review-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.review-panel-header h3{margin:0;font-size:.86rem}.review-panel-header p{color:var(--text-tertiary);max-width:22rem;margin:.18rem 0 0;font-size:.72rem;line-height:1.45}.review-panel-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.35rem;max-width:100%;display:inline-flex}.review-off-line{border-radius:var(--radius-sm);color:var(--text-secondary);background:#f59e0b14;border:1px solid #f59e0b52;margin:0 0 .5rem;padding:.4rem .55rem;font-size:.72rem;line-height:1.45}.review-progress-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);gap:.5rem;padding:.7rem .8rem;display:grid}.review-progress-copy{flex-wrap:wrap;justify-content:space-between;gap:.15rem .75rem;font-size:.74rem;display:flex}.review-progress-copy strong{color:var(--text-primary)}.review-progress-copy span{color:var(--accent);font-family:var(--font-mono)}.review-progress-detail{color:var(--text-muted);font-variant-numeric:tabular-nums}.review-progress-track{background:#ffffff0f;border-radius:999px;height:7px;overflow:hidden}.review-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#10b98166,#6ee7b7e6);height:100%}.review-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.review-summary-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);flex-wrap:wrap;align-items:baseline;gap:.1rem .45rem;padding:.42rem .6rem;display:flex}.review-summary-card strong{margin-left:auto}.review-summary-card span{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem}.review-summary-card strong{color:var(--text-primary);font-size:.82rem;font-family:var(--font-mono)}.review-summary-card em{color:var(--text-secondary);font-family:var(--font-mono);font-size:.66rem;font-style:normal;font-weight:700}.review-summary-card-wide{grid-column:1/-1}.review-summary-card-wide strong{white-space:normal;overflow-wrap:anywhere}.review-phase-accuracy{flex-direction:column;gap:.28rem;margin:.45rem 0;display:flex}.review-phase-row{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;grid-template-columns:1fr auto auto;align-items:baseline;gap:.55rem;padding:.34rem .55rem;transition:border-color .15s,background .15s;display:grid}.review-phase-row:hover{border-color:var(--border-strong)}.review-phase-row.selected{border-color:var(--accent);background:var(--bg-elevated)}.review-phase-label{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem}.review-phase-scores{font-family:var(--font-mono);flex-wrap:wrap;justify-content:flex-end;gap:0 .5rem;font-size:.74rem;display:flex}.review-phase-scores>span{white-space:nowrap}.review-phase-scores i{color:var(--text-tertiary);font-size:.62rem;font-style:normal;font-weight:700}.review-phase-scores strong{color:var(--text-primary)}.review-phase-count{color:var(--text-tertiary);white-space:nowrap;font-size:.64rem}.review-narratives{flex-wrap:wrap;gap:.35rem;display:flex}.review-narrative{border:1px solid var(--border-subtle);border-radius:var(--radius-pill,999px);color:var(--text-secondary);background:#ffffff0a;padding:.25rem .6rem;font-size:.72rem;font-weight:600}.review-narrative--good{color:var(--quality-best,#3fb950);background:#3fb9501f;border-color:#3fb95059}.review-narrative--bad{color:var(--quality-blunder,#f85149);background:#f851491f;border-color:#f8514959}.review-quality-breakdown{flex-wrap:wrap;gap:.35rem;display:flex}.review-quality-chip{border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:#ffffff08;border-left-width:3px;justify-content:space-between;align-items:center;gap:.4rem;min-width:0;padding:.28rem .5rem;display:flex}.review-quality-chip span{text-overflow:ellipsis;min-width:0;color:var(--text-tertiary);text-transform:uppercase;font-size:.62rem;font-weight:800;overflow:hidden}.review-quality-chip strong{color:var(--text-primary);font-family:var(--font-mono);font-size:.76rem}.review-focus-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:linear-gradient(#10b98114,#ffffff08);gap:.25rem;padding:.66rem .76rem;display:grid}.review-focus-card span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:800}.review-focus-card strong{color:var(--text-primary);font-size:.78rem}.review-focus-card em{color:var(--accent);font-family:var(--font-mono);font-size:.72rem;font-style:normal;font-weight:800}.review-focus-card p{color:var(--text-secondary);margin:0;font-size:.72rem;line-height:1.45}.review-eval-transition,.review-moment-eval,.review-chance-loss{min-width:0;color:var(--text-secondary);font-family:var(--font-mono);white-space:normal;align-items:center;gap:.32rem;font-size:.68rem;display:inline-flex}.review-eval-transition span,.review-moment-eval span,.review-chance-loss span{color:var(--text-tertiary);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:800}.review-eval-transition strong,.review-moment-eval strong,.review-chance-loss strong{color:var(--text-primary);font-family:var(--font-mono);font-size:.68rem}.review-eval-transition em,.review-moment-eval em{color:var(--text-tertiary);font-family:var(--font-mono);font-size:.68rem;font-style:normal;font-weight:700}.review-moment-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;display:flex}.review-moment-heading,.review-moment-filters{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.review-moment-filters{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.review-moment-filter{border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--bg-card);min-width:6.8rem;color:var(--text-secondary);outline:none;padding:.28rem .45rem;font-size:.68rem;font-weight:700}.review-moment-filter:focus{border-color:var(--border-accent)}.review-moment-list{flex-direction:column;gap:.45rem;max-height:22rem;display:flex;overflow-y:auto}.review-moment-entry{gap:.28rem;display:grid}.review-moment-card{text-align:left;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;color:var(--text-secondary);cursor:pointer;border-left-width:3px;gap:.28rem;padding:.7rem .78rem;display:grid}.panel button.review-moment-card{justify-content:stretch;align-items:stretch;gap:.28rem;line-height:1.35;display:grid;overflow:visible}@media (hover:hover) and (pointer:fine){.review-moment-card:hover{border-color:var(--border-strong)}}.review-moment-card-active{border-color:var(--border-accent);background:var(--accent-subtle)}.review-moment-topline,.review-moment-main{justify-content:space-between;align-items:center;gap:.7rem;min-width:0;display:flex}.review-moment-topline{text-transform:uppercase;letter-spacing:.08em;font-size:.67rem}.review-moment-topline span{font-weight:700}.review-moment-topline strong,.review-moment-main strong{font-family:var(--font-mono)}.review-moment-main span{color:var(--text-primary);font-size:.84rem;font-weight:700}.review-moment-card p{overflow-wrap:anywhere;margin:0;font-size:.72rem;line-height:1.45}.review-moment-card em{color:var(--accent);font-size:.68rem;font-style:normal}.review-moment-actions{flex-wrap:wrap;gap:.35rem;margin-left:.35rem;display:flex}.review-best-move-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--bg-card);min-height:1.75rem;color:var(--text-secondary);cursor:pointer;align-items:center;gap:.3rem;padding:.22rem .5rem;font-size:.68rem;font-weight:800;display:inline-flex}.review-practice-btn{color:var(--accent);border-color:#3fb95057}.review-best-move-btn strong{color:var(--accent);font-family:var(--font-mono)}@media (hover:hover) and (pointer:fine){.review-best-move-btn:hover{border-color:var(--border-accent);color:var(--text-primary);background:var(--accent-subtle)}}.engine-recovery-notice{border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-subtle);color:var(--warning);overflow-wrap:anywhere;gap:.3rem;margin-bottom:.65rem;padding:.65rem;font-size:.78rem;line-height:1.45;display:grid}.engine-recovery-notice-danger{border-color:var(--danger);color:var(--danger);background:#ef444414}.engine-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-bottom:.55rem;display:grid}.engine-stat,.engine-coach-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);gap:.16rem;min-width:0;padding:.48rem .56rem;display:grid}.engine-stat span,.engine-coach-item span{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:800}.engine-stat strong,.engine-coach-item strong{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;font-size:.8rem;font-weight:800}.engine-stat em{color:var(--text-muted);font-size:.66rem;font-style:normal;font-family:var(--font-mono)}.engine-stat-stalled{background:var(--warning-subtle);border-color:#f59e0b52}.engine-stat-stalled strong,.engine-stat-stalled em{color:var(--warning)}.engine-pv-controls{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);flex-shrink:0;justify-content:space-between;align-items:center;gap:.55rem;min-height:2.25rem;padding:.32rem .42rem .32rem .56rem;display:flex}.engine-pv-controls>span{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.62rem;font-weight:800}.engine-pv-buttons{grid-template-columns:repeat(3,minmax(2rem,1fr));gap:.28rem;min-width:7rem;display:grid}.engine-runtime-buttons{flex-wrap:wrap;justify-content:flex-end;gap:.32rem;min-width:0;display:flex}.engine-runtime-controls{flex-wrap:wrap;row-gap:.36rem;padding-top:.42rem;padding-bottom:.42rem}.engine-runtime-controls .engine-runtime-buttons{flex:100%;justify-content:stretch}.engine-runtime-controls .engine-runtime-buttons>button{flex:auto}.engine-runtime-controls .engine-runtime-buttons>.engine-infinite-btn{flex-grow:0}.engine-pv-btn{border-radius:var(--radius-sm);min-height:1.55rem;font-family:var(--font-mono);padding:0 .42rem;font-size:.68rem}.engine-pv-btn-active{color:var(--accent)!important;background:#10b98129!important;border-color:#10b98161!important}.engine-cache-btn{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;gap:.28rem;min-height:1.55rem;padding:0 .55rem;font-size:.68rem;font-weight:700;display:inline-flex}.engine-cache-btn svg{width:.86rem;height:.86rem}.engine-infinite-btn{min-width:2rem;padding:0 .45rem;font-size:.95rem;line-height:1}.position-stat-cloud-rule{color:var(--warning,#f59e0b);margin-top:.2rem;display:block}.position-stat-cloud-ask{min-height:44px;color:var(--warning,#f59e0b);font:inherit;text-align:left;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;margin-top:.2rem;padding:.35rem 0;font-style:italic;text-decoration:underline;display:block}.position-stat-cloud-ask:hover,.position-stat-cloud-ask:focus-visible{color:var(--text-primary)}.drill-banner{border:1px solid var(--border-accent);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-elevated);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;width:100%;margin:.5rem 0 0;padding:.55rem .75rem;display:flex}.drill-banner-copy{flex-direction:column;flex:16rem;gap:.15rem;min-width:0;display:flex}.drill-banner-kicker{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.64rem;font-weight:800}.drill-banner-copy strong{color:var(--text-heading);font-size:.86rem;line-height:1.3}.drill-banner-copy em{color:var(--text-secondary);font-size:.74rem;font-style:normal;line-height:1.35}.drill-banner-actions{flex-wrap:wrap;flex:none;gap:.35rem;max-width:100%;display:flex}.drill-banner-actions .chip-btn{white-space:normal;overflow-wrap:anywhere;max-width:100%}.drill-banner-best,.drill-banner-good,.drill-banner-shown,.drill-banner-finished{border-color:var(--border-accent)}.drill-banner-wrong{border-left-color:var(--quality-mistake)}.drill-banner-repeat,.drill-banner-unavailable{border-left-color:var(--warning)}.drill-banner-pending{border-left-color:var(--info)}.board-workspace-drill{overflow-y:auto}.undo-toast{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);color:var(--text-primary);z-index:8900;pointer-events:none;align-items:center;gap:.6rem;padding:.5rem .6rem .5rem .9rem;font-size:.8rem;display:flex;position:absolute;bottom:12px;left:12px}.undo-toast-btn,.undo-toast-dismiss{pointer-events:auto}.undo-toast-failed{border-color:var(--danger,#f87171);color:var(--danger,#f87171)}.undo-toast-failed .undo-toast-dismiss{color:inherit}.undo-toast-btn{min-height:unset;border-radius:var(--radius-sm,6px);border:1px solid var(--border-accent,var(--accent));color:var(--accent);cursor:pointer;background:0 0;padding:.3rem .7rem;font-weight:600}.undo-toast-dismiss{min-height:unset;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:.25rem;display:inline-flex}.pv-line-wdl{color:var(--text-muted);font-weight:500}.pv-lines-container{flex-direction:column;gap:.45rem;display:flex}.pv-empty{border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-tertiary);text-align:center;padding:.55rem .58rem;font-size:.72rem;line-height:1.4}.premium-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.5rem .58rem}.pv-line{outline:none;flex-wrap:wrap;align-items:flex-start;gap:.48rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.pv-line-spotlight,.pv-line:focus-visible{background:linear-gradient(90deg,#0ea5e929,#10b98114);border-color:#38bdf87a;box-shadow:inset 3px 0 #38bdf8c7,0 0 0 1px #38bdf829}.pv-score{min-width:48px;font-family:var(--font-mono);flex-direction:column;gap:.05rem;line-height:1.1;display:flex}.pv-score strong{font-size:.77rem;font-weight:700}.pv-score span{color:var(--text-tertiary);font-family:var(--font-body);text-transform:uppercase;font-size:.56rem;font-weight:700}.pv-score.positive{color:var(--quality-best)}.pv-score.negative{color:var(--quality-blunder)}.pv-moves{flex-direction:column;flex:160px;gap:.12rem;min-width:0;display:flex}.pv-line-heading{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.pv-line-rank,.pv-line-standing{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.62rem;font-weight:800}.pv-line-rank{color:var(--text-tertiary)}.pv-line-standing{color:var(--text-muted)}.pv-line-standing-best{color:var(--accent)}.pv-moves .turnNum{color:var(--text-tertiary);font-size:.68rem}.pv-moves .move{color:var(--text-secondary);font-size:.72rem;font-family:var(--font-mono);word-break:break-word;flex-wrap:wrap;align-items:baseline;gap:.1rem .35rem;display:flex}.pv-move-strip{display:contents}.pv-move-btn{border-radius:var(--radius-xs);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 .1rem}@media (hover:hover) and (pointer:fine){.pv-move-btn:hover:not(:disabled){color:var(--text-heading);background:var(--accent-subtle)}}.pv-move-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pv-move-btn:disabled{cursor:default;opacity:.7}.pv-move-rest{color:var(--text-muted)}.pv-line-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:.3rem;max-width:100%;margin-left:auto;display:flex}.pv-action-btn{border-radius:var(--radius-sm);white-space:normal;overflow-wrap:anywhere;max-width:100%;min-height:1.75rem;padding:0 .48rem;font-size:.66rem}.pv-action-btn svg{width:.86rem;height:.86rem}.pv-action-btn-active{color:var(--accent)!important;background:#10b98124!important;border-color:#10b9815c!important}.pv-action-btn-warning{color:#f87171!important;background:#ef444424!important;border-color:#ef44446b!important}@media (width<=1120px){.pv-line-actions{width:100%}}.engine-output-terminal{border:1px solid var(--border-default);border-radius:var(--radius-sm);color:#6ee7b7;min-height:130px;max-height:240px;font-size:.7rem;font-family:var(--font-mono);background:#030404;padding:.6rem;overflow-y:auto}.engine-coach-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.6rem;display:grid}.engine-coach-line{grid-column:1/-1}.engine-coach-item strong{font-family:var(--font-mono);font-size:.74rem}.wc-timeline{flex-direction:column;gap:.2rem;min-width:170px;display:flex}.wc-meta{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:.5rem;font-size:.62rem;display:flex}.wc-meta strong{color:var(--text-secondary);font-size:.69rem;font-family:var(--font-mono)}@media (width>=901px){.bottom .watch-controls{flex:auto}.bottom .wc-timeline{flex:170px;max-width:26rem}}.wc-scrubber{width:100%;min-height:24px;accent-color:var(--accent)}.bottom-status-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto;display:flex}.bottom-engine-info{color:var(--text-tertiary);align-items:center;gap:.3rem;font-size:.71rem;display:flex}.check-badge{border-radius:var(--radius-pill);background:var(--warning-subtle);color:var(--warning);border:1px solid #d2992240;padding:2px 8px;font-size:.67rem;font-weight:700}.bottombar-fen-group{align-items:center;gap:.45rem;min-width:0;max-width:62%;margin-left:auto;display:flex}.bottombar-fen{color:var(--text-tertiary);font-size:.66rem;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.bottombar-fen-copy{border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:#ffffff0a;flex-shrink:0;align-items:center;gap:.3rem;min-height:1.65rem;padding:0 .5rem;font-size:.68rem;font-weight:700;transition:color .15s,border-color .15s,background .15s;display:inline-flex}@media (hover:hover) and (pointer:fine){.bottombar-fen-copy:hover{color:var(--text-primary);border-color:var(--border-strong);background:#ffffff12}}.bottombar-fen-copy-warning{color:#f87171;background:#ef444424;border-color:#ef44446b}.bottombar-fen-copy svg{width:.86rem;height:.86rem}.top-action-btn{min-height:unset;box-sizing:border-box;border-radius:20px;justify-content:center;align-items:center;height:2.2rem;padding:0 .8rem;font-size:.78rem;display:inline-flex}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){.top-engine-state{display:none}.bottom-status-row{justify-content:center;width:100%;margin:0;padding-bottom:.15rem}.bottombar-fen-group{justify-content:center;width:100%;max-width:100%;margin-left:0}.bottombar-fen{flex:1}.bottombar-fen-copy{padding:0 .45rem}}.mobile-tab-bar{display:none}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){.mobile-tab-bar{flex:0 0 calc(56px + env(safe-area-inset-bottom));width:100%;height:calc(56px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border-subtle);z-index:30;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:#0d1117eb;display:flex;position:relative}.mobile-tab-bar-btn{letter-spacing:.04em;color:var(--text-tertiary);text-transform:uppercase;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:0;font-size:.65rem;font-weight:600;display:flex}.mobile-tab-bar-btn svg{width:18px;height:18px}.mobile-tab-bar-btn.active{color:var(--accent);position:relative}.mobile-tab-bar-btn.active:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;animation:.18s forwards tab-indicator-in;position:absolute;bottom:0;left:20%;right:20%}}@keyframes tab-indicator-in{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){[data-mobile-view=board] .panel.top,[data-mobile-view=board] .panel.bottom,[data-mobile-view=board] .panel.left,[data-mobile-view=board] .panel.right,[data-mobile-view=board] .mobile-analysis-tabs{display:none}[data-mobile-view=board] .main-container{flex:1;overflow:hidden}[data-mobile-view=board] .board-stage{--mobile-stage-pad-x:14px;--mobile-stage-pad-left:calc(var(--mobile-stage-pad-x) + env(safe-area-inset-left,0px));--mobile-stage-pad-right:calc(var(--mobile-stage-pad-x) + env(safe-area-inset-right,0px));min-height:0;padding:8px var(--mobile-stage-pad-right) 10px var(--mobile-stage-pad-left);flex:1;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);place-items:stretch stretch;display:grid;overflow:hidden}[data-mobile-view=board] .mobile-board-center{place-items:center;width:100%;min-height:0;display:grid;overflow:visible;container:mobile-board-center/size}[data-mobile-view=board] .board-wrap{overflow:visible;width:min(100cqw,90cqh)!important;max-width:100%!important}}.mobile-board-header{--tap-bleed:4px;overflow-clip-margin:var(--tap-bleed);background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;place-content:center space-between;align-items:center;gap:3px 8px;min-height:40px;padding:0 10px;display:flex;overflow:clip}.mobile-board-turn-info{flex:1;align-items:center;gap:6px;min-width:min-content;display:flex;overflow:hidden}.turn-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.turn-dot-red{background:#c0392b;box-shadow:0 0 4px #c0392b99}.turn-dot-black{background:#1a1a1a;border:1px solid #ffffff40}.mobile-turn-label{color:var(--text-primary);flex-shrink:0;font-size:.78rem;font-weight:600}.mobile-eval-chip{font-size:.72rem;font-weight:700;font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:4px;flex-shrink:0;padding:1px 6px}.mobile-eval-chip.eval-positive{color:#10b981;border-color:#10b9814d}.mobile-eval-chip.eval-negative{color:#ef4444;border-color:#ef44444d}.mobile-engine-notice{font-size:.68rem;font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border-default);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;min-width:0;padding:1px 6px;overflow:hidden}.mobile-engine-notice-warning{color:var(--warning);border-color:#f59e0b52}.mobile-engine-notice-danger{color:var(--danger);border-color:#ef444452}.mobile-request-notice{min-width:0;color:var(--warning);font-size:.68rem;font-family:var(--font-mono);background:#f59e0b14;border:1px solid #f59e0b52;border-radius:5px;flex:1 0 100%;align-items:center;gap:6px;padding:3px 7px;display:flex}.mobile-request-notice>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-request-notice-danger{color:var(--danger);background:#ef444414;border-color:#ef444452}.mobile-opening-pill{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;flex:1 0 100%;min-width:0;font-size:.68rem;overflow:hidden}.mobile-board-actions{-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:min(68vw,340px);padding-block:var(--tap-bleed);margin-block:calc(-1 * var(--tap-bleed));flex-shrink:0;align-items:center;gap:8px;display:flex;overflow-x:auto}.mobile-board-actions::-webkit-scrollbar{display:none}.mobile-board-action-backdrop{z-index:34;cursor:default;grid-area:2/1/-1;width:100vw;height:100vh;position:absolute;top:0;left:50%;transform:translate(-50%)}.mobile-action-btn{background:var(--bg-elevated);border:1px solid var(--border-default);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.mobile-action-btn:after{content:"";inset:calc(-1 * var(--tap-bleed));position:absolute}.mobile-board-actions>.mobile-action-btn:first-child:after{left:0}.mobile-board-actions>.mobile-action-btn:last-child:after{right:0}.mobile-action-btn svg{width:16px;height:16px}.mobile-action-btn-active{color:var(--accent);background:#10b98126;border-color:#10b98166}.mobile-action-btn-warn{color:#f87171;background:#ef444433;border-color:#ef444473}.mobile-action-btn:disabled{opacity:.38;cursor:not-allowed}.mobile-board-action-menu{top:6px;right:var(--mobile-stage-pad-right,14px);z-index:35;width:min(286px, calc(100% - var(--mobile-stage-pad-left,14px)));border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px);background:linear-gradient(#0d1117f7,#0d1117e6);border-radius:14px;grid-area:2/1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;display:grid;position:absolute;box-shadow:0 18px 38px #00000057}.mobile-board-action-menu>:nth-child(odd):last-child{grid-column:1/-1}.mobile-action-menu-btn{border:1px solid var(--border-default);background:var(--bg-elevated);min-width:0;min-height:36px;color:var(--text-secondary);cursor:pointer;border-radius:9px;justify-content:flex-start;align-items:center;gap:7px;padding:0 9px;font-size:.72rem;font-weight:650;display:inline-flex}.mobile-action-menu-btn svg{flex:none;width:14px;height:14px}.mobile-action-menu-btn span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-action-menu-btn-active{color:var(--accent);background:#10b98126;border-color:#10b98166}.mobile-action-menu-btn-warn{color:#f87171;background:#ef444433;border-color:#ef444473}.mobile-action-menu-btn:disabled{opacity:.45;cursor:not-allowed}.mobile-board-center{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){.mobile-board-nav{background:var(--bg-panel);border-top:1px solid var(--border-subtle);z-index:10;flex-shrink:0;justify-content:center;align-items:center;gap:8px;height:44px;display:flex;position:relative}.mobile-nav-btn{background:var(--bg-elevated);border:1px solid var(--border-default);width:44px;height:36px;color:var(--text-primary);cursor:pointer;border-radius:8px;font-size:1.1rem;position:relative}.mobile-nav-btn:after{content:"";position:absolute;inset:-4px 0}.mobile-nav-btn:disabled{opacity:.35}.mobile-nav-label{color:var(--text-secondary);text-align:center;min-width:60px;font-size:.78rem}}.mobile-analysis-tabs{display:none}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){[data-mobile-view=analysis] .panel.top,[data-mobile-view=analysis] .board-stage{display:none}[data-mobile-view=analysis] .main-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}[data-mobile-view=analysis] .panel.left,[data-mobile-view=analysis] .panel.right{flex:1;order:1;min-height:0}[data-mobile-view=analysis] .mobile-analysis-tabs{width:100%;min-height:48px;padding:0 calc(6px + env(safe-area-inset-right,0px)) 0 calc(6px + env(safe-area-inset-left,0px));background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex:none;order:0;display:flex}[data-mobile-view=analysis] .panel-header-tabs{display:contents}[data-mobile-view=analysis] .panel-header-tabs>.analysis-tab-strip{display:none}[data-mobile-view=analysis] .panel-header-tabs>h2{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-mobile-view=analysis] .panel-content{padding-left:max(calc(var(--space-md) + env(safe-area-inset-left,0px)), calc((100% - 620px) / 2));padding-right:max(calc(var(--space-md) + env(safe-area-inset-right,0px)), calc((100% - 620px) / 2))}.mobile-tab-btn{min-height:48px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1 0 auto;justify-content:center;align-items:center;gap:.32rem;padding:0;font-size:.78rem;font-weight:500;transition:color .15s,border-color .15s;display:flex}.mobile-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.mobile-tab-btn svg{flex-shrink:0;width:15px;height:15px}}@media (width<=900px) and (height<=500px) and (aspect-ratio>=6/5),(width<=960px) and (height<=500px) and (pointer:coarse) and (aspect-ratio>=6/5){[data-mobile-view=board] .board-workspace{--landscape-dock-rail:232px;--landscape-dock-gap:12px;grid-template-columns:minmax(0, auto) minmax(116px, var(--landscape-dock-rail));justify-content:center;align-items:stretch;column-gap:var(--landscape-dock-gap);grid-template-rows:minmax(0,1fr);max-width:none}[data-mobile-view=board] .board-workspace .position-dock{grid-template-columns:minmax(0,1fr);align-content:center;gap:6px;width:100%}:is([data-mobile-view=board] .board-stage,[data-mobile-view=board] .board-stage:has(>.beginner-guide)){grid-template-columns:minmax(0,1fr) auto;column-gap:10px}[data-mobile-view=board] .board-stage{grid-template-rows:auto minmax(0,1fr)}[data-mobile-view=board] .board-stage:has(>.beginner-guide){grid-template-rows:auto auto minmax(0,1fr)}[data-mobile-view=board] .beginner-guide{grid-column:1/-1}[data-mobile-view=board] .mobile-board-header{grid-area:1/1}[data-mobile-view=board] .mobile-board-nav{height:auto;box-shadow:none;background:0 0;border-top:0;grid-area:1/2;align-self:stretch}[data-mobile-view=board] .mobile-board-center{grid-area:-2/1/-1/-1}[data-mobile-view=board] .mobile-board-action-backdrop{grid-column:1/-1}[data-mobile-view=board] .mobile-board-action-menu{grid-column:1/2;width:min(286px,100%);right:0}}@media (width<=900px) and (height<=500px),(width<=960px) and (height<=500px) and (pointer:coarse){[data-mobile-view=board] .board-stage{--mobile-stage-pad-x:10px;padding:4px var(--mobile-stage-pad-right) 6px var(--mobile-stage-pad-left)}.mobile-board-header{--tap-bleed:1px;gap:6px;min-height:34px;padding:0 8px}.mobile-board-turn-info{gap:5px}.mobile-turn-label,.mobile-nav-label{font-size:.72rem}.mobile-eval-chip{padding:1px 5px;font-size:.66rem}.mobile-opening-pill{display:none}.mobile-board-actions{gap:2px}.mobile-action-btn{width:28px;height:28px}.mobile-action-btn svg{width:13px;height:13px}.mobile-board-nav{gap:6px;height:38px}.mobile-nav-btn{width:36px;height:30px;font-size:1rem}}@media (width<=360px){.mobile-board-header{--tap-bleed:1px}.mobile-board-actions{gap:2px}.mobile-action-btn{width:28px;height:28px}.mobile-action-btn svg{width:13px;height:13px}}@media (width<=768px){.graph-summary,.graph-jump-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-header-tabs{align-items:stretch}.wc-timeline{width:100%;min-width:0}}.settings-backdrop{z-index:9000;-webkit-backdrop-filter:blur(6px);background:#0000009e;position:fixed;inset:0}.settings-body{z-index:9100;border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--bg-surface);-webkit-backdrop-filter:blur(32px);width:min(400px,100vw - 16px);max-height:min(85vh,700px);box-shadow:var(--shadow-lg), 0 0 0 1px var(--border-subtle);padding:clamp(16px,3vw,24px);animation:.2s cubic-bezier(.22,1,.36,1) modal-in;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,-50%)translateY(-10px)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.settings-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.settings-header h2{color:var(--text-heading);letter-spacing:0;margin:0;font-size:1rem;font-weight:700}.settings-close-btn{width:44px;height:44px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.15s;transition-timing-function:ease;display:flex;border:1px solid var(--border-subtle)!important;background:0 0!important}.settings-close-btn svg{flex:none;width:18px;height:18px}@media (hover:hover) and (pointer:fine){.settings-close-btn:hover{color:var(--text-primary);background:var(--bg-card-hover)!important}}.settings-group{margin-bottom:1rem}.settings-body .settings-group{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);min-width:0}.settings-body .settings-group :is(button,a){white-space:normal;overflow-wrap:anywhere;max-width:100%}.settings-group :is(label,.settings-label){letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.4rem;font-size:.74rem;font-weight:600;display:block}.settings-inline-toggles{flex-wrap:wrap;gap:.35rem;display:flex}.pill-btn{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;padding:.3rem .75rem;font-size:.75rem;font-weight:500;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.15s;transition-timing-function:ease}.pill-btn-active{background:var(--accent-muted);border-color:var(--accent-subtle);color:var(--accent-hover)}@media (hover:hover) and (pointer:fine){.pill-btn:hover{background:var(--accent-muted);border-color:var(--accent-subtle);color:var(--accent-hover)}}.premium-select{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-elevated);width:100%;color:var(--text-primary);cursor:pointer;padding:.45rem .75rem;font-family:inherit;font-size:.8rem}.premium-select:focus{outline:2px solid var(--info);outline-offset:2px;border-color:var(--accent)}.premium-slider{width:100%;min-height:24px;accent-color:var(--accent);cursor:pointer}.gc-btn-active{color:#7dd3fc;border-color:#38bdf899}.gc-btn-danger{align-items:center;gap:.4rem;display:flex;color:#f87171!important;background:#dc26261a!important;border-color:#dc26264d!important}@media (hover:hover) and (pointer:fine){.gc-btn-danger:hover{background:#dc262633!important;border-color:#dc262680!important}}.settings-reset-btn{align-items:center;gap:.4rem;display:flex}.settings-link{width:fit-content;min-height:24px;color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.78rem;font-weight:650;text-decoration:none;display:inline-flex}.settings-link:focus-visible{color:var(--accent);text-decoration:underline}@media (hover:hover) and (pointer:fine){.settings-link:hover{color:var(--accent);text-decoration:underline}}.top-action-buttons{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.2rem;max-width:100%;display:flex}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){.top-action-buttons{flex-wrap:nowrap;max-width:none}}.top-action-btn{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-elevated);height:2.2rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.76rem;font-weight:500;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.15s;transition-timing-function:ease;display:inline-flex}@media (hover:hover) and (pointer:fine){.top-action-btn:hover:not([aria-pressed=true]){background:var(--bg-card-hover);border-color:var(--border-strong);color:var(--text-primary)}}.top-action-btn:active{transform:scale(.97)}.top-action-btn-active{color:var(--accent);background:#10b9811f;border-color:#10b98166}.btn-label-desktop{display:none}@media (width>=1360px) and (width>=64em){.btn-label-desktop{display:inline}}@media (width<=1200px){.top-engine-state .engine-variant{display:none}}.board-wrap{position:relative}.board-ai-status{color:var(--text-secondary);pointer-events:none;z-index:10;justify-content:center;align-items:center;gap:.5rem;font-size:.75rem;display:flex;position:absolute;top:-2.2rem;left:0;right:0}.ai-status-paused{border-radius:var(--radius-pill);color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2440;align-items:center;gap:.3rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.ai-status-waiting{border-radius:var(--radius-pill);color:var(--text-secondary);background:#a1a1aa1f;border:1px solid #a1a1aa40;align-items:center;gap:.3rem;padding:.2rem .6rem;display:inline-flex}.ai-status-thinking{border-radius:var(--radius-pill);color:var(--accent);background:#10b9811a;border:1px solid #10b98133;align-items:center;gap:.4rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.check-overlay{pointer-events:none;z-index:10;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.wc-play{flex-shrink:0;align-items:center;display:flex}.wc-btn-resume{background:var(--accent-muted)!important;color:var(--accent-hover)!important;border-color:var(--accent-subtle)!important;font-weight:600!important}@media (hover:hover) and (pointer:fine){.wc-btn-resume:hover{box-shadow:0 0 12px var(--accent-glow)!important;background:#3fb95038!important}}.wc-btn-pause{color:#fbbf24!important;background:#fbbf241a!important;border-color:#fbbf244d!important;font-weight:600!important}@media (hover:hover) and (pointer:fine){.wc-btn-pause:hover{background:#fbbf2433!important;border-color:#fbbf2480!important}}.wc-btn-step{color:#60a5fa!important;background:#3b82f61a!important;border-color:#3b82f64d!important;font-weight:600!important}@media (hover:hover) and (pointer:fine){.wc-btn-step:hover{background:#3b82f633!important;border-color:#3b82f680!important}}.wc-paused-label{color:#fbbf24;border-radius:var(--radius-pill);background:#fbbf241a;border:1px solid #fbbf2440;flex-shrink:0;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.73rem;font-weight:600;animation:2s ease-in-out infinite pulse-subtle;display:inline-flex}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.65}}.panel-header h2 svg{opacity:.7;width:.85em;height:.85em}.new-game-menu{z-index:9100;border-radius:var(--radius-lg);border:1px solid var(--border-default);background:linear-gradient(180deg, #121212fc, #080a0cfa), var(--bg-surface);-webkit-backdrop-filter:blur(32px);width:min(300px,100vw - 2rem);max-height:min(90vh,760px);box-shadow:var(--shadow-lg), 0 0 0 1px var(--border-subtle);padding:1.5rem;animation:.2s cubic-bezier(.22,1,.36,1) modal-in;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.new-game-menu-modes{flex-direction:column;gap:.45rem;display:flex}.new-game-mode-btn{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-card);width:100%;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:.6rem 1rem;font-size:.875rem;font-weight:500;transition:background .12s,border-color .12s;display:flex}@media (hover:hover) and (pointer:fine){.new-game-mode-btn:hover:not([aria-pressed=true]){background:var(--bg-card-hover);border-color:var(--border-strong)}}.new-game-mode-btn-active{border-color:var(--border-accent);color:var(--accent);background:#3fb95014}.new-game-strength-section{border-top:1px solid var(--border-subtle);margin-top:1rem;padding-top:1rem}.new-game-strength-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin:0 0 .5rem;font-size:.72rem;font-weight:700}.new-game-strength-pills{flex-wrap:wrap;gap:.35rem;display:flex}.new-game-strength-pills .new-game-strength-btn{flex:1 0 auto;min-width:auto}.new-game-strength-btn{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-elevated);min-width:0;color:var(--text-secondary);cursor:pointer;white-space:nowrap;flex:1;padding:.4rem .5rem;font-size:.74rem;font-weight:500;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.15s;transition-timing-function:ease}@media (hover:hover) and (pointer:fine){.new-game-strength-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-strong);color:var(--text-primary)}}.new-game-strength-btn-active{border-color:var(--border-accent);color:var(--accent);background:#3fb95014;font-weight:600}.new-game-strength-btn:disabled{opacity:.42;cursor:not-allowed;border-color:var(--border-subtle);color:var(--text-tertiary);background:#ffffff08}.new-game-fen-section{border-top:1px solid var(--border-subtle);margin-top:1rem;padding-top:1rem}.new-game-fen-form{gap:.4rem;display:flex}.new-game-fen-form .new-game-strength-btn{flex:none}.new-game-fen-input{min-width:0;font-size:.74rem;font-family:var(--font-mono);background:var(--bg-input,var(--bg-elevated));border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);outline:none;flex:1;padding:.4rem .6rem;transition:border-color .15s}.new-game-fen-input:focus{border-color:var(--border-accent)}.new-game-fen-input-error{color:#e74c3c;border-color:#e74c3c!important}.new-game-fen-error{color:var(--danger);margin-top:.35rem;font-size:.72rem;line-height:1.35;display:block}.new-game-line-form{gap:.45rem;display:grid}.new-game-line-input{resize:vertical;width:100%;min-height:4.6rem;font-size:.74rem;line-height:1.45;font-family:var(--font-mono);background:var(--bg-input,var(--bg-elevated));border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);outline:none;padding:.55rem .65rem;transition:border-color .15s}.new-game-line-input:focus{border-color:var(--border-accent)}.new-game-file-row{align-items:center;gap:.45rem;min-width:0;display:flex}.new-game-file-btn{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--bg-elevated);min-height:1.8rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:.3rem;padding:.24rem .58rem;font-family:inherit;font-size:.7rem;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.new-game-file-btn:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-card-hover)}}.new-game-file-input{display:none}.new-game-file-name{min-width:0;color:var(--text-tertiary);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.new-game-line-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:2rem;display:grid}.new-game-line-error{min-width:0;color:var(--danger);font-size:.72rem;line-height:1.35}.left .panel-header,.right .panel-header{z-index:4;-webkit-backdrop-filter:blur(18px);background:linear-gradient(#050505f2,#050505c2);position:sticky;top:0}.left .panel-content,.right .panel-content{flex-direction:column;gap:.9rem;display:flex}.board-stage{background:linear-gradient(#ffffff04,#0000 42%);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:stretch center;gap:1rem;display:grid;overflow:hidden}.board-wrap{width:min(100cqw,90cqh,620px);max-width:100%}.mobile-board-center{place-items:center;width:100%;min-height:0;display:grid;overflow:visible;container:board-stage-center/size}.mobile-board-header,.mobile-board-nav{border:1px solid var(--border-subtle);background:linear-gradient(#0d1117eb,#0d1117c2);border-radius:18px;box-shadow:0 12px 32px #0000002e}.mobile-board-header{padding:0 12px}.mobile-board-nav{padding:0 8px}.new-game-menu{width:min(460px,100vw - 2rem);padding:1.25rem}.new-game-menu-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.new-game-menu-copy{gap:.32rem;display:grid}.new-game-menu-copy h2{color:var(--text-heading);letter-spacing:0;margin:0;font-size:1.08rem}.new-game-menu-copy p{color:var(--text-secondary);margin:0;font-size:.76rem;line-height:1.55}.new-game-mode-btn{justify-content:flex-start;padding:.72rem .9rem;font-weight:600}.new-game-menu-footer{z-index:1;border-top:1px solid var(--border-subtle);background:linear-gradient(180deg, #0c0e11f0, #06080afc), var(--bg-surface);justify-content:space-between;align-items:center;gap:.85rem;margin:1rem -1.25rem -1.25rem;padding:1rem 1.25rem 1.25rem;display:flex;position:sticky;bottom:-1.25rem}.new-game-selection{gap:.18rem;min-width:0;display:grid}.new-game-selection-label{color:var(--text-tertiary);letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;font-weight:700}.new-game-selection strong{color:var(--text-primary);white-space:nowrap;font-size:.86rem}.new-game-start-btn{color:#d1fae5;letter-spacing:.01em;background:linear-gradient(#10b98133,#064e3bb8);border:1px solid #10b98152;border-radius:999px;justify-content:center;align-items:center;min-height:2.6rem;padding:.55rem .9rem;font-size:.82rem;font-weight:700;display:inline-flex}@media (hover:hover) and (pointer:fine){.new-game-start-btn:hover{border-color:#10b9817a;box-shadow:0 0 18px #10b98138}.lib-clear-filters:hover{color:var(--text-primary);border-color:var(--border-strong);background:#ffffff0a}}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){.board-stage{gap:.75rem}.new-game-menu{width:min(100vw - 1rem,420px);max-height:calc(100dvh - 1rem);padding:1rem 1rem 0}.new-game-menu-footer{padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom));border-top-color:var(--border-default);background:linear-gradient(180deg, #0c0e11f0, #06080afc), var(--bg-surface);flex-direction:column;align-items:stretch;margin:1rem -1rem 0;position:sticky;bottom:-1px;box-shadow:0 -18px 32px #00000047}.new-game-selection strong{white-space:normal}.new-game-start-btn{width:100%}.lib-summary-row{align-items:flex-start}.lib-clear-filters{margin-left:0}}@media (height<=500px) and (orientation:landscape){.new-game-menu-footer{padding-block:.6rem calc(.6rem + env(safe-area-inset-bottom));flex-direction:row;align-items:center}.new-game-start-btn{width:auto}}.brand-badge{text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-pill);color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d;padding:.1rem .4rem;font-size:.6rem;font-weight:700;display:inline-block}@media (prefers-reduced-motion:reduce){.mobile-tab-bar-btn.active:after,.game-over-backdrop,.game-over-modal{animation:none!important}}.game-over-backdrop{z-index:9500;background:#0000006b;justify-content:center;align-items:center;animation:.2s forwards fade-in-fast;display:flex;position:fixed;inset:0}@keyframes fade-in-fast{0%{opacity:0}to{opacity:1}}.game-over-modal{border-radius:var(--radius-xl,16px);background:var(--bg-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-lg), 0 0 0 1px var(--border-subtle);text-align:center;flex-direction:column;align-items:center;gap:.6rem;min-width:min(260px,100vw - 2rem);max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);padding:min(2.2rem,5vw) min(2.5rem,5vw) min(2rem,5vw);animation:.24s cubic-bezier(.22,1,.36,1) game-over-in;display:flex;overflow-y:auto}@keyframes game-over-in{0%{opacity:0;transform:translateY(-10px)scale(.97)}to{opacity:1;transform:none}}.game-over-icon{width:64px;height:64px;font-family:var(--font-cjk-serif);color:#ffffffeb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:.3rem;font-size:1.85rem;font-weight:900;display:flex;box-shadow:inset 0 -4px 8px #0000004d,0 4px 16px #0006}.game-over-icon-red,.game-over-icon-black{outline-offset:-1px;background:radial-gradient(circle at 30% 22%,#ffffffd1 0%,#ffffff1f 32%,#0000 52%),radial-gradient(circle,#fdf8e6 0%,#edd898 40%,#c8a850 78%,#b08838 100%);outline:2px solid #8c6e28}.game-over-icon-red{color:#b81515}.game-over-icon-black{color:#150e04}.game-over-icon-draw{background:#6b7280}.game-over-title{letter-spacing:0;color:var(--text-heading);margin:0;font-size:1.5rem;font-weight:800}.game-over-subtitle{color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:600}.game-over-actions{flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:.6rem;max-width:100%;margin-top:.8rem;display:flex}.game-over-btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-default);max-width:100%;min-height:44px;padding:.55rem 1.4rem;font-size:.84rem;font-weight:600;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.15s;transition-timing-function:ease}.game-over-btn-primary{background:var(--accent-muted);color:var(--accent-hover);border-color:var(--accent-subtle)}@media (hover:hover) and (pointer:fine){.game-over-btn-primary:hover{border-color:var(--border-accent);background:#10b98138}}.game-over-btn-secondary{background:var(--bg-elevated);color:var(--text-secondary)}@media (hover:hover) and (pointer:fine){.game-over-btn-secondary:hover{background:var(--bg-card-hover);color:var(--text-primary)}}.app-shell{background:linear-gradient(180deg, #ffffff06, transparent 30%), linear-gradient(135deg, #10b9810e, transparent 45%, #f59e0b0b), var(--bg-base)}.board-stage{background:linear-gradient(#ffffff05,#0000 42%),linear-gradient(135deg,#f59e0b0e,#0000 48%,#10b9810d);grid-template-rows:minmax(0,1fr)}.panel-inner,.graph-wrap,.premium-card,.review-progress-card,.review-summary-card,.review-moment-card,.lib-card{border-radius:var(--radius-sm)}.top .panel-inner{min-height:3.1rem}.top-engine-state{min-width:0}.top-engine-state .engine-variant{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);max-width:7.5rem;color:var(--text-muted);text-overflow:ellipsis;padding:.08rem .36rem;overflow:hidden}.board-workspace{flex:auto;grid-template-rows:minmax(0,1fr) auto;justify-self:stretch;place-items:center;gap:.75rem;width:100%;min-width:0;max-width:1040px;height:100%;min-height:0;display:grid;container:board-workspace/size}.mobile-board-center{justify-content:center;align-items:stretch;display:flex}:root{--board-max-width:860px;--eval-bar-room:calc(1.35rem + .85rem);--board-min-width:272px}.board-workspace .board-wrap{aspect-ratio:9/10;width:auto;height:min(100%, calc((100cqw - 2 * var(--eval-bar-room)) * 10 / 9));max-width:var(--board-max-width);max-height:calc(var(--board-max-width) * 10 / 9);align-self:end;min-width:0}@media (width>=901px) and (not ((width<=960px) and (height<=500px) and (pointer:coarse))){.board-workspace{grid-template-rows:minmax(calc(var(--board-min-width) * 10 / 9), 1fr) auto}.board-workspace .board-wrap{min-height:calc(var(--board-min-width) * 10 / 9);align-self:safe end}.board-stage{min-width:calc(var(--board-min-width) + 2 * var(--eval-bar-room) + 2 * var(--space-lg));overflow:hidden auto}}.position-dock{grid-template-columns:minmax(0,.82fr) minmax(0,1.35fr) minmax(0,1fr);align-self:start;gap:.48rem;width:min(100%,680px);display:grid}.position-stat,.capture-trays{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:linear-gradient(#ffffff0b,#ffffff05),#080a0cb8;min-width:0;box-shadow:0 10px 30px #0003}.position-stat{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);gap:.16rem;padding:.48rem .58rem;display:grid}.position-stat span,.capture-tray>span{color:var(--text-tertiary);letter-spacing:.09em;text-transform:uppercase;font-size:.62rem;font-weight:800;line-height:1}.position-stat strong{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:normal;font-size:.79rem;font-weight:750;line-height:1.2;overflow:hidden}.position-stat em{min-width:0;color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-style:normal;line-height:1.2;overflow:hidden}.position-stat-selection em{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width>=901px) and (not ((width<=960px) and (height<=500px) and (pointer:coarse))){.position-stat-selection em{min-height:2.4em}}.position-stat-selection .position-warning{color:var(--warning);font-weight:800}.position-stat-turn{border-color:#ef444429}.position-stat-material em{white-space:normal}.position-stat-material strong{color:var(--warning);font-family:var(--font-mono)}.mobile-hint-status{border:1px solid var(--accent-subtle);border-radius:var(--radius-sm);background:var(--accent-muted);width:100%;min-width:0;color:var(--text-primary);overflow-wrap:anywhere;grid-column:1/-1;padding:.45rem .6rem;font-size:.8125rem;line-height:1.4}.capture-trays{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.48rem;padding:.42rem .52rem;display:grid}.position-stat-repetition{background:linear-gradient(#f59e0b14,#f59e0b05);border-color:#f59e0b47;grid-column:1/-1}.position-stat-repetition strong{color:var(--warning)}.position-stat-repetition-binding{background:linear-gradient(#ef44441f,#ef444408);border-color:#ef44446b}.position-stat-repetition-binding strong{color:var(--danger,#ef4444)}.position-stat-repetition em{white-space:normal}.capture-tray{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem;min-width:0;display:grid}.captured-pieces{align-items:center;gap:.28rem;min-width:0;display:flex;overflow:hidden}.captured-pieces em{color:var(--text-muted);font-size:.68rem;font-style:normal}.captured-piece{color:#1f1306;width:1.42rem;height:1.42rem;font-family:var(--font-cjk-serif);background:radial-gradient(circle at 32% 24%,#ffffffb8,#0000 38%),linear-gradient(#f1dfa4,#b78937);border:1px solid #8c6e2e99;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:900;display:inline-flex;position:relative;box-shadow:inset 0 -2px 4px #0000003d,0 2px 5px #0000003d}.captured-piece-red{color:#b91c1c}.captured-piece sup{background:var(--bg-base);border:1px solid var(--border-default);min-width:.78rem;height:.78rem;color:var(--text-primary);font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;font-size:.48rem;line-height:1;display:inline-flex;position:absolute;bottom:-.16rem;right:-.18rem}[data-assist-mode=pro] .position-dock{grid-template-columns:minmax(0,.75fr) minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1.25fr)}[data-assist-mode=pro] .capture-trays{grid-column:auto;grid-template-columns:1fr;gap:.3rem}@media (width>=1280px) and (height<=700px){.board-workspace{--short-dock-rail:260px;--short-dock-gap:.75rem;grid-template-columns:minmax(0, 1fr) minmax(180px, var(--short-dock-rail));justify-content:center;align-items:stretch;column-gap:var(--short-dock-gap);grid-template-rows:minmax(0,1fr)}.board-workspace .board-wrap{width:auto;height:min(100cqh, calc((100cqw - var(--short-dock-rail) - var(--short-dock-gap) - var(--eval-bar-room)) * 10 / 9));margin-inline:var(--eval-bar-room) 0;align-self:safe center;max-height:none}.board-workspace .position-dock,[data-assist-mode=pro] .board-workspace .position-dock{grid-template-columns:minmax(0,1fr);align-content:center;gap:.3rem;width:100%}}[data-assist-mode=pro] .position-stat,[data-assist-mode=pro] .capture-trays{padding-block:.38rem}[data-assist-mode=pro] .position-stat em,[data-assist-mode=pro] .capture-tray>span{letter-spacing:.06em;font-size:.54rem}[data-assist-mode=pro] .position-stat em{display:none}.position-dock .position-stat-repetition em{display:block}[data-assist-mode=pro] .position-stat-selection .position-warning{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.new-game-mode-btn{text-align:left;justify-items:start;gap:.2rem;display:grid}.new-game-mode-btn span{color:inherit;font-size:.86rem}.new-game-mode-btn small{color:var(--text-tertiary);font-size:.72rem;font-weight:500;line-height:1.35}.new-game-mode-btn-active small{color:#9af0cc}.mobile-nav-btn{justify-content:center;align-items:center;display:inline-flex}.mobile-nav-btn svg{width:1rem;height:1rem}.analysis-tab-btn,.gc-btn,.wc-btn,.wc-speed-pill,.chip-btn,.top-action-btn,.pill-btn,.new-game-strength-btn,.new-game-mode-btn{letter-spacing:0}@media (hover:hover) and (pointer:fine){.position-stat:hover,.capture-trays:hover{border-color:var(--border-default)}}@media (width<=1200px){.position-dock{grid-template-columns:minmax(0,.78fr) minmax(0,1.3fr) minmax(0,.92fr)}.position-stat-selection{order:0;grid-column:auto}.capture-trays{grid-column:1/-1}[data-assist-mode=pro] .position-dock{grid-template-columns:repeat(3,minmax(0,1fr))}[data-assist-mode=pro] .capture-trays{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=901px) and (width<=1100px) and (not ((width<=960px) and (height<=500px) and (pointer:coarse))){.board-stage{padding:.75rem var(--space-lg)}.capture-trays{display:none}}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){.board-ai-status{display:none}.mobile-board-center,[data-mobile-view=board] .mobile-board-center{justify-content:center;align-items:stretch;display:flex}.board-workspace{gap:1rem;width:100%}[data-mobile-view=board] .board-workspace .board-wrap{aspect-ratio:9/10;min-width:0;max-width:100%;height:100%;max-height:100%;width:auto!important}[data-mobile-view=board] .board-workspace .xiangqi-board-container{width:100%;max-width:none;height:100%}.position-dock{grid-template-columns:minmax(0,.78fr) minmax(0,1.3fr) minmax(0,.92fr);gap:.38rem;width:100%}.position-stat{padding:.38rem .48rem}.position-stat-selection{order:0;grid-column:auto}.position-stat strong{font-size:.74rem}.position-stat em{font-size:.63rem}.capture-trays{display:none}[data-assist-mode=pro] .position-dock{grid-template-columns:repeat(3,minmax(0,1fr))}[data-assist-mode=pro] .position-stat-selection{grid-column:auto}.new-game-mode-btn small{font-size:.68rem}}@media (width<=520px){.position-dock{gap:.32rem}.position-stat{padding:.34rem .4rem}.position-stat span{letter-spacing:.07em;font-size:.54rem}.position-stat strong{font-size:.68rem}.position-stat em{font-size:.58rem}[data-assist-mode=pro] .position-dock{grid-template-columns:repeat(3,minmax(0,1fr))}[data-assist-mode=pro] .position-stat span{font-size:.54rem}[data-assist-mode=pro] .position-stat strong{font-size:.65rem}}@media (width<=900px) and (height<=700px),(width<=960px) and (height<=500px) and (pointer:coarse) and (height<=700px){.position-dock{grid-template-columns:repeat(3,minmax(0,1fr))}.position-stat-selection{order:0;grid-column:auto}.position-stat{min-height:3.1rem;padding:.34rem .42rem}.position-stat span{font-size:.54rem}.position-stat strong{font-size:.66rem}.position-stat em{display:none}.position-stat em[data-live-state]{display:block}.position-stat-selection .position-warning{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (width<=900px) and (height<=500px) and (aspect-ratio>=6/5),(width<=960px) and (height<=500px) and (pointer:coarse) and (aspect-ratio>=6/5){[data-mobile-view=board] .board-workspace .board-wrap{height:min(100cqh, calc((100cqw - var(--landscape-dock-rail) - var(--landscape-dock-gap)) * 10 / 9));max-width:none;max-height:none;width:min(calc(100cqw - var(--landscape-dock-rail) - var(--landscape-dock-gap)), 90cqh)!important}}@media (width<=900px) and (height>=501px),(width<=900px) and (aspect-ratio<6/5),(width<=960px) and (height<=500px) and (pointer:coarse) and (aspect-ratio<6/5){[data-mobile-view=board] .board-workspace .board-wrap{aspect-ratio:auto;place-items:center;min-width:0;max-width:none;height:100%;max-height:none;display:grid;container-type:size;width:100%!important}[data-mobile-view=board] .board-workspace .xiangqi-board-container{aspect-ratio:9/10;width:min(100cqw,90cqh);max-width:none;height:auto;margin:0}[data-mobile-view=board] .board-workspace{grid-template-rows:minmax(9.44445rem,1fr) auto;overflow:hidden auto}[data-mobile-view=board] .board-workspace .position-dock{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(5.5rem,33.3333% - .253333rem)),1fr))}[data-mobile-view=board] .board-workspace.board-workspace-hint{grid-template-rows:minmax(calc(var(--board-min-width) * 10 / 9), 1fr) auto}[data-mobile-view=board] .board-workspace .board-wrap{padding:clamp(7px,1.6cqw,13px) 13px}}@media (width<=900px) and (height<=500px) and (aspect-ratio>=6/5),(width<=960px) and (height<=500px) and (pointer:coarse) and (aspect-ratio>=6/5){[data-mobile-view=board] .board-workspace .position-dock{align-content:safe center;max-height:100%;overflow-y:auto}}@media (width>=901px) and (height>=701px) and (not ((width<=960px) and (height<=500px) and (pointer:coarse))){.board-workspace .position-dock{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(6rem,33.3333% - .32rem)),1fr))}}@media (width>=1201px) and (height>=701px){[data-assist-mode=pro] .board-workspace .position-dock{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(6rem,25% - .36rem)),1fr))}}@media (forced-colors:active){.graph-grid-text,.graph-axis-text{fill:canvastext}.graph-line{stroke:canvastext}.graph-point,.graph-point-hover,.graph-point-active{fill:canvastext;stroke:canvas}.graph-grid-line,.graph-grid-line-zero,.graph-current-line,.graph-hover-line{stroke:canvastext}.resize-pill,.resize-handle:hover .resize-pill,.resize-handle:focus-visible .resize-pill,.resize-handle[aria-expanded=false] .resize-pill{background:canvastext}}@media print{:root{--text-primary:#000;--text-secondary:#000;--text-tertiary:#000;--text-muted:#000;--text-heading:#000;--accent:#000;--accent-hover:#000;--info:#000;--warning:#000;--danger:#000}*,[class],[class]:before,[class]:after{color:#000!important}}.eval-bar{pointer-events:none;z-index:5;flex-direction:column;align-items:center;gap:.35rem;width:1.35rem;display:flex;position:absolute;top:0;bottom:0;right:calc(100% + .85rem)}.eval-bar-track{border-radius:var(--radius-pill,999px);background:#16161a;border:1px solid #ffffff17;flex:auto;width:100%;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0009}.eval-bar-red{will-change:transform;background:linear-gradient(#e8e2d2 0%,#cfc4a8 100%);transition:transform .22s;position:absolute;inset:0}.eval-bar-midline{background:#8a8a94d9;height:1px;position:absolute;top:50%;left:0;right:0}@media (forced-colors:active){.eval-bar-red{background:canvastext}.eval-bar-midline{box-sizing:border-box;background:canvas;border-top:1px solid canvastext;border-bottom:1px solid canvastext;height:3px;top:calc(50% - 1px)}}.eval-bar-readout{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-secondary);white-space:nowrap;text-align:center;pointer-events:auto;font-size:.62rem}.board-eval-bound{text-align:center;display:block}.eval-bar-idle .eval-bar-red{opacity:.35}@media (prefers-reduced-motion:reduce){.eval-bar-red{transition:none}}.library-explorer-card{border-color:#60a5fa47}.library-explorer-card .opening-candidates-head strong{color:#93c5fd}.cloud-pv{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.25rem;margin-top:.45rem;padding-top:.45rem;display:flex}.cloud-pv-head{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;gap:.5rem;font-size:.66rem;font-weight:800;display:flex}.cloud-pv-head em{font-style:normal;font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--text-secondary)}.cloud-pv-moves{color:var(--text-secondary);font-family:var(--font-mono);flex-wrap:wrap;align-items:baseline;gap:.1rem .35rem;font-size:.72rem;display:flex}.cloud-book-card .cloud-book-toggle{align-self:flex-start;margin-top:.4rem}.cloud-book-card .cloud-book-rank-2 strong{color:var(--accent)}.cloud-book-card .cloud-book-rank-0 strong{color:var(--text-secondary)}.library-explorer-retry{white-space:normal;overflow-wrap:anywhere;flex-shrink:0;max-width:100%}.library-explorer-note{color:var(--text-secondary);margin:0;padding:.5rem .65rem .15rem;font-size:.7rem}.skip-link{left:calc(.5rem + env(safe-area-inset-left,0px));z-index:100;border-radius:var(--radius-sm,8px);border:1px solid var(--accent,#10b981);background:var(--bg-elevated,#14141a);color:var(--text-primary,#f4f4f5);padding:.5rem .9rem;font-size:.8rem;font-weight:600;transition:top .12s;position:absolute;top:-3rem}.skip-link:focus-visible,.skip-link:focus{top:.5rem}@media (prefers-reduced-motion:reduce){.skip-link{transition:none}}.threat-card{border-color:#f43f5e6b;box-shadow:inset 0 0 0 1px #f43f5e29}.threat-card .pv-line-rank{color:#fda4af}.move-comment{border-top:1px solid var(--border-default);gap:.3rem;padding:.55rem .6rem .6rem;display:grid}.move-comment-label{align-items:baseline;gap:.45rem;min-width:0;display:flex}.move-comment-label span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);flex:none;font-size:.58rem}.move-comment-label em{font-size:.66rem;font-style:normal;font-family:var(--font-mono);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.move-comment-input{resize:none;width:100%;min-width:0;font:inherit;border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);border-radius:6px;padding:.4rem .5rem;font-size:.72rem;line-height:1.45}.move-comment-input::placeholder{color:var(--text-tertiary)}.move-comment-input:disabled{opacity:.55;cursor:not-allowed}.review-best-line{font-family:var(--font-mono);color:var(--text-tertiary);border-left:2px solid var(--border-default);overflow-wrap:anywhere;padding-left:.5rem;font-size:.62rem;font-style:normal;line-height:1.5;display:block}.save-error-notice{z-index:1200;left:50%;bottom:calc(100px + env(safe-area-inset-bottom,0px));box-sizing:border-box;color:#f5f5f5;border:1px solid var(--border-strong);background:#181818;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;width:min(560px,100% - 32px);padding:14px;font-size:13px;line-height:1.5;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 32px #0008}.save-error-notice>span{flex-basis:100%}@media (width<=900px) and (orientation:portrait){[data-mobile-view=board] .save-error-notice{bottom:calc(56px + 44px + 1rem + 12px + env(safe-area-inset-bottom,0px))}}@media (pointer:coarse){.undo-toast-btn,.undo-toast-dismiss{min-width:44px;min-height:44px}.undo-toast-dismiss{justify-content:center;align-items:center}.engine-cache-btn,.engine-pv-btn,.pv-action-btn,.review-best-move-btn,.chip-btn{min-height:44px}}.recorded-line-result{color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:8px;flex-shrink:0;margin:8px 0;padding:10px;font-size:13px;line-height:1.5}.board-workspace.board-workspace-drill{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(calc(var(--board-min-width) * 10 / 9), 1fr) auto auto}.board-workspace.board-workspace-drill .board-wrap{height:min(100%, calc((100cqw - 2 * var(--eval-bar-room)) * 10 / 9));align-self:safe center}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){[data-mobile-view=board] .board-workspace.board-workspace-drill .board-wrap{aspect-ratio:auto;place-items:center;height:100%;display:grid;container-type:size;width:100%!important}[data-mobile-view=board] .board-workspace.board-workspace-drill .xiangqi-board-container{aspect-ratio:9/10;width:min(100cqw,90cqh);height:auto}}@media (pointer:coarse){.new-game-fen-input,.new-game-line-input,.move-comment-input{font-size:max(16px,1rem)}}.new-game-fen-input,.move-comment-input{min-height:44px}@media (pointer:coarse){.analysis-tab-btn,.panel.bottom .gc-btn,.bottombar-fen-copy{min-height:36px}.wc-btn{min-width:36px;min-height:36px}.wc-scrubber,.premium-slider,.mtree-chip{min-height:36px}.tree-breadcrumb-chip{min-height:32px}.pv-move-btn{position:relative}.pv-move-btn:after{content:"";position:absolute;inset:-8px 0}.settings-body .pill-btn,.board-editor .pill-btn{min-height:44px;padding-inline:.9rem}.settings-body .gc-btn,.board-editor .gc-btn{justify-content:center;min-height:44px}.new-game-file-btn,.new-game-line-actions .new-game-strength-btn{min-height:44px}.lib-card .chip-btn-danger{justify-content:center;min-width:44px}}@media (width<=900px) and (height<=500px) and (orientation:landscape),(width<=960px) and (height<=500px) and (pointer:coarse) and (orientation:landscape){:is([data-mobile-view=board] .board-stage,[data-mobile-view=board] .board-stage:has(>.beginner-guide)){--mobile-stage-pad-x:14px;padding:8px var(--mobile-stage-pad-right) 8px var(--mobile-stage-pad-left);grid-template-rows:52px minmax(0,1fr) 44px;grid-template-columns:45% minmax(0,1fr);align-items:center;column-gap:16px}[data-mobile-view=board] .mobile-board-center,[data-mobile-view=board] .board-workspace{display:contents}.mobile-tab-bar{flex-basis:calc(44px + env(safe-area-inset-bottom));height:calc(44px + env(safe-area-inset-bottom))}.mobile-tab-bar-btn{flex-direction:row;gap:6px}[data-mobile-view=board] .board-workspace .board-wrap{grid-area:1/1/4;place-self:center;height:auto;max-height:100%;width:min(100%,90dvh - 66.6px)!important}[data-mobile-view=board] .mobile-board-header{grid-area:1/2;width:100%}[data-mobile-view=board] .position-dock{grid-area:2/2;align-self:center}[data-mobile-view=board] .mobile-board-nav{grid-area:3/2;width:100%}[data-mobile-view=board] .mobile-board-action-menu{grid-area:2/2/4/3;width:min(286px,100%);right:0}[data-mobile-view=board] .board-stage:has(>.beginner-guide){grid-template-rows:52px minmax(0,1fr) auto 44px}[data-mobile-view=board] .board-stage:has(>.beginner-guide)>.beginner-guide{grid-area:3/2}[data-mobile-view=board] .board-stage:has(>.beginner-guide) .mobile-board-nav{grid-row:4}[data-mobile-view=board] .board-stage:has(>.beginner-guide) .board-workspace .board-wrap{grid-row:1/-1}[data-mobile-view=board] .board-workspace-drill .drill-banner{grid-area:2/2;align-self:stretch;min-height:0;overflow-y:auto}[data-mobile-view=board] .board-workspace-drill .position-dock{display:none}}@media (width<=900px) and (height<=700px) and (height>=600px),(width<=900px) and (height<=700px) and (orientation:landscape),(width<=960px) and (height<=500px) and (pointer:coarse) and (orientation:landscape){[data-mobile-view=board] .position-dock,[data-mobile-view=board][data-assist-mode=pro] .position-dock{grid-template-rows:minmax(3.75rem,auto) minmax(1.95rem,auto);grid-template-columns:repeat(2,minmax(0,1fr));min-height:6rem}[data-mobile-view=board] .position-stat-selection,[data-mobile-view=board][data-assist-mode=pro] .position-stat-selection{grid-area:1/1/auto/-1}[data-mobile-view=board] .position-stat-turn{grid-area:2/1}[data-mobile-view=board] .position-stat-material{grid-area:2/2/auto/-1}[data-mobile-view=board] .position-dock .position-stat-turn,[data-mobile-view=board] .position-dock .position-stat-material{white-space:nowrap;align-items:center;gap:.34rem;min-height:0;padding-block:0;display:flex;overflow:hidden}[data-mobile-view=board] .position-dock .position-stat-turn>*,[data-mobile-view=board] .position-dock .position-stat-material>*{white-space:nowrap;flex:none}[data-mobile-view=board] .position-dock .position-stat-turn em,[data-mobile-view=board] .position-dock .position-stat-material em{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}[data-mobile-view=board] .position-stat-selection strong{font-size:.76rem}[data-mobile-view=board] .position-stat-selection{grid-template-rows:auto auto minmax(0,1fr);align-content:start}[data-mobile-view=board] .position-stat-selection em,[data-mobile-view=board][data-assist-mode=pro] .position-stat-selection em{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.62rem;line-height:1.25;display:-webkit-box;overflow:hidden}}@media (width<=900px) and (height<=500px) and (aspect-ratio>=6/5),(width<=960px) and (height<=500px) and (pointer:coarse) and (aspect-ratio>=6/5){[data-mobile-view=board] .board-workspace .position-dock{grid-template-columns:repeat(2,minmax(0,1fr))}}.move-tree-empty{padding-top:3rem}.move-tree-empty strong{color:var(--text-primary);font-size:.86rem}.move-tree-empty p{max-width:240px}.move-tree-empty-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.45rem;display:flex}.panel .move-tree-empty-actions button{min-height:40px;color:var(--accent);border-color:var(--accent-subtle);background:var(--accent-muted);padding:.5rem .75rem}@media (width<=900px),(width<=960px) and (height<=500px) and (pointer:coarse){.mobile-board-turn-info{flex-wrap:wrap;align-content:center;gap:2px 6px}.mobile-opening-pill{max-width:100%;color:var(--text-secondary);flex:0 0 100%;font-size:.7rem;display:block}.mobile-board-action-menu{overscroll-behavior:contain;max-height:calc(100dvh - 112px);overflow-y:auto}}.analysis-board-context{width:calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));margin-left:env(safe-area-inset-left,0px);margin-right:env(safe-area-inset-right,0px);color:var(--text-primary);background:var(--bg-panel);border:0;border-bottom:1px solid var(--border-subtle);text-align:left;cursor:pointer;flex:none;order:-1;align-items:center;gap:.75rem;padding:.375rem .75rem;display:flex}.analysis-board-context svg{flex-shrink:0;width:auto;height:clamp(56px,12dvh,104px)}.analysis-board-context>span{gap:.375rem;min-width:0;font-size:.8125rem;display:grid}.analysis-board-context>span>span{color:var(--text-secondary)}.analysis-board-context:focus-visible{outline:2px solid var(--text-primary);outline-offset:-3px}.engine-advanced{width:100%;font-size:.8125rem}.engine-advanced>summary{cursor:pointer;color:var(--text-secondary);padding:.625rem 0}.engine-advanced>p{color:var(--text-secondary);margin:0 0 .5rem;line-height:1.5}.engine-advanced-actions{flex-wrap:wrap;gap:.5rem;display:flex}.settings-engine-advanced{border-block:1px solid var(--border-subtle);margin-bottom:1rem}[data-ui-density=comfortable] :is(.panel.left,.panel.right,.settings-body) :is(button,input,select,textarea){font-size:max(.875rem,14px)}[data-ui-density=comfortable] :is(.panel.left,.panel.right,.settings-body) :is(button,select,input:not([type=range]):not([type=checkbox])){min-height:44px}[data-ui-density=comfortable] :is(.settings-hint,.settings-help,.lib-date,.lib-meta,.lib-label,.pv-line-moves,.move-tree-row){font-size:max(.875rem,14px);line-height:1.6}[data-ui-density=comfortable] .settings-group{margin-bottom:1.25rem}[data-ui-density=comfortable] .engine-advanced>summary{min-height:44px;font-size:.875rem}.study-save-control{white-space:normal}.study-save-control:disabled{opacity:.7}.mobile-tab-bar .study-save-control{gap:.25rem;font-size:.6875rem}.xiangqi-board{--board-pad:clamp(16px, calc(5.6cqi + 10px), 46px)}.xiangqi-board-container{width:100%;max-width:var(--board-max-width,860px);aspect-ratio:9/10;margin:0 auto;container:board/inline-size}.xiangqi-board{border-radius:var(--radius-md);width:100%;height:100%;box-shadow:inset 0 0 0 2px #ffd76e2e,  inset 0 0 60px #0000006b,  0 0 0 7px #291504,  0 0 0 10px #6b3a14,  0 0 0 13px #291504,  -6px 18px 36px #000000b3,  var(--shadow-lg);padding:var(--board-pad);background:radial-gradient(at 28% 18%,#ffeba047 0%,#0000 52%),repeating-linear-gradient(106deg,#0000,#0000 3px,#00000007 3px 4px),repeating-linear-gradient(-14deg,#0000,#0000 5px,#ffffff08 5px 6px),radial-gradient(#0000 38%,#0000006b 100%),linear-gradient(172deg,#dda050 0%,#c07530 55%,#ad6520 100%);border:2px solid #6b4218;position:relative}.xiangqi-board:before{content:"";border-radius:calc(var(--radius-md) - 6px);pointer-events:none;z-index:1;border:1px solid #ffc85a24;position:absolute;inset:12px}.board-svg-grid{top:var(--board-pad);left:var(--board-pad);width:calc(100% - 2 * var(--board-pad));height:calc(100% - 2 * var(--board-pad));pointer-events:none;z-index:2;position:absolute;overflow:visible}.grid-line{stroke:#3a2006;stroke-width:1.5px;vector-effect:non-scaling-stroke}.palace-line{stroke:#3a2006;stroke-width:1.5px;vector-effect:non-scaling-stroke;fill:none}.river{left:var(--board-pad);right:var(--board-pad);top:calc(var(--board-pad) + 4 * (100% - 2 * var(--board-pad)) / 9);height:calc((100% - 2 * var(--board-pad)) / 9);pointer-events:none;z-index:3;justify-content:space-around;align-items:center;display:flex;position:absolute}.river-text{color:#2d16059e;font-size:clamp(14.4px,6cqi,24.8px);font-weight:900;font-family:var(--font-cjk-serif);letter-spacing:.6em;white-space:nowrap;text-shadow:0 1px #ffdc788c,0 -1px #00000061,0 2px 5px #0000002e;-webkit-user-select:none;user-select:none}.river-text-flipped{transform:scale(-1)}.coords-layer{top:var(--board-pad);left:var(--board-pad);width:calc(100% - 2 * var(--board-pad));height:calc(100% - 2 * var(--board-pad));pointer-events:none;z-index:4;position:absolute}.coord-label{color:#ffe4a89e;font-family:var(--font-mono);text-shadow:0 1px 2px #0000008c;-webkit-user-select:none;user-select:none;font-size:clamp(.48rem,2.1cqi,.68rem);font-weight:800;line-height:1;position:absolute}.coord-file{transform:translate(-50%)}.coord-file-top{top:calc(2px - var(--board-pad))}.coord-file-bottom{bottom:calc(2px - var(--board-pad))}.coord-rank{transform:translateY(-50%)}.coord-rank-left{left:calc(2px - var(--board-pad))}.coord-rank-right{right:calc(2px - var(--board-pad))}.hitboxes-layer{top:var(--board-pad);left:var(--board-pad);width:calc(100% - 2 * var(--board-pad));height:calc(100% - 2 * var(--board-pad));pointer-events:none;z-index:5;position:absolute}.hitbox{aspect-ratio:1;pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:50%;width:calc(12.5% + 6px);padding:0;position:absolute;transform:translate(-50%,-50%)}@media (hover:hover) and (pointer:fine){.hitbox:hover{background:#ffeba02e}}.hitbox[data-draggable=true]{cursor:grab}.hitboxes-layer[data-dragging=true] .hitbox{cursor:grabbing}.hitbox:focus-visible{background:#ffeba038}.pieces-layer{top:var(--board-pad);left:var(--board-pad);width:calc(100% - 2 * var(--board-pad));height:calc(100% - 2 * var(--board-pad));pointer-events:none;position:absolute}.marker-highlight{pointer-events:none;box-sizing:border-box;z-index:4;background:radial-gradient(circle,#60a5fa47,#3b82f617 62%,#0000 100%);border:2px solid #60a5fac7;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 0 10px #93c5fd2e,0 0 14px #60a5fa47;width:calc(12.5% + 8px)!important;height:calc(12.5% + 8px)!important}.piece{aspect-ratio:1;pointer-events:none;width:calc(12.5% - 2px);font-family:var(--font-cjk-serif);outline-offset:-1px;z-index:10;background:radial-gradient(circle at 30% 22%,#ffffffd1 0%,#ffffff1f 32%,#0000 52%),radial-gradient(circle at 70% 78%,#0003 0%,#0000 38%),radial-gradient(circle,#fdf8e6 0%,#edd898 40%,#c8a850 78%,#b08838 100%);border-radius:50%;outline:2px solid #8c6e28;justify-content:center;align-items:center;font-size:clamp(20.8px,7.5cqi,32px);font-weight:900;transition:left .3s cubic-bezier(.2,.8,.2,1),top .3s cubic-bezier(.2,.8,.2,1),transform .12s;display:flex;position:absolute;transform:translate(-50%,-50%)translateZ(0);box-shadow:inset 0 -5px 10px #00000047,inset 0 5px 7px #ffffff85,0 5px 12px #00000094,0 2px 4px #00000061}.piece.piece-letter{font-family:var(--font-heading);letter-spacing:.02em;font-size:clamp(18.4px,6.6cqi,28.8px);font-weight:900}.piece:after{content:"";pointer-events:none;border:1.5px solid #8c641e61;border-radius:50%;position:absolute;inset:13%;box-shadow:inset 0 1px 2px #0000002e,0 1px #ffffff59}.piece.moving{z-index:14}.piece.selected{box-shadow:inset 0 -6px 12px #00000061, inset 0 6px 9px #ffffffa6, 0 24px 32px #000000c7, 0 8px 16px #00000073, 0 0 0 3px var(--accent-glow);z-index:15;transform:translate(-50%,calc(-50% - 12px))scale(1.1)translateZ(0)}.piece.dragging{transform:translate(calc(-50% + var(--drag-x,0px)), calc(-50% + var(--drag-y,0px))) scale(1.12) translateZ(0);z-index:20;transition:none}.piece.red{color:#b81515;text-shadow:0 1px #ffffffbf,0 -1px #00000052,0 0 9px #aa0f0f47}.piece.black{color:#150e04;text-shadow:0 1px #ffffff6b,0 -1px #00000085,0 0 7px #00000047}.target-dot{background:radial-gradient(circle, var(--accent) 0%, var(--accent-glow) 65%, transparent 100%);pointer-events:none;opacity:.88;box-shadow:0 0 10px var(--accent-glow), 0 0 3px var(--accent);z-index:5;border-radius:50%;transition:left .3s,top .3s;animation:.12s forwards target-pop-in;position:absolute;transform:translate(-50%,-50%);width:18px!important;height:18px!important}@keyframes target-pop-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}to{opacity:.88;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.target-dot,.target-ring{animation:none}.piece{transition:none}}.target-ring{border:3px solid var(--accent);pointer-events:none;opacity:.88;box-shadow:inset 0 0 10px #10b98140, 0 0 10px var(--accent-glow);z-index:12;box-sizing:border-box;border-radius:50%;transition:left .3s,top .3s;animation:.15s forwards target-ring-in;position:absolute;transform:translate(-50%,-50%);width:calc(12.5% + 6px)!important;height:calc(12.5% + 6px)!important}@keyframes target-ring-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.65)}to{opacity:.88;transform:translate(-50%,-50%)scale(1)}}.board-arrow-group{opacity:var(--arrow-opacity,.82);filter:drop-shadow(0 0 1.6px #1a0d03e6)drop-shadow(0 1px 2px #1a0d0399);animation:.18s both board-arrow-fade-in}.board-arrow-threat path,.board-arrow-threat polygon{filter:drop-shadow(0 0 6px #f43f5e80)}.board-arrow-book path{stroke-dasharray:18 10}.board-arrow-book circle,.board-arrow-book polygon{filter:drop-shadow(0 0 8px #f59e0b57)}@keyframes board-arrow-fade-in{0%{opacity:0}to{opacity:var(--arrow-opacity,.82)}}@media (prefers-reduced-motion:reduce){.board-arrow-group{animation:none}}@container board (width<=440px){.xiangqi-board{box-shadow:inset 0 0 0 2px #ffd76e2e, inset 0 0 60px #0000006b, 0 0 0 5px #291504, 0 0 0 7px #6b3a14, 0 0 0 9px #291504, -4px 12px 24px #000000b3, var(--shadow-lg)}.piece{font-size:clamp(17.6px,7cqi,25.6px)}.river-text{font-size:18.4px}.coord-file-top,.coord-rank-right{display:none}.target-dot{width:14px!important;height:14px!important}.piece.selected{transform:translate(-50%,calc(-50% - 8px))scale(1.1)translateZ(0)}}@container board (width<=320px){.xiangqi-board{box-shadow:inset 0 0 0 2px #ffd76e2e, inset 0 0 40px #0000006b, 0 0 0 3px #291504, 0 0 0 5px #6b3a14, 0 0 0 7px #291504, -2px 8px 16px #000000b3, var(--shadow-lg)}.piece{font-size:clamp(13.6px,6.5cqi,19.2px)}.river-text{letter-spacing:.3em;font-size:13.6px}.target-dot{width:10px!important;height:10px!important}.piece.selected{transform:translate(-50%,calc(-50% - 5px))scale(1.08)translateZ(0)}}@media (forced-colors:active){.piece.red,.piece.black{color:canvastext;text-shadow:none;background:canvas}.piece.red{outline-width:4px;outline-style:double}.piece.black{outline-width:2px;outline-style:solid}.grid-line,.palace-line,.board-arrow-group path{stroke:canvastext}.board-arrow-group circle,.board-arrow-group polygon{fill:canvastext;stroke:canvastext}.board-arrow-group,.board-arrow-book circle,.board-arrow-book polygon{filter:none}}@media print{.grid-line,.palace-line{stroke:#000}.piece.red{outline:4px double #000}.piece.black{outline:2px solid #000}}.study-main-line{border:1px solid var(--border-subtle);border-radius:8px;flex-shrink:0;margin:8px 0}.study-main-line summary{cursor:pointer;align-content:center;min-height:44px;padding:0 10px;font-size:.8125rem}.app-shell .study-main-line>summary:focus-visible,.app-shell .study-main-line>summary:focus:not(:focus-visible){outline:2px solid var(--accent);outline-offset:2px;scroll-margin-block:5px}.study-main-line p{color:var(--text-secondary);margin:0 10px 10px;font-size:.75rem;line-height:1.5}.study-main-line-actions{flex-wrap:wrap;gap:8px;padding:0 10px 10px;display:flex}.study-main-line-actions .chip-btn{white-space:normal;flex:130px;min-height:44px}.wdl-bar-wrap{margin-bottom:var(--space-sm,8px);flex-direction:column;gap:4px;display:flex}.wdl-bar{background:var(--bg-subtle,#1a1a2e);border-radius:5px;height:10px;display:flex;overflow:hidden}.wdl-bar-empty{background:var(--border-subtle,#ffffff14)}.wdl-segment{height:100%;transition:width .4s}.wdl-segment-win{background:#c33}.wdl-segment-draw{background:#a0a0b499}.wdl-segment-loss{background:#222}.wdl-labels{color:var(--text-tertiary,#888);letter-spacing:.04em;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;font-size:.68rem;display:grid}.wdl-label{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:normal;min-width:0;overflow:hidden}.wdl-label:nth-child(2){text-align:center}.wdl-label:nth-child(3){text-align:right}.wdl-label.wdl-win{color:#e06060}.wdl-label.wdl-draw{color:var(--text-secondary,#aaa)}.wdl-label.wdl-loss{color:var(--text-tertiary,#777)}.wdl-bar-live .wdl-bar{box-shadow:0 0 4px #10b9814d}.auto-save-backdrop{z-index:9400;-webkit-backdrop-filter:blur(5px);background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.auto-save-modal{border-radius:var(--radius-xl,16px);background:var(--bg-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-lg), 0 0 0 1px var(--border-subtle);text-align:left;flex-direction:column;gap:.75rem;width:min(30rem,100%);min-width:0;max-height:calc(100dvh - 2rem);padding:min(1.6rem,5vw) min(1.8rem,5vw) min(1.4rem,5vw);display:flex;overflow-y:auto}.auto-save-title{color:var(--text-heading);margin:0;font-size:1.15rem;font-weight:800}.auto-save-subtitle{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.45}.auto-save-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.5rem;margin-top:.3rem;display:flex}.auto-save-btn{border-radius:var(--radius-md,9px);cursor:pointer;min-height:36px;padding:.5rem 1.1rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.auto-save-btn-primary{border:1px solid var(--border-accent,var(--border-default));background:var(--accent);color:var(--bg-surface)}.auto-save-btn-primary:hover{filter:brightness(1.08)}.auto-save-btn-secondary{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0}.auto-save-btn-secondary:hover{background:var(--bg-elevated);color:var(--text-primary)}.auto-save-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.auto-save-btn{transition:none}}@media (width<=480px){.auto-save-actions{flex-direction:column-reverse}.auto-save-btn{width:100%}}
