.habits-dashboard{background:var(--bg-secondary,#1a1a2e);border-radius:12px;padding:1rem}.habits-dashboard.loading,.habits-dashboard.error,.habits-dashboard.empty{min-height:200px;color:var(--text-secondary,#9ca3af);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.habits-dashboard.empty .empty-hint{opacity:.7;font-size:.85rem}.loading-spinner{color:var(--accent,#6366f1)}.habits-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.habits-title h3{color:var(--text-primary,#fff);margin:0;font-size:1.1rem;font-weight:600}.habits-subtitle{color:var(--text-secondary,#9ca3af);margin-top:.25rem;font-size:.8rem;display:block}.habits-view-toggle{background:var(--bg-tertiary,#0f0f23);border-radius:8px;gap:.25rem;padding:3px;display:flex}.habits-view-toggle button{color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.8rem;transition:all .2s}.habits-view-toggle button.active{background:var(--accent,#6366f1);color:#fff}.habits-view-toggle button:hover:not(.active){background:var(--bg-hover,#2a2a4a)}.habits-grid{flex-direction:column;gap:1.5rem;display:flex}.habits-section h4{color:var(--text-primary,#fff);margin:0 0 .75rem;font-size:.9rem;font-weight:500}.habits-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.875rem;display:grid}.habit-card{background:var(--bg-tertiary,#0f0f23);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:10px;padding:.875rem;transition:all .2s}.habit-card:hover{border-color:var(--border-hover,#4a4a6a);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.habit-card:active{box-shadow:none;transform:translateY(0)}.habit-card:focus-visible{outline:2px solid var(--accent,#6366f1);outline-offset:2px}.habit-card.strength{border-left:3px solid #22c55e}.habit-card.weakness{border-left:3px solid #ef4444}.habit-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.habit-name{color:var(--text-primary,#fff);font-size:.85rem;font-weight:600;line-height:1.3}.trend-badge{white-space:nowrap;border-radius:4px;padding:.15rem .4rem;font-size:.7rem;font-weight:500}.trend-badge.trend-up{color:#22c55e;background:#22c55e26}.trend-badge.trend-down{color:#ef4444;background:#ef444426}.trend-badge.trend-stable{color:#9ca3af;background:#9ca3af26}.habit-metrics{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.habit-accuracy{flex-direction:column;gap:.1rem;display:flex}.accuracy-value{color:var(--text-primary,#fff);font-size:1.25rem;font-weight:700}.accuracy-deviation{font-size:.75rem;font-weight:500}.accuracy-deviation.positive{color:#22c55e}.accuracy-deviation.negative{color:#ef4444}.sparkline{flex-shrink:0}.habit-additional-metrics{border-top:1px solid var(--border-color,#2a2a4a);flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;padding-top:.5rem;display:flex}.habit-metric-item{color:var(--text-secondary,#9ca3af);background:var(--bg-secondary,#1a1a2e);border-radius:4px;padding:.2rem .4rem;font-size:.7rem}.habit-footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.habit-sample{color:var(--text-tertiary,#6b7280);font-size:.7rem}.significance-bar{background:var(--bg-secondary,#1a1a2e);border-radius:2px;width:40px;height:3px;overflow:hidden}.significance-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:2px;height:100%;transition:width .3s}.habits-trend-view{min-height:280px}.trend-chart-container{background:var(--bg-tertiary,#0f0f23);border-radius:10px;padding:1rem}.trend-chart-legend{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.legend-item{background:var(--bg-secondary,#1a1a2e);color:var(--text-secondary,#9ca3af);cursor:pointer;border:2px solid #0000;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.75rem;transition:all .2s;display:flex}.legend-item:hover{background:var(--bg-hover,#2a2a4a)}.legend-item.active{color:var(--text-primary,#fff)}.legend-dot{border-radius:50%;width:8px;height:8px}.trend-chart-svg{width:100%;max-height:200px;display:block}.axis-label{fill:var(--text-tertiary,#6b7280);font-size:10px}.baseline-label{fill:var(--text-tertiary,#6b7280);font-size:9px}.trend-chart-empty{min-height:150px;color:var(--text-tertiary,#6b7280);justify-content:center;align-items:center;font-size:.85rem;display:flex}.show-more-container{justify-content:center;margin-top:1rem;display:flex}.show-more-btn{background:var(--bg-tertiary,#0f0f23);border:1px solid var(--border-color,#2a2a4a);color:var(--text-secondary,#9ca3af);cursor:pointer;border-radius:8px;padding:.5rem 1.5rem;font-size:.85rem;transition:all .2s}.show-more-btn:hover{background:var(--bg-hover,#2a2a4a);color:var(--text-primary,#fff);border-color:var(--border-hover,#4a4a6a)}.large-sparkline{width:100%;max-height:180px;display:block}.habit-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.habit-modal{background:var(--bg-secondary,#1a1a2e);border-radius:16px;width:100%;max-width:550px;max-height:90vh;animation:.2s ease-out slideUp;overflow-y:auto;box-shadow:0 20px 50px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border-color,#2a2a4a);justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.modal-header h3{color:var(--text-primary,#fff);margin:0;font-size:1.25rem;font-weight:600}.modal-group-badge{color:#fff;border-radius:4px;margin-top:.4rem;padding:.2rem .6rem;font-size:.7rem;font-weight:500;display:inline-block}.modal-close{color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.75rem;line-height:1;transition:all .15s}.modal-close:hover{color:var(--text-primary,#fff);background:var(--bg-hover,#2a2a4a)}.modal-metrics{background:var(--bg-tertiary,#0f0f23);flex-wrap:wrap;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.modal-metric{flex-direction:column;gap:.25rem;min-width:70px;display:flex}.modal-metric .metric-value{color:var(--text-primary,#fff);font-size:1.4rem;font-weight:700}.modal-metric .metric-value.positive{color:#22c55e}.modal-metric .metric-value.negative{color:#ef4444}.modal-metric .metric-label{color:var(--text-tertiary,#6b7280);text-transform:uppercase;letter-spacing:.025em;font-size:.7rem}.modal-chart{min-height:180px;padding:1.25rem 1.5rem}.modal-overlay-options{border-top:1px solid var(--border-color,#2a2a4a);padding:1rem 1.5rem}.modal-overlay-options h4{color:var(--text-secondary,#9ca3af);margin:0 0 .75rem;font-size:.85rem;font-weight:500}.overlay-option{color:var(--text-primary,#fff);cursor:pointer;border-bottom:1px solid var(--border-color,#2a2a4a);align-items:center;gap:.6rem;padding:.5rem 0;font-size:.85rem;display:flex}.overlay-option:last-child{border-bottom:none}.overlay-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent,#6366f1);cursor:pointer}.overlay-label{flex:1;justify-content:space-between;align-items:center;display:flex}.overlay-value{color:var(--text-secondary,#9ca3af);font-size:.8rem}.modal-footer{border-top:1px solid var(--border-color,#2a2a4a);text-align:center;padding:1rem 1.5rem}.modal-footer .habit-sample{color:var(--text-tertiary,#6b7280);font-size:.8rem}@media (max-width:600px){.habits-header{flex-direction:column;align-items:stretch}.habits-view-toggle{align-self:flex-start}.habits-cards{grid-template-columns:1fr}.habit-card{padding:1rem}.trend-chart-legend{justify-content:center}.habit-modal{border-radius:12px 12px 0 0;max-height:100vh;margin-top:auto}.modal-metrics{gap:1rem}.modal-metric .metric-value{font-size:1.2rem}}
.desktop-only{display:none}.mobile-only{display:block}.profile-dashboard-overlay{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex;position:fixed;inset:0}.profile-dashboard-container{width:100%;max-width:100%;height:100dvh;box-shadow:none;background:#1a1a1a;border:none;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.profile-dashboard-mobile-nav{padding:10px 12px;padding-bottom:max(12px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-overflow-scrolling:touch;background:#111111f5;border-top:1px solid #2a2a2a;flex-shrink:0;gap:8px;display:flex;overflow-x:auto}.profile-dashboard-mobile-nav::-webkit-scrollbar{display:none}.profile-dashboard-mobile-nav-item{color:#cbd5e1;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #2d2d2d;border-radius:999px;flex:none;padding:10px 12px;font-size:13px;font-weight:600;line-height:1}.profile-dashboard-mobile-nav-item.active{color:#e0e7ff;background:#4f46e52e;border-color:#818cf899}.profile-dashboard-sidebar{display:none}.mobile-header{padding:16px 20px;padding-top:max(16px,calc(16px + env(safe-area-inset-top)));z-index:10;background:#111;border-bottom:1px solid #333;flex-shrink:0;position:sticky;top:0}.mobile-header-content{align-items:center;gap:12px;display:flex}.user-avatar-small{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex}.mobile-header h3{color:#fff;flex:1;margin:0;font-size:18px}.close-dashboard-btn-mobile{color:#ccc;cursor:pointer;background:0 0;border:1px solid #333;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;line-height:1;transition:all .2s;display:flex}.close-dashboard-btn-mobile:hover{color:#fff;background:#222;border-color:#444}.profile-dashboard-main{background:#161616;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow-y:auto}.dashboard-tab-content{height:100%;padding:20px 16px}@media (min-width:768px){.profile-dashboard-overlay{justify-content:center;align-items:center}.profile-dashboard-container{border:1px solid #333;border-radius:16px;width:90%;max-width:1000px;height:85vh;box-shadow:0 25px 50px -12px #00000080}.mobile-header{display:none}.profile-dashboard-main{padding-bottom:0}.dashboard-tab-content{padding:24px}}@media (min-width:1024px){.desktop-only{display:flex}.mobile-only{display:none}.profile-dashboard-container{flex-direction:row;max-width:1200px}.profile-dashboard-sidebar{background:#111;border-right:1px solid #333;flex-direction:column;width:240px;padding:24px 0;display:flex}.sidebar-header{text-align:center;border-bottom:1px solid #222;padding:0 24px 24px}.user-avatar-large{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 16px;font-size:32px;font-weight:700;display:flex;box-shadow:0 10px 15px -3px #0000004d}.sidebar-nav{flex:1;padding:24px 12px}.nav-item{color:#999;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;width:100%;margin-bottom:8px;padding:12px 16px;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#222}.nav-item.active{color:#818cf8;background:#4f46e51a;border:1px solid #4f46e54d}.nav-label{font-size:15px;font-weight:500}.sidebar-footer{border-top:1px solid #222;padding:24px}.close-dashboard-btn{color:#ccc;cursor:pointer;background:#222;border:1px solid #333;border-radius:8px;width:100%;padding:10px;transition:all .2s}.close-dashboard-btn:hover{color:#fff;background:#333}.profile-dashboard-main{background:#161616;flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.dashboard-tab-content{height:100%;padding:32px}}.dashboard-loading{color:#999;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.spinner{border:3px solid #4f46e51a;border-top-color:#4f46e5;border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-error-banner{color:#fca5a5;background:#450a0a;border:1px solid #7f1d1d;border-radius:8px;padding:12px 24px;font-size:14px;position:absolute;bottom:24px;left:24px;right:24px}.tab-section{margin-bottom:40px}.tab-section h2{color:#fff;margin-bottom:24px;font-size:24px}.lifetime-stats-tab .chart-placeholder{background:#222;border-radius:12px;justify-content:center;align-items:center;height:200px;margin-bottom:24px;display:flex}.simple-rating-viz{align-items:end;gap:2px;width:100%;max-width:600px;height:120px;display:flex}.rating-bar{background:#4f46e5;border-radius:2px 2px 0 0;flex:1;min-width:2px}.chart-info{color:#666;font-size:12px;position:absolute;bottom:12px;left:12px}.tc-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.tc-card{text-align:center;background:#222;border-radius:12px;padding:24px}.tc-card h3{color:#fff;margin-bottom:16px}.tc-pie-viz{background:#333;border-radius:50px;height:100px;margin-bottom:16px;display:flex;overflow:hidden}.pie-slice{height:100%}.pie-slice.wins{background:#22c55e}.pie-slice.draws{background:#f59e0b}.pie-slice.losses{background:#ef4444}.tc-metrics{color:#ccc;justify-content:space-between;font-size:14px;display:flex}.metrics-list{gap:16px;display:grid}.metric-row{background:#222;border-radius:8px;justify-content:space-between;align-items:center;padding:16px;display:flex}.metric-row .label{color:#ccc}.metric-row .value{color:#fff;font-weight:500}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-bottom:32px;display:grid}.stat-card{background:#222;border:1px solid #333;border-radius:12px;padding:24px}.stat-label{color:#999;margin-bottom:8px;font-size:14px;display:block}.stat-value{color:#fff;font-size:28px;font-weight:700}.stat-trend{margin-top:8px;font-size:13px;display:block}.stat-trend.improving{color:#4ade80}.stat-trend.declining{color:#f87171}.stat-trend.stable{color:#94a3b8}.repertoire-item{background:#222;border:1px solid #333;border-radius:8px;justify-content:space-between;margin-bottom:8px;padding:12px 16px;display:flex}.opening-name{color:#fff;font-weight:500}.opening-stats{color:#999;font-size:14px}.opening-main{flex-direction:column;display:flex}.opening-main .opening-eco{color:#666;font-size:12px}.opening-stats{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.opening-stats .win-rate{font-weight:700}.opening-stats .win-rate.positive{color:#4ade80}.opening-stats .win-rate.negative{color:#f87171}.opening-stats .frequency{color:#666;font-size:12px}.highlight-card.green{border-left:4px solid #22c55e}.highlight-card.red{border-left:4px solid #ef4444}.insights-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.insight-card{background:#222;border:1px solid #333;border-radius:12px;padding:20px;transition:all .2s}.insight-card.high-relevance{background:#4f46e50d;border-color:#4f46e580}.insight-header{justify-content:space-between;margin-bottom:12px;font-size:14px;display:flex}.insight-tag{color:#fff;text-transform:capitalize;font-weight:600}.insight-score{color:#666;font-size:12px}.insight-body{justify-content:space-between;margin-bottom:12px;display:flex}.insight-accuracy{font-size:18px;font-weight:700}.insight-accuracy.good{color:#4ade80}.insight-accuracy.poor{color:#f87171}.insight-count{color:#999;font-size:12px}.insight-label{color:#ccc;font-size:12px;font-weight:500}.tilt-plot-container{position:relative;height:350px!important;padding:40px!important}.tilt-plot-wrapper{width:100%;height:100%}.tilt-plot-svg{width:100%;height:100%;overflow:visible}.plot-axes{pointer-events:none;position:absolute;inset:0}.y-axis-label{color:#666;font-size:12px;position:absolute;top:50%;left:-35px;transform:rotate(-90deg)translateY(-50%)}.x-axis-label{color:#666;font-size:12px;position:absolute;bottom:-35px;left:50%;transform:translate(-50%)}.transition-list{flex-direction:column;gap:12px;display:flex}.transition-item{background:#1a1a1a;border-radius:8px;justify-content:space-between;padding:12px;font-size:14px;display:flex}.transition-item .name{color:#ccc;text-transform:capitalize}.transition-item .stats{gap:12px;display:flex}.transition-item .acc{color:#fff;font-weight:600}.transition-item .count{color:#666}.no-data{color:#666;font-size:14px;font-style:italic}.game-card{background:#222;border:1px solid #333;border-radius:8px;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:12px 16px;display:flex}.game-card.win{background:#10b9811a;border-color:#10b9814d}.game-card.loss{background:#ef44441a;border-color:#ef44444d}.game-card.draw{background:#94a3b81a;border-color:#94a3b84d}.game-info{color:#e0e7ff;white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:6px;font-family:inherit;font-size:8px;font-weight:400;display:flex;overflow:hidden}.game-date{color:#cbd5e1;font-family:inherit;font-size:8px;font-weight:400}.game-vs{color:#9ca3af;font-family:inherit;font-size:8px;font-weight:400}.game-opponent{color:#e0e7ff;font-family:inherit;font-size:8px;font-weight:400}.accuracy-bar{background:#333;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.accuracy-fill{background:linear-gradient(90deg,#4f46e5,#7c3aed);height:100%}.accuracy-text{color:#ccc;font-size:12px}.game-actions{gap:12px;display:flex}.view-game-btn,.generate-training-btn{cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:8px;transition:all .2s}.view-game-btn{color:#fff;background:#333;border:1px solid #444}.generate-training-btn{color:#818cf8;background:#4f46e51a;border:1px solid #4f46e54d}.games-load-more{justify-content:center;margin-top:20px;padding:20px 0;display:flex}.load-more-btn{color:#818cf8;cursor:pointer;background:#4f46e51a;border:1px solid #4f46e54d;border-radius:8px;padding:10px 24px;font-size:14px;transition:all .2s}.load-more-btn:hover{background:#4f46e533;border-color:#4f46e580}.pattern-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px;display:grid}.pattern-card{background:#222;border:1px solid #333;border-radius:12px;padding:24px}.pattern-card h3{color:#fff;margin-bottom:20px;font-size:18px}.opening-stat-row{margin-bottom:16px}.opening-info{justify-content:space-between;margin-bottom:8px;font-size:14px;display:flex}.opening-info .name{color:#fff}.opening-info .eco{color:#666}.opening-bar-container{background:#333;border-radius:4px;align-items:center;height:8px;display:flex;position:relative}.opening-bar{background:#4f46e5;border-radius:4px;height:100%}.opening-bar-container .win-rate{color:#999;font-size:12px;position:absolute;right:-40px}.time-patterns{flex-direction:column;gap:16px;display:flex}.style-badge{color:#a78bfa;background:#7c3aed1a;border:1px solid #7c3aed4d;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.opponent-stats{flex-wrap:wrap;gap:20px;display:flex}.stat-box{text-align:center;background:#222;border:1px solid #333;border-radius:12px;flex:1;min-width:200px;padding:20px}.stat-box .label{color:#999;margin-bottom:8px;font-size:13px;display:block}.stat-box .value{color:#fff;font-size:24px;font-weight:700}.training-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}@media (max-width:768px){.training-grid{grid-template-columns:1fr}}.training-card{background:#222;border:1px solid #333;border-radius:12px;flex-direction:column;gap:12px;padding:16px;transition:transform .2s;display:flex}.training-card:hover{border-color:#4f46e5;transform:translateY(-4px)}.training-icon{font-size:32px}.training-info h3{color:#fff;margin-bottom:8px}.training-info p{color:#999;margin-bottom:12px;font-size:14px;line-height:1.5}.difficulty-tag{text-transform:uppercase;letter-spacing:.05em;color:#666;font-size:11px;font-weight:700}.start-training-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;margin-top:auto;padding:10px;font-weight:500;transition:background .2s}.start-training-btn:disabled{opacity:.6;cursor:not-allowed;background:#374151}.start-training-btn:hover{background:#4338ca}.tab-subtitle{color:#666;margin-bottom:24px}
.platform-toggle{gap:8px;display:inline-flex}.platform-chip{color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff40;border-radius:999px;padding:8px 16px;transition:all .2s}.platform-chip.selected{background:var(--text-primary);color:var(--bg-primary);border-color:#0000;box-shadow:0 8px 18px #00000040}:root{--bg-primary:#0c111a;--bg-secondary:#111827;--bg-tertiary:#1a2335;--surface-card:#0f1625;--text-primary:#e8edf5;--text-secondary:#9fb3c8;--text-tertiary:#6b7a90;--border-color:#24324a;--border-hover:#3a4b6b;--accent-primary:#7dd3fc;--accent-color:#7dd3fc;--accent-hover:#5fbce6;--shadow:#00000073;--font-scale:1.05;--radius-lg:18px;--radius-md:12px;--radius-sm:10px;--shadow-soft:0 20px 60px #00000059;--shell-max:1440px;--shell-gutter:clamp(16px,4vw,40px);--transition-fast:.16s ease;--transition-slow:.28s cubic-bezier(.4,.14,.3,1);--bottom-composer-overlay-reserve:104px}[data-theme=day]{--bg-primary:#fdfbf7;--bg-secondary:#f5f1ea;--bg-tertiary:#ebe5db;--surface-card:#fff;--text-primary:#111;--text-secondary:#5a5a5a;--text-tertiary:#8f8f8f;--border-color:#d9d2c7;--border-hover:#c2b9ac;--accent-primary:#0d6efd;--accent-color:#0d6efd;--accent-hover:#0b5ed7;--shadow:#0f0f0f14;--font-scale:1.05}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body{background:var(--bg-primary);height:100%;min-height:100dvh;margin:0;padding:0;overflow:hidden}.app-shell{height:100dvh;min-height:0;padding-top:max(env(safe-area-inset-top,0px),12px);box-sizing:border-box;background:var(--bg-primary);flex-direction:column;padding-bottom:0;display:flex;overflow:hidden}.app-shell.lesson-fullscreen .top-bar{height:72px;padding:0 var(--shell-gutter)}.app-shell.lesson-fullscreen .wordmark{font-size:calc(28px*var(--font-scale))}.chat-layout.lesson-fullscreen{max-width:100%;margin:0}.chat-layout.lesson-fullscreen.with-board .board-column,.chat-layout.lesson-fullscreen.with-board .chat-column{padding:0 clamp(10px,1.6vw,14px)}.app-shell.lesson-fullscreen .lesson-data-button{bottom:calc(var(--bottom-composer-overlay-reserve) + 16px)}.top-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:0 var(--shell-gutter);z-index:100;background:#0c111ae6;flex-shrink:0;justify-content:space-between;align-items:center;height:100px;display:flex;position:relative;box-shadow:0 12px 36px #00000059}.top-bar-left{align-items:center;gap:12px;display:flex}.topbar-shortcut{border:1px solid var(--border-color);background:var(--bg-secondary);height:52px;color:var(--text-primary);letter-spacing:.02em;cursor:pointer;border-radius:999px;padding:0 18px;font-size:14px;transition:all .2s}.topbar-shortcut:hover{border-color:var(--border-hover);background:var(--bg-tertiary)}.history-toggle{width:80px;height:80px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:24px;justify-content:center;align-items:center;font-size:72px;transition:background .2s;display:flex}.history-toggle:hover{background:var(--bg-secondary)}.wordmark{font-size:calc(36px*var(--font-scale));color:var(--text-primary);letter-spacing:-.02em;font-weight:600}.top-bar-actions{align-items:center;gap:12px;display:flex}.theme-toggle,.auth-button{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:16px;padding:18px 34px;font-size:25px;font-weight:500;transition:all .2s}.theme-toggle:hover,.auth-button:hover{background:var(--bg-secondary);border-color:var(--border-hover)}.user-menu{position:relative}.user-avatar{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:999px;align-items:center;gap:12px;padding:10px 18px;font-weight:600;display:flex}.user-avatar-initial{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.user-greeting{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.user-greeting-line{font-size:13px;font-weight:600}.user-dropdown{background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:0 10px 30px var(--shadow);border-radius:12px;flex-direction:column;min-width:200px;display:none;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.user-menu:hover .user-dropdown,.user-menu:focus-within .user-dropdown{display:flex}.user-dropdown button{text-align:left;cursor:pointer;color:var(--text-primary);background:0 0;border:none;padding:12px 16px;font-size:14px}.user-dropdown button:hover{background:var(--bg-secondary)}.user-dropdown-header{border-bottom:1px solid var(--border-color);padding:12px 16px}.user-dropdown-name{margin-bottom:2px;font-weight:600}.user-email-label{color:var(--text-secondary);font-size:12px}.initial-layout{background:var(--bg-primary);width:100%;min-height:100vh;color:var(--text-primary);justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex}.hero-stage{flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100%;max-width:min(800px,90vw);margin:0 auto;display:flex}.rotating-examples{text-align:center;width:100%;height:auto;min-height:24px;margin-bottom:0;overflow:hidden}.example-text{color:var(--text-secondary);font-size:1rem;font-weight:400;transition:opacity .3s,transform .3s}.example-text.visible{opacity:.7;transform:translateY(0)}.example-text.hidden{opacity:0;transform:translateY(-4px)}.hero-composer-container{flex-direction:column;justify-content:center;align-items:center;width:100%;padding:0;display:flex;position:relative}.hero-links{justify-content:flex-start;align-items:flex-start;gap:1.5rem;width:100%;margin-top:10px;margin-left:44px;display:flex}.board-toggle-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;font-weight:500;text-decoration:underline;transition:color .2s;display:flex;position:static!important}.board-toggle-link:hover{color:var(--text-primary)}.hero-composer{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;max-width:100%;box-shadow:0 4px 16px var(--shadow);border-radius:24px;align-items:center;gap:.75rem;padding:1rem 1.25rem;transition:all .2s;display:flex;position:relative}.hero-composer:focus-within{border-color:var(--accent-color);box-shadow:0 4px 20px #7dd3fc33}.hero-input-wrapper{flex:1;align-items:center;min-height:24px;display:flex;position:relative}.hero-input{width:100%;min-height:24px;max-height:200px;color:var(--text-primary);resize:none;box-sizing:border-box;field-sizing:content;-webkit-text-size-adjust:100%;touch-action:manipulation;background:0 0;border:none;outline:none;margin:0;padding:0;font-family:inherit;font-size:1rem;line-height:1.5;display:block;overflow:hidden auto}.custom-placeholder{color:var(--text-tertiary);pointer-events:none;opacity:1;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;line-height:1.5;transition:opacity .3s ease-in-out;position:absolute;top:50%;left:0;right:0;overflow:hidden;transform:translateY(-50%)}.custom-placeholder.visible{opacity:1}.custom-placeholder.hidden{opacity:0}.composer-footer{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;margin-top:12px;padding-top:12px;display:flex}.load-game-link-external{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:flex-start;padding:0;font-size:.875rem;font-weight:500;text-decoration:underline;transition:color .2s;display:flex;position:static!important}.load-game-link-external:hover{color:var(--text-primary)}.send-button{background:var(--text-primary);color:var(--bg-primary);cursor:pointer;white-space:nowrap;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;height:auto;min-height:40px;padding:.5rem 1.5rem;font-size:.875rem;font-weight:600;transition:opacity .2s,transform .1s;display:flex}.send-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.send-button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:768px){.wordmark{font-size:24px}.top-bar{height:60px;padding:0 16px}.history-toggle{width:44px;height:44px;font-size:20px}.auth-button{min-height:44px;padding:10px 16px;font-size:14px}.initial-layout{padding:1.5rem 1rem}.hero-stage{gap:1.5rem;max-width:100%}.hero-composer{border-radius:16px;padding:.875rem 1rem}.hero-input{font-size:16px}.custom-placeholder{font-size:.9375rem}.hero-links{flex-direction:column;align-items:center;gap:.75rem}.board-toggle-link,.load-game-link-external{min-height:44px;padding:10px 16px;font-size:.8125rem}.send-button,.options-button{min-height:44px;padding:12px 20px;font-size:15px}.board-toggle-chat,.load-game-chat{min-height:44px;padding:10px 16px;font-size:14px}.chat-layout,.chat-layout.with-board,.conversation-container{padding-top:0}body{font-size:16px}.conversation-container{font-size:15px}.chat-layout.with-board{flex-direction:column;flex:1;min-height:0;padding:0;overflow:hidden}.chat-layout.with-board .board-column,.chat-layout.with-board .chat-column{width:100%;height:auto;min-height:auto;max-height:none}.chat-layout.with-board .board-column{border-right:none;border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px 12px}.chat-layout.with-board .chat-column{flex-direction:column;flex:1;min-height:0;padding:16px 12px;display:flex;overflow:hidden}.chat-layout.with-board .column-resizer{display:none}.chat-layout.with-board .conversation-container{box-sizing:border-box;flex-direction:column;flex:1;min-height:0;padding:0 12px;display:flex;overflow:hidden}.chat-layout.with-board .board-dock{height:auto;max-height:none;padding:0 8px 8px}.chat-layout.with-board .board-dock-inner{min-height:auto}.chat-layout.with-board .bottom-composer{width:100%;left:0;right:0}}.chat-layout.mobile-mode{vertical-align:top;box-sizing:border-box;text-align:left;flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;gap:0;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.chat-layout.with-board.mobile-mode{flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.chat-layout.with-board.mobile-mode .board-column,.chat-layout.with-board.mobile-mode .chat-column{width:100%;height:auto;min-height:auto;max-height:none}.chat-layout.with-board.mobile-mode .board-column{border-right:none;border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px 12px}.chat-layout.with-board.mobile-mode .chat-column{flex-direction:column;flex:1;min-height:0;padding:16px 12px 0;display:flex;position:relative;overflow:hidden}.chat-layout.with-board.mobile-mode .column-resizer{display:none}.chat-layout.with-board.mobile-mode .conversation-container,.chat-layout.mobile-mode .conversation-container{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:100%;min-height:0;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.chat-layout.with-board.mobile-mode .board-dock{height:auto;max-height:none;padding:0 8px 8px}.chat-layout.with-board.mobile-mode .board-dock-inner{min-height:auto}.chat-layout.with-board.mobile-mode .bottom-composer,.chat-layout.mobile-mode .bottom-composer{z-index:200;width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:8px 16px;padding-bottom:max(8px,env(safe-area-inset-bottom));box-sizing:border-box;background:0 0;border-top:none;position:fixed;bottom:0;left:0;right:0}.chat-layout.with-board.mobile-mode .composer-inner,.chat-layout.mobile-mode .composer-inner{gap:8px;max-width:100%;padding:0}.chat-layout.mobile-mode .bottom-input{min-height:44px;padding:10px 14px;font-size:16px}.chat-layout.mobile-mode .send-button,.chat-layout.mobile-mode .options-button{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:12px;min-height:44px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .2s}.chat-layout.mobile-mode .send-button:hover:not(:disabled),.chat-layout.mobile-mode .options-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-hover);opacity:1;transform:none}.chat-layout{background:var(--bg-primary);width:100%;color:var(--text-primary);min-height:0;max-width:var(--shell-max);flex-direction:column;flex:1;gap:0;margin:0 auto;padding:0;display:flex;overflow:hidden}.chat-layout.with-board{background:var(--bg-primary);flex-direction:row;flex:1;align-items:stretch;gap:0;max-width:100%;min-height:0;padding:0;display:flex;overflow:hidden}.conversation-toolbar{background:0 0;border:none;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;display:flex}.conversation-toolbar .toolbar-button:last-child{margin-left:auto}.chat-layout.with-board .conversation-toolbar{display:none}.toolbar-button{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;margin:0;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s}.toolbar-button:hover{color:var(--text-primary);background:var(--bg-secondary);border-color:var(--border-hover)}.toolbar-button:active{background:var(--bg-tertiary)}.chat-layout:not(.mobile-mode) .conversation-toolbar{background:0 0;border:none;padding:10px 20px}.chat-layout.mobile-mode .conversation-toolbar{background:0 0;border:none;padding:10px 16px}.chat-layout.mobile-mode .toolbar-button{min-height:36px;padding:8px 14px;font-size:14px}.board-toggle-chat,.load-game-chat{display:none}.layout-column{flex-direction:column;gap:16px;min-width:0;display:flex}.chat-layout.with-board .board-column,.chat-layout.with-board .load-column,.chat-layout.with-board .chat-column{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-layout.with-board .board-column{border-right:1px solid var(--border-color);background:var(--surface-card);gap:0;padding:0 clamp(12px,2vw,18px);position:relative;box-shadow:inset -1px 0 #ffffff05}.chat-layout.with-board .load-column{border-right:1px solid var(--border-color);background:var(--bg-secondary);padding:0 clamp(10px,2vw,16px);overflow-y:auto}.chat-layout.with-board .chat-column{background:var(--bg-primary);padding:0 clamp(14px,2vw,24px);overflow:hidden}.column-resizer{cursor:col-resize;touch-action:none;flex:0 0 12px;width:12px;position:relative}.column-resizer:after{content:"";background:var(--border-color);opacity:.5;border-radius:999px;width:2px;transition:background .2s,opacity .2s;position:absolute;top:0;bottom:0;left:5px}.column-resizer:hover:after{background:var(--border-hover);opacity:.9}.row-resizer{cursor:row-resize;touch-action:none;flex:0 0 12px;width:100%;height:12px;position:relative}.row-resizer:after{content:"";background:var(--border-color);opacity:.55;border-radius:999px;height:2px;transition:background .2s,opacity .2s;position:absolute;top:5px;left:12px;right:12px}.row-resizer:hover:after{background:var(--border-hover);opacity:.95}.load-game-sidebar{border:1px solid var(--border-color);width:fit-content;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s}.load-game-sidebar:hover{color:var(--text-primary);border-color:var(--border-hover);background:#ffffff14}.hide-board-button{border:1px solid var(--border-color);background:var(--surface-card,#0f1625);color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast,.16s ease);z-index:101;border-radius:12px;justify-content:center;align-items:center;height:32px;padding:8px 14px;font-size:12px;font-weight:600;display:flex;position:absolute;top:0;right:clamp(12px,2vw,18px);transform:translateY(6px)}.hide-board-button:hover{color:var(--text-primary);background:#ffffff14}.flip-board-button{border:1px solid var(--border-color);width:fit-content;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#ffffff0a;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s}.chat-layout.with-board .flip-board-button,.chat-layout.with-board .fen-toggle-button,.chat-layout.with-board .load-game-sidebar{padding:clamp(6px,.8vw,8px) clamp(12px,1.5vw,14px);font-size:clamp(10px,1.2vw,11px)}.flip-board-button:hover{color:var(--text-primary);border-color:var(--border-hover);background:#ffffff14}.conversation-container,.board-dock,.bottom-composer{transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-slow)}.conversation-container{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:100%;min-height:0;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.chat-layout:not(.mobile-mode) .conversation-container{max-width:min(1080px,var(--shell-max));background:var(--surface-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-soft);margin:0 auto;padding:0}.chat-layout:not(.mobile-mode) .conversation-stream{padding:48px clamp(20px,3vw,40px);padding-bottom:calc(48px + var(--bottom-composer-overlay-reserve) + env(safe-area-inset-bottom))}.chat-layout:not(.mobile-mode) .conversation-toolbar{background:0 0;border:none;border-radius:0;padding:10px 20px}.chat-layout.mobile-mode .conversation-container{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;min-height:0;margin:0;padding:0;display:flex;overflow:hidden}.chat-layout.with-board .conversation-container{border-radius:var(--radius-md);width:100%;max-width:100%;min-height:0;box-shadow:none;box-sizing:border-box;border:none;flex-direction:column;flex:1;order:1;margin:0;padding:24px clamp(12px,2vw,20px);display:flex;overflow:hidden}.chat-layout.with-board.mobile-mode .conversation-container{flex-direction:column;flex:1;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.conversation-stream{-webkit-overflow-scrolling:touch;scroll-behavior:auto;min-height:0;padding:16px;padding-bottom:calc(16px + var(--bottom-composer-overlay-reserve) + env(safe-area-inset-bottom));box-sizing:border-box;flex-direction:column;flex:1;justify-content:flex-start;gap:10px;display:flex;overflow:hidden auto}.chat-layout.mobile-mode .conversation-container .conversation-stream,.chat-layout.with-board.mobile-mode .conversation-container .conversation-stream{-webkit-overflow-scrolling:touch;scroll-behavior:auto;min-height:0;padding:16px;padding-bottom:calc(16px + var(--bottom-composer-overlay-reserve) + env(safe-area-inset-bottom));box-sizing:border-box;flex:1;overflow:hidden auto}.conversation-loaders{border:1px solid var(--border-color);background:var(--bg-primary);z-index:5;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px;padding:10px 16px;display:flex;position:sticky;top:12px;box-shadow:0 6px 18px #00000014}.loader-pill{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:calc(12px*var(--font-scale));letter-spacing:.02em;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;display:inline-flex}.loader-pill.loader-llm{background:#0000000d}.loader-pill.loader-stockfish{background:#0000001f}.loader-dot{background:var(--text-secondary);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite loaderPulse}@keyframes loaderPulse{0%{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1)}to{opacity:.3;transform:scale(.8)}}.message-bubble{border:1px solid var(--border-color);background:var(--bg-primary);word-wrap:break-word;border-radius:12px;flex-direction:column;justify-content:flex-start;gap:0;width:fit-content;max-width:100%;min-height:auto;padding:10px 14px;font-size:15px;line-height:1.5;display:flex;position:relative}.message-bubble.message-user{background:var(--bg-secondary);align-self:flex-end;margin-left:auto}.message-bubble.message-assistant{align-self:flex-start;margin-right:auto;padding-bottom:10px}.message-bubble.message-system{background:0 0;border:none}.system-whisper{text-align:center;letter-spacing:.01em;text-transform:none;color:var(--text-secondary);opacity:.9;padding:45px 0 0;font-size:13px}.message-bubble h3{border-bottom:2px solid var(--border-color);color:var(--text-primary);margin:1.5rem 0 .75rem;padding-bottom:.5rem;font-size:1.1em;font-weight:600}.message-bubble h3:first-child{margin-top:0}.message-header{justify-content:space-between;align-items:center;margin-top:0;margin-bottom:6px;padding-top:0;padding-bottom:0;display:flex}.message-role{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;vertical-align:bottom;padding-top:0;padding-bottom:0;font-size:11px;font-weight:600}.raw-data-toggle{border:1px solid var(--border-color);color:var(--text-secondary);font-size:calc(11px*var(--font-scale));cursor:pointer;background:0 0;border-radius:6px;padding:4px 12px;transition:all .2s}.raw-data-toggle:hover{background:var(--bg-secondary);border-color:var(--border-hover);color:var(--text-primary)}.message-header-actions{align-items:center;gap:10px;display:flex}.message-content{flex-direction:column;margin-bottom:0;display:flex}.message-text{color:var(--text-primary);white-space:pre-wrap;min-height:auto;margin:0;padding-bottom:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:7px;line-height:1.5;display:flex}.message-text>span{vertical-align:bottom;flex-direction:column;justify-content:center;align-items:flex-start;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;font-size:15px;line-height:1.5;display:flex}.chat-container .message-text{display:block}.chat-container .message-text>*,.chat-container .message-text>span{vertical-align:baseline;flex-direction:unset!important;justify-content:unset!important;align-items:unset!important;display:inline!important}.chat-container .message-text strong{font-weight:700;display:inline!important}.chat-container .message-text pre{white-space:pre-wrap;margin:0;display:block}.chat-container .message-text pre>*{display:inline!important}.message-text .md-h1{margin:6px 0;font-size:1.05em;font-weight:700}.message-text .md-h2{margin:6px 0;font-size:1.03em;font-weight:700}.message-text .md-h3{margin:6px 0;font-size:1.01em;font-weight:700}.raw-data-panel,.evidence-panel{border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.evidence-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.evidence-header span{color:var(--text-secondary);font-size:12px;font-weight:600}.evidence-empty{color:var(--text-secondary);padding:8px 0;font-size:12px}.evidence-claims{flex-direction:column;gap:10px;display:flex}.evidence-clause{border:1px solid var(--border-color);background:#ffffff05;border-radius:10px;padding:8px 10px}.evidence-summary{cursor:pointer;color:var(--text-primary);align-items:center;gap:10px;display:flex}.evidence-title{font-size:13px;font-weight:600}.evidence-priority{color:var(--text-secondary);margin-left:auto;font-size:11px}.evidence-badge{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;padding:2px 8px;font-size:11px}.evidence-body{flex-direction:column;gap:8px;margin-top:10px;display:flex}.evidence-row{grid-template-columns:130px 1fr;gap:10px;display:grid}.evidence-label{color:var(--text-secondary);font-size:12px}.evidence-value{color:var(--text-primary);font-size:12px}.evidence-value.mono{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px}.evidence-tag-row{gap:8px;margin-bottom:4px;display:flex}.evidence-tag-label{color:var(--text-secondary);font-size:12px}.evidence-tags{color:var(--text-primary);font-size:12px}.evidence-json{border:1px solid var(--border-color);max-height:220px;color:var(--text-secondary);background:#00000040;border-radius:8px;margin:0;padding:10px;font-size:11px;overflow:auto}.raw-data-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.raw-data-header span{color:var(--text-secondary);font-size:12px;font-weight:600}.copy-button{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:4px 8px;font-size:11px}.copy-button:hover{background:var(--bg-secondary)}.raw-data-content{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;max-height:400px;padding:12px;font-family:Monaco,Menlo,monospace;font-size:11px;overflow:auto}.logs-panel{border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.logs-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.logs-header span{color:var(--text-secondary);font-size:12px;font-weight:600}.logs-content{flex-direction:column;gap:16px;display:flex}.logs-section{flex-direction:column;gap:6px;display:flex}.logs-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.logs-previous,.logs-live{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:300px;padding:12px;font-family:Monaco,Menlo,monospace;font-size:10px;line-height:1.4;overflow:auto}.logs-live{border-color:var(--accent-color);background:#3b82f60d}.bottom-composer{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:12px 0;padding-bottom:max(12px,env(safe-area-inset-bottom));z-index:200;background:0 0;border-top:none;flex-shrink:0;font-size:14px;position:fixed;bottom:0;left:0;right:0}.chat-layout.with-board .bottom-composer{width:100%}.load-game-link-bottom{color:var(--text-secondary);font-size:calc(14px*var(--font-scale));cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;text-decoration:underline;position:absolute;bottom:100%;left:16px}.load-game-link-bottom:hover{color:var(--text-primary)}.composer-inner{max-width:min(1080px,var(--shell-max));align-items:center;gap:12px;margin:0 auto;padding:0 clamp(20px,3vw,40px);font-size:18px;display:flex}.chat-layout.with-board .bottom-composer .composer-inner{max-width:100%;padding:0 clamp(12px,2vw,20px)}.bottom-input{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);resize:none;-webkit-text-size-adjust:100%;touch-action:manipulation;border-radius:12px;outline:none;flex:1;min-height:48px;max-height:72px;padding:12px 16px;font-family:inherit;font-size:16px;line-height:1.4}.bottom-input:focus{border-color:var(--border-hover)}.bottom-input:disabled{opacity:.5;cursor:not-allowed}.bottom-input::placeholder{color:var(--text-tertiary)}.inline-board-message{justify-content:center;width:100%;margin:96px 0 12px;display:flex}.inline-board-container{background:unset;width:550px;max-width:100%;height:500px;box-shadow:none;transform-origin:0 0;border:0 #0000;border-image:;border-radius:12px;padding:12px;display:grid;overflow:visible;transform:scale(1.125)}.inline-board-with-eval{justify-content:flex-start;align-items:flex-start;gap:16px;width:100%;margin-bottom:12px;display:flex}.inline-board-with-eval .evaluation-bar-container{transform-origin:0;flex-shrink:0;order:-1;align-items:stretch;width:24px;min-width:24px;display:flex;transform:scale(1.5);height:300px!important;max-height:300px!important}.inline-board-wrapper{transform-origin:0;flex:none;justify-content:center;align-items:center;width:300px;height:300px;margin:0;display:flex;transform:scale(1.5)}.inline-board-wrapper .board-container{width:100%;height:100%}.inline-board-wrapper .board-container>div{width:100%!important;height:100%!important}.inline-board-controls{flex-wrap:nowrap;justify-content:center;align-items:center;gap:12px;width:100%;max-width:300px;margin:0 auto;padding:12px;display:flex}.nav-button{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-width:50px;padding:12px 18px;font-size:20px;font-weight:600;transition:all .2s;display:flex}.nav-button:hover:not(:disabled){background:var(--accent-color);border-color:var(--accent-color);color:#fff}.nav-button:disabled{opacity:.4;cursor:not-allowed}.nav-back,.nav-forward{border-color:#000;width:100%;max-height:36px;font-size:20px}.nav-expand{background:var(--surface-card);border-color:#000;padding:12px 20px;font-size:10px}.inline-board-expanded{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;max-height:400px;margin-top:8px;padding:12px;animation:.3s slideDown;overflow-y:auto}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:400px;transform:translateY(0)}}.inline-pgn-viewer{margin-bottom:12px}.inline-pgn-viewer .pgn-viewer{font-size:12px}.inline-stockfish-analysis{border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.inline-stockfish-analysis .stockfish-analysis{font-size:12px}.board-dock{width:100%;max-width:min(1180px,var(--shell-max));padding:0 var(--shell-gutter);background:0 0;flex-shrink:0;order:-1;margin:0 auto 16px;position:relative}.chat-layout.with-board .board-dock{border-right:none;flex:1 0;order:0;max-width:100%;height:100%;max-height:100%;margin:0;padding:0 8px 8px;position:relative;top:0;overflow-y:auto}.board-dock-inner{flex-direction:column;align-items:center;gap:8px;max-width:960px;margin:0 auto;display:flex}.chat-layout.with-board .board-dock-inner{--board-size:600px;flex-direction:column;justify-content:center;align-items:stretch;gap:8px;max-width:100%;min-height:calc(100vh - 140px);display:flex}.chat-layout.with-board .board-container{aspect-ratio:1;flex-direction:column;align-items:stretch;gap:10px;margin:0;display:flex;width:100%!important;max-width:100%!important}.board-info{width:100%;max-width:var(--board-size,1000px);text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;margin:0 auto;font-size:13px;display:flex}.chat-layout.with-board .board-info{max-width:100%;margin:0;font-size:clamp(11px,1.5vw,13px)}.board-controls-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.chat-layout.with-board .board-controls-row{gap:clamp(8px,1vw,10px);width:100%}.pgn-under-board{width:100%;max-width:var(--board-size,1000px);margin:12px auto 0}.chat-layout.with-board .pgn-under-board{width:100%;max-width:100%;margin:12px 0 0}.inline-mini-board{background:0 0;border:none;justify-content:center;margin:8px 0;display:flex}.system-message-section{margin-bottom:8px}.system-history-toggle{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;margin:6px 0 12px;padding:6px 10px;font-size:12px}.system-history-toggle:hover{color:var(--text-primary)}.system-history-list{flex-direction:column;gap:8px;display:flex}.dev-quick-graph{z-index:120;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);border-radius:8px;padding:6px 10px;font-size:12px;position:fixed;top:12px;right:12px}.dev-quick-graph:hover{color:var(--text-primary)}.message-badges{align-items:center;gap:8px;display:flex;position:absolute;bottom:8px;right:8px}.confidence-badge,.review-table-badge{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:10px 8px;font-size:12px;transition:all .2s}.confidence-badge:hover,.review-table-badge:hover{color:var(--text-primary);border-color:var(--border-hover)}.review-table-badge{align-items:center;gap:4px;display:flex}.confidence-panel{border:1px solid var(--border-color);border-radius:8px;margin-top:10px;padding:10px 12px}.conf-loading{background:var(--bg-secondary);color:var(--text-secondary);border-radius:6px;align-items:center;gap:10px;margin-bottom:10px;padding:12px;font-size:14px;display:flex}.conf-spinner{font-size:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{justify-content:flex-start;margin:12px 0;padding:20px 24px;display:flex}.loading-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:10px;padding:16px 20px;display:flex}.loading-icon{opacity:.8;font-size:20px}.loading-text{color:var(--text-secondary);font-size:15px;font-weight:500}.loading-dots{gap:2px;margin-left:4px;display:inline-flex}.loading-dots .dot{opacity:0;animation:1.4s infinite loadingDot}.loading-dots .dot:first-child{animation-delay:0s}.loading-dots .dot:nth-child(2){animation-delay:.2s}.loading-dots .dot:nth-child(3){animation-delay:.4s}@keyframes loadingDot{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.pgn-sequence{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--text-tertiary);text-decoration-color:var(--text-tertiary);cursor:pointer;border-radius:3px;padding:2px 4px;transition:all .2s}.pgn-sequence:hover{background:var(--bg-secondary);-webkit-text-decoration-color:var(--text-primary);text-decoration-color:var(--text-primary);text-decoration-style:solid}.conf-tree-box{border-top:1px solid var(--border-color);margin-top:10px;padding-top:8px}.conf-tree-wrapper{overflow:visible}.conf-tree-title{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.conf-tree-canvas{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:4px;width:100%;max-height:600px;overflow:auto}.conf-tree-canvas svg{margin:0 auto;display:block}.conf-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.conf-label{color:var(--text-secondary);font-size:12px}.conf-value{font-size:18px;font-weight:600}.conf-sub{color:var(--text-secondary);margin-top:2px;font-size:12px}.conf-actions{gap:8px;margin-top:10px;display:flex}.conf-actions button{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);border-radius:6px;padding:6px 10px;font-size:12px}.conf-actions button:hover{color:var(--text-primary)}.conf-actions .conf-help{text-align:center;width:28px;padding:0}.conf-inline{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:11px}.conf-inline:hover{color:var(--text-primary)}.conf-baseline{align-items:center;gap:8px;margin-top:10px;display:flex}.conf-baseline input{border:1px solid var(--border-color);background:var(--bg-primary);width:70px;color:var(--text-primary);border-radius:6px;padding:4px 6px}.conf-baseline-inline{align-items:center;gap:6px;margin-right:auto;display:flex}.conf-baseline-inline label{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.conf-baseline-inline input{border:1px solid var(--border-color);background:var(--bg-primary);width:70px;color:var(--text-primary);border-radius:6px;padding:4px 6px}.conf-current-values{background:var(--bg-secondary);border-radius:6px;gap:16px;margin-bottom:12px;padding:8px;display:flex}.conf-value-display{flex-direction:column;gap:4px;display:flex}.conf-value-display .conf-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.conf-value-display .conf-value-text{color:var(--text-primary);font-size:16px;font-weight:600}.conf-control-groups{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.conf-control-group{background:var(--bg-secondary);border-radius:6px;align-items:center;gap:8px;padding:8px;display:flex}.conf-control-group label{color:var(--text-secondary);flex:1;align-items:center;gap:6px;font-size:12px;display:flex}.conf-control-group input{border:1px solid var(--border-color);background:var(--bg-primary);width:70px;color:var(--text-primary);border-radius:6px;padding:4px 6px}.conf-control-group button{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .2s}.conf-control-group button:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.conf-control-group button:disabled{opacity:.5;cursor:not-allowed}.conf-actions-row{align-items:center;gap:8px;margin-top:8px;display:flex}.view-mode-toggle{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:6px;gap:4px;padding:2px;display:flex}.view-mode-toggle button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:11px;transition:all .2s}.view-mode-toggle button.active{background:var(--bg-primary);color:var(--text-primary);font-weight:600}.view-mode-toggle button:hover:not(.active){background:var(--bg-hover)}.tag-confidence-view{background:var(--bg-secondary);border-radius:8px;margin-top:12px;padding:16px}.tag-view-header{border-bottom:1px solid var(--border-color);margin-bottom:16px;padding-bottom:12px}.tag-view-header h3{color:var(--text-primary);margin:0 0 4px;font-size:16px;font-weight:600}.tag-view-header p{color:var(--text-secondary);margin:0;font-size:12px}.pv-main-line{margin-bottom:24px}.pv-line-label{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:600}.pv-nodes-container{border-bottom:2px solid var(--border-color);height:60px;position:relative}.pv-node{border:2px solid var(--border-color);background:var(--bg-primary);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;width:60px;height:40px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.pv-node.green{background:#55aa551a;border-color:#5a5}.pv-node.red{background:#b055551a;border-color:#b05555}.pv-node-label{color:var(--text-secondary);margin-bottom:2px;font-size:10px}.pv-node-confidence{color:var(--text-primary);font-size:14px;font-weight:600}.tag-branches{flex-direction:column;gap:16px;display:flex}.tag-branch-group{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:12px}.tag-branch-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;display:flex}.tag-name{color:var(--text-primary);font-size:13px;font-weight:600}.tag-trend{border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.tag-trend.green{color:#5a5;background:#55aa551a}.tag-trend.red{color:#b05555;background:#b055551a}.tag-trend.gray{color:var(--text-secondary);background:var(--bg-secondary)}.tag-branch-instances{flex-direction:column;gap:6px;display:flex}.tag-branch{border:1px solid var(--border-color);border-radius:4px;padding:8px}.tag-branch.high-conf{background:#55aa550d;border-color:#55aa554d}.tag-branch.low-conf{background:#b055550d;border-color:#b055554d}.tag-branch-info{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.tag-branch-label{color:var(--text-secondary);font-size:11px}.tag-branch-confidence{color:var(--text-primary);font-size:12px;font-weight:600}.tag-branch-squares{color:var(--text-secondary);font-size:10px;font-style:italic}.tag-summary{border-top:1px solid var(--border-color);margin-top:16px;padding-top:12px}.tag-summary h4{color:var(--text-primary);margin:0 0 8px;font-size:13px;font-weight:600}.tag-summary-stats{color:var(--text-secondary);gap:16px;font-size:11px;display:flex}.game-review-panel{background:#0000004d;border:1px solid #444;border-radius:8px;margin-top:16px;padding:16px}.review-header{color:var(--text-primary);border-bottom:1px solid #333;margin-bottom:12px;padding-bottom:8px;font-size:14px;font-weight:600}.game-review-table-container{width:100%}.review-metadata{background:#ffffff05;border-radius:6px;margin-bottom:16px;padding:12px}.metadata-row{gap:8px;margin-bottom:6px;display:flex}.metadata-row:last-child{margin-bottom:0}.metadata-label{color:var(--text-secondary);min-width:120px;font-weight:600}.metadata-value{color:var(--text-primary)}.review-stats{background:#ffffff05;border-radius:6px;margin-bottom:16px;padding:12px}.stats-title{color:var(--text-primary);margin-bottom:8px;font-weight:600}.stat-item{gap:8px;padding:6px;display:flex}.stat-label{color:var(--text-secondary);font-weight:600}.stat-value{color:var(--text-primary)}.review-key-moments{background:#ffffff05;border-radius:6px;margin-bottom:16px;padding:12px}.key-moments-title{color:var(--text-primary);margin-bottom:8px;font-weight:600}.key-moments-list{flex-direction:column;gap:8px;display:flex}.key-moment-item{background:#0003;border-left:3px solid #f44336;border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.moment-type{color:#f44336;text-transform:uppercase;font-size:11px;font-weight:600}.moment-move{color:var(--text-primary);background:#ffffff1a;border-radius:3px;padding:2px 6px;font-family:monospace}.moment-ply{color:var(--text-secondary);font-size:11px}.moment-desc{color:var(--text-secondary);flex:1}.review-moves{margin-top:16px}.moves-title{color:var(--text-primary);margin-bottom:8px;font-weight:600}.game-review-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:13px}.game-review-table th{text-align:left;color:var(--text-secondary);background:#ffffff05;border-bottom:2px solid #444;padding:8px 12px;font-weight:600}.game-review-table td{text-align:left;color:var(--text-primary);border-bottom:1px solid #333;padding:8px 12px}.game-review-table tbody tr:hover{background:#ffffff08}.move-san{font-family:monospace;font-weight:600}.cp-loss,.eval{color:var(--text-secondary);font-family:monospace}.move-comment{color:var(--text-secondary);font-size:12px;font-style:italic}.quality-excellent{color:#4caf50;font-weight:600}.quality-good{color:#8bc34a;font-weight:600}.quality-inaccuracy{color:#ffc107;font-weight:600}.quality-mistake{color:#ff9800;font-weight:600}.quality-blunder{color:#f44336;font-weight:600}.modal-overlay{z-index:200;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;width:min(560px,92vw);box-shadow:0 10px 30px #0003}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-title{font-size:16px;font-weight:700}.modal-close{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0;border-radius:6px;padding:4px 8px;font-size:12px}.modal-close:hover{color:var(--text-primary)}.modal-body{color:var(--text-primary);padding:16px;font-size:14px;line-height:1.6}.fen-display{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:12px}.fen-display .label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.fen-display code{color:var(--text-primary);word-break:break-all;font-family:Monaco,Menlo,monospace;font-size:12px}.pgn-display{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;width:100%;margin-top:16px;padding:12px}.pgn-header{margin-bottom:8px}.pgn-header .label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.chat-layout.with-board .pgn-header .label{font-size:clamp(9px,1.1vw,11px)}.pgn-text{width:100%;color:var(--text-primary);resize:vertical;background:0 0;border:none;outline:none;font-family:Monaco,Menlo,monospace;font-size:12px;line-height:1.6}.chat-layout.with-board .pgn-text{font-size:clamp(10px,1.2vw,12px);line-height:clamp(1.4,1.6vw,1.6)}.fen-toggle-section{margin-top:16px}.fen-toggle-button{border:1px solid var(--border-color);width:fit-content;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#ffffff0a;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s}.fen-toggle-button:hover{color:var(--text-primary);border-color:var(--border-hover);background:#ffffff14}.fen-display{text-align:left;width:100%;margin-top:0}.load-game-modal-overlay{z-index:2200;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.load-game-modal{background:var(--bg-primary-overlay,var(--bg-primary));border:1px solid var(--border-color);border-radius:16px;flex-direction:column;width:min(900px,95vw);max-height:90vh;padding:28px;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}.load-game-panel{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}@media (max-width:768px){.load-game-modal-overlay{padding:16px}.load-game-modal{border-radius:12px;width:min(95vw,100%);max-height:95vh;padding:20px}.panel-header h3{font-size:1.25rem}.panel-close{width:28px;height:28px;font-size:24px}}.load-panel-wrapper{flex:1;height:100%;padding:24px;overflow-y:auto}.chat-layout.with-board .load-panel-wrapper .load-game-panel{max-width:none;margin:0}.panel-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.panel-header h3{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600}.close-button{border:1px solid var(--border-color);color:var(--text-secondary);letter-spacing:.04em;cursor:pointer;text-transform:uppercase;background:#ffffff0f;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .2s}.close-button:hover{color:var(--text-primary);border-color:var(--border-hover);background:#ffffff14}.history-curtain .close-button{letter-spacing:0;text-transform:none;color:var(--text-secondary);background:0 0;border:none;padding:0;font-size:18px;font-weight:600}.history-curtain .close-button:hover{color:var(--text-primary);background:0 0}.panel-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;font-weight:300;line-height:1;transition:all .2s;display:flex}.panel-close:hover{color:var(--text-primary);background:var(--bg-secondary)}.lookup-section{flex-direction:column;gap:16px;display:flex}.lookup-input-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.lookup-field{flex-direction:column;flex:1;gap:6px;display:flex}.lookup-field label{font-size:calc(12px*var(--font-scale,1.05));text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:6px;font-weight:600}.lookup-field input{border:1px solid var(--border-color);border-radius:var(--radius-sm,10px);background:var(--bg-primary);width:100%;color:var(--text-primary);font-family:inherit;font-size:calc(14px*var(--font-scale,1.05));transition:border-color var(--transition-fast,.16s ease);outline:none;padding:10px 14px;line-height:1.5}.lookup-field input:focus{border-color:var(--border-hover)}.lookup-search-button{border-radius:var(--radius-sm,10px);background:var(--accent-color);color:#fff;font-size:calc(13px*var(--font-scale,1.05));cursor:pointer;transition:opacity var(--transition-fast,.16s ease),transform var(--transition-fast,.16s ease);border:none;padding:10px 18px;font-weight:600}.lookup-search-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.lookup-search-button:disabled{opacity:.6;cursor:default}.lookup-suggestions{flex-wrap:wrap;gap:6px;display:flex}.lookup-suggestions button{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:999px;padding:4px 10px;font-size:12px}.lookup-suggestions button:hover{color:var(--text-primary)}.lookup-table-wrapper{border:1px solid var(--border-color);border-radius:var(--radius-md,12px);background:#0003;padding:16px}.lookup-platform-note{font-size:calc(12px*var(--font-scale,1.05));color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;line-height:1.5}.lookup-table-scroll{max-height:220px;margin-top:12px;overflow:auto}.lookup-table{border-collapse:collapse;width:100%;font-size:calc(13px*var(--font-scale,1.05));line-height:1.5}.lookup-table th{text-align:left;color:var(--text-secondary);font-size:calc(11px*var(--font-scale,1.05));text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);padding:10px 12px;font-weight:600}.lookup-table td{color:var(--text-primary);border-bottom:1px solid #ffffff0f;padding:10px 12px}.lookup-table tbody tr{cursor:pointer;transition:background .15s}.lookup-table tbody tr:hover{background:#ffffff0f}.lookup-use-button{border-radius:var(--radius-sm,10px);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(13px*var(--font-scale,1.05));cursor:pointer;transition:opacity var(--transition-fast,.16s ease),transform var(--transition-fast,.16s ease),border-color var(--transition-fast,.16s ease);background:#ffffff14;padding:10px 18px;font-weight:600}.lookup-use-button:hover{border-color:var(--accent-color);opacity:.9;transform:translateY(-1px)}.lookup-empty{text-align:center;color:var(--text-secondary);font-size:calc(12px*var(--font-scale,1.05));padding:12px;line-height:1.5}.lookup-empty.muted{border-radius:var(--radius-md,12px);background:#ffffff0a}.photo-section{flex-direction:column;gap:16px;display:flex}.photo-dropzone{border:1px dashed var(--border-color);border-radius:var(--radius-md,12px);text-align:center;color:var(--text-secondary);min-height:140px;font-size:calc(13px*var(--font-scale,1.05));background:#00000026;justify-content:center;align-items:center;padding:20px;line-height:1.6;display:flex}.photo-dropzone.has-file img{border-radius:8px;max-width:100%}.photo-input-row{flex-wrap:wrap;gap:10px;display:flex}.photo-button{border-radius:var(--radius-sm,10px);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;font-size:calc(13px*var(--font-scale,1.05));transition:all var(--transition-fast,.16s ease);background:#ffffff0d;justify-content:center;align-items:center;padding:10px 18px;font-weight:500;display:inline-flex;position:relative}.photo-button:hover{border-color:var(--border-hover);background:#ffffff14}.photo-button input{display:none}.photo-selectors{flex-wrap:wrap;gap:16px;display:flex}.photo-selectors label{font-size:calc(12px*var(--font-scale,1.05));text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);flex-direction:column;gap:6px;margin-bottom:6px;font-weight:600;display:flex}.photo-selectors select{border-radius:var(--radius-sm,10px);border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);font-family:inherit;font-size:calc(14px*var(--font-scale,1.05));transition:border-color var(--transition-fast,.16s ease);outline:none;padding:10px 14px;line-height:1.5}.photo-selectors select:focus{border-color:var(--border-hover)}.photo-analyze-button{border-radius:var(--radius-sm,10px);background:var(--accent-color);color:#fff;font-size:calc(13px*var(--font-scale,1.05));cursor:pointer;width:fit-content;transition:opacity var(--transition-fast,.16s ease),transform var(--transition-fast,.16s ease);border:none;padding:10px 18px;font-weight:600}.photo-analyze-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.photo-analyze-button:disabled{opacity:.5;cursor:not-allowed}.photo-result{border:1px solid var(--border-color);border-radius:var(--radius-md,12px);background:#00000026;flex-direction:column;gap:12px;padding:16px;display:flex}.photo-board-preview .board-container{max-width:260px;margin:0 auto}.photo-confidence{font-size:calc(12px*var(--font-scale,1.05));color:var(--text-secondary);line-height:1.5}.photo-uncertain{border-top:1px solid var(--border-color);padding-top:12px}.photo-uncertain-title{font-size:calc(12px*var(--font-scale,1.05));text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:6px;line-height:1.5}.photo-uncertain-list{flex-wrap:wrap;gap:6px;display:flex}.photo-badge{border:1px solid var(--border-color);font-size:calc(11px*var(--font-scale,1.05));color:var(--text-secondary);background:#ffffff0a;border-radius:999px;padding:6px 12px}.photo-notes{font-size:calc(12px*var(--font-scale,1.05));color:var(--text-secondary);border-radius:var(--radius-sm,10px);background:#ffffff0a;padding:10px 12px;line-height:1.5}.photo-use-button{border-radius:var(--radius-sm,10px);background:var(--text-primary);color:var(--bg-primary);cursor:pointer;font-size:calc(13px*var(--font-scale,1.05));width:fit-content;transition:opacity var(--transition-fast,.16s ease),transform var(--transition-fast,.16s ease);border:none;padding:10px 18px;font-weight:600}.photo-use-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.photo-use-button:disabled{opacity:.5;cursor:not-allowed}.photo-privacy-note{font-size:calc(12px*var(--font-scale,1.05));color:var(--text-secondary);text-align:center;line-height:1.5}.panel-tabs{border-bottom:1px solid var(--border-color);gap:8px;margin-bottom:16px;display:flex}.panel-tabs button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:14px;transition:all .2s}.panel-tabs button.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.panel-content{min-height:200px;font-size:calc(14px*var(--font-scale,1.05));color:var(--text-primary);flex:1;margin-right:-4px;padding-right:4px;line-height:1.6;overflow-y:auto}.panel-input{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:var(--radius-sm,10px);font-family:inherit;font-size:calc(14px*var(--font-scale,1.05));resize:vertical;transition:border-color var(--transition-fast,.16s ease);outline:none;padding:10px 14px;line-height:1.5}.panel-input:focus{border-color:var(--border-hover)}.panel-error{color:var(--danger-color,#f87171);border-radius:var(--radius-sm,10px);font-size:calc(13px*var(--font-scale,1.05));background:#f871711a;border:1px solid #f871714d;margin-top:12px;padding:10px 14px;line-height:1.5}.panel-preview{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm,10px);font-size:calc(13px*var(--font-scale,1.05));color:var(--text-secondary);margin-top:12px;padding:10px 14px;line-height:1.5}.panel-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;margin-top:20px;padding-top:16px;display:flex}.load-button{background:var(--text-primary);color:var(--bg-primary);cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:500}.load-button:hover{opacity:.9}.load-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.curtain-overlay{z-index:200;background:#0006;position:fixed;inset:0}.history-curtain{background:var(--bg-primary);border-right:1px solid var(--border-color);z-index:201;flex-direction:column;width:840px;height:100dvh;font-size:16px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.curtain-header{padding:20px;padding-top:max(20px,calc(20px + env(safe-area-inset-top)));border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.curtain-header h2{color:var(--text-primary);margin:0;font-size:26px;font-weight:600}.curtain-tabs{border-bottom:1px solid var(--border-color);gap:12px;padding:0 20px;display:flex}.curtain-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 18px;font-size:16px;transition:color .2s,border-bottom .2s}.curtain-tab.active{color:var(--text-primary);border-bottom:2px solid var(--text-primary)}.curtain-search{border-bottom:1px solid var(--border-color);padding:16px 20px}.curtain-search.inline{border-bottom:none;padding:0}.curtain-search.inline .search-input{width:100%}.curtain-summary{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;padding:20px;display:grid}.curtain-summary.vertical{grid-template-columns:1fr}.summary-card.summary-button{text-align:left;cursor:pointer;transition:background .2s,border .2s}.summary-card.summary-button:hover{background:var(--bg-primary);border-color:var(--text-secondary)}.thread-summary-list{flex-direction:column;gap:6px;display:flex}.thread-summary-table{border:1px solid var(--border-color);border-radius:12px;margin-top:12px;overflow:hidden}.thread-table-head,.thread-table-row{text-align:left;background:0 0;border:none;grid-template-columns:2fr 1fr;padding:8px 12px;font-size:14px;display:grid}.thread-table-head{border-bottom:1px solid var(--border-color);font-weight:600}.thread-table-row{cursor:pointer;border-bottom:1px solid #0000000d}.thread-table-row:last-child{border-bottom:none}.thread-table-row:hover{background:#0000000a}.thread-summary{cursor:pointer;color:var(--text-primary);text-align:left;background:0 0;border:none;border-bottom:1px solid #0000000d;justify-content:space-between;padding:6px 0;display:flex}.thread-summary-title{text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-size:14px;overflow:hidden}.thread-summary-date{color:var(--text-tertiary);font-size:12px}.thread-summary:last-child{border-bottom:none}.empty-state.small{font-size:14px}.summary-card{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.summary-card-head{justify-content:space-between;align-items:center;display:flex}.summary-card-head h3{color:#fff;margin:0;font-size:18px}.summary-card-head button{border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;border-radius:999px;padding:6px 12px}.summary-line{color:var(--text-secondary);margin:0;font-size:14px}.summary-stats{gap:12px;display:flex}.summary-stats span{color:var(--text-secondary);font-size:12px;display:block}.summary-stats strong{font-size:18px;display:block}.search-input{border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:8px 12px;font-size:18px}.search-input:focus{border-color:var(--border-hover)}.curtain-content{flex:1;padding:12px;overflow-y:auto}.thread-list{flex-direction:column;gap:4px;display:flex}.thread-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;width:100%;padding:12px;transition:all .2s}.thread-item:hover{background:var(--bg-secondary);border-color:var(--border-color)}.thread-item.active{background:var(--bg-secondary);border-color:var(--border-hover)}.personal-section{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:18px;margin-bottom:24px;padding:18px 20px}.profile-progress{border:1px solid var(--border-color);background:#ffffff08;border-radius:14px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.profile-progress-head{color:var(--text-secondary);justify-content:space-between;font-size:14px;display:flex}.profile-progress-hint{color:var(--text-tertiary);margin:2px 0 0;font-size:13px}.profile-progress-bar{background:#ffffff14;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.profile-progress-fill{background:var(--text-primary);border-radius:999px;height:100%;transition:width .25s}.progress-segment{border-radius:999px;transition:width .25s;position:absolute;top:0;bottom:0;left:0}.segment-fetched{background:#ffffff40}.segment-light{background:var(--text-primary)}.segment-deep{background:#4ade80}.profile-progress-legend{color:var(--text-secondary);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.advanced-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:14px}.advanced-table th,.advanced-table td{border-bottom:1px solid var(--border-color);text-align:left;padding:6px 10px}.advanced-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:12px}.advanced-table.compact th,.advanced-table.compact td{padding:4px 8px}.heatmap-wrapper{overflow-x:auto}.dual-table{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.playstyle-grid{flex-direction:column;gap:12px;display:flex}.playstyle-row{flex-direction:column;gap:6px;display:flex}.playstyle-label{color:var(--text-secondary);font-size:13px}.playstyle-track{color:var(--text-secondary);align-items:center;gap:10px;font-size:12px;display:flex}.playstyle-meter{background:var(--bg-secondary);border-radius:999px;flex:1;height:6px;position:relative}.playstyle-fill{background:var(--accent-primary);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.conversion-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.insight-columns{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;display:grid}.insight-column h4{margin-bottom:6px;font-size:14px}.insight-column ul{color:var(--text-secondary);padding-left:18px;line-height:1.4;list-style:outside}.legend-dot{border-radius:999px;width:8px;height:8px;margin-right:6px;display:inline-block}.legend-dot.fetched{background:#ffffff40}.legend-dot.light{background:var(--text-primary)}.legend-dot.deep{background:#4ade80}.personal-section header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.personal-section h3{margin:0;font-size:18px}.account-filter-row{flex-wrap:wrap;gap:10px;display:flex}.account-chip{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;transition:all .2s}.account-chip.active{background:var(--text-primary);color:var(--bg-primary)}.combine-toggle label{align-items:center;gap:6px;font-size:14px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.stats-summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.stat-card{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;padding:14px}.stat-label{color:var(--text-secondary);margin:0;font-size:13px}.stat-value{margin:6px 0;font-size:24px;font-weight:600}.stat-platform{color:var(--text-tertiary);font-size:12px}.opening-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.opening-table{border-collapse:collapse;width:100%;font-size:14px}.opening-table th,.opening-table td{text-align:left;padding:6px 4px}.opening-table thead{border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.tag-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.tag-panel{border:1px solid var(--border-color);background:#ffffff08;border-radius:12px;padding:12px}.tag-panel h4{margin-top:0;margin-bottom:8px;font-size:14px}.tag-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:4px 0;font-size:14px;display:flex}.tag-row:last-child{border-bottom:none}.phase-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.phase-card{border:1px solid var(--border-color);text-align:center;border-radius:12px;padding:12px}.personality-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.personality-card{border:1px solid var(--border-color);background:#ffffff05;border-radius:12px;padding:12px}.personality-card ul{margin:8px 0 0;padding-left:18px;font-size:14px;line-height:1.4}.tendency-row{border-bottom:1px solid #ffffff0d;padding:6px 0}.tendency-row:last-child{border-bottom:none}.tendency-row h5{margin:0 0 4px;font-size:14px}.trend-confidence{color:var(--text-tertiary);text-transform:uppercase;font-size:12px}.personal-row{align-items:center;gap:12px;display:flex}.search-input.compact{max-width:220px;font-size:15px}.game-list{flex-direction:column;gap:10px;display:flex}.game-card{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.game-opponent{margin:0;font-size:16px;font-weight:600}.game-meta{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.game-platform{color:#999;font-size:13px}.game-platform-link{color:#4f46e5;font-size:13px;text-decoration:none;transition:color .2s}.game-platform-link:hover{color:#6366f1;text-decoration:underline}.game-opening{color:var(--text-tertiary);margin:2px 0 0;font-size:13px}.game-pagination{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.game-pagination button{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:999px;padding:6px 16px}.game-pagination button:disabled{opacity:.4;cursor:not-allowed}.analysis-placeholder{color:var(--text-secondary);font-size:15px;line-height:1.6}.settings-form{flex-direction:column;gap:24px;max-width:600px;display:flex}.settings-group{border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:16px;width:100%;padding:24px;display:flex}.settings-group legend{margin-bottom:8px;font-size:16px;font-weight:600}.settings-group label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:14px;display:flex}.settings-group input[type=text],.settings-group input[type=email],.settings-group select{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-fast,.16s ease);border-radius:10px;padding:10px 12px;font-size:15px}.settings-group input[type=text]:disabled,.settings-group input[type=email]:disabled,.settings-group select:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-secondary)}.settings-group input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.settings-note{color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px;margin:0;padding:12px;font-size:14px;line-height:1.5}.settings-empty{color:var(--text-secondary);margin:0;font-size:14px;font-style:italic}.linked-accounts-list{flex-direction:column;gap:8px;display:flex}.linked-account-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.account-platform{color:var(--text-primary);min-width:100px;font-size:14px;font-weight:600}.account-username{color:var(--text-secondary);font-size:14px}.toggle-row{align-items:center;flex-direction:row!important;gap:10px!important}.account-button-row{flex-wrap:wrap;gap:10px;display:flex}.account-button-row button{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:10px;flex:1;padding:10px 12px}.curtain-detail-overlay{z-index:300;background:#00000080;justify-content:flex-start;display:flex;position:fixed;inset:0}.curtain-detail-panel{background:var(--bg-primary);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);flex-direction:column;width:min(900px,90%);height:100%;display:flex}.curtain-detail-panel.slide-in{margin-left:420px}.curtain-detail-panel header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px;display:flex}.curtain-detail-panel header button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:16px}.settings-fullscreen-overlay{z-index:420;background:#0009;justify-content:center;align-items:stretch;padding:12px;display:flex;position:fixed;inset:0}.settings-fullscreen-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:18px;flex-direction:column;width:min(980px,100%);height:100%;display:flex;overflow:hidden}.settings-fullscreen-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.settings-fullscreen-header h2{color:var(--text-primary);margin:0;font-size:22px;font-weight:600}.settings-fullscreen-body{padding:20px;overflow-y:auto}.settings-fullscreen-body .settings-form{width:100%;max-width:900px;margin:0 auto}@media (max-width:768px){.settings-fullscreen-overlay{padding:0}.settings-fullscreen-modal{border-left:none;border-right:none;border-radius:0;width:100%}.settings-fullscreen-header{padding-top:max(18px,calc(18px + env(safe-area-inset-top)))}.settings-fullscreen-body{padding-bottom:max(20px,calc(20px + env(safe-area-inset-bottom)))}}.curtain-detail-body{padding:20px;overflow-y:auto}.thread-title{color:var(--text-primary);margin-bottom:4px;font-size:18px;font-weight:500}.thread-meta{color:var(--text-tertiary);font-size:15px}.empty-state,.loading{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:18px}@media (max-width:768px){.history-curtain{width:100%;height:100dvh}.board-dock-inner{flex-direction:column}.hero-stage{padding-top:calc(60px + env(safe-area-inset-top))}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){:root{--border-color:#000;--text-secondary:#000}[data-theme=night]{--border-color:#fff;--text-secondary:#fff}}.composer-side{flex:none;align-items:center;gap:10px;display:flex}.options-button{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:500;transition:background .2s,color .2s,border .2s}.options-button:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-secondary);background:#0000000d}.options-button:disabled{opacity:.5;cursor:not-allowed}.send-button{background:var(--text-primary);height:46px;color:var(--bg-primary);border:none;border-radius:12px;padding:0 18px;font-size:14px;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 18px #00000026}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 22px #0003}.request-options-overlay{z-index:2200;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.request-options-modal{background:var(--bg-primary-overlay,#111);border:1px solid var(--border-color);border-radius:16px;width:min(380px,90%);padding:28px;box-shadow:0 24px 64px #00000073}.request-options-modal h3{color:var(--text-primary);margin:0 0 8px;font-size:20px;font-weight:600}.profile-setup-overlay{z-index:3000;background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.profile-setup-modal{background:var(--bg-secondary);border:1px solid #ffffff14;border-radius:24px;flex-direction:column;gap:22px;width:min(720px,95vw);padding:32px;display:flex;box-shadow:0 30px 80px #00000073}.profile-setup-modal header h2{margin:0 0 12px;font-size:28px}.profile-setup-modal header p{color:var(--text-secondary);margin:0;font-size:15px;line-height:1.5}.profile-section{background:#00000026;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;gap:12px;padding:18px;display:flex}.profile-section h3{margin:0;font-size:17px}.profile-section .section-head{justify-content:space-between;align-items:center;display:flex}.profile-section .section-head button{cursor:pointer;color:#fff;background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;padding:6px 14px}.profile-account-list{flex-direction:column;gap:10px;display:flex}.profile-account-row{grid-template-columns:160px 1fr 42px;align-items:center;gap:12px;display:grid}.profile-account-row select,.profile-account-row input{color:var(--text-primary);appearance:none;background:#00000059;border:1px solid #fff3;border-radius:12px;padding:10px 14px}.profile-account-row select{background-image:linear-gradient(45deg,#0000 50%,#fff 50%),linear-gradient(135deg,#fff 50%,#0000 50%);background-position:calc(100% - 15px) calc(50% - 4px),calc(100% - 10px) calc(50% - 4px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.profile-account-row .ghost{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:18px}.ghost.small{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:13px}.time-control-grid{flex-wrap:wrap;gap:12px;display:flex}.time-control-chip{cursor:pointer;color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:999px;padding:10px 20px;font-size:15px;transition:all .2s}.time-control-chip.selected{background:var(--text-primary);color:var(--bg-primary);border-color:#0000;box-shadow:0 8px 18px #00000040}.profile-actions{justify-content:flex-end;gap:12px;display:flex}.profile-actions button{cursor:pointer;color:#fff;background:#ffffff08;border:1px solid #fff3;border-radius:999px;padding:12px 24px;font-size:15px}.profile-actions button.primary{background:var(--text-primary);color:var(--bg-primary);border:none;box-shadow:0 12px 25px #00000059}.request-options-modal p{color:var(--text-secondary);margin:0 0 18px;font-size:15px}.request-options-buttons{flex-direction:column;gap:12px;display:flex}.request-options-buttons button{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:12px;padding:14px 16px;font-size:15px;font-weight:500;transition:background .2s,border .2s}.request-options-buttons button:hover:not(:disabled){background:#ffffff0d}.request-options-buttons button:disabled{opacity:.6;cursor:not-allowed}.request-options-buttons button.cancel-button{color:#ffffffb3;background:#ffffff08;border:1.5px solid #ffffff26;padding:10px 14px;font-size:14px}.request-options-buttons button.cancel-button:hover{color:#ffffffd9;background:#ffffff0f}.message-button{flex:1;justify-content:center;margin:0;display:flex;background:0 0!important;border:none!important;padding:0!important}.button-group-container{gap:8px;width:100%;margin:12px 0;display:flex}.button-group-container .message-button{flex:1;margin:0}.message-button .inline-button{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#ffffff0a;border-radius:12px;width:100%;padding:10px 18px;font-size:15px;font-weight:500;transition:background .2s,border .2s}.message-button .inline-button:hover:not(:disabled){background:#ffffff14}.message-button .inline-button:disabled{opacity:.4;cursor:not-allowed;background:#ffffff05}.personal-review-charts{background:var(--bg-secondary);border-radius:8px;margin:1rem 0;padding:1rem}.personal-review-charts h3{margin:0 0 1rem;font-size:1.3rem}.chart-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;margin:1.5rem 0;padding:1rem}.chart-section h4{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.color-comparison{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.color-stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;align-items:center;min-width:150px;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.color-stat-card:hover{box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.time-control-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.time-control-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;align-items:center;padding:1rem;transition:transform .2s,box-shadow .2s;display:flex}.time-control-card:hover{box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.theme-list{flex-direction:column;gap:0;display:flex}.time-spent-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.time-spent-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;align-items:center;padding:1rem;transition:transform .2s,box-shadow .2s;display:flex}.time-spent-card:hover{box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.tag-performance-list{flex-direction:column;gap:.5rem;display:flex}.tag-performance-item{border-radius:8px;padding:.75rem 1rem;transition:transform .2s,box-shadow .2s;background:#0000004d!important}.tag-performance-item:hover{box-shadow:0 2px 8px var(--shadow);transform:translate(4px);background:#00000080!important}.game-setup-overlay{z-index:3000;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.game-setup-modal{background:var(--bg-secondary);border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:24px;width:min(580px,100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:32px;display:flex;overflow-y:auto;box-shadow:0 20px 60px #00000073}.game-setup-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.game-setup-header h2{color:var(--text-primary);margin:0;font-size:22px;font-weight:600}.game-setup-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;line-height:1;transition:all .2s;display:flex}.game-setup-close:hover{color:var(--text-primary);background:#ffffff1a}.game-setup-content{flex-direction:column;gap:24px;display:flex}.game-setup-section{flex-direction:column;gap:14px;display:flex}.game-setup-section h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.side-selection{gap:12px;display:flex}.side-button{color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:10px;flex:1;padding:14px;font-size:15px;font-weight:500;transition:all .2s}.side-button:hover{background:#ffffff1a;border-color:#fff3}.side-button.active{color:#60a5fa;background:#3b82f633;border-color:#3b82f680}.elo-slider-container{flex-direction:column;gap:10px;display:flex}.elo-slider{appearance:none;background:#ffffff1a;border-radius:4px;outline:none;width:100%;height:8px}.elo-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3b82f6;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 4px #0000004d}.elo-slider::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:none;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 4px #0000004d}.elo-display{justify-content:center;align-items:baseline;gap:8px;display:flex}.elo-value{color:var(--text-primary);font-size:28px;font-weight:700}.elo-label{color:var(--text-secondary);font-size:14px;font-weight:500}.elo-presets{flex-wrap:wrap;gap:8px;display:flex}.elo-preset{min-width:80px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex:1;padding:8px 12px;font-size:12px;transition:all .2s;overflow:hidden}.elo-preset:hover{color:var(--text-primary);background:#ffffff1a;border-color:#fff3}.start-options{gap:12px;display:flex}.start-option-button{color:var(--text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:10px;flex:1;min-width:0;padding:14px 16px;font-size:15px;font-weight:500;transition:all .2s;overflow:hidden}.start-option-button:hover{background:#ffffff1a;border-color:#fff3}.start-option-button.active{color:#60a5fa;background:#3b82f633;border-color:#3b82f680}.start-option-button:disabled{opacity:.5;cursor:not-allowed}.opening-input-container{width:100%;position:relative}.opening-input{width:100%;color:var(--text-primary);box-sizing:border-box;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:10px;padding:12px 16px;font-size:15px;font-weight:500;transition:all .2s}.opening-input:focus{background:#ffffff14;border-color:#3b82f680;outline:none}.opening-dropdown{background:var(--bg-secondary);z-index:1000;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;max-height:200px;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.opening-dropdown-item{color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #ffffff0d;padding:12px 16px;font-size:14px;transition:all .2s}.opening-dropdown-item:last-child{border-bottom:none}.opening-dropdown-item:hover{color:var(--text-primary);background:#ffffff1a}.opening-dropdown-item:active{background:#3b82f633}.game-setup-actions{gap:10px;margin-top:4px;display:flex}.game-setup-cancel,.game-setup-start{cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px 20px;font-size:14px;font-weight:500;transition:all .2s}.game-setup-cancel{color:var(--text-secondary);background:#ffffff0d;border:1px solid #ffffff1a}.game-setup-cancel:hover{color:var(--text-primary);background:#ffffff1a}.game-setup-start{color:#fff;background:#3b82f6}.game-setup-start:hover{background:#2563eb}.board-with-eval{width:100%;max-width:var(--board-size,600px);justify-content:flex-start;align-items:flex-start;gap:8px;margin:0 auto;padding-right:20px;display:flex}.chat-layout.with-board .board-with-eval{width:100%;max-width:100%;margin:0}.board-and-analysis{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.chat-layout.with-board .board-and-analysis{width:100%;max-width:100%}.board-and-analysis .board-container{aspect-ratio:1;width:100%;max-width:100%;margin:0;position:relative}.chat-layout.with-board .board-and-analysis .board-container{max-width:100%;margin:0}.board-and-analysis .board-container>div,.board-and-analysis .board-container .react-chessboard,.board-and-analysis .board-container [class*=chessboard]{min-height:400px;width:100%!important;height:100%!important}.chat-layout.with-board .board-and-analysis .board-container>div,.chat-layout.with-board .board-and-analysis .board-container .react-chessboard,.chat-layout.with-board .board-and-analysis .board-container [class*=chessboard]{min-height:0;width:100%!important;height:100%!important}.evaluation-bar-container{background:#2c2c2c;border-radius:2px;flex-direction:column;flex-shrink:0;align-self:flex-start;width:30px;min-width:30px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0003}.evaluation-bar{width:100%;height:100%;position:relative}.evaluation-bar-white,.evaluation-bar-black{transition:height .3s}.stockfish-analysis{background-color:#0e1625;border:1px solid #0e1625;border-radius:4px;margin-top:8px;padding:6px;font-size:17px}.chat-layout.with-board .stockfish-analysis{width:100%;max-width:100%;margin-top:clamp(6px,.8vw,8px);padding:clamp(4px,.6vw,6px);font-size:clamp(10px,1.2vw,11px)}.stockfish-analysis-header{display:none}.stockfish-analyzing-indicator{color:var(--accent-color);font-size:11px;font-weight:400;animation:1.5s ease-in-out infinite pulse}.chat-layout.with-board .stockfish-analyzing-indicator{font-size:clamp(9px,1.1vw,11px)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.stockfish-line{margin-bottom:3px;padding-bottom:3px}.stockfish-line:last-child{margin-bottom:0;padding-bottom:0}.stockfish-line-header{align-items:center;gap:8px;padding:2px;font-size:11px;display:flex}.chat-layout.with-board .stockfish-line-header{gap:clamp(6px,.8vw,8px);padding:clamp(1px,.2vw,2px);font-size:clamp(9px,1.1vw,11px)}.stockfish-line-info{flex-shrink:0;align-items:center;gap:6px;display:flex}.stockfish-line-number{color:var(--text-tertiary);min-width:16px;font-weight:500}.stockfish-line-eval{color:var(--text-primary);min-width:40px;font-size:14px;font-weight:600}.chat-layout.with-board .stockfish-line-eval{min-width:clamp(35px,4vw,40px);font-size:clamp(9px,1.1vw,11px)}.stockfish-line-depth{color:var(--text-tertiary);font-size:12px}.chat-layout.with-board .stockfish-line-depth{font-size:clamp(8px,1vw,10px)}.stockfish-line-move{color:var(--text-primary);flex-shrink:0;min-width:50px;font-size:14px;font-weight:500}.chat-layout.with-board .stockfish-line-move{min-width:clamp(45px,5vw,50px);font-size:clamp(9px,1.1vw,11px)}.stockfish-line-pv-inline{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin-left:4px;font-family:monospace;font-size:13px;overflow:hidden}.chat-layout.with-board .stockfish-line-pv-inline{margin-left:clamp(3px,.5vw,4px);font-size:clamp(8px,1vw,10px)}.stockfish-expand-arrow{color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;margin-left:4px;font-size:10px}.chat-layout.with-board .stockfish-expand-arrow{margin-left:clamp(3px,.5vw,4px);font-size:clamp(8px,1vw,10px)}.stockfish-line-pv{color:var(--text-secondary);margin-top:4px;padding-left:24px;font-family:monospace;font-size:11px}.chat-layout.with-board .stockfish-line-pv{margin-top:clamp(3px,.5vw,4px);padding-left:clamp(18px,2.5vw,24px);font-size:clamp(9px,1.1vw,11px)}.training-session-container{background:var(--bg-primary);flex-direction:column;height:100%;min-height:0;padding:14px 16px;display:flex}.session-header{margin-bottom:12px}.session-header h3{color:var(--text-primary);margin:0 0 12px;font-size:1.25em}.session-intro{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:8px;margin-bottom:16px;padding:16px;font-size:.95em;line-height:1.6}.session-composition{color:var(--text-secondary);margin-top:8px;font-size:.9em}.training-tabs{border-bottom:2px solid var(--border-color);gap:8px;margin-bottom:12px;display:flex}.training-tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:12px 24px;font-size:1em;transition:all .2s}.training-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.training-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-color);font-weight:600}.training-content{flex:1;min-height:0;overflow:hidden}.training-drill-container{flex-direction:column;gap:14px;display:flex}.drill-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.drill-progress{color:var(--text-primary);font-size:1.1em;font-weight:600}.drill-type-badge{background:var(--accent-color);color:#fff;text-transform:capitalize;border-radius:12px;padding:4px 12px;font-size:.85em}.drill-question h3{color:var(--text-primary);margin:0 0 8px;font-size:1.3em}.drill-meta{color:var(--text-secondary);margin-top:8px;font-size:.9em}.drill-origin{color:var(--text-secondary);margin-top:8px;font-size:.85em;font-style:italic}.drill-date{opacity:.7;margin-left:8px}.drill-board-section{align-items:flex-start;gap:20px;margin:12px 0;display:flex}.drill-board-wrapper{flex:none;width:clamp(320px,42vmin,640px);min-width:0;max-width:100%}.drill-board-info{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.position-info{color:var(--text-primary);font-size:1.1em;font-weight:600}.move-input-section{flex-direction:column;gap:8px;display:flex}.move-input-section label{color:var(--text-secondary);font-size:.9em}.move-input{border:2px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;width:200px;padding:10px 16px;font-size:1em}.move-input:focus{border-color:var(--accent-color);outline:none}.drill-feedback{border-radius:8px;margin:16px 0;padding:16px;font-weight:500}.drill-feedback.correct{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.drill-feedback.incorrect{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.solution-display{color:#0c5460;background:#d1ecf1;border-radius:8px;margin:16px 0;padding:16px;font-weight:600}.drill-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.hint-btn,.solution-btn,.skip-btn{border:2px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:10px 20px;font-size:.95em;transition:all .2s}.hint-btn:hover,.solution-btn:hover,.skip-btn:hover{background:var(--bg-secondary);border-color:var(--accent-color)}.hint-btn:disabled{opacity:.6;cursor:not-allowed}.drill-hint{color:#856404;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-top:16px;padding:16px;font-style:italic}.session-footer{border-top:1px solid var(--border-color);margin-top:auto;padding-top:20px}.exit-session-btn{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:6px;padding:12px 24px;font-size:1em;font-weight:600;transition:background .2s}.exit-session-btn:hover{background:#c82333}.training-chat-placeholder{text-align:center;color:var(--text-secondary);padding:40px;font-style:italic}.training-session-complete{text-align:center;padding:40px}.session-summary{justify-content:center;gap:40px;margin:30px 0;display:flex}.summary-stat{flex-direction:column;align-items:center;display:flex}.stat-label{color:var(--text-secondary);margin-bottom:8px;font-size:.9em}.stat-value{color:var(--text-primary);font-size:2em;font-weight:700}.session-feedback{margin:30px 0;font-size:1.1em}.session-actions{justify-content:center;gap:16px;margin-top:30px;display:flex}.review-mistakes-btn,.close-session-btn{border:2px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:12px 24px;font-size:1em;transition:all .2s}.review-mistakes-btn:hover,.close-session-btn:hover{background:var(--bg-secondary);border-color:var(--accent-color)}@media (max-width:768px){.drill-board-section{flex-direction:column}.drill-board-wrapper{width:min(92vw,520px);min-width:auto;max-width:100%}.session-summary{flex-direction:column;gap:20px}}.stripe-pricing-table-container{width:100%;min-height:400px;margin-top:24px}stripe-pricing-table{width:100%;display:block}stripe-pricing-table::part(card){background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important}stripe-pricing-table::part(button){background:var(--accent-primary)!important;color:var(--bg-primary)!important;border-radius:var(--radius-md)!important;border:none!important}stripe-pricing-table::part(button):hover{background:var(--accent-hover)!important}stripe-pricing-table *{color:var(--text-primary)!important}@media (max-width:768px){.stripe-pricing-table-container{min-height:300px;margin-top:16px}}
