:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f0f11;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{min-width:320px;min-height:100vh;margin:0;display:flex;overflow:hidden}#root{width:100vw;height:100vh;display:flex}.left-panel{z-index:10;background-color:#0f1115;border-right:1px solid #2a2b36;flex-direction:column;height:100%;display:flex;box-shadow:4px 0 24px #0003}.left-panel-header{background-color:#14151b;border-bottom:1px solid #2a2b36;flex-direction:column;gap:.5rem;padding:1.25rem 1.5rem;display:flex}.header-title-row{align-items:center;gap:.75rem;display:flex}.ai-icon{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 4px 12px #6366f166}.left-panel-header h2{color:#f8fafc;letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:600}.context-chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{color:#94a3b8;background-color:#1e1f29;border:1px solid #2a2b36;border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.7rem;font-weight:500;display:flex}.dot.online{background-color:#10b981;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 8px #10b98199}.dot.offline{background-color:#ef4444;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 8px #ef444499}.chat-history{scroll-behavior:smooth;flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem;display:flex;overflow-y:auto}.chat-history::-webkit-scrollbar{width:6px}.chat-history::-webkit-scrollbar-thumb{background-color:#2a2b36;border-radius:10px}.chat-message{max-width:90%;animation:.3s forwards fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.message-bubble{white-space:pre-wrap;border-radius:12px;padding:.85rem 1.15rem;font-size:.95rem;line-height:1.6;box-shadow:0 2px 8px #00000026}.chat-message.user .message-bubble{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);border-bottom-right-radius:2px}.chat-message.assistant .message-bubble{color:#e2e8f0;background-color:#1e1f29;border:1px solid #2a2b36;border-bottom-left-radius:2px}.typing-indicator span{color:#94a3b8;font-size:1.5rem;line-height:.5;animation:1.4s infinite both blink}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}.chat-input-area{background-color:#14151b;border-top:1px solid #2a2b36;flex-direction:column;gap:.5rem;padding:1rem 1.5rem;display:flex}.input-wrapper{background-color:#1e1f29;border:1px solid #2a2b36;border-radius:12px;align-items:flex-end;transition:all .2s;display:flex;position:relative}.input-wrapper:focus-within{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.input-wrapper textarea{color:#f8fafc;resize:none;box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:150px;padding:1rem;font-family:inherit;font-size:.95rem}.input-wrapper textarea::placeholder{color:#64748b}.send-button{color:#fff;cursor:pointer;background-color:#6366f1;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;margin:.6rem;transition:background-color .2s,opacity .2s,transform .1s;display:flex}.send-button:hover:not(:disabled){background-color:#4f46e5;transform:translateY(-1px)}.send-button:disabled{opacity:.5;cursor:not-allowed;color:#94a3b8;background-color:#334155}.input-hint{color:#64748b;text-align:center;margin:0;font-size:.7rem}.right-panel{background-color:#0b0c10;flex-direction:column;height:100%;display:flex}.tabs-header{background-color:#14151b;border-bottom:1px solid #2a2b36;gap:1rem;padding:0 1.5rem;display:flex;overflow-x:auto}.tab-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:1.25rem .5rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.tab-btn:hover{color:#e2e8f0}.tab-btn.active{color:#6366f1;border-bottom-color:#6366f1}.tab-content{background-color:#0b0c10;background-image:radial-gradient(#1e1f29 1px,#0000 1px);background-size:24px 24px;flex:1;position:relative;overflow-y:auto}.tab-content-container{color:#f8fafc;box-sizing:border-box;height:100%;padding:2.5rem}.tab-content-container h2{letter-spacing:-.02em;margin-top:0;margin-bottom:2rem;font-size:1.75rem;font-weight:600}.stat-card{background-color:#14151b;border:1px solid #2a2b36;border-radius:12px;padding:1.5rem;transition:transform .2s;box-shadow:0 4px 6px #0000001a}.stat-card:hover{border-color:#3f3f4e;transform:translateY(-2px)}.stat-card h3{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.stat-card p.primary-stat{color:#f8fafc;margin:0;font-size:2.5rem;font-weight:700}.fade-in{animation:.4s forwards fadeIn}.empty-state{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.empty-icon{color:#334155;margin-bottom:1.5rem}.empty-state h2{color:#e2e8f0;margin-bottom:.5rem}.insights-header{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.insights-header h2{margin:0}.meta-badge{color:#94a3b8;background-color:#1e1f29;border:1px solid #2a2b36;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;display:flex}.table-container{background-color:#14151b;border:1px solid #2a2b36;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.modern-table{border-collapse:collapse;width:100%;font-size:.9rem}.modern-table th{text-align:left;color:#94a3b8;letter-spacing:.05em;background-color:#1e1f29;border-bottom:1px solid #2a2b36;padding:1rem 1.25rem;font-size:.75rem;font-weight:600}.modern-table td{color:#e2e8f0;border-bottom:1px solid #2a2b36;padding:1rem 1.25rem}.modern-table tbody tr:last-child td{border-bottom:none}.modern-table tbody tr:hover{background-color:#1a1b23}.board-layout{align-items:flex-start;gap:3rem;display:flex}.board-section{flex:1.5;max-width:650px}.board-wrapper{background-color:#14151b;border:1px solid #2a2b36;border-radius:12px;padding:1.5rem}.analysis-section{flex-direction:column;flex:1;gap:1.5rem;margin-top:4.5rem;display:flex}.eval-card{background:linear-gradient(#14151b 0%,#0f1115 100%)}.card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.badge{color:#6366f1;background-color:#1e1f29;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.eval-score{color:#f8fafc;margin-bottom:1rem;font-size:3.5rem;font-weight:700;line-height:1}.best-move{color:#10b981;background-color:#10b9811a;border:1px solid #10b98133;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.best-move strong{margin-left:.25rem;font-size:1.1rem}.subtext{color:#64748b;margin:0;font-size:.85rem}.fen-display{color:#94a3b8;word-break:break-all;background-color:#0b0c10;border:1px solid #2a2b36;border-radius:6px;padding:1rem;font-size:.8rem;line-height:1.4;display:block}.games-tab{box-sizing:border-box;color:#ffffffde;background-color:#0f0f11;flex-direction:column;height:100%;padding:2rem;display:flex;overflow-y:auto}.games-header{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.username-input,.year-select{color:#fff;background-color:#1a1a20;border:1px solid #333;border-radius:6px;outline:none;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.username-input:focus,.year-select:focus{border-color:#3b82f6}.username-input{flex-grow:1}.load-btn{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s}.load-btn:hover:not(:disabled){background-color:#1d4ed8}.load-btn:disabled{color:#888;cursor:not-allowed;background-color:#333}.error-message{color:#ef4444;background-color:#ef44441a;border:1px solid #ef444433;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.months-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.month-tile{background-color:#1a1a20;border:1px solid #2a2a35;border-radius:12px;flex-direction:column;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 6px #0000004d}.month-tile:hover{border-color:#3a3a45;transform:translateY(-2px);box-shadow:0 6px 12px #0006}.month-tile h3{color:#e2e8f0;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.month-tile p{color:#94a3b8;margin:0 0 1.5rem;font-size:.95rem}.month-actions{gap:.75rem;margin-top:auto;display:flex}.sync-btn,.analyze-btn{cursor:pointer;border:none;border-radius:6px;flex:1;padding:.5rem;font-size:.9rem;font-weight:500;transition:opacity .2s}.sync-btn{color:#fff;background-color:#10b981}.analyze-btn{color:#fff;background-color:#8b5cf6}.sync-btn:hover:not(:disabled),.analyze-btn:hover:not(:disabled){opacity:.9}.sync-btn:disabled,.analyze-btn:disabled{color:#64748b;cursor:not-allowed;background-color:#334155}.job-console{background-color:#0f0f11;border-top:1px solid #333;margin-top:auto;padding-top:1.5rem}.job-console h3{color:#e2e8f0;margin:0 0 1rem;font-size:1.1rem}.no-jobs{color:#64748b;text-align:center;background-color:#1a1a20;border-radius:6px;padding:1rem;font-style:italic}.jobs-list{flex-direction:column;gap:.5rem;max-height:200px;display:flex;overflow-y:auto}.job-item{background-color:#1a1a20;border:1px solid #2a2a35;border-radius:6px;align-items:center;gap:1rem;padding:.75rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;display:flex}.job-type{color:#3b82f6;min-width:100px;font-weight:600}.job-target{color:#94a3b8;min-width:80px}.job-status{color:#f59e0b;min-width:80px;font-weight:600}.job-progress{color:#10b981;margin-left:auto;font-weight:500}.job-error{color:#ef4444;margin-left:1rem}.app-container{flex-direction:column;width:100%;height:100%;display:flex}.app-header{border-bottom:1px solid #ffffff14;justify-content:flex-end;align-items:center;padding:8px 16px;display:flex}.layout-split{flex:1;min-height:0;display:flex;overflow:hidden}.layout-left{width:35%;min-width:300px;max-width:500px;height:100%}.layout-right{flex:1;height:100%}
