.ui-field{flex-direction:column;gap:.375rem;font-size:.875rem;display:flex}.ui-select-trigger{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);width:100%;color:inherit;font:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.5;transition:border-color .15s,box-shadow .15s;display:inline-flex}.ui-select-trigger:hover:not([data-disabled]){border-color:var(--accent)}.ui-select-trigger:focus-visible,.ui-select-trigger[data-state=open]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.ui-select-trigger[data-disabled]{opacity:.5;cursor:not-allowed}.ui-select-trigger [data-placeholder]{color:var(--text-muted)}.ui-select-icon{width:1rem;height:1rem;color:var(--text-muted);flex-shrink:0;transition:transform .15s}.ui-select-trigger[data-state=open] .ui-select-icon{transform:rotate(180deg)}.ui-select-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--modal-shadow);z-index:110;min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);animation:.15s ease-out ui-select-content-in;overflow:hidden}.ui-select-content[data-state=closed]{animation:.1s ease-in ui-select-content-out}@keyframes ui-select-content-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes ui-select-content-out{to{opacity:0;transform:translateY(-4px)scale(.98)}}.ui-select-viewport{padding:.25rem}.ui-select-label{color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase;padding:.375rem .5rem .25rem;font-size:.75rem;font-weight:600}.ui-select-item{border-radius:calc(var(--radius) - 2px);cursor:default;-webkit-user-select:none;user-select:none;outline:none;align-items:center;padding:.4375rem .5rem .4375rem 1.75rem;font-size:.875rem;line-height:1.4;display:flex;position:relative}.ui-select-item[data-highlighted]{background:var(--accent-soft);color:var(--text)}.ui-select-item[data-disabled]{opacity:.45;pointer-events:none}.ui-select-item-indicator{width:1rem;height:1rem;color:var(--accent);justify-content:center;align-items:center;display:flex;position:absolute;left:.5rem}.ui-select-item-indicator svg{width:.875rem;height:.875rem}.ui-select-trigger.data-table-filter-input{min-width:4rem;max-width:12rem;padding:.25rem 1.5rem .25rem .375rem;font-size:.75rem;line-height:1.25}.ui-select-trigger.data-table-filter-input .ui-select-icon{width:.75rem;height:.75rem;right:.25rem}.ui-select-trigger.data-table-filter-input:focus-visible,.ui-select-trigger.data-table-filter-input[data-state=open]{outline:2px solid var(--accent);outline-offset:1px;box-shadow:none}.ui-select-separator{background:var(--border);height:1px;margin:.25rem 0}.ui-dialog-overlay{z-index:100;background:var(--modal-overlay);animation:.15s ease-out ui-dialog-overlay-in;position:fixed;inset:0}.ui-dialog-overlay[data-state=closed]{animation:.1s ease-in ui-dialog-overlay-out}.ui-dialog-content{z-index:101;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:calc(100% - 3rem);max-width:28rem;height:fit-content;max-height:calc(100vh - 3rem);box-shadow:var(--modal-shadow);flex-direction:column;gap:1rem;margin:auto;padding:1.5rem;animation:.15s ease-out ui-dialog-content-in;display:flex;position:fixed;inset:0;overflow-y:auto}.ui-dialog-content[data-state=closed]{animation:.1s ease-in ui-dialog-content-out}.ui-dialog-content:focus{outline:none}.ui-dialog-header{flex-direction:column;gap:.375rem;display:flex}.ui-dialog-footer{justify-content:flex-end;gap:.5rem;display:flex}.ui-dialog-title{font-family:var(--font-heading);margin:0;padding-right:1.75rem;font-size:1.125rem;font-weight:600;line-height:1.3}.ui-dialog-description{color:var(--text-muted);margin:0;font-size:.875rem}.ui-dialog-close{border-radius:calc(var(--radius) - 2px);width:1.75rem;height:1.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex;position:absolute;top:1rem;right:1rem}.ui-dialog-close:hover{color:var(--text);background:var(--hover-overlay)}.ui-dialog-close:focus-visible{box-shadow:0 0 0 2px var(--accent-soft);outline:none}.ui-dialog-close svg{width:1rem;height:1rem}@keyframes ui-dialog-overlay-in{0%{opacity:0}}@keyframes ui-dialog-overlay-out{to{opacity:0}}@keyframes ui-dialog-content-in{0%{opacity:0;scale:.96}}@keyframes ui-dialog-content-out{to{opacity:0;scale:.96}}.ui-dropdown-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:8rem;box-shadow:var(--modal-shadow);z-index:110;padding:.25rem;animation:.15s ease-out ui-dropdown-content-in;overflow:hidden}.ui-dropdown-content[data-state=closed]{animation:.1s ease-in ui-dropdown-content-out}@keyframes ui-dropdown-content-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes ui-dropdown-content-out{to{opacity:0;transform:translateY(-4px)scale(.98)}}.ui-dropdown-item{border-radius:calc(var(--radius) - 2px);cursor:default;-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:.5rem;padding:.4375rem .5rem;font-size:.875rem;line-height:1.4;display:flex;position:relative}.ui-dropdown-item--inset{padding-left:1.75rem}.ui-dropdown-item[data-highlighted]{background:var(--accent-soft);color:var(--text)}.ui-dropdown-item[data-disabled]{opacity:.45;pointer-events:none}.ui-dropdown-checkbox-item,.ui-dropdown-radio-item{padding-left:1.75rem}.ui-dropdown-item-indicator{width:1rem;height:1rem;color:var(--accent);justify-content:center;align-items:center;display:flex;position:absolute;left:.5rem}.ui-dropdown-item-indicator svg{width:.875rem;height:.875rem}.ui-dropdown-radio-indicator{fill:currentColor;width:.5rem!important;height:.5rem!important}.ui-dropdown-label{color:var(--text-muted);padding:.375rem .5rem .25rem;font-size:.75rem;font-weight:600}.ui-dropdown-separator{background:var(--border);height:1px;margin:.25rem 0}.ui-dropdown-shortcut{letter-spacing:.05em;color:var(--text-muted);margin-left:auto;font-size:.75rem}.ui-dropdown-sub-trigger-icon{width:1rem;height:1rem;color:var(--text-muted);margin-left:auto}.ui-tooltip-trigger{border-radius:var(--radius);cursor:default;justify-content:center;align-items:center;display:inline-flex}.ui-tooltip-trigger:focus-visible{box-shadow:0 0 0 2px var(--accent-soft);outline:none}.ui-tooltip-content{z-index:120;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);max-width:16rem;color:var(--text);box-shadow:var(--modal-shadow);padding:.375rem .625rem;font-size:.8125rem;line-height:1.4;animation:.12s ease-out ui-tooltip-in}.ui-tooltip-content[data-state=closed]{animation:.1s ease-in ui-tooltip-out}.ui-tooltip-arrow{fill:var(--surface)}@keyframes ui-tooltip-in{0%{opacity:0;transform:scale(.96)}}@keyframes ui-tooltip-out{to{opacity:0;transform:scale(.96)}}@font-face{font-family:Open Sans;src:url(/fonts/Open_Sans/static/OpenSans-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter/static/Inter_18pt-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--font-body:"Inter", "Segoe UI", system-ui, sans-serif;--font-heading:"Open Sans", "Segoe UI", system-ui, sans-serif;font-family:var(--font-body);--accent:#c9a227;--accent-hover:#dbb42e;--danger:#c45c5c;--radius:8px;--result-win:#66bb6a;--result-loss:#c45c5c;--result-draw:#9e9e9e;--grade-brilliant:#26c6da;--grade-great:#66bb6a;--grade-good:#9a9590;--grade-inaccuracy:#ffb74d;--grade-mistake:#ff8a65;--grade-blunder:#c45c5c;--stats-bar-fill:#e0b040;--stats-rating-series-1:#c9a227;--stats-rating-series-2:#5c9fd6;--stats-rating-series-3:#66bb6a;--stats-rating-series-4:#e0b040;--stats-rating-series-5:#ab7fd4;--stats-rating-series-6:#ff8a65;font-weight:400;line-height:1.5}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e8e6e3;--bg:#1a1816;--surface:#252220;--border:#3d3834;--text:#e8e6e3;--text-muted:#9a9590;--text-on-accent:#1a1816;--hover-overlay:#ffffff0a;--accent-soft:#c9a2271f;--table-header-bg:#00000026;--table-row-hover:#ffffff08;--modal-overlay:#0009;--modal-shadow:0 8px 32px #0006;--stats-bar-fill:#e8b84a;background:#1a1816}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1a1816;--bg:#f5f3f0;--surface:#fff;--border:#d4cfc8;--text:#1a1816;--text-muted:#6b6560;--text-on-accent:#1a1816;--hover-overlay:#0000000a;--accent-soft:#c9a22726;--table-header-bg:#0000000a;--table-row-hover:#00000008;--modal-overlay:#00000059;--modal-shadow:0 8px 32px #0000001f;--stats-bar-fill:#c9952a;background:#f5f3f0}[data-theme=voyage]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#e06c75;--accent-hover:#f0989e;--heading:#9cdef2;color:#e8e6e3;--bg:#282c34;--surface:#1e2228;--border:#355a66;--text:#e8e6e3;--text-muted:#9aa3ad;--text-on-accent:#fff;--hover-overlay:#ffffff0a;--accent-soft:#e06c7524;--table-header-bg:#0003;--table-row-hover:#ffffff08;--modal-overlay:#000000a6;--modal-shadow:0 8px 32px #00000080;--stats-bar-fill:#f0bc58;background:#282c34}[data-theme=voyage] h1,[data-theme=voyage] h2,[data-theme=voyage] h3,[data-theme=voyage] th,[data-theme=voyage] .logo,[data-theme=voyage] .modal-title,[data-theme=voyage] .branch-playground-title,[data-theme=voyage] .btn.secondary{color:var(--heading)}[data-theme=voyage] .btn.secondary:hover:not(:disabled),[data-theme=voyage] .btn.secondary.active:hover:not(:disabled),[data-theme=voyage] .data-table-toolbar-btn.active:hover:not(:disabled),[data-theme=voyage] .data-table-columns[open] .data-table-columns-trigger:hover{border-color:var(--heading);color:var(--heading)}[data-theme=voyage] body{background:radial-gradient(1100px 520px at 82% -10%, #e06c751f, transparent 60%), radial-gradient(900px 520px at 0% 0%, #355a664d, transparent 55%), var(--bg)}*{box-sizing:border-box}html{height:100%;font-size:93.75%}body{background:var(--bg);height:100%;margin:0;overflow:hidden}#root{height:100%}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.app-shell{flex-direction:column;height:100%;min-height:100dvh;display:flex;overflow:hidden}.app-header{z-index:10;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.logo{color:var(--accent);font-size:1.25rem;font-weight:700}.header-actions{align-items:center;gap:1rem;margin-left:auto;display:flex}.theme-picker-trigger{gap:.375rem}.theme-picker-icon,.theme-picker-chevron{flex-shrink:0;width:1rem;height:1rem}.theme-picker-icon{color:var(--accent)}.theme-picker-label{font-size:.875rem}.theme-picker-chevron{color:var(--text-muted);transition:transform .15s}.theme-picker-trigger[data-state=open] .theme-picker-chevron{transform:rotate(180deg)}.theme-picker-item{gap:.625rem}.theme-picker-swatch{background:var(--theme-swatch-bg);width:1.375rem;height:1.375rem;box-shadow:inset 3px 0 0 var(--theme-swatch-accent);border:1px solid #ffffff1f;border-radius:4px;flex-shrink:0;display:block}.user-menu-trigger{gap:.375rem;max-width:14rem}.user-menu-email{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.875rem;overflow:hidden}.user-menu-chevron{width:1rem;height:1rem;color:var(--text-muted);flex-shrink:0;transition:transform .15s}.user-menu-trigger[data-state=open] .user-menu-chevron{transform:rotate(180deg)}.user-menu-label{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.user-menu-item-icon{flex-shrink:0;width:1rem;height:1rem}.app-body{--app-sidebar-width:220px;flex:1;min-height:0;display:flex;overflow:hidden}.app-body:has(.app-sidebar--collapsed){--app-sidebar-width:3.25rem}.app-body--no-sidebar{--app-sidebar-width:0px;flex-direction:column;display:flex}.app-sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:220px;min-height:0;padding:1rem .75rem;transition:width .2s;display:flex;overflow:hidden}.app-sidebar--collapsed{width:3.25rem;padding-inline:.5rem}.sidebar-nav{flex:1;min-height:0}.sidebar-footer{flex-shrink:0;margin-top:auto;padding-top:.5rem}.sidebar-collapse-toggle{border-radius:var(--radius);width:100%;color:var(--text-muted);opacity:.55;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;transition:opacity .15s,background .15s;display:flex}.sidebar-collapse-toggle:hover{opacity:1;background:var(--hover-overlay)}.sidebar-collapse-toggle:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:2px}.sidebar-collapse-toggle-icon{flex-shrink:0;width:1rem;height:1rem}.app-sidebar--collapsed .sidebar-collapse-toggle{padding-inline:.25rem}.app-sidebar--collapsed .sidebar-link{justify-content:center;gap:0;padding-inline:.5rem;position:relative}.app-sidebar--collapsed .sidebar-link-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar-nav ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.sidebar-link{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:.625rem;padding:.5rem .75rem;font-size:.9375rem;font-weight:500;transition:color .15s,background .15s;display:flex}.sidebar-link-icon{flex-shrink:0;width:1.125rem;height:1.125rem}.sidebar-link:hover{color:var(--text);background:var(--hover-overlay)}.sidebar-link.active{color:var(--accent);background:var(--accent-soft)}.app-main{-webkit-overflow-scrolling:touch;flex:1;min-width:0;min-height:0;overflow-y:auto}.app-main__content{max-width:1100px;padding:1.5rem}.app-main__content--full{width:100%;max-width:none;margin:0 auto}.app-body--no-sidebar .app-main{flex:1;min-height:0}.app-main--game-detail .app-main__content{padding:.75rem 1rem 1rem}.game-detail .analysis-panel{margin-bottom:.75rem}@media (width<=640px){.app-body:has(.app-sidebar:not(.app-sidebar--collapsed)){--app-sidebar-width:180px}.app-sidebar:not(.app-sidebar--collapsed){width:180px}.user-email{display:none}}h1,h2,h3,th{font-family:var(--font-heading);font-weight:600}h1{margin:0 0 .5rem;font-size:1.75rem}h2{margin:0 0 .75rem;font-size:1.25rem}.muted{color:var(--text-muted)}.page-loader{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:12rem;padding:2rem;display:flex}.page-loader__icon{width:2rem;height:2rem;color:var(--accent);animation:.8s linear infinite page-loader-spin}.page-loader__message{color:var(--text-muted);margin:0;font-size:.9375rem}@keyframes page-loader-spin{to{transform:rotate(360deg)}}.error{color:var(--danger)}.back-link{margin-bottom:.5rem;font-size:.875rem;display:inline-block}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.actions{gap:.5rem;display:flex}.games-page-section{margin-bottom:1.5rem}.games-page-section-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.8125rem;font-weight:600}.games-page-section .folder-breadcrumbs{margin-bottom:0}.folder-breadcrumbs{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.folder-breadcrumbs-list{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.folder-breadcrumbs-list li{align-items:center;gap:.25rem;display:flex}.folder-breadcrumb{color:var(--text-muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:none;padding:.2rem .35rem;font-size:.875rem}.folder-breadcrumb:hover{color:var(--text);background:var(--surface-hover)}.folder-breadcrumb.is-current{color:var(--text);font-weight:600}.folder-breadcrumb-sep{width:.875rem;height:.875rem;color:var(--text-muted);flex-shrink:0}.folder-list{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 1rem;padding:0;list-style:none;overflow:visible}.folder-list-item{border-bottom:1px solid var(--border);align-items:center;display:flex;position:relative}.folder-list-item:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.folder-list-item:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-bottom:none}.folder-list-open{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:.5rem;padding:.65rem .85rem;display:flex}.folder-list-open:hover{background:var(--surface-hover)}.folder-list-icon{width:1.1rem;height:1.1rem;color:var(--text-muted);flex-shrink:0}.folder-list-name{flex:1;min-width:0;font-weight:500}.folder-list-count{flex-shrink:0;margin-left:.75rem;font-size:.875rem;font-weight:400}.folder-list-actions{z-index:1;padding-right:.35rem;position:relative}.folder-list-actions .action-menu-panel,.folder-breadcrumbs .action-menu-panel{z-index:30}.folder-picker-modal{max-width:28rem}.folder-picker-intro{margin:0 0 .75rem}.folder-picker-list{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.15rem;max-height:16rem;margin-bottom:1.25rem;padding:.35rem;display:flex;overflow-y:auto}.folder-picker-option{border-radius:calc(var(--radius) - 2px);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:.45rem .65rem;display:block}.folder-picker-option:hover{background:var(--surface-hover)}.folder-picker-option.is-selected{background:var(--accent-soft);font-weight:500}.btn{border-radius:var(--radius);background:var(--accent);color:var(--text-on-accent);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.9375rem;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn.secondary:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.btn.secondary.active:hover:not(:disabled),.data-table-toolbar-btn.active:hover:not(:disabled),.data-table-columns[open] .data-table-columns-trigger:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.btn.danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn.small{padding:.25rem .625rem;font-size:.8125rem}.btn-labeled{gap:.375rem;padding:.5rem .875rem}.btn-icon{flex-shrink:0;width:1rem;height:1rem}.btn-row{flex-wrap:wrap;gap:.5rem;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);max-width:400px;margin:3rem auto;padding:2rem}.auth-card form{flex-direction:column;gap:1rem;display:flex}label{flex-direction:column;gap:.375rem;font-size:.875rem;display:flex}input,textarea{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:inherit;font:inherit;padding:.5rem .75rem}textarea{resize:vertical;font-family:ui-monospace,monospace;font-size:.8125rem}.data-table-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.data-table-wrap{overflow-x:auto}.data-table-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.375rem .5rem;display:flex}.data-table-toolbar-start{padding-left:.75rem;font-size:.8125rem}.data-table-toolbar-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.data-table-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:10rem;padding:2rem 1rem;display:flex}.data-table-empty-state-icon{width:2.75rem;height:2.75rem;color:var(--text-muted);opacity:.5;flex-shrink:0}.data-table-empty-state-message{text-align:center;max-width:22rem;margin:0;font-size:.9375rem;line-height:1.5}.data-table-pagination{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem .75rem .75rem;display:flex}.data-table-pagination-info{font-size:.8125rem;line-height:1.4}.data-table-pagination-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.data-table-pagination-select{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:.35rem .5rem;font-size:.8125rem}.data-table-columns{position:relative}.data-table-toolbar-btn{align-items:center;gap:.375rem;display:inline-flex}.data-table-toolbar-btn.active{border-color:var(--accent);color:var(--accent)}.data-table-columns-trigger{cursor:pointer;list-style:none}.data-table-columns-trigger::-webkit-details-marker{display:none}.data-table-toolbar-icon{width:1rem;height:1rem}.data-table-columns[open] .data-table-columns-trigger{border-color:var(--accent);color:var(--accent)}.data-table-columns-menu{z-index:10;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:0;min-width:20rem;padding:.375rem;display:flex;position:absolute;top:calc(100% + .375rem);right:0;box-shadow:0 4px 12px #0000001f}.data-table-columns-intro{border-bottom:1px solid var(--border);margin:0;padding:.25rem .5rem .625rem;font-size:.8125rem;line-height:1.45}.data-table-columns-option{border-radius:calc(var(--radius) - 2px);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;gap:.375rem;margin:0;padding:.2rem .375rem;font-size:.875rem;line-height:1.2;display:flex}.data-table-columns-option:hover{background:var(--table-row-hover)}.data-table-columns-option input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0;padding:0}.data-table-columns-option span{white-space:nowrap}.data-table-columns-drag{border-radius:calc(var(--radius) - 2px);width:1.25rem;height:1.25rem;color:var(--text-muted);cursor:grab;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.data-table-columns-drag:active{cursor:grabbing}.data-table-columns-drag:hover{color:var(--text);background:var(--table-row-hover)}.data-table-columns-drag svg{width:.875rem;height:.875rem}.data-table-filter-row th{background:var(--surface);border-bottom:1px solid var(--border);vertical-align:middle;padding:.375rem .5rem}.data-table-filter-row--hidden{display:none}.data-table-filter-input{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--bg);width:100%;min-width:4rem;max-width:12rem;color:var(--text);padding:.25rem .375rem;font-size:.75rem;line-height:1.25}.data-table-filter-input:focus{outline:2px solid var(--accent);outline-offset:1px}.data-table{border-collapse:collapse;width:max-content;min-width:100%}.data-table tbody td{font-size:.8125rem}.table-cell-empty{color:var(--text-muted)}.data-table th,.data-table td{text-align:center;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:.625rem .875rem}.data-table-align-left{text-align:left}.data-table-align-center{text-align:center}.data-table-align-right{text-align:right}.data-table th.data-table-align-left,.data-table td.data-table-align-left{text-align:left}.data-table th.data-table-align-center,.data-table td.data-table-align-center{text-align:center}.data-table th.data-table-align-right,.data-table td.data-table-align-right{text-align:right}.data-table th.data-table-align-left .data-table-sort{justify-content:flex-start;width:100%}.data-table th.data-table-align-center .data-table-sort{grid-template-columns:1fr auto 1fr;align-items:center;gap:0;width:100%;display:grid}.data-table th.data-table-align-center .data-table-sort-label{grid-column:2}.data-table th.data-table-align-center .data-table-sort-icon{grid-column:3;justify-self:start;margin-left:.375rem}.data-table th.data-table-align-right .data-table-sort{justify-content:flex-end;width:100%}.data-table th{color:var(--text-muted);background:var(--table-header-bg);font-size:.8125rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--table-row-hover)}.data-table-row-clickable{cursor:pointer}.data-table-row-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.data-table-select-cell{width:2.75rem;padding:0}.data-table-select-label{box-sizing:border-box;cursor:pointer;justify-content:center;align-items:center;width:100%;min-height:100%;margin:0;padding:.625rem .65rem;display:flex}.data-table-select-label:has(input:disabled){cursor:default}.data-table-row-checkbox{vertical-align:middle;cursor:pointer;width:1rem;height:1rem;margin:0;padding:0}.data-table-select-label:has(input:disabled) .data-table-row-checkbox{cursor:default}.bulk-selection-bar{bottom:1.5rem;left:var(--app-sidebar-width,0px);z-index:40;border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--surface);align-items:center;gap:1rem;width:fit-content;max-width:calc(100% - 2rem);margin-inline:auto;padding:.625rem .75rem .625rem 1.25rem;animation:.15s ease-out bulk-selection-bar-in;display:flex;position:fixed;right:0;box-shadow:0 8px 32px #0000002e}.bulk-selection-bar-count{white-space:nowrap;font-size:.875rem;font-weight:600}.bulk-selection-bar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.bulk-selection-bar-clear{border-radius:var(--radius);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:.25rem;padding:0;display:inline-flex}.bulk-selection-bar-clear:hover{color:var(--text);background:var(--hover-overlay)}.bulk-selection-bar-clear svg{width:1rem;height:1rem}@keyframes bulk-selection-bar-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.data-table-sort{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.375rem;padding:0;display:inline-flex}.data-table-sort:hover{color:var(--text)}.data-table-sort-icon{opacity:.45;font-size:.75rem}.data-table-sort:hover .data-table-sort-icon,.data-table th [aria-sort] .data-table-sort-icon{opacity:1}.data-table-link{color:inherit;font-weight:600}.data-table-link:hover{color:var(--accent)}.game-players-cell{flex-direction:column;gap:.25rem;font-weight:600;line-height:1.35;display:flex}.game-players-row{white-space:nowrap;align-items:center;gap:.4rem;display:flex}.piece-color{border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:.75rem;height:.75rem}.piece-color-white{background:#f4f1ea}[data-theme=dark] .piece-color-white{background:#e8e6e3}.piece-color-black{background:#2a2622}[data-theme=light] .piece-color-black{background:#1a1816}[data-theme=voyage] .piece-color-white{background:#e8e6e3}[data-theme=voyage] .piece-color-black{background:#111}.game-analyzed{justify-content:center;align-items:center;display:inline-flex}.game-analyzed-icon{width:1.125rem;height:1.125rem;color:var(--accent)}.game-source-icon{justify-content:center;align-items:center;display:inline-flex}.game-source-brand-icon,.game-source-lucide-icon{width:1.125rem;height:1.125rem}.game-source-lucide-icon{color:var(--muted)}.game-source-chesscom{color:#81b64c}.game-external-account-cell{align-items:center;gap:.375rem;display:inline-flex}.result-label.result-win{color:#5a9a6e;font-weight:600}.result-label.result-loss{color:var(--danger);font-weight:600}.result-label.result-draw{color:var(--text-muted);font-weight:600}.modal-overlay{z-index:100;background:var(--modal-overlay);justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--modal-shadow);padding:1.5rem}.modal-title{margin:0 0 .5rem}.modal-message{color:var(--text-muted);margin:0 0 1.25rem}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.branch-playground-overlay{background:#000000d1;padding:1rem}.branch-playground-modal{flex-direction:column;max-width:1280px;max-height:calc(100vh - 2rem);padding:1rem;display:flex;overflow:hidden}.branch-playground-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.branch-playground-title{margin:0;font-size:1.125rem}.branch-playground-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.branch-playground-save{flex-direction:column;flex:1;gap:1rem;max-width:32rem;min-height:0;display:flex;overflow-y:auto}.branch-playground-save-intro{margin:0}.branch-playground-save-section{flex-direction:column;gap:.75rem;display:flex}.branch-playground-save-heading{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.8125rem;font-weight:600}.branch-playground-save label:not(.checkbox-field){flex-direction:column;gap:.25rem;display:flex}.player-field-row{grid-template-columns:3.5rem 1fr auto;align-items:center;gap:.5rem;display:grid}.player-field-label{color:var(--text-muted);font-size:.875rem}.branch-playground-save .input-elo{width:5rem}.branch-playground-save-options{padding-top:.25rem}.branch-playground-save .checkbox-field{flex-direction:row;align-items:center}.branch-playground-save-actions{margin-top:.25rem}.branch-playground-layout{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 26rem;align-items:stretch;gap:1rem;min-height:0;display:grid;overflow:hidden}.branch-playground-board.board-with-eval{align-self:stretch;width:100%;min-width:0;max-width:100%;min-height:0;max-height:100%}.branch-playground-board .board-column{flex:1;min-width:0}.branch-playground-board .chess-board-wrap{width:100%;max-width:none}.branch-playground-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;max-height:100%;display:flex;overflow:hidden}.branch-playground-sidebar .top-moves-panel{flex-shrink:0}.branch-playground-sidebar .top-moves-list{min-height:5.75rem}.branch-playground-moves{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.branch-playground-moves .replay-tab-panel-header,.branch-playground-moves .branch-playground-hint{flex-shrink:0}.branch-playground-moves .move-list-table{flex:1;min-height:0;overflow:hidden auto}.branch-playground-footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:.4375rem .625rem .5rem}@media (width<=900px){.branch-playground-modal{max-width:720px;max-height:calc(100vh - 1.5rem)}.branch-playground-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;overflow-y:auto}.branch-playground-sidebar{max-height:min(22rem,45vh)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.import-wizard{max-width:52rem}.import-wizard-hero{align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.import-wizard-platform-icon{border-radius:calc(var(--radius) + 2px);background:var(--surface);border:1px solid var(--border);flex-shrink:0;place-items:center;width:3rem;height:3rem;display:grid}.import-wizard-platform-icon .game-source-brand-icon{width:1.5rem;height:1.5rem}.import-wizard-platform-icon--chesscom{color:#81b64c;background:#81b64c1a;border-color:#81b64c59}.import-wizard-platform-icon--lichess{color:var(--text);background:var(--accent-soft)}.import-wizard-hero-text h1{margin:0 0 .25rem}.import-wizard-hero-desc{color:var(--text-muted);max-width:36rem;margin:0;font-size:.9375rem;line-height:1.5}.import-wizard-steps{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.25rem;padding:0 .25rem;display:grid}.import-wizard-step{text-align:center;flex-direction:column;align-items:center;gap:.4rem;display:flex;position:relative}.import-wizard-step:not(:last-child):after{content:"";background:var(--border);z-index:0;width:calc(100% - 2rem);height:2px;position:absolute;top:.875rem;left:calc(50% + 1rem)}.import-wizard-step.is-complete:not(:last-child):after{background:var(--accent)}.import-wizard-step-dot{z-index:1;border:2px solid var(--border);background:var(--bg);width:1.75rem;height:1.75rem;color:var(--text-muted);border-radius:50%;place-items:center;font-size:.75rem;font-weight:600;display:grid;position:relative}.import-wizard-step.is-active .import-wizard-step-dot{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.import-wizard-step.is-complete .import-wizard-step-dot{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.import-wizard-step-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.6875rem;font-weight:600}.import-wizard-step.is-active .import-wizard-step-label{color:var(--text)}.import-wizard-step.is-complete .import-wizard-step-label{color:var(--accent)}.import-wizard-card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);box-shadow:var(--modal-shadow);padding:1.5rem}.import-wizard-card-header{margin-bottom:1.25rem}.import-wizard-card-title{font-family:var(--font-heading);margin:0 0 .35rem;font-size:1.125rem;font-weight:600}.import-wizard-card-desc{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.45}.import-wizard-player-chip{background:var(--accent-soft);border-radius:999px;align-items:center;gap:.4rem;margin:.85rem 0 0;padding:.3rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.import-wizard-player-chip-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.6875rem;font-weight:600}.import-fetch-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.import-fetch-mode{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;font:inherit;color:inherit;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem 1rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.import-fetch-mode:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--hover-overlay)}.import-fetch-mode.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.import-fetch-mode-title{font-size:.875rem;font-weight:600}.import-fetch-mode-desc{color:var(--text-muted);font-size:.75rem;line-height:1.4}.import-wizard-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.import-result-panel{text-align:center}.import-result-success{padding:.5rem 0 1rem}.import-result-count{font-size:2.75rem;font-weight:600;font-family:var(--font-heading);color:var(--accent);margin:0;line-height:1}.import-result-label{color:var(--text-muted);margin:.35rem 0 0;font-size:1rem}.import-result-meta{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:1.25rem;margin:0 0 1rem;padding:0;font-size:.875rem;list-style:none;display:flex}.import-result-errors{text-align:left;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);max-height:10rem;margin:0 0 1rem;padding:.75rem 1rem;font-size:.8125rem;list-style:none;overflow-y:auto}.import-result-errors li+li{margin-top:.35rem}.import-result-panel .import-wizard-footer{border-top:none;justify-content:center;padding-top:0}.import-form{flex-direction:column;gap:1rem;display:flex}.import-wizard .import-form label{flex-direction:column;gap:.35rem;display:flex}.import-wizard .import-form input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:inherit;font:inherit;padding:.5rem .75rem}.import-wizard .import-form label.checkbox-field{cursor:pointer;flex-direction:row;align-items:center;gap:.5rem}.import-wizard .import-form label.checkbox-field input[type=checkbox]{flex-shrink:0;width:1rem;height:1rem;margin:0;padding:0}.import-wizard .import-form .checkbox-hint{margin:-.35rem 0 0}.import-fetch-panel{flex-direction:column;gap:1rem;display:flex}.import-fetch-desc{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.75rem 1rem;font-size:.8125rem;line-height:1.45}.chesscom-fetch-tabs{border-bottom:1px solid var(--border);gap:.25rem;display:flex}.chesscom-fetch-tabs button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem 1rem}.chesscom-fetch-tabs button.active{color:inherit;border-bottom-color:var(--accent)}.chesscom-fetch-desc{margin:0}.chesscom-date-range{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.chesscom-date-range .chesscom-fetch-desc,.chesscom-date-range .import-fetch-desc{grid-column:1/-1}.chesscom-games-toolbar{border-bottom:1px solid var(--border);flex-direction:column;gap:.65rem;margin-bottom:.25rem;padding-bottom:.75rem;display:flex}.chesscom-games-summary{margin:0;font-size:.875rem}.chesscom-cap-hint{background:var(--accent-soft);border-radius:var(--radius);margin:0;padding:.65rem .85rem;font-size:.875rem}.chesscom-games-step{width:100%}@media (width<=640px){.import-wizard-steps{gap:.25rem;padding:0}.import-wizard-step-label{font-size:.625rem}.import-fetch-modes,.chesscom-date-range{grid-template-columns:1fr}.import-wizard-card{padding:1.15rem}}.chesscom-games-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;max-height:32rem;overflow:auto}.chesscom-games-table{border-collapse:collapse;width:100%;font-size:.8125rem}.chesscom-games-table thead{z-index:1;background:var(--surface);position:sticky;top:0}.chesscom-games-table th,.chesscom-games-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.5rem .75rem}.chesscom-games-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:600}.chesscom-games-table tbody tr:last-child td{border-bottom:none}.chesscom-games-table tbody tr.no-pgn,.chesscom-games-table tbody tr.already-imported{opacity:.55}.chesscom-games-table tbody td:nth-child(3),.chesscom-games-table tbody td:nth-child(4){text-overflow:ellipsis;max-width:14rem;overflow:hidden}.chesscom-games-table-check{text-align:center;width:2.75rem;padding-left:.65rem;padding-right:.65rem}.chesscom-games-table-check input[type=checkbox]{vertical-align:middle;width:1rem;height:1rem;margin:0;padding:0}.chesscom-games-table-date{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-muted)}.chesscom-games-table-result{white-space:nowrap;font-weight:600}.chesscom-games-table-type{text-transform:capitalize;white-space:nowrap}.chesscom-games-table-status{color:var(--text-muted);white-space:nowrap}.chesscom-games-table-empty td{text-align:center;color:var(--text-muted);white-space:normal;padding:2rem 1rem;font-size:.875rem;line-height:1.5}.chesscom-errors{color:var(--text-muted);max-height:12rem;margin:0;padding-left:1.25rem;font-size:.875rem;overflow-y:auto}.game-edit-modal,.import-pgn-modal{max-width:42rem;max-height:calc(100vh - 3rem);overflow-y:auto}.import-pgn-form{flex-direction:column;gap:1rem;display:flex}.import-pgn-options{padding-top:.25rem}.import-pgn-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.action-menu{flex-shrink:0;position:relative}.action-menu-trigger{cursor:pointer;justify-content:center;align-items:center;padding:.375rem .5rem;list-style:none;display:inline-flex}.action-menu-trigger:not(.action-menu-trigger-labeled){box-sizing:border-box;width:1.75rem;min-width:1.75rem;height:1.75rem;min-height:1.75rem;padding:0}.action-menu-trigger:not(.action-menu-trigger-labeled) .action-menu-icon{width:.75rem;height:.75rem}.action-menu-trigger-chevron{opacity:.85;width:.875rem;height:.875rem}.action-menu-trigger::-webkit-details-marker{display:none}.action-menu-icon{width:1rem;height:1rem}.action-menu[open] .action-menu-trigger.secondary{border-color:var(--accent);color:var(--accent)}.action-menu[open] .action-menu-trigger-labeled{background:var(--accent-hover);color:var(--text-on-accent)}.action-menu-panel{z-index:10;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:.125rem;width:max-content;min-width:11rem;padding:.375rem;display:flex;position:absolute;top:calc(100% + .375rem);right:0;box-shadow:0 4px 12px #0000001f}.action-menu-item{width:100%;font:inherit;text-align:left;white-space:nowrap;color:inherit;border-radius:calc(var(--radius) - 2px);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;margin:0;padding:.375rem .5rem;font-size:.875rem;line-height:1.25;text-decoration:none;display:flex}.action-menu-item-icon{opacity:.85;flex-shrink:0;width:1rem;height:1rem}.action-menu-item:hover:not(:disabled){background:var(--table-row-hover)}.action-menu-item:disabled{opacity:.5;cursor:not-allowed}.action-menu-item.danger{color:var(--danger)}.action-menu-item.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 12%, transparent)}.table-row-actions{justify-content:flex-end;align-items:center;width:fit-content;max-width:100%;margin-left:auto;display:flex}.table-row-actions .action-menu{width:auto}.checkbox-field{flex-direction:row;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.edit-tabs{border-bottom:1px solid var(--border);gap:.25rem;padding-bottom:0;display:flex}.edit-tabs button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem 1rem}.edit-tabs button.active{color:inherit;border-bottom-color:var(--accent)}.edit-tab-panel{flex-direction:column;gap:1rem;display:flex}.chess-board-wrap{width:min(100%,480px)}.board-column{flex-direction:column;width:min(100%,480px);display:flex}.board-column .chess-board-wrap{border-left:1px solid var(--border);border-right:1px solid var(--border);width:100%}.board-player-bar{background:var(--surface);border:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.5rem .75rem;display:flex}.board-player-bar.top{border-radius:var(--radius) var(--radius) 0 0;border-bottom:none}.board-player-bar.bottom{border-radius:0 0 var(--radius) var(--radius);border-top:none}.board-player-meta{flex-direction:column;gap:.125rem;min-width:0;display:flex}.board-player-info{align-items:center;gap:.5rem;min-width:0;font-size:.9375rem;font-weight:600;display:flex}.board-player-captures{flex-wrap:wrap;align-items:center;gap:.125rem;min-height:1rem;display:flex}.captured-piece{background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:1rem;height:1rem;display:inline-block}.inline-san-piece{vertical-align:-.14em;object-fit:contain;flex-shrink:0;width:1.15em;height:1.15em;margin:0 1px 0 0;padding:0;display:inline-block}.move-san .inline-san-piece,.top-move-san .inline-san-piece,.coach-highlight-move .inline-san-piece,.coach-move-summary-text .inline-san-piece{margin:0 calc(1px - .102222em) 0 -.23em}.inline-san-move{white-space:nowrap;font-variant-numeric:tabular-nums;color:inherit;font-weight:600;font-size:inherit;display:inline}.captured-material-lead{font-variant-numeric:tabular-nums;color:var(--text-muted);margin-left:.25rem;font-size:.75rem;font-weight:600}.board-player-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-player-elo{color:var(--text-muted);flex-shrink:0;font-weight:500}.board-player-clock{background:var(--bg);border:1px solid var(--border);font-variant-numeric:tabular-nums;text-align:center;border-radius:4px;flex-shrink:0;align-self:center;min-width:3.5rem;padding:.3rem .5rem;font-size:.875rem;font-weight:600}.board-player-bar.bottom .board-player-clock{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chess-board{aspect-ratio:1;width:100%}.chess-board-wrap cg-board square.move-dest{background:radial-gradient(#14551e80 22%,#208530 0,#0000004d 0,#0000 0)}.chess-board-wrap cg-board square.premove-dest{background:radial-gradient(#141e5580 22%,#203085 0,#0000004d 0,#0000 0)}.chess-board-wrap cg-board square.oc.move-dest{background:radial-gradient(#0000 0% 80%,#1455004d 80%)}.chess-board-wrap cg-board square.oc.premove-dest{background:radial-gradient(#0000 0% 80%,#141e5533 80%)}.chess-board-wrap cg-board square.move-dest:hover,.chess-board-wrap cg-board square.move-dest.hover{background:#14551e4d}.chess-board-wrap cg-board square.premove-dest:hover,.chess-board-wrap cg-board square.premove-dest.hover{background:#141e5533}.chess-board-wrap cg-board square.last-move{background-color:#9bc70069}.chess-board-wrap cg-board square.selected{background-color:#14551e80}.chess-board-wrap cg-board square.check{background:radial-gradient(red 0%,#e70000 25%,#a9000000 89%,#9e000000 100%)}.chess-board-wrap cg-board square.current-premove{background-color:#141e5580}.chess-board-wrap cg-board square.user-red{background-color:#dc28288c}.cg-wrap{width:100%!important;height:auto!important}.replay-layout,.board-import-layout{grid-template-columns:minmax(0,1fr) 17.5rem;align-items:start;gap:1.25rem;display:grid}.game-detail .replay-layout{flex-direction:row;align-items:flex-start;gap:.5rem;display:flex}.game-detail .replay-board-area{flex:none;width:auto;min-width:0}.game-detail .board-with-eval{gap:.5rem;width:min(100vh - 11.5rem,100vw - 32rem);max-width:min(100vh - 11.5rem,100vw - 32rem)}.game-detail .replay-controls{flex:0 0 clamp(18rem,24vw,28rem);align-self:stretch;gap:0;width:clamp(18rem,24vw,28rem);min-width:clamp(18rem,24vw,28rem);height:calc(min(100vh - 11.5rem,100vw - 32rem) + 5rem);min-height:0;max-height:calc(min(100vh - 11.5rem,100vw - 32rem) + 5rem);overflow:hidden}.game-detail .replay-sidebar{flex:auto;height:100%;min-height:0;max-height:100%}.replay-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .75rem;display:flex}.replay-sidebar-content{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.replay-sidebar-footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:0}.replay-sidebar-footer .eval-graph{border:none;border-radius:0;margin:0;padding:0;overflow:hidden}.replay-sidebar-footer .replay-nav{margin:0;padding:.4375rem .625rem .5rem}.replay-sidebar-header .back-link{white-space:nowrap;margin:0;font-size:.8125rem}.replay-sidebar-header .btn,.replay-sidebar-header .action-menu{flex-shrink:0}@media (width<=768px){.replay-layout,.board-import-layout{grid-template-columns:1fr}.game-detail .replay-layout{flex-direction:column}.game-detail .replay-controls{flex:auto;align-self:stretch;width:100%;min-width:0;height:auto;max-height:calc(100vh - 7rem)}.game-detail .replay-sidebar{height:auto;max-height:100%}.game-detail .board-with-eval{width:min(100vh - 12rem,100%);max-width:100%}}.replay-controls,.board-side{flex-direction:column;gap:1rem;display:flex}.move-list-panel,.replay-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.replay-tabs{border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.replay-tab{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.625rem .75rem;font-size:.8125rem;font-weight:600;transition:color .15s,border-color .15s,background .15s}.replay-tab:hover{color:var(--text);background:var(--hover-overlay)}.replay-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-soft)}.replay-tab-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.replay-tab-panel.replay-moves-panel{flex:1 1 0;min-height:0;overflow:hidden}.replay-tab-panel[hidden]{display:none}.replay-sidebar-body{flex-direction:column;flex:1 1 0;min-height:0;display:flex;position:relative;overflow:hidden}.replay-sidebar-section{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.replay-sidebar-section.expanded:not(.replay-sidebar-section-grow)>.replay-sidebar-section-body{max-height:9rem;overflow-y:auto}.replay-sidebar-section.expanded.replay-sidebar-section-grow{flex:1 1 0;min-height:0;overflow:hidden}.replay-sidebar-section-header{background:var(--bg);width:100%;color:var(--text);text-align:left;cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.replay-sidebar-section-header:hover{background:var(--accent-soft)}.replay-sidebar-section-chevron{width:.875rem;height:.875rem;color:var(--text-muted);flex-shrink:0;transition:transform .15s}.replay-sidebar-section.collapsed .replay-sidebar-section-chevron{transform:rotate(-90deg)}.replay-sidebar-section-title{flex-shrink:0;font-weight:600}.replay-sidebar-section-summary{min-width:0;color:var(--text-muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:.75rem;overflow:hidden}.coach-section-summary{color:var(--text-muted);min-width:0;font-size:.75rem}.coach-move-summary{align-items:baseline;gap:.5rem;min-width:0;max-width:100%;display:inline-flex}.coach-move-summary-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-left:.23em;overflow:hidden}.coach-move-summary-impact{font-variant-numeric:tabular-nums;color:var(--text);flex-shrink:0;font-weight:600}.replay-sidebar-section-body{flex-direction:column;min-height:0;display:flex}.replay-sidebar-section-grow>.replay-sidebar-section-body{flex:1 1 0;min-height:0;overflow-y:auto}.replay-sidebar-section-grow .move-list-table{flex-direction:column;display:flex}.replay-sidebar-footer .replay-sidebar-section{border:none;margin:0}.replay-sidebar-footer .replay-sidebar-section-header{background:0 0;padding-left:.625rem;padding-right:.625rem}.replay-sidebar-footer .replay-sidebar-section-body{padding:0}.top-moves-panel-embedded{border-bottom:none}.coach-greeting{flex-direction:row;justify-content:flex-start;align-items:flex-start;gap:.75rem;padding:.625rem .75rem .75rem;display:flex}.coach-greeting-avatar{object-fit:cover;border:1px solid var(--border);background:var(--bg);border-radius:999px;flex-shrink:0;align-self:flex-start;width:2.5rem;height:2.5rem}.coach-greeting-message{text-align:left;flex:1;min-width:0;margin:0;padding-top:.125rem;font-size:.8125rem;line-height:1.45}.coach-section-idle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.coach-panel-body{flex-direction:column;gap:.375rem;padding:.375rem .75rem .5rem;display:flex}.coach-panel-layout{align-items:center;gap:.5rem;display:flex}.coach-panel-copy{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.coach-panel-best-move-label{margin:0;font-size:.75rem;line-height:1.35}.coach-panel-summary,.coach-panel-copy .coach-move-summary{min-width:0;color:var(--text-muted);text-align:left;flex:1;font-size:.75rem;line-height:1.35}.coach-explanation-overlay{z-index:20;background:var(--surface);border-top:1px solid var(--border);flex-direction:column;display:flex;position:absolute;inset:0}.coach-explanation-overlay-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;display:flex}.coach-explanation-overlay-heading{flex-direction:column;gap:.15rem;min-width:0;display:flex}.coach-explanation-overlay-title{font-size:.8125rem;font-weight:600}.coach-explanation-overlay-subtitle{font-size:.75rem;line-height:1.35}.coach-explanation-overlay-actions{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.coach-explanation-overlay-body{flex:1;min-height:0;padding:.75rem;overflow-y:auto}.coach-panel,.coach-tab{flex-direction:column;flex-shrink:0;gap:.625rem;display:flex}.coach-panel-header{align-items:center;gap:.5rem;display:flex}.coach-panel-title,.coach-section-title{margin:0;font-size:.8125rem;font-weight:600}.coach-skill-select{align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.coach-skill-select select{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--bg);min-width:0;color:var(--text);flex:1;padding:.35rem .5rem;font-size:.8125rem}.coach-content{white-space:pre-wrap;font-size:.875rem;line-height:1.55}.coach-move-link{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent-soft);color:var(--accent);font:inherit;cursor:pointer;vertical-align:baseline;border-radius:4px;margin:0 .1em;padding:.1em .35em;font-weight:500;line-height:1.4;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline}.coach-move-link:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--bg));color:var(--accent-hover)}.coach-move-link.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 24%, var(--bg));color:var(--accent-hover)}.coach-move-link.hypothetical{border-style:dashed}.coach-move-link.opponent{border-color:color-mix(in srgb, var(--muted) 45%, transparent);background:color-mix(in srgb, var(--muted) 10%, var(--bg));color:var(--text)}.coach-move-link.opponent:hover,.coach-move-link.opponent.active{border-color:var(--muted);background:color-mix(in srgb, var(--muted) 18%, var(--bg));color:var(--text)}.coach-move-link .inline-san-move{color:inherit}.coach-cursor{animation:1s step-end infinite coach-blink}@keyframes coach-blink{50%{opacity:0}}.coach-cached-badge{font-size:.6875rem}.coach-hint,.coach-empty,.coach-error{margin:0;font-size:.8125rem}.coach-actions{flex-direction:column;flex-shrink:0;align-items:stretch;gap:.375rem;display:flex}.coach-section{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:.25rem;display:flex}.coach-section-first{border-top:none;padding-top:0}.coach-review-section{gap:.625rem}.coach-review-header{align-items:flex-start;gap:.75rem;display:flex}.coach-review-heading{flex-direction:column;gap:.125rem;min-width:0;display:flex}.coach-review-meta{margin:0;font-size:.75rem;line-height:1.35}.coach-review-body{flex-direction:column;gap:.625rem;display:flex}.coach-review-intro,.coach-review-content{margin:0;font-size:.8125rem;line-height:1.45}.coach-review-actions{flex-wrap:wrap;gap:.5rem;display:flex}.coach-highlights{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.coach-highlight-row{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--bg);text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem;width:100%;padding:.45rem .5rem;font-size:.8125rem;display:grid}.coach-highlight-row:hover,.coach-highlight-row.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg))}.coach-highlight-ply{font-variant-numeric:tabular-nums;color:var(--muted)}.coach-highlight-eval{font-size:.75rem}.coach-chat-log{flex-direction:column;gap:.5rem;max-height:12rem;display:flex;overflow-y:auto}.coach-chat-msg{border-radius:calc(var(--radius) - 2px);white-space:pre-wrap;padding:.5rem .625rem;font-size:.8125rem;line-height:1.45}.coach-chat-user{background:color-mix(in srgb, var(--accent) 12%, var(--bg));align-self:flex-end;max-width:92%}.coach-chat-assistant{background:var(--bg-elevated,var(--bg));border:1px solid var(--border);align-self:flex-start;max-width:100%}.coach-chat-form{gap:.5rem;display:flex}.coach-chat-form input{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--bg);min-width:0;color:var(--text);flex:1;padding:.45rem .625rem;font-size:.8125rem}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.top-moves-panel{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.top-moves-header{text-transform:uppercase;letter-spacing:.03em;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .875rem .375rem;font-size:.75rem;font-weight:600;display:flex}.top-moves-status{text-transform:none;letter-spacing:normal;font-size:.6875rem;font-weight:500}.top-moves-empty{margin:0;padding:0 .875rem .5rem;font-size:.875rem}.top-moves-list{margin:0;padding:0 .375rem .5rem;list-style:none}.top-move-row{border-radius:calc(var(--radius) - 4px);cursor:default;justify-content:space-between;align-items:center;gap:.75rem;padding:.3125rem .5rem;font-size:.875rem;transition:background-color .12s;display:flex}.top-move-row:not(.top-move-row-placeholder):hover{background-color:var(--table-row-hover)}.top-move-row:not(.top-move-row-placeholder):first-child:hover{background-color:color-mix(in srgb, var(--accent-soft) 75%, var(--hover-overlay))}.top-move-row-interactive{cursor:pointer}.top-move-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.top-move-row:first-child{background:var(--accent-soft)}.top-move-row-placeholder{pointer-events:none}.top-move-row-placeholder:first-child{background:0 0}.top-move-san{font-variant-numeric:tabular-nums;font-weight:600}.top-move-san .inline-san-move{font-size:inherit}.top-move-eval{font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0;font-size:.8125rem;font-weight:600}.top-move-row:first-child .top-move-eval{color:var(--accent)}.top-move-eval-live{opacity:.85}.top-moves-panel-searching .top-move-eval-live{animation:.9s ease-in-out infinite top-move-eval-pulse}@keyframes top-move-eval-pulse{0%,to{opacity:.65}50%{opacity:1}}.top-move-preview{z-index:200;pointer-events:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);position:fixed;overflow:hidden;box-shadow:0 8px 24px #0000002e,0 2px 6px #00000014}.top-move-preview .chess-board-wrap,.top-move-preview .chess-board{width:100%;height:100%}#replay-panel-moves .move-list-table{flex:auto;min-height:0;overflow-y:auto}.replay-tab-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem .875rem;font-size:.8125rem;display:flex}.summary-tab,.info-tab-content,.settings-tab,.coach-tab{padding:.875rem}.settings-tab{flex-direction:column;gap:.75rem;display:flex}.replay-setting-block{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--bg);flex-direction:column;gap:.625rem;padding:.75rem;display:flex}.board-theme-picker{flex-wrap:wrap;gap:.5rem;display:flex}.board-theme-option{border-radius:calc(var(--radius) - 2px);cursor:pointer;background:0 0;border:2px solid #0000;padding:0;line-height:0;transition:border-color .12s,box-shadow .12s;display:block}.board-theme-option:hover{border-color:var(--border)}.board-theme-option.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.board-theme-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.board-theme-swatch{background-size:cover;border-radius:4px;width:2.25rem;height:2.25rem;display:block;box-shadow:inset 0 0 0 1px #0000001f}.piece-set-picker{flex-wrap:wrap;gap:.5rem;display:flex}.piece-set-option{border-radius:calc(var(--radius) - 2px);background:var(--surface);cursor:pointer;border:2px solid #0000;padding:.375rem .5rem;line-height:0;transition:border-color .12s,box-shadow .12s;display:block}.piece-set-option:hover{border-color:var(--border)}.piece-set-option.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.piece-set-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.piece-set-preview{align-items:center;gap:.125rem;display:flex}.piece-set-preview-piece{background-position:50%;background-repeat:no-repeat;background-size:contain;width:1.5rem;height:1.5rem;display:block}.replay-setting{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:flex-start;gap:.875rem;padding:.75rem;display:flex}.replay-setting:hover{background:var(--hover-overlay)}.replay-setting-text{flex-direction:column;gap:.25rem;min-width:0;display:flex}.replay-setting-label{font-size:.875rem;font-weight:600}.replay-setting-desc{font-size:.8125rem;line-height:1.4}.replay-setting-select{width:100%;max-width:12rem}.replay-setting-toggle{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:.125rem 0 0}.summary-empty,.info-empty{margin:0;padding:1.25rem .875rem;font-size:.875rem;line-height:1.5}.summary-outcome{margin:0 0 1rem;font-size:1rem;font-weight:600;line-height:1.35}.summary-outcome-win{color:var(--result-win)}.summary-outcome-loss{color:var(--result-loss)}.summary-outcome-draw{color:var(--result-draw)}.summary-players{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem;display:grid}.summary-player{background:var(--bg);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);flex-direction:column;gap:.625rem;padding:.75rem;display:flex}.summary-player-name{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.summary-stat{flex-direction:column;gap:.125rem;display:flex}.summary-stat-value{font-variant-numeric:tabular-nums;color:var(--accent);font-size:1.375rem;font-weight:700;line-height:1.1}.summary-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.6875rem;font-weight:600}.summary-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .625rem;font-size:.8125rem;font-weight:600}.summary-grade-table{flex-direction:column;gap:.25rem;display:flex}.summary-grade-header,.summary-grade-row{grid-template-columns:1fr 3rem 3rem;align-items:center;gap:.5rem;font-size:.8125rem;display:grid}.summary-grade-header{color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.375rem;font-weight:600}.summary-grade-label{font-weight:600}.summary-grade-count{text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.summary-meta{margin:1rem 0 0;font-size:.75rem}.info-tab{grid-template-columns:auto 1fr;gap:.375rem 1rem;margin:0;display:grid}.info-tab dt{color:var(--text-muted);margin:0;font-size:.8125rem;font-weight:600}.info-tab dd{word-break:break-word;margin:0;font-size:.875rem}.move-list-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:500}.move-list-table{flex-direction:column;display:flex}.move-row{border-bottom:1px solid var(--border);grid-template-columns:2.25rem 1fr 1fr;display:grid}.move-row:last-child{border-bottom:none}.move-num{color:var(--text-muted);font-variant-numeric:tabular-nums;border-right:1px solid var(--border);justify-content:center;align-items:center;padding:.375rem 0;font-size:.8125rem;display:flex}.move-cell{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:.4375rem .75rem;font-size:.875rem;font-weight:500}.move-cell:hover:not(:disabled){background:var(--hover-overlay)}.move-cell.active{background:var(--accent-soft);color:var(--accent)}.move-cell-branch .move-san{font-style:italic}.move-san .inline-san-move{font-weight:inherit}.branch-playground-hint{border-bottom:1px solid var(--border);margin:0;padding:.375rem .875rem .5rem;font-size:.75rem;line-height:1.4}.move-cell.empty,.move-cell:disabled{cursor:default;color:#0000}.replay-nav{justify-content:center}.replay-nav .btn{min-width:2.75rem;padding-left:.75rem;padding-right:.75rem;font-size:1rem;line-height:1}.move-list{flex-wrap:wrap;gap:.25rem;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.move-list.compact{flex-flow:column}.move-list li button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:.25rem .5rem;font-size:.875rem}.move-list li button:hover{background:var(--hover-overlay)}.board-with-eval{flex-direction:row;align-items:stretch;gap:0;width:100%;max-width:min(100%,100vh - 11rem);display:flex}.eval-bar{flex-direction:column;flex-shrink:0;align-self:stretch;width:1.75rem;min-height:0;display:flex}.eval-bar-track{border:1px solid var(--border);background:#1a1a1a;border-radius:4px;flex-direction:column;flex:1;justify-content:flex-end;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.eval-bar-fill{width:100%;transition:height .2s}.eval-bar-white{background:#f0f0f0}.eval-bar-label{z-index:1;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 2px #000,0 0 4px #000,0 1px 2px #000000e6;pointer-events:none;white-space:nowrap;font-size:.5625rem;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eval-bar-empty .eval-bar-track{background:var(--surface)}.replay-board-area{flex-direction:column;gap:.75rem;width:100%;min-width:0;display:flex}.game-detail .board-column{flex:1;width:100%;min-width:0;max-width:none}.game-detail .chess-board-wrap{width:100%;max-width:none}.eval-graph{background:#1a1a1a;border:none;border-radius:0;padding:.25rem .375rem}.eval-graph-svg{width:100%;height:auto;display:block}.eval-graph-fill-white{fill:#f0f0f0}.eval-graph-fill-black{fill:#0d0d0d}.eval-graph-midline{stroke:#fff3;stroke-width:1px}.eval-graph-line{stroke:#fff;stroke-width:1.5px}.eval-graph-point{fill:#0000;cursor:pointer}.eval-graph-point:hover{fill:#fff3}.eval-graph-cursor{stroke:#ff9800;stroke-width:1px;opacity:.85}.eval-graph-grade{stroke:#1a1a1a;stroke-width:1px}.eval-graph-grade-brilliant{fill:var(--grade-brilliant)}.eval-graph-grade-great{fill:var(--grade-great)}.eval-graph-grade-good{fill:var(--grade-good)}.eval-graph-grade-inaccuracy{fill:var(--grade-inaccuracy)}.eval-graph-grade-mistake{fill:var(--grade-mistake)}.eval-graph-grade-blunder{fill:var(--grade-blunder)}.analysis-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1rem 1.25rem}.analysis-panel-embedded{border:none;border-top:1px solid var(--border);background:0 0;border-radius:0;margin:1rem 0 0;padding:1rem 0 0}.analysis-panel-embedded .analysis-panel-header{margin-bottom:.625rem}.analysis-panel-embedded .analysis-panel-header h2{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.875rem}.analysis-panel-embedded .analysis-actions{flex-direction:column;align-items:stretch}.analysis-panel-embedded .analysis-progress{max-width:none}.analysis-panel-embedded .btn{width:100%}.analysis-panel-header{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.analysis-panel-header h2{margin:0;font-size:1.125rem}.analysis-engine-note{margin:0;font-size:.8125rem}.analysis-stale{color:var(--danger);margin:0 0 .75rem;font-size:.875rem}.analysis-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.analysis-progress{background:var(--bg);border-radius:3px;flex:1;min-width:120px;max-width:280px;height:6px;overflow:hidden}.analysis-progress-bar{background:var(--accent);height:100%;transition:width .15s}.analyze-games-modal-progress{flex-direction:column;gap:.5rem;display:flex}.analyze-games-modal-progress .analysis-progress{max-width:none}.analyze-games-modal-game-count,.analyze-games-modal-move-count{margin:0;font-size:.875rem}.analyze-games-modal-results{flex-direction:column;gap:.375rem;max-height:12rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.analyze-games-modal-result{justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.875rem;display:flex}.analyze-games-modal-result-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.analyze-games-modal-result-status{flex-shrink:0;font-size:.8125rem}.analyze-games-modal-result-failed .analyze-games-modal-result-status{color:var(--danger)}.move-cell{justify-content:space-between;align-items:center;gap:.25rem;display:flex}.move-grade{text-align:right;flex-shrink:0;min-width:1.25rem;font-size:.6875rem;font-weight:700}.accounts-page,.stats-panel--constrained{max-width:56rem}.stats-panel--wide{max-width:none}.accounts-page-desc{max-width:42rem;color:var(--text-muted);margin:.35rem 0 0;font-size:.875rem;line-height:1.5}.accounts-page-error{margin:0 0 1rem}.settings-page{max-width:40rem}.settings-page-desc{margin:.35rem 0 0;font-size:.875rem;line-height:1.5}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1.5rem;padding:1rem}.settings-section-title{margin:0 0 .35rem;font-size:1rem}.settings-section-desc{margin:0 0 1rem;font-size:.875rem}.settings-subsection-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .625rem;font-size:.8125rem;font-weight:600}.settings-subsection-title:not(:first-of-type){margin-top:1.25rem}.settings-subsection-desc{margin:-.35rem 0 .75rem;font-size:.8125rem;line-height:1.45}.settings-coach-avatar-grid{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.5rem;display:grid}.settings-coach-avatar-option{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .5rem;display:flex}.settings-coach-avatar-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.settings-coach-avatar-option input{opacity:0;pointer-events:none;position:absolute}.settings-coach-avatar-name{font-size:.8125rem;font-weight:500}.settings-coach-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem;display:grid}.settings-coach-option{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);cursor:pointer;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.settings-coach-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.settings-coach-option input{opacity:0;pointer-events:none;position:absolute}.settings-coach-avatar{object-fit:cover;border:1px solid var(--border);background:var(--bg);border-radius:999px;flex-shrink:0;width:3.5rem;height:3.5rem}.settings-coach-option-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.settings-option-list{flex-direction:column;gap:.5rem;display:flex}.settings-option{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);cursor:pointer;align-items:flex-start;gap:.625rem;padding:.75rem;display:flex}.settings-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.settings-option input{flex-shrink:0;margin-top:.2rem}.settings-option-text{flex-direction:column;gap:.2rem;display:flex}.settings-option-label{font-size:.875rem;font-weight:500}.settings-option-desc{font-size:.8125rem;line-height:1.45}.settings-back{margin-top:1.5rem;font-size:.875rem}.accounts-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:0;overflow:hidden}.accounts-table{flex-direction:column;display:flex}.accounts-table-header,.accounts-table-row{grid-template-columns:minmax(10rem,1.4fr) 4.5rem 9rem 6.5rem minmax(10rem,1fr);align-items:center;gap:.75rem;padding:.75rem 1rem;display:grid}.accounts-table-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--table-header-bg);border-bottom:1px solid var(--border);font-size:.6875rem;font-weight:600}.accounts-table-row{border-bottom:1px solid var(--border);font-size:.875rem}.accounts-table-row:last-child{border-bottom:none}.accounts-table-account{flex-direction:column;gap:.2rem;min-width:0;display:flex}.accounts-table-label{font-weight:600}.accounts-table-badge{color:var(--text-muted);font-size:.6875rem}.accounts-table-games,.accounts-table-imported,.accounts-table-stats{font-variant-numeric:tabular-nums}.accounts-stats-included{color:var(--result-win);font-weight:600}.accounts-stats-excluded{color:var(--text-muted)}.accounts-table-toggle .checkbox-field{font-size:.8125rem}@media (width<=760px){.accounts-table-header{display:none}.accounts-table-row{grid-template-columns:1fr;gap:.5rem;padding:1rem}.accounts-table-games:before,.accounts-table-imported:before,.accounts-table-stats:before{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-right:.35rem;font-size:.6875rem;font-weight:600}.accounts-table-games:before{content:"Games"}.accounts-table-imported:before{content:"Last import"}.accounts-table-stats:before{content:"Statistics"}}.stats-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1.25rem;display:flex}.stats-tab{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem 1rem;font-weight:600}.stats-tab.active{color:inherit;border-bottom-color:var(--accent)}.stats-rating-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.25rem;margin-bottom:1rem;display:flex}.stats-rating-desc{max-width:36rem;color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.5}.stats-rating-filter{flex-direction:column;gap:.35rem;min-width:12rem;display:flex}.stats-rating-select{width:12rem}.stats-rating-chart-wrap{flex-direction:column;gap:1rem;display:flex}.stats-rating-chart{width:100%;height:auto;min-height:18rem;display:block}.stats-rating-chart-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:4 4}.stats-rating-chart-axis{stroke:var(--border);stroke-width:1px}.stats-rating-chart-axis-label{fill:var(--text-muted);font-size:12px}.stats-rating-chart-axis-label--y{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.stats-rating-chart-axis-label--x{font-size:11px}.stats-rating-chart-line{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.stats-rating-chart-dot{stroke:var(--surface);stroke-width:1.5px}.stats-rating-legend{flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:0;list-style:none;display:flex}.stats-rating-legend li{grid-template-columns:.75rem 1fr auto;align-items:center;gap:.5rem;font-size:.8125rem;display:grid}.stats-rating-legend-swatch{border-radius:999px;width:.75rem;height:.75rem}.stats-rating-legend-label{color:var(--text-muted)}.stats-rating-legend-value{font-variant-numeric:tabular-nums;font-weight:700}.stats-overview{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.stats-overview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.125rem;padding:1rem;display:flex}.stats-overview-value{font-variant-numeric:tabular-nums;color:var(--accent);font-size:1.5rem;font-weight:700;line-height:1.1}.stats-overview-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.6875rem;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-bottom:1rem;display:grid}.stats-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.125rem}.stats-card--wide{margin-bottom:1rem}.stats-card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .875rem;font-size:.8125rem;font-weight:600}.stats-card-hint{color:var(--text-muted);margin:.75rem 0 0;font-size:.75rem}.stats-hero-value{font-variant-numeric:tabular-nums;color:var(--accent);margin:0;font-size:2.25rem;font-weight:700;line-height:1.1}.stats-empty{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.5}.stats-bar-chart ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.stats-bar-row{grid-template-columns:5.5rem 1fr 3rem;align-items:center;gap:.5rem;font-size:.8125rem;display:grid}.stats-bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);overflow:hidden}.stats-bar-track{background:var(--bg);border-radius:999px;height:.5rem;overflow:hidden}.stats-bar-fill{background:var(--accent);border-radius:999px;min-width:2px;height:100%}.stats-bar-chart--neutral .stats-bar-fill{background:var(--stats-bar-fill)}.stats-bar-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.stats-donut-wrap{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.stats-donut-ring{flex-shrink:0;width:6.5rem;height:6.5rem;position:relative}.stats-donut{border-radius:50%;width:100%;height:100%;-webkit-mask:radial-gradient(circle,#0000 64%,#000 64.5%);mask:radial-gradient(circle,#0000 64%,#000 64.5%)}.stats-donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stats-donut-total{font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:700;line-height:1}.stats-donut-total-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.625rem}.stats-donut-legend{flex-direction:column;gap:.375rem;margin:0;padding:0;font-size:.8125rem;list-style:none;display:flex}.stats-donut-legend li{grid-template-columns:.75rem 1fr auto;align-items:center;gap:.5rem;display:grid}.stats-donut-swatch{border-radius:2px;width:.5rem;height:.5rem}.stats-donut-win{background:var(--result-win)}.stats-donut-loss{background:var(--result-loss)}.stats-donut-draw{background:var(--result-draw)}.stats-donut-legend-value{font-variant-numeric:tabular-nums;color:var(--text-muted);font-weight:600}.stats-stacked-chart{flex-direction:column;gap:.5rem;display:flex}.stats-stacked-row{grid-template-columns:5rem 1fr 2rem;align-items:center;gap:.5rem;font-size:.8125rem;display:grid}.stats-stacked-label{color:var(--text-muted)}.stats-stacked-track{background:var(--bg);border-radius:999px;height:.625rem;display:flex;overflow:hidden}.stats-stacked-seg{min-width:1px;height:100%}.stats-stacked-count{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.stats-source-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.stats-source-list li{flex-direction:column;gap:.125rem;font-size:.8125rem;display:flex}.stats-source-label{font-weight:600}.stats-source-meta{color:var(--text-muted);font-size:.75rem}.stats-openings-table{flex-direction:column;gap:.25rem;font-size:.8125rem;display:flex}.stats-openings-header,.stats-openings-row{grid-template-columns:1fr 3rem 2rem 2rem 2rem;align-items:center;gap:.5rem;display:grid}.stats-openings-header{color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.375rem;font-weight:600}.stats-openings-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stats-openings-row span:not(.stats-openings-label){text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.result-win{color:var(--result-win)}.result-loss{color:var(--result-loss)}.result-draw{color:var(--result-draw)}.move-grade-dot{background-color:currentColor;border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;margin-right:4px;display:inline-block}.move-grade-brilliant{color:#26c6da}.move-grade-great{color:#66bb6a}.move-grade-good{color:var(--text-muted)}.move-grade-inaccuracy{color:#ffb74d}.move-grade-mistake{color:#ff8a65}.move-grade-blunder{color:var(--danger)}.move-list li button.active{border-color:var(--accent);color:var(--accent)}.field-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.admin-page{max-width:64rem}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-nav{gap:.5rem;display:flex}.admin-nav-link{border-radius:var(--radius);color:var(--text-muted);padding:.375rem .75rem;font-size:.8125rem;font-weight:600;text-decoration:none}.admin-nav-link:hover{color:var(--text);background:var(--surface)}.admin-nav-link.active{color:var(--accent);background:var(--surface)}.admin-kv-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.admin-kv-list li{justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;display:flex}.admin-kv-list strong{font-variant-numeric:tabular-nums}.admin-table{border-collapse:collapse;width:100%;font-size:.8125rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:.625rem .75rem}.admin-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.6875rem;font-weight:600}.admin-table td{font-variant-numeric:tabular-nums}.admin-table tbody tr:last-child td{border-bottom:none}.admin-pagination-actions{align-items:center;gap:.75rem;display:flex}
