:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-height:100svh;margin:0}#root{min-height:100svh}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#1b1b1f;--panel:#26262c;--panel-2:#2f2f37;--border:#3c3c45;--text:#eceef1;--muted:#9a9aa5;--accent:#5b8def;--good:#4caf7d;--bad:#e05a5a;--warn:#d9a441;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.app{max-width:1200px;margin:0 auto;padding:1.5rem}.app-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.app-header h1{margin:0 auto 0 0;font-size:1.4rem}.tabs{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:.25rem;padding:.2rem;display:flex}.tab{color:var(--muted);background:0 0;border:none;border-radius:6px;padding:.4rem .9rem}.tab.active{background:var(--accent);color:#fff}button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem .9rem;font-size:.95rem}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}button.link{color:var(--accent);font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.landing{max-width:680px;margin:2.5rem auto;padding:0 1rem}.tagline{text-align:center;color:var(--text);margin:0 0 1.5rem;font-size:1.15rem;font-weight:500}.app-blurb{color:var(--muted);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.feature-list{grid-template-columns:repeat(2,1fr);gap:.6rem;margin:0 0 1.75rem;padding:0;list-style:none;display:grid}.feature-list li:last-child{grid-column:1/-1}@media (width<=640px){.feature-list{grid-template-columns:1fr}.feature-list li:last-child{grid-column:auto}}.feature-list li{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:.6rem .85rem;font-size:.9rem;line-height:1.5}.feature-list strong{color:var(--text)}.pgn-input{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:2rem;padding:1.25rem}.pgn-input h2{margin-top:0}.pgn-input textarea{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);resize:vertical;border-radius:6px;padding:.6rem;font-family:ui-monospace,monospace;font-size:.85rem}.pgn-input-actions{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.error-text{color:var(--bad)}.muted{color:var(--muted)}.game-layout{grid-template-columns:minmax(320px,520px) 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=820px){.game-layout{grid-template-columns:1fr}}.board-column{flex-direction:column;gap:.75rem;display:flex}@media (width>=821px){.board-column{align-self:start;position:sticky;top:1rem}}.players{justify-content:center;gap:.5rem;font-weight:600;display:flex}.players .vs{color:var(--muted);font-weight:400}.board-row{align-items:stretch;gap:.5rem;display:flex}.board-wrap{flex:1;width:100%;min-width:0}.eval-bar{border:1px solid var(--border);background:#f0f0f0;border-radius:4px;flex:0 0 26px;position:relative;overflow:hidden}.eval-bar-black-fill{background:#262626;transition:height .4s;position:absolute;left:0;right:0}.eval-bar-label{color:var(--text);white-space:nowrap;background:#2626268c;border-radius:3px;padding:1px 3px;font-size:.65rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.controls{justify-content:center;gap:.5rem;display:flex}.board-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.board-hint{text-align:center;font-size:.8rem}.exploration-banner{background:var(--panel);border:1px solid var(--accent);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;font-family:ui-monospace,monospace;font-size:.85rem;display:flex}.side-column{flex-direction:column;gap:1rem;min-height:0;display:flex}.side-tabs{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:.25rem;padding:.25rem;display:flex}.side-tab{color:var(--muted);background:0 0;border:none;border-radius:6px;flex:1;padding:.45rem .5rem;font-size:.9rem}.side-tab:hover:not(.active){background:var(--panel-2);color:var(--text)}.side-tab.active{background:var(--accent);color:#fff}.game-summary{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem}.summary-section{margin-bottom:1rem}.summary-section:last-of-type{margin-bottom:.75rem}.summary-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .4rem;font-size:.8rem}.summary-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.summary-list li{background:var(--panel-2);border-radius:8px;padding:.55rem .7rem;font-size:.9rem;line-height:1.45}.summary-list>li>strong{margin-bottom:.2rem;display:block}.summary-list .turning-move{color:var(--warn);font-family:ui-monospace,monospace}.batch-status{background:var(--panel);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.batch-status button{flex-shrink:0;padding:.35rem .7rem;font-size:.85rem}.field p.small,p.small{font-size:.8rem}.move-list,.explanation-panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem}.move-list h3,.explanation-panel h3{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:0;display:flex}.move-list-scroll{max-height:260px;overflow-y:auto}.move-row{grid-template-columns:2.5rem 1fr 1fr;align-items:center;gap:.25rem;display:grid}.move-number{color:var(--muted);font-size:.85rem}.move-cell{color:var(--text);text-align:left;background:0 0;border:none;border-radius:4px;padding:.25rem .4rem;font-family:ui-monospace,monospace}.move-cell:hover{background:var(--panel-2)}.move-cell.active{background:var(--accent);color:#fff}.move-cell.empty{pointer-events:none}.move-cell.q-blunder,.move-cell.q-missedMate{color:var(--bad)}.move-cell.q-mistake{color:var(--warn)}.quality-badge{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:.15rem .5rem;font-size:.75rem}.quality-badge.q-best,.quality-badge.q-excellent{color:var(--good);border-color:var(--good)}.quality-badge.q-mistake,.quality-badge.q-inaccuracy{color:var(--warn);border-color:var(--warn)}.quality-badge.q-blunder,.quality-badge.q-missedMate{color:var(--bad);border-color:var(--bad)}.facts{flex-direction:column;gap:.3rem;margin:.75rem 0;font-size:.9rem;display:flex}.fact-row{border-bottom:1px dashed var(--border);justify-content:space-between;padding-bottom:.2rem;display:flex}.pgn-comment{background:var(--panel-2);border-radius:6px;margin:.75rem 0;padding:.6rem;font-size:.9rem}.ai-explanation{margin-top:.75rem}.explanation-alternatives{border-top:1px dashed var(--border);margin-top:.75rem;padding-top:.75rem}.explanation-alternatives h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .4rem;font-size:.8rem}.followup-chat{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem}.followup-chat h3{margin-top:0}.followup-messages{flex-direction:column;gap:.6rem;max-height:260px;margin-bottom:.75rem;display:flex;overflow-y:auto}.followup-msg{background:var(--panel-2);border-radius:8px;padding:.5rem .7rem;font-size:.9rem}.followup-msg>strong{color:var(--muted);margin-bottom:.2rem;font-size:.75rem;display:block}.followup-msg p{margin:0 0 .6em;line-height:1.4}.followup-msg.followup-user{border:1px solid var(--border);background:0 0}.followup-input-row{gap:.5rem;margin-top:.5rem;display:flex}.followup-input-row input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;flex:1;padding:.5rem}.related-videos{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem}.related-videos h3{margin-top:0}.video-search-row{gap:.5rem;margin-bottom:.75rem;display:flex}.video-search-row input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;flex:1;padding:.5rem}.video-results{flex-direction:column;gap:.5rem;max-height:340px;display:flex;overflow-y:auto}.video-card{background:var(--panel-2);border:1px solid var(--border);text-align:left;color:var(--text);border-radius:8px;align-items:center;gap:.6rem;padding:.4rem;display:flex}.video-card.active{border-color:var(--accent)}.video-card img{object-fit:cover;border-radius:4px;flex-shrink:0;width:84px;height:47px}.video-card-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.video-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.3;display:-webkit-box;overflow:hidden}.video-card-channel{color:var(--muted);font-size:.75rem}.video-player{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.75rem}.video-player-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.video-player-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.video-player-frame{aspect-ratio:16/9;background:#000;border-radius:6px;width:100%;position:relative;overflow:hidden}.video-player-frame iframe{border:0;width:100%;height:100%}.video-player-link{color:var(--accent);margin-top:.5rem;font-size:.85rem;display:inline-block}.explanation-text{line-height:1.6}.explanation-text>p:first-child{color:var(--text)}.explanation-text>p:not(:first-child),.explanation-text>ul,.explanation-text>ol{color:var(--muted)}.explanation-text strong{color:var(--text)}.explanation-text p,.followup-msg p{margin:0 0 .6em}.explanation-text p:last-child,.followup-msg p:last-child{margin-bottom:0}.explanation-text ul,.explanation-text ol,.followup-msg ul,.followup-msg ol{margin:0 0 .6em;padding-left:1.25em}.explanation-text ul:last-child,.explanation-text ol:last-child,.followup-msg ul:last-child,.followup-msg ol:last-child{margin-bottom:0}.explanation-text li,.followup-msg li{margin-bottom:.4em;padding-left:.15em}.explanation-text li::marker{color:var(--muted)}.followup-msg li::marker{color:var(--muted)}.explanation-text code,.followup-msg code{background:var(--bg);color:var(--accent);white-space:nowrap;border-radius:4px;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.9em}.explanation-text h4,.explanation-text h5,.explanation-text h6,.followup-msg h4,.followup-msg h5,.followup-msg h6{margin:.6em 0 .3em;font-size:.95em}.explanation-text h4:first-child,.explanation-text h5:first-child,.explanation-text h6:first-child,.followup-msg h4:first-child,.followup-msg h5:first-child,.followup-msg h6:first-child{margin-top:0}.modal-backdrop{z-index:10;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:min(420px,90vw);padding:1.5rem}.field{flex-direction:column;gap:.3rem;margin-bottom:1rem;display:flex}.field input[type=text],.field input[type=password],.field select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.5rem}.field.checkbox{flex-direction:row;align-items:center}.settings-section-title{color:var(--muted);border-top:1px solid var(--border);margin:0 0 .75rem;padding-top:1rem;font-size:.9rem}.field small a{color:var(--accent)}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.usage-panel{max-width:900px;margin:0 auto}.usage-summary{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}@media (width<=640px){.usage-summary{grid-template-columns:repeat(2,1fr)}}.usage-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.usage-card-value{font-size:1.5rem;font-weight:600}.usage-card-label{color:var(--muted);font-size:.85rem}.usage-table-wrap{margin-bottom:1.5rem;overflow-x:auto}.usage-table{border-collapse:collapse;width:100%;font-size:.85rem}.usage-table th,.usage-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .75rem}.usage-table th{color:var(--muted);font-weight:500}.usage-history-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.followup-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.followup-actions button{padding:.3rem .6rem;font-size:.8rem}
