:root{--primary:#6a4bc3;--primary-soft:#efe9ff;--danger:#e74c3c;--success:#27ae60;--warning:#f1c40f;--bg:#f3f5ff;--text-main:#222;--text-muted:#666;--border:#e0e0e0;--card-bg:#fafaff;--low-bg:#ffe5e5;--mid-bg:#fff8d6;--high-bg:#e5ffe8}*{box-sizing:border-box}body{color:var(--text-main);background:radial-gradient(circle at top,#f8e9ff,#e3f2fd);margin:0;padding:20px;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif}.app-container{background:#fff;border-radius:18px;max-width:1400px;margin:0 auto;padding:20px 20px 24px;box-shadow:0 14px 35px #0000001f}.header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:6px;display:flex}.header-left h1{color:var(--primary);align-items:center;gap:8px;margin:0;font-size:24px;font-weight:700;display:flex}.header-left p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.tag{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.tag span.dot{background:var(--primary);border-radius:50%;width:6px;height:6px}.header-right{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.action-buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}button{cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:transform 80ms,box-shadow 80ms,background .15s;display:inline-flex;box-shadow:0 4px 10px #00000014}button:active{transform:translateY(1px);box-shadow:0 2px 5px #0000001a}.add-row{background-color:var(--success);color:#fff}.add-row:hover{background-color:#219150}.delete-row{background-color:var(--danger);color:#fff}.delete-row:hover{background-color:#c0392b}.backup-btn{color:#fff;background-color:#57606f}.backup-btn:hover{background-color:#2f3542}.countdown-wrapper{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.countdown-card{border:1px solid var(--border);background:linear-gradient(135deg,#fdfbff,#ebf4ff);border-radius:12px;min-width:170px;padding:8px 10px;font-size:11px;box-shadow:0 4px 10px #0000000a}.countdown-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;display:flex}.countdown-title{color:var(--primary);font-size:12px;font-weight:600}.exam-logo{object-fit:contain;background:#fff;border:1px solid #ddd;border-radius:4px;width:22px;height:22px;padding:1px}.countdown-time{color:#333;text-align:right;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.countdown-label{color:var(--text-muted);text-align:right;font-size:11px}.quote-card{border:1px solid var(--border);color:#444;background:linear-gradient(135deg,#f7f2ff,#eef9ff);border-radius:14px;align-items:flex-start;gap:8px;max-width:520px;margin:2px auto 10px 0;padding:8px 12px;font-size:13px;display:flex}.quote-accent{color:var(--primary);font-size:18px;line-height:1}.quote-text{font-style:italic}.table-wrapper{border:1px solid var(--border);border-radius:14px;margin-top:4px;overflow-x:auto}table{border-collapse:collapse;background-color:#fdfdff;width:100%;min-width:1200px}th,td{border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:13px}th{color:#fff;text-align:left;z-index:2;font-weight:600;position:sticky;top:0}th:nth-child(3),td:nth-child(3),th:nth-child(4),td:nth-child(4),th:nth-child(5),td:nth-child(5),th:nth-child(6),td:nth-child(6),th:nth-child(7),td:nth-child(7),th:nth-child(8),td:nth-child(8),th:nth-child(9),td:nth-child(9),th:nth-child(10),td:nth-child(10),th:nth-child(11),td:nth-child(11),th:nth-child(12),td:nth-child(12){text-align:center}td:nth-child(11),td:nth-child(12){color:#444;font-weight:700}th:nth-child(13),td:nth-child(13),th:nth-child(14),td:nth-child(14),th:nth-child(15),td:nth-child(15),th:nth-child(16),td:nth-child(16){text-align:center}tbody tr:nth-child(2n){background-color:#faf9ff}tbody tr:hover{outline:1px solid #cfd9ff}td[contenteditable=true]{cursor:text;outline:none}td[contenteditable=true]:focus{background:#fffaf0;box-shadow:inset 0 0 0 1px #f4c27f}input[type=checkbox]{cursor:pointer;transform:scale(1.1)}.row-low{background-color:var(--low-bg)!important}.row-mid{background-color:var(--mid-bg)!important}.row-high{background-color:var(--high-bg)!important}.trend-cell{font-size:14px;font-weight:700}.btn-notes{color:#555;cursor:pointer;background:#fff;border:1px solid #dcdcdc;border-radius:6px;padding:4px 10px;font-size:14px;box-shadow:0 1px 2px #0000000d}.btn-notes:hover{background:#f0f0f0}.btn-notes.has-notes{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.modal-overlay{z-index:1000;backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.modal-overlay.open{display:flex}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:550px;padding:24px;animation:.3s ease-out modalSlideUp;box-shadow:0 20px 50px #00000040}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;display:flex}.modal-header h3{color:var(--primary);margin:0;font-size:18px}.close-modal{color:#999;cursor:pointer;box-shadow:none;background:0 0;border:none;padding:0;font-size:28px;line-height:1}.close-modal:hover{color:#555}.form-group{margin-bottom:15px}.form-group label{color:#444;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.form-group textarea{resize:vertical;border:1px solid #ddd;border-radius:8px;width:100%;min-height:70px;padding:10px;font-family:inherit;font-size:13px;transition:border-color .2s}.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #6a4bc31a}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.btn-save{background-color:var(--primary);color:#fff}.btn-save:hover{background-color:#583cb3}.btn-cancel{color:#333;background-color:#f1f1f1}.btn-cancel:hover{background-color:#e5e5e5}.stats-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.stats-header h2{color:var(--primary);margin:0;font-size:18px}.stats-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:6px;display:grid}.stat-card{border:1px solid var(--border);background:var(--card-bg);border-radius:12px;flex-direction:column;flex:150px;justify-content:center;align-items:flex-start;min-width:150px;padding:8px 10px;display:flex;box-shadow:0 4px 10px #0000000a}.stat-card.primary{background:linear-gradient(135deg,#f4ecff,#e6f6ff)}.stat-card span.label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.stat-card strong.value{color:var(--primary);margin-top:4px;font-size:18px;display:block}.stat-card span.subtext{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.chart-container{border:1px solid var(--border);background:#fdfdff;border-radius:14px;height:260px;margin-top:8px;padding:10px}@media (width<=768px){.app-container{padding:16px 12px 20px}.header{flex-direction:column;align-items:flex-start}.header-right{align-items:flex-start;width:100%}.countdown-wrapper{justify-content:flex-start}th,td{padding:8px;font-size:12px}button{padding:7px 12px;font-size:12px}}:root{--background:#f6f8fc;--surface:#fff;--surface-secondary:#f1f4f9;--surface-elevated:#fff;--text-primary:#152033;--text-secondary:#5e697b;--text-muted:#7b8799;--text-main:#152033;--border:#dce2eb;--border-strong:#c9d2df;--primary:#4f6fe8;--primary-hover:#3c5bce;--primary-soft:#eaf0ff;--success:#23845d;--danger:#c94747;--warning:#a96f10;--bg:var(--background);--card-bg:var(--surface-secondary)}:root[data-theme=dark]{--background:#0b0f17;--surface:#111827;--surface-secondary:#182131;--surface-elevated:#1e293b;--text-primary:#f6f8fc;--text-secondary:#aab4c4;--text-muted:#7f8b9e;--text-main:#f6f8fc;--border:#2a3649;--border-strong:#3b4a61;--primary:#7f96f5;--primary-hover:#9badfa;--primary-soft:#1d2945;--success:#5ac092;--danger:#f07b7b;--warning:#d8aa50;--bg:var(--background);--card-bg:var(--surface-secondary)}table{min-width:1220px}th,td{text-align:center}th:first-child,td:first-child{text-align:center;width:52px}th:nth-child(2),td:nth-child(2){text-align:left;min-width:170px}th:nth-child(3),td:nth-child(3){min-width:110px}th:nth-child(10),td:nth-child(10){color:#444;font-weight:700}th:nth-child(10){color:#fff}th:nth-child(13),td:nth-child(13){text-align:center}.score-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.score-cell [contenteditable=true]{text-align:center;min-width:24px;padding:2px;display:inline-block}.score-divider{color:var(--text-muted)}.select-cell input{margin:0}.numeric-cell input{width:86px;color:inherit;font:inherit;text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 7px}.numeric-cell input:focus{background:#fffaf0;border-color:#f4c27f;outline:none;box-shadow:0 0 0 1px #f4c27f}.btn-notes{justify-content:center;min-width:66px;font-size:12px}.analysis-modal{flex-direction:column;max-width:1120px;max-height:min(88vh,850px);display:flex}.analysis-scroll{padding-right:5px;overflow-y:auto}.analysis-section{border-bottom:1px solid var(--border);padding:14px 0}.analysis-section:first-child{padding-top:0}.analysis-section:last-child{border-bottom:0}.analysis-section h4{color:var(--primary);margin:0 0 12px;font-size:14px}.mistake-entry-head,.mistake-entry-row{grid-template-columns:78px 120px 145px 92px minmax(140px,1fr) minmax(160px,1.2fr) 94px;align-items:center;gap:8px;display:grid}.mistake-entry-head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.035em;padding:0 4px 7px;font-size:10px;font-weight:700}.mistake-entry-row{border:1px solid var(--border);background:#faf9ff;border-radius:9px;margin-bottom:8px;padding:8px}.mistake-entry-row input,.mistake-entry-row select{width:100%;min-width:0;color:var(--text-main);font:inherit;background:#fff;border:1px solid #ddd;border-radius:7px;padding:7px 8px}.mistake-entry-row input:focus,.mistake-entry-row select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);outline:none}.mistake-row-actions{justify-content:flex-end;gap:5px;display:flex}.mistake-row-action{background:var(--primary);color:#fff;min-width:50px;box-shadow:none;border-radius:7px;justify-content:center;padding:6px 8px;font-size:11px;min-height:30px!important}.mistake-row-action:hover{background:var(--primary-hover)}.mistake-row-action:active{transform:translateY(1px)}.mistake-edit-action,.remove-topic{width:32px;min-width:32px;box-shadow:none;border-radius:7px;justify-content:center;padding:4px;min-height:30px!important}.mistake-edit-action{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.mistake-edit-action:hover{border-color:var(--border-strong);background:var(--surface-secondary);color:var(--primary)}.mistake-saved{background:var(--surface);min-height:48px}.mistake-saved:hover{background:var(--surface-secondary)}.mistake-display{min-width:0;color:var(--text-primary);font-size:12px;line-height:1.4}.mistake-display-topic,.mistake-display-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mistake-editing{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));background:var(--surface-secondary)}.empty-mistakes{border:1px dashed var(--border);color:var(--text-muted);text-align:center;border-radius:8px;margin:8px 0 0;padding:12px;font-size:12px}.empty-mistakes[hidden]{display:none}.category-breakdown{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;margin-top:12px;display:grid}.category-breakdown:empty{display:none}.category-breakdown p{background:var(--primary-soft);border-radius:8px;justify-content:space-between;gap:12px;margin:0;padding:8px 10px;font-size:11px;display:flex}.category-breakdown span{color:var(--text-muted);text-align:right}.mistake-grid{grid-template-columns:minmax(150px,1fr) 100px 100px;align-items:center;gap:10px;display:grid}.mistake-grid-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 8px 7px;font-size:11px;font-weight:700}.mistake-row{border-radius:8px;padding:5px 8px}.mistake-row:nth-child(2n){background:#faf9ff}.mistake-row label{font-size:13px;font-weight:600}.mistake-row input,.weak-topic-row input,.weak-topic-row select{width:100%;min-width:0;color:var(--text-main);font:inherit;background:#fff;border:1px solid #ddd;border-radius:7px;padding:7px 8px}.mistake-row input:focus,.weak-topic-row input:focus,.weak-topic-row select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);outline:none}.analysis-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.analysis-summary div{background:var(--primary-soft);border-radius:9px;padding:10px}.analysis-summary span{min-height:28px;color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:700;display:block}.analysis-summary strong{color:var(--primary);margin-top:3px;font-size:18px;display:block}.section-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.section-title-row h4{margin:0}.btn-add-topic{background:var(--primary-soft);color:var(--primary);box-shadow:none;padding:6px 10px;font-size:11px}.btn-add-topic:hover{background:color-mix(in srgb, var(--primary) 16%, var(--surface));color:var(--primary-hover)}.btn-add-topic:active{transform:translateY(1px)}.weak-topic-row{grid-template-columns:130px 1fr 34px;gap:8px;margin-bottom:8px;display:grid}.remove-topic{color:var(--danger);box-shadow:none;background:#fff0f0;border-radius:7px;justify-content:center;padding:5px;font-size:19px}.remove-topic:hover{background:color-mix(in srgb, var(--danger) 17%, var(--surface));color:var(--danger)}.legacy-analysis[hidden]{display:none}.legacy-analysis #legacyAnalysisContent,.legacy-analysis #previousStructuredContent{gap:10px;display:grid}.legacy-analysis #legacyAnalysisContent>div,.legacy-analysis #previousStructuredContent>div{border-left:3px solid var(--primary);background:#f8f7fc;border-radius:6px;padding:10px 12px}.legacy-analysis strong{color:#444;font-size:12px}.legacy-analysis p{color:var(--text-muted);white-space:pre-wrap;margin:5px 0 0;font-size:13px;line-height:1.45}@media (width<=768px){.analysis-modal{width:calc(100% - 20px);max-height:calc(100vh - 20px);padding:18px 14px}.mistake-grid{grid-template-columns:minmax(105px,1fr) 78px 78px;gap:6px}.mistake-grid-header{font-size:9px}.mistake-row{padding-inline:4px}.mistake-row label{font-size:12px}.analysis-summary{grid-template-columns:1fr}.analysis-summary span{min-height:0}.weak-topic-row{grid-template-columns:105px 1fr 32px}.mistake-entry-head{display:none}.mistake-entry-row{grid-template-columns:80px 1fr 34px}.mistake-entry-row .mistake-type,.mistake-entry-row .mistake-topic,.mistake-entry-row .mistake-note{grid-column:1/-1}.mistake-entry-row .mistake-marks{grid-column:1/2}.mistake-entry-row .mistake-row-actions{grid-area:1/3}.mistake-saved{grid-template-columns:80px 1fr 74px}.mistake-saved .mistake-display-type{grid-column:1/2}.mistake-saved .mistake-display-marks{grid-column:2/3}.mistake-saved .mistake-display-topic,.mistake-saved .mistake-display-note{grid-column:1/-1}.category-breakdown{grid-template-columns:1fr}}.tracker-page .site-main{width:min(1380px,100% - 40px)}.tracker-page .app-container{padding:28px 30px 30px}.tracker-page .header{align-items:center;margin-bottom:16px;padding-bottom:22px}.tracker-page .header-left{max-width:580px}.tracker-page .header-left h1{font-size:28px}.tracker-page .header-left p{margin-top:7px;line-height:1.5}.tracker-page .tag{margin-top:12px}.tracker-page .header-right{gap:14px}.tracker-page .action-buttons button{min-height:38px;padding-inline:14px;font-size:12px}.tracker-page .table-wrapper{border-radius:12px}.tracker-page th{text-transform:uppercase;letter-spacing:.045em;height:46px;padding:11px 13px;font-size:11px}.tracker-page td{font-variant-numeric:tabular-nums;height:54px;padding:10px 13px}.tracker-page tbody td:nth-child(2){color:var(--text-primary);font-weight:700}.tracker-page .score-cell{color:var(--text-primary);font-weight:750}.tracker-page .accuracy-cell,.tracker-page tbody td:nth-child(12){color:var(--text-primary)}.percentile-editor{min-width:86px;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:center;align-items:center;gap:0;font-weight:650;display:inline-flex}.percentile-editor input{width:50px;color:inherit;font:inherit;text-align:right;appearance:textfield;background:0 0;border:1px solid #0000;border-radius:5px;padding:5px 0}.percentile-editor input::-webkit-inner-spin-button{appearance:none;margin:0}.percentile-editor input::-webkit-outer-spin-button{appearance:none;margin:0}.percentile-editor input:focus{border-color:var(--primary);background:var(--surface-elevated);outline:none}.percentile-editor input::placeholder{color:var(--text-muted);opacity:1}.percentile-suffix{color:inherit;font:inherit;line-height:1}.percentile-editor.is-empty .percentile-suffix{display:none}.tracker-page tbody tr.row-low,.tracker-page tbody tr.row-mid,.tracker-page tbody tr.row-high{background:var(--surface)!important}.tracker-page tbody tr:nth-child(2n).row-low,.tracker-page tbody tr:nth-child(2n).row-mid,.tracker-page tbody tr:nth-child(2n).row-high{background:var(--surface-secondary)!important}.tracker-page tbody tr.row-low:hover,.tracker-page tbody tr.row-mid:hover,.tracker-page tbody tr.row-high:hover{background:color-mix(in srgb, var(--surface-elevated) 82%, var(--surface))!important}.tracker-page tbody tr:has(.select-cell input:checked),.tracker-page tbody tr:has(.select-cell input:checked):hover{background:color-mix(in srgb, var(--primary) 10%, var(--surface))!important}.tracker-page .btn-notes{border-color:color-mix(in srgb, var(--primary) 28%, var(--border));min-width:70px;color:var(--primary)}.tracker-page .btn-notes.has-notes{background:color-mix(in srgb, var(--primary) 12%, var(--surface));border-color:color-mix(in srgb, var(--primary) 40%, var(--border));font-weight:750}.tracker-page .stat-card{padding:18px;position:relative;overflow:hidden}.tracker-page .stat-card:before{content:"";background:color-mix(in srgb, var(--primary) 58%, transparent);opacity:.65;width:3px;position:absolute;inset:0 auto 0 0}@media (width<=768px){.tracker-page .site-main{width:min(100% - 20px,1380px)}.tracker-page .app-container{padding:16px 12px 20px}.tracker-page .header{align-items:flex-start}}:root[data-theme=dark] .tracker-page thead{background:#405fc8}:root[data-theme=dark] .tracker-page tbody tr,:root[data-theme=dark] .tracker-page tbody tr:nth-child(2n){background:var(--surface)}:root[data-theme=dark] .tracker-page tbody tr:nth-child(2n){background:#181b25}:root[data-theme=dark] .tracker-page tbody tr:hover{background:#202431}:root[data-theme=dark] .tracker-page .stat-card,:root[data-theme=dark] .tracker-page .stat-card.primary{border-color:var(--border);background:var(--surface-secondary)}:root[data-theme=dark] .tracker-page .stat-card.primary strong.value{color:var(--primary)}:root[data-theme=dark] .tracker-page .score-divider,:root[data-theme=dark] .tracker-page .trend-flat,:root[data-theme=dark] .tracker-page .countdown-label,:root[data-theme=dark] .tracker-page .stat-card span.subtext,:root[data-theme=dark] .tracker-page .mistake-entry-head,:root[data-theme=dark] .tracker-page .empty-mistakes{color:var(--text-muted)}:root[data-theme=dark] .tracker-page td.accuracy-cell,:root[data-theme=dark] .tracker-page tbody td:nth-child(12),:root[data-theme=dark] .tracker-page .modal-content,:root[data-theme=dark] .tracker-page .mistake-entry-row,:root[data-theme=dark] .tracker-page .mistake-locked,:root[data-theme=dark] .tracker-page .form-group textarea,:root[data-theme=dark] .tracker-page .mistake-entry-row input,:root[data-theme=dark] .tracker-page .mistake-entry-row select{color:var(--text-primary)}.tracker-page{background:var(--background);color:var(--text-primary);padding:0}.tracker-page .site-main{width:min(1480px,100% - 32px);margin:0 auto;padding-top:28px}.app-container{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);max-width:none;color:var(--text-primary);box-shadow:var(--shadow-md);padding:26px}.header{border-bottom:1px solid var(--border);gap:28px;margin-bottom:18px;padding-bottom:20px}.header-left h1{color:var(--primary);letter-spacing:-.025em;align-items:center;gap:10px;font-size:26px;display:flex}.tracker-title-logo{border-radius:10px;flex:0 0 32px;width:32px;height:32px}.header-left p,.countdown-label,.stat-card span.subtext{color:var(--text-secondary)}.tag{background:var(--primary-soft);color:var(--primary);margin-top:10px;padding:5px 10px}.tag span.dot{background:var(--primary)}.action-buttons{justify-content:flex-end;gap:8px}.tracker-page button{min-height:36px;box-shadow:none;border-radius:9px;padding:8px 13px;transition:background-color .15s,border-color .15s,color .15s,transform .1s}.add-row{background:var(--primary);color:#fff}.add-row:hover{background:var(--primary-hover)}.delete-row{background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 28%, var(--border))}.delete-row:hover{background:color-mix(in srgb, var(--danger) 18%, var(--surface))}.backup-btn{background:var(--surface-secondary);color:var(--text-primary);border:1px solid var(--border)}.backup-btn:hover{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb, var(--primary) 30%, var(--border))}.countdown-wrapper{gap:10px}.countdown-card{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);min-width:180px;color:var(--text-primary);box-shadow:none;padding:10px 12px}.countdown-title{color:var(--primary)}.countdown-time{color:var(--text-primary)}.exam-logo{border-color:var(--border)}.quote-card{border-color:var(--border);background:var(--surface-secondary);max-width:600px;color:var(--text-secondary);border-radius:11px;margin:0 0 18px;padding:11px 14px}.quote-accent{color:var(--primary)}.table-wrapper{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}table{background:var(--surface)}thead{background:var(--primary)}th,td{border-color:var(--border);padding:11px 12px}th{color:#fff;letter-spacing:.01em;font-size:12px}tbody tr{background:var(--surface);transition:background-color .12s}tbody tr:nth-child(2n){background:var(--surface-secondary)}tbody tr:hover{background:color-mix(in srgb, var(--primary-soft) 62%, var(--surface));outline:none}td[contenteditable=true]:focus,.score-cell [contenteditable=true]:focus{background:var(--surface-elevated);box-shadow:inset 0 0 0 1px var(--primary);border-radius:5px}.numeric-cell input{color:var(--text-primary)}.numeric-cell input:focus{border-color:var(--primary);background:var(--surface-elevated);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 18%, transparent)}input[type=checkbox]{accent-color:var(--primary)}.select-cell:has(input:checked){background:var(--primary-soft)}.row-low{background:color-mix(in srgb, var(--danger) 10%, var(--surface))!important}.row-mid{background:color-mix(in srgb, var(--warning) 10%, var(--surface))!important}.row-high{background:color-mix(in srgb, var(--success) 10%, var(--surface))!important}.trend-up{color:var(--success)}.trend-down{color:var(--danger)}.trend-flat{color:var(--text-secondary)}td.trend-cell.trend-up{color:#218653}td.trend-cell.trend-down{color:#d44747}td.trend-cell.trend-flat{color:var(--text-secondary)}:root[data-theme=dark] .tracker-page td.trend-cell.trend-up{color:#69d99c}:root[data-theme=dark] .tracker-page td.trend-cell.trend-down{color:#ff7b7b}:root[data-theme=dark] .tracker-page td.trend-cell.trend-flat{color:var(--text-secondary)}.btn-notes{background:var(--surface-secondary);border-color:var(--border);color:var(--text-secondary);min-height:30px!important}.btn-notes:hover{background:var(--primary-soft);color:var(--primary)}.btn-notes.has-notes{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 30%, var(--border));color:var(--primary)}.stats-section{margin-top:28px}.stats-header{margin-bottom:12px}.stats-header h2{color:var(--text-primary);letter-spacing:-.02em;font-size:20px}.stats-summary{gap:12px;margin-bottom:12px}.stat-card,.stat-card.primary{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);min-height:118px;box-shadow:none;padding:16px}.stat-card.primary{border-color:color-mix(in srgb, var(--primary) 25%, var(--border));background:color-mix(in srgb, var(--primary-soft) 55%, var(--surface))}.stat-card span.label{color:var(--text-secondary);font-weight:700}.stat-card strong.value{color:var(--text-primary);letter-spacing:-.03em;margin-top:7px;font-size:24px}.stat-card.primary strong.value{color:var(--primary)}.chart-container{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);height:300px;margin-top:14px;padding:16px}.modal-overlay{backdrop-filter:blur(5px);background:#070c16b3}.modal-content{border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-primary);box-shadow:0 24px 70px #00000047}.modal-header{border-color:var(--border)}.modal-header h3{color:var(--text-primary);font-size:20px}.close-modal{color:var(--text-secondary)}.analysis-section{border-color:var(--border)}.analysis-section h4{color:var(--primary)}.mistake-entry-row{border-color:var(--border);background:var(--surface-secondary)}.mistake-entry-row input,.mistake-entry-row select,.weak-topic-row input,.weak-topic-row select,.form-group textarea{border-color:var(--border);background:var(--surface);color:var(--text-primary)}.mistake-locked{background:color-mix(in srgb, var(--surface-secondary) 80%, var(--background))}.mistake-locked input,.mistake-locked select:disabled{color:var(--text-primary);background:0 0}.mistake-row-action{background:var(--primary)}.mistake-locked .mistake-row-action{background:var(--surface);color:var(--primary);border-color:var(--border)}.remove-topic{background:color-mix(in srgb, var(--danger) 10%, var(--surface));color:var(--danger)}.category-breakdown p{background:var(--primary-soft)}.category-breakdown strong{color:var(--primary)}.category-breakdown span{color:var(--text-secondary)}.empty-mistakes{border-color:var(--border);color:var(--text-secondary)}.legacy-analysis #legacyAnalysisContent>div,.legacy-analysis #previousStructuredContent>div{background:var(--surface-secondary);border-color:var(--primary)}.legacy-analysis strong{color:var(--text-primary)}.legacy-analysis p{color:var(--text-secondary)}.btn-save{background:var(--primary);color:#fff}.btn-save:hover{background:var(--primary-hover)}.btn-cancel{background:var(--surface-secondary);border:1px solid var(--border);color:var(--text-primary)}.btn-cancel:hover{background:var(--primary-soft)}@media (width<=768px){.tracker-page .site-main{width:min(100% - 20px,1480px);padding-top:12px}.app-container{border-radius:15px;padding:16px 12px 20px}.header{gap:15px}.action-buttons{justify-content:flex-start}.stat-card,.stat-card.primary{min-height:105px}}.subject-value-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.subject-change{font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:800}.subject-change.trend-up{color:var(--success)}.subject-change.trend-down{color:var(--danger)}.subject-change.trend-flat{color:var(--text-secondary)}.chart-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-top:22px;display:flex}.chart-toolbar>span{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:750}.chart-view-tabs{border:1px solid var(--border);background:var(--surface-secondary);border-radius:10px;padding:3px;display:inline-flex}.tracker-page .chart-view-tab{min-height:30px;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:700}.tracker-page .chart-view-tab:hover{background:color-mix(in srgb, var(--primary-soft) 65%, transparent);color:var(--primary)}.tracker-page .chart-view-tab.is-active{background:var(--surface-elevated);color:var(--primary);box-shadow:0 1px 3px color-mix(in srgb, var(--text-primary) 10%, transparent)}.chart-toolbar+.chart-container{margin-top:8px}.tracker-analytics{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:12px;margin-top:18px;display:grid}.analytics-panel,.performance-insight{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary)}.analytics-panel{padding:18px}.analytics-panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:15px;display:flex}.analytics-panel h2,.performance-insight h2{color:var(--text-primary);letter-spacing:-.015em;margin:2px 0 0;font-size:17px}.analytics-kicker,.modal-eyebrow{color:var(--primary);letter-spacing:.075em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.analytics-total{border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px}.mistake-analytics-list{gap:10px;display:grid}.mistake-analytics-row{grid-template-columns:minmax(110px,1fr) auto;align-items:center;gap:5px 12px;display:grid}.mistake-analytics-row span,.weak-topics-list span{color:var(--text-primary);font-size:12px;font-weight:650}.mistake-analytics-row strong,.weak-topics-list strong{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px}.mistake-analytics-row i{background:var(--surface);border-radius:99px;grid-column:1/-1;height:5px;position:relative;overflow:hidden}.mistake-analytics-row i:after{content:"";width:var(--mistake-width);border-radius:inherit;background:var(--primary);height:100%;display:block}.weak-topics-list{counter-reset:weak-topic;gap:8px;margin:0;padding:0;list-style:none;display:grid}.weak-topics-list li:not(.analytics-empty){counter-increment:weak-topic;border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.weak-topics-list li:not(.analytics-empty):before{content:counter(weak-topic);background:var(--primary-soft);width:22px;height:22px;color:var(--primary);border-radius:6px;place-items:center;font-size:10px;font-weight:800;display:grid}.analytics-empty{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.performance-insight{border-color:color-mix(in srgb, var(--primary) 24%, var(--border));background:color-mix(in srgb, var(--primary-soft) 38%, var(--surface-secondary));margin-top:12px;padding:18px}.performance-insight #performanceInsight{gap:5px;margin-top:10px;display:grid}.performance-insight p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.55}.add-test-modal{width:min(720px,100% - 28px);max-width:720px;padding:22px}.add-test-modal .modal-header{margin-bottom:18px;padding-bottom:14px}.add-test-modal .modal-header h3{margin-top:2px}.add-test-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.add-test-field{color:var(--text-secondary);gap:6px;font-size:11px;font-weight:750;display:grid}.add-test-field-wide{grid-column:1/-1}.add-test-field input{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;height:40px;color:var(--text-primary);border-radius:8px;padding:8px 10px;font-size:13px;font-weight:500}.add-test-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);outline:none}.add-test-calculations{border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border));background:var(--primary-soft);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding:13px;display:grid}.add-test-calculations>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.add-test-calculations span{color:var(--text-secondary);font-size:11px;font-weight:700}.add-test-calculations strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:16px}.add-test-modal .modal-actions{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}@media (width<=900px){.tracker-analytics{grid-template-columns:1fr}}@media (width<=560px){.chart-toolbar{flex-direction:column;align-items:stretch;gap:8px}.chart-view-tabs{width:100%}.tracker-page .chart-view-tab{flex:1}.chart-container{height:260px;padding:10px}.analytics-panel,.performance-insight{padding:15px}.add-test-modal{max-height:calc(100vh - 24px);padding:17px;overflow-y:auto}.add-test-form-grid{grid-template-columns:1fr;gap:10px}.add-test-field-wide{grid-column:auto}.add-test-calculations{grid-template-columns:1fr}.weak-topics-list li:not(.analytics-empty){grid-template-columns:24px minmax(0,1fr)}.weak-topics-list strong{grid-column:2}}
