:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e8eef8;--bg:#07111d;--panel:#0f1a29;--panel-alt:#152338;--border:#24344d;--text-muted:#9dafc8;--accent:#91d7ff;--accent-soft:#91d7ff24;--success:#7ce38b;--danger:#ff7b88;--warning:#f3bf62;background:#07111d;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at top,#91d7ff17,#0000 38%),linear-gradient(#09121f 0%,#07111d 100%);min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-width:0;min-height:100dvh}.app-shell{grid-template-columns:260px minmax(0,1fr);width:100%;max-width:100vw;min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--border);background:#07111df5;height:100dvh;padding:24px 18px;position:sticky;top:0}.brand-block{row-gap:2px;margin-bottom:24px;display:grid}.brand-title-row{align-items:center;gap:8px;display:flex}.brand-block h1,.page-header h2,.panel h3,.stat-card h3,.page-section h3{margin:0}.brand-block p,.page-header p,.muted,.helper-text{color:var(--text-muted);margin:4px 0 0 52px}.sidebar-nav{flex-direction:column;gap:10px;display:flex}.nav-link{color:var(--text-muted);border-radius:12px;padding:10px 12px}.nav-link:hover,.nav-link.active{background:var(--accent-soft);color:#fff}.page-shell{width:100%;min-width:0;max-width:100%;padding:28px}.page-stack,.panel-stack,.form-stack,.result-stack,.grid-cards,.note-stack{gap:18px;min-width:0;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel,.card,.stat-card,.empty-state,.board-panel,.move-list,.tag-pill,.note-card{border:1px solid var(--border);background:#0f1a29f2;border-radius:18px;min-width:0}.panel,.card,.stat-card,.empty-state,.note-card{padding:18px}.card-header,.row,.split-row,.metadata-grid,.controls-row,.filter-grid,.import-grid,.settings-grid,.board-controls{flex-wrap:wrap;gap:12px;display:flex}.board-controls{align-items:center}.input-action-row{margin-top:12px}.talk-panel-embedded{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.talk-panel-section{min-width:0}.talk-answer{margin:0 0 18px}.talk-thread{gap:12px;margin:14px 0;display:grid}.talk-exchange{gap:8px;display:grid}.talk-message{width:fit-content;max-width:min(82%,720px)}.talk-message>span{color:var(--text-muted);margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.talk-message p{border:1px solid var(--border);background:#091524;border-radius:14px;margin:0;padding:10px 12px}.talk-message--user{justify-self:end}.talk-message--user>span{text-align:right}.talk-message--user p{background:var(--accent-soft);border-bottom-right-radius:4px}.talk-message--ghost p{border-bottom-left-radius:4px}.talk-message--pending{opacity:.72}.talk-show-button{border-radius:999px;margin-top:7px;padding:6px 10px;font-size:.8rem}.board-clock{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:10px;width:fit-content;margin-left:auto;font-size:.8rem;display:flex}.board-clock--top{margin-bottom:10px}.outcome-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.outcome-badge--win{color:#22c55e;background:#22c55e61;border-color:#22c55eb8}.outcome-badge--loss{color:#ff7b88;background:#ef44442e;border-color:#ef444473}.outcome-badge--draw{color:#f3bf62;background:#f59e0b2e;border-color:#f59e0b73}.board-footer{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.board-clock--bottom{margin-bottom:0}.board-clock-name{color:var(--muted);text-overflow:ellipsis;max-width:14ch;overflow:hidden}.board-clock-rating{color:var(--text-muted);font-variant-numeric:tabular-nums}.board-clock-time{font-variant-numeric:tabular-nums;color:#d7e7ff;text-align:right;min-width:4.5ch;font-size:.88rem;font-weight:700}.split-row,.page-section{justify-content:space-between;align-items:flex-start}.player-heading{align-items:center;gap:12px;min-width:0;display:flex}.opponent-avatar{border:1px solid var(--border);object-fit:cover;background:#091524;border-radius:999px;flex:none}.opponent-avatar-fallback{color:var(--accent);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.page-section{gap:14px;display:grid}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}label{color:var(--text-muted);gap:8px;display:grid}input,select,textarea{border:1px solid var(--border);color:#fff;background:#091524;border-radius:12px;width:100%;padding:10px 12px}textarea{resize:vertical;min-height:96px}button,.button-link{background:var(--accent);color:#07111d;border:1px solid #0000;border-radius:12px;padding:10px 14px;font-weight:600}button.secondary,.button-link.secondary{border-color:var(--border);color:#fff;background:0 0}button.danger{background:var(--danger)}button.ghost{border-color:var(--border);color:#fff;background:#ffffff05}button:disabled{opacity:.55;cursor:not-allowed}.tag-cloud{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:6px;display:flex}.tag-pill{color:#b9e9ff;letter-spacing:.01em;background:#7dd3fc1a;border:1px solid #7dd3fc42;border-radius:999px;align-items:center;width:fit-content;padding:2px 8px;font-size:.75rem;font-weight:600;line-height:1.15;display:inline-flex}.status-pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:4px 10px;display:inline-flex}.stat-value{font-size:1.9rem;font-weight:700}.empty-state{text-align:center;padding:34px 18px}.board-layout{grid-template-columns:minmax(320px,520px) minmax(260px,1fr);align-items:start;gap:18px;display:grid}.board-column{min-width:0}.board-panel,.move-list{padding:16px}.move-list{flex-direction:column;min-height:0;display:flex;overflow:hidden}.move-list-title-row{align-items:center;gap:7px;margin-bottom:12px;display:flex}.move-list-title-row h3{margin:0}.move-list-exit-analysis{width:28px;min-width:28px;height:28px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;padding:4px;display:inline-grid}.move-list-exit-analysis:hover{color:var(--text);border-color:var(--border);background:#ffffff0d}.move-list-exit-analysis svg{width:19px;height:19px}.media-button{text-align:center;letter-spacing:0;border:1px solid var(--border);color:#d7e7ff;background:linear-gradient(#1b2c44 0%,#15263c 100%);border-radius:999px;width:44px;min-width:44px;height:44px;padding:0;font-size:.96rem;font-weight:700;line-height:1;transition:transform 80ms,filter .12s,box-shadow .12s;box-shadow:0 4px 10px #00000047,inset 0 1px #ffffff1a}.media-button:hover{filter:brightness(1.07);box-shadow:0 6px 14px #00000057,inset 0 1px #ffffff24}.media-button:active{transform:translateY(1px);box-shadow:0 2px 6px #00000059,inset 0 1px #ffffff14}.media-icon{width:21px;height:21px;margin:0 auto;display:block}.autoplay-button{width:54px;min-width:54px}.autoplay-button.active{color:#06210f;background:linear-gradient(#84f09a 0%,#64d77c 100%);border-color:#0000;box-shadow:0 6px 14px #40b96159,inset 0 1px #fff3}.simple-board{z-index:0;aspect-ratio:1;border:1px solid #20324a;border-radius:10px;grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:1fr;width:min(100%,520px);transition:box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 28px #00000059,inset 0 2px #ffffff0a}.simple-board.suggested-progress{box-shadow:0 12px 30px #00000052,inset 0 0 0 1px #91d7ff59}.board-wrap{isolation:isolate;width:min(100%,520px);position:relative}.board-wrap .simple-board{width:100%}.board-arrows{z-index:10;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.board-piece-animation-layer{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.board-piece-animation{will-change:transform;place-items:center;width:12.5%;height:12.5%;animation:.26s cubic-bezier(.22,.72,.22,1) both board-piece-move;display:grid;position:absolute}.board-piece-animation img{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 1px #00000059);width:86%;height:86%}.board-piece-image.move-animation-destination{visibility:hidden}@keyframes board-piece-move{0%{transform:translate(0,0)}to{transform:translate3d(var(--move-animation-x), var(--move-animation-y), 0)}}.board-arrow-suggested{animation:.22s ease-out 70ms both board-suggested-arrow-in}@keyframes board-suggested-arrow-in{0%{opacity:0}to{opacity:var(--board-suggested-opacity,.58)}}@media (prefers-reduced-motion:reduce){.board-piece-animation,.board-arrow-suggested{animation:none}}.board-square{aspect-ratio:1;place-items:center;min-width:0;min-height:0;display:grid;position:relative}.board-square.light{background:#e7d8b2;transition:background-color .18s}.board-square.dark{background:#71573b;transition:background-color .18s}.board-square.checked-king:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#ff5656bd 0%,#dc262685 48%,#7f1d1d1f 72%,#0000 76%);border-radius:14%;position:absolute;inset:5%;box-shadow:inset 0 0 0 2px #fecaca9e,0 0 12px #ef44447a}.simple-board.suggested-progress .board-square.light{background:#ac9e81}.simple-board.suggested-progress .board-square.dark{background:#59442e}.board-piece-image{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 1px #00000059);width:86%;height:86%;position:relative}.rank-label,.file-label{-webkit-user-select:none;user-select:none;opacity:.75;font-size:.62rem;font-weight:700;line-height:1;position:absolute}.rank-label{top:3px;left:4px}.file-label{bottom:3px;right:4px}.board-square.light .rank-label,.board-square.light .file-label{color:#6d4e2d}.board-square.dark .rank-label,.board-square.dark .file-label{color:#f2e5cf}.move-list ol{columns:2;padding-left:18px}.move-table-wrap{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;overflow:auto}.move-table-wrap::-webkit-scrollbar{width:0;height:0}.move-table{border-collapse:collapse;width:100%;min-width:520px}.move-table th,.move-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:6px 8px}.move-table th{color:var(--text-muted);font-size:.8rem;font-weight:700}.move-number-cell{color:var(--text-muted);width:56px}.move-button{width:100%;color:inherit;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;padding:4px 8px;display:inline-flex}.move-button.active{background:var(--accent-soft);border-color:#91d7ff59}.move-button.suggested-active{box-shadow:inset 0 0 0 1px #91d7ff47}.move-cell-actions{align-items:center;gap:6px;width:100%;display:inline-flex}.move-suggest-button{color:#9fb1c9;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:26px;min-width:26px;height:26px;padding:0;display:inline-flex}.move-suggest-button.active{color:#dff2ff}.move-suggest-button:hover{background:#91d7ff14;border-color:#91d7ff42}.move-suggest-icon{width:15px;height:15px}.move-suggest-content{align-items:center;gap:2px;display:inline-flex}.move-suggest-play-icon{flex:none;width:11px;height:11px}.move-suggest-play-icon.progress{color:#91d7ff;width:12px;height:12px}.suggested-progress-line{color:#d6ecff;background:#91d7ff14;border:1px solid #91d7ff2e;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding:6px 8px;font-size:.75rem;line-height:1.2;display:flex}.suggested-progress-play{width:20px;height:20px;color:inherit;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.suggested-progress-play:hover{background:#91d7ff24}.suggested-progress-play.active{background:#91d7ff2e}.suggested-progress-step{color:inherit;cursor:pointer;appearance:none;background:#ffffff08;border:1px solid #0000;border-radius:999px;align-items:center;gap:2px;padding:2px 7px;display:inline-flex}.suggested-progress-step:hover{background:#91d7ff1f;border-color:#91d7ff38}.suggested-progress-step.active{color:#fff;background:#91d7ff2e;border-color:#91d7ff59;font-weight:700}.move-label{text-transform:capitalize;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700}.move-label-group{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.move-label.best{color:#f0fdf4;background:#16a34a;border-color:#16a34a}.move-label.good{color:#06210f;background:#6dffb0;border-color:#6dffb0}.move-label.inaccuracy{color:#211200;background:#f59e0b;border-color:#f59e0b}.move-label.mistake{color:#fff7ed;background:#f97316;border-color:#f97316}.move-label.blunder{color:#fff5f5;background:#ef4444;border-color:#ef4444}.move-label.excellent{color:#eff6ff;background:#3b82f6;border-color:#3b82f6}.move-label.great{color:#f0fdf4;background:#22c55e;border-color:#22c55e}.move-label.brilliant{color:#f8fafc;background:#2dd4bf;border-color:#2dd4bf}.move-label.terminal{color:#dbeafe;background:#3b82f633;border-color:#3b82f680}.search-group-toggle{width:100%;box-shadow:none;color:inherit;text-align:left;background:0 0;border:0;padding:0}.search-chat-turn{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:10px;max-width:720px;display:grid}.search-chat-avatar{padding-top:20px}.search-chat-content{min-width:0}.search-chat-speaker{color:var(--text-muted);margin:0 0 5px 12px;font-size:.78rem;font-weight:700;display:block}.search-chat-bubble{background:#0f1a29f5;border:1px solid #91d7ff3d;border-radius:6px 18px 18px;width:fit-content;max-width:100%;padding:12px 15px;box-shadow:0 8px 20px #0003}.search-chat-bubble p{margin:0}.search-chat-detail{color:var(--text-muted);font-size:.9rem;margin-top:5px!important}.search-chat-replies{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.search-chat-replies button{border-radius:999px;padding:7px 11px}.search-chat-remember{width:fit-content;color:var(--text-muted);cursor:pointer;align-items:center;gap:7px;font-size:.85rem;display:flex}.search-chat-remember input{flex:none;width:16px;height:16px;margin:0;padding:0}.search-chat-footnote{color:var(--text-muted);margin:8px 0 0;font-size:.8rem}.search-chat-footnote a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.search-group-toggle:hover{box-shadow:none;background:0 0;transform:none}.search-group-games{border-left:2px solid #91d7ff38;gap:.75rem;margin:.75rem 0 1rem 1rem;padding-left:1rem;display:grid}.progress-bar{border:1px solid var(--border);background:#08111b;border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-fill,.progress-bar-fill{background:linear-gradient(90deg, var(--accent), #d8f3ff);border-radius:inherit;height:100%;transition:width .35s}.loading-dots{vertical-align:bottom;width:3ch;animation:1s steps(4,end) infinite loading-dots;display:inline-block;overflow:hidden}@keyframes loading-dots{0%{width:0}to{width:3ch}}pre{white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);background:#091524;border-radius:12px;padding:14px}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.board-layout{grid-template-columns:1fr}}@media (width<=720px){.page-shell{padding:16px}.move-list ol{columns:1}}
