:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}*{box-sizing:border-box}body{background:#f4f5f7;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:#fff;border-radius:12px;width:100%;max-width:380px;padding:32px;box-shadow:0 4px 24px #00000014}.auth-card h1{color:#1a1a2e;margin:0 0 20px;font-size:1.4rem}.auth-card form{flex-direction:column;gap:10px;display:flex}.auth-card label{color:#333;font-size:.85rem;font-weight:600}.auth-card input{border:1px solid #d5d7de;border-radius:8px;padding:10px 12px;font-size:1rem}.auth-card input:focus,.auth-card select:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f126}.auth-card select{background:#fff;border:1px solid #d5d7de;border-radius:8px;padding:10px 12px;font-size:1rem}.auth-card button{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;margin-top:8px;padding:10px 12px;font-size:1rem;font-weight:600}.auth-card button:disabled{opacity:.6;cursor:not-allowed}.auth-card button:hover:not(:disabled){background:#4f46e5}.hint{color:#555;margin:0 0 4px;font-size:.85rem}.success{color:#15803d;margin-top:12px;font-size:.9rem}.error{color:#dc2626;margin-top:12px;font-size:.9rem}.attempts-card{max-width:560px}.attempts-table{border-collapse:collapse;width:100%;min-width:420px;font-size:.9rem}.attempts-table th,.attempts-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #eceef2;padding:8px 10px}.attempts-table th{color:#555;font-size:.8rem;font-weight:600}.attempt-status{font-size:.82rem;font-weight:600}.attempt-status-submitted{color:#15803d}.attempt-status-in_progress{color:#c98500}.auth-card button.link-button{color:#6366f1;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:.88rem;font-weight:600}.auth-card button.link-button:hover:not(:disabled){background:0 0;text-decoration:underline}.auth-card button.link-button:disabled{opacity:.6;cursor:not-allowed}.instructions-page{justify-content:center;min-height:100vh;padding:32px 16px;display:flex}.instructions-card{background:#fff;border-radius:12px;width:100%;max-width:720px;padding:32px 40px;box-shadow:0 4px 24px #00000014}.instructions-card h1{color:#1a1a2e;margin:0 0 4px}.instructions-card .greeting{color:#555;margin:0 0 20px}.instructions-card h2{color:#1e293b;border-bottom:2px solid #e2e4ea;margin:20px 0 8px;padding-bottom:6px;font-size:1rem}.instructions-card ul{color:#333;margin:0 0 8px;padding-left:20px;font-size:.92rem;line-height:1.6}.agree-row{color:#333;cursor:pointer;align-items:flex-start;gap:8px;margin-top:24px;font-size:.9rem;display:flex}.agree-row input{margin-top:3px}.begin-button{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:8px;width:100%;margin-top:20px;padding:12px;font-size:1rem;font-weight:600;display:block}.begin-button:disabled{opacity:.5;cursor:not-allowed}.begin-button:hover:not(:disabled){background:#15803d}.test-loading{color:#555;justify-content:center;align-items:center;min-height:100vh;font-size:1.1rem;display:flex}.test-shell{background:#eef1f6;flex-direction:column;min-height:100vh;font-size:.92rem;display:flex}.test-topbar{color:#fff;background:#1a2233;justify-content:space-between;align-items:center;padding:10px 20px;font-weight:600;display:flex}.test-timer{font-weight:700}.test-sections-row{background:#fff;border-bottom:1px solid #d5d7de;display:flex;overflow-x:auto}.section-tab{color:#333;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:12px 18px;font-size:.88rem;font-weight:600}.section-tab.active{color:#1d4ed8;background:#eef2ff;border-bottom-color:#1d4ed8}.test-body{flex:1;align-items:flex-start;gap:0;display:flex}.test-main{flex:1;min-width:0;padding:20px 24px}.marks-row{color:#444;justify-content:space-between;margin-bottom:10px;font-size:.85rem;display:flex}.question-heading{color:#1a1a2e;margin-bottom:10px;font-weight:700}.question-box{background:#fff;border:1px solid #d5d7de;border-radius:8px;min-height:260px;padding:20px}.directions{color:#555;white-space:pre-line;margin-top:0;font-style:italic}.question-image{border:1px solid #e2e4ea;border-radius:6px;max-width:100%;margin-bottom:14px;display:block}.question-text{white-space:pre-line;color:#1a1a2e;margin-bottom:16px;font-size:1rem}.options-list{flex-direction:column;gap:12px;display:flex}.option-row{cursor:pointer;align-items:center;gap:10px;font-size:.95rem;display:flex}.option-row input{cursor:pointer;width:16px;height:16px}.test-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.primary-btn{color:#fff;cursor:pointer;background:#1d4ed8;border:none;border-radius:6px;margin-left:auto;padding:10px 20px;font-size:.85rem;font-weight:600}.primary-btn:hover{background:#1e40af}.test-sidebar{background:#f7f8fb;border-left:1px solid #d5d7de;flex-shrink:0;align-self:stretch;width:300px;padding:16px}.candidate-box{background:#fff;border:1px solid #e2e4ea;border-radius:8px;align-items:center;gap:10px;margin-bottom:14px;padding:10px;display:flex}.avatar-circle{background:#e2e4ea;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.3rem;display:flex}.candidate-name{color:#1a1a2e;font-size:.9rem;font-weight:600}.legend-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;font-size:.75rem;display:grid}.legend-item{align-items:center;gap:6px;display:flex}.legend-item.full{grid-column:span 2}.legend-swatch{border-radius:4px;flex-shrink:0;width:16px;height:16px;display:inline-block}.legend-swatch.answered{background:#16a34a}.legend-swatch.not-answered{background:#dc2626}.legend-swatch.not-visited{background:#9ca3af}.legend-swatch.marked{background:#7c3aed}.legend-swatch.answered-marked{background:#7c3aed;position:relative}.palette-header{color:#fff;background:#1d4ed8;border-radius:6px 6px 0 0;padding:8px 10px;font-size:.85rem;font-weight:700}.palette-subheader{color:#1d4ed8;background:#eef2ff;padding:6px 10px;font-size:.78rem}.palette-grid{background:#fff;border:1px solid #e2e4ea;border-top:none;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;padding:10px;display:grid}.palette-btn{aspect-ratio:1;cursor:pointer;color:#fff;background:#9ca3af;border:none;border-radius:4px;font-weight:700}.palette-btn.not_visited{color:#1a1a2e;background:#9ca3af}.palette-btn.not_answered{background:#dc2626}.palette-btn.answered{background:#16a34a}.palette-btn.marked_for_review{background:#7c3aed}.palette-btn.answered_marked{background:#7c3aed;box-shadow:inset 0 0 0 3px #16a34a}.palette-btn.current{outline-offset:2px;outline:2px solid #1a2233}.submit-btn{color:#fff;cursor:pointer;background:#1d4ed8;border:none;border-radius:6px;width:100%;padding:12px;font-weight:700}.submit-btn:hover{background:#1e40af}.modal-table-scroll{overflow-x:auto}.summary-table{border-collapse:collapse;width:100%;min-width:420px;font-size:.85rem}.summary-table th,.summary-table td{text-align:center;border:1px solid #e2e4ea;padding:8px 10px}.summary-table th{background:#f4f5f7}@media (width<=800px){.test-body{flex-direction:column}.test-sidebar{border-top:1px solid #d5d7de;border-left:none;width:100%}}.analysis-page{--good:#0ca30c;--critical:#d03b3b;--muted:#898781;--cat-blue:#2a78d6;--surface:#fff;--page-bg:#f4f5f7;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--gridline:#e1e0d9;--baseline:#c3c2b7;--accent:#4f46e5;background:var(--page-bg);justify-content:center;min-height:100vh;display:flex}.analysis-shell{align-items:flex-start;gap:0;width:100%;max-width:1180px;display:flex}.analysis-sidebar{flex-shrink:0;width:240px;padding:28px 16px;position:sticky;top:0}.analysis-sidebar-title{color:var(--text-primary);font-size:1.3rem;font-weight:700}.analysis-sidebar-subtitle{color:var(--text-secondary);margin:2px 0 16px;font-size:.82rem}.analysis-nav{flex-direction:column;gap:4px;display:flex}.analysis-nav-item{text-align:left;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:12px 14px;font-size:.88rem;font-weight:600}.analysis-nav-item:hover{background:#ececf7}.analysis-nav-item.active{color:#fff;background:#14162b}.email-report-box{border-top:1px solid var(--gridline);flex-direction:column;gap:8px;margin-top:24px;padding-top:20px;display:flex}.email-report-box label{color:var(--text-secondary);font-size:.78rem;font-weight:600}.email-report-box input{border:1px solid var(--gridline);border-radius:6px;padding:8px 10px;font-size:.85rem}.email-report-box button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 10px;font-size:.85rem;font-weight:600}.email-report-box button:disabled{opacity:.6;cursor:not-allowed}.email-report-status{margin:0;font-size:.78rem}.email-report-status.success{color:var(--good)}.email-report-status.error{color:var(--critical)}.analysis-main{flex-direction:column;flex:1;gap:20px;min-width:0;padding:28px 24px 64px;display:flex}.analysis-header h1{color:var(--text-primary);margin:0 0 4px;font-size:1.4rem}.analysis-header p{color:var(--text-secondary);margin:0}.score-card .label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem}.hero-score{color:var(--accent);font-size:2.6rem;font-weight:700}.hero-score-max{color:var(--text-muted);font-size:1.3rem;font-weight:500}.subject-score-row{flex-wrap:wrap;gap:28px;margin-top:16px;display:flex}.subject-score-label{color:var(--text-secondary);font-size:.78rem}.subject-score-value{font-size:1.2rem;font-weight:700}.subject-score-max{color:var(--text-muted);font-size:.85rem;font-weight:500}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.stat-tile{background:var(--surface);border-radius:10px;padding:16px 18px;box-shadow:0 1px 3px #0000000f}.stat-tile .label{color:var(--text-secondary);margin-bottom:6px;font-size:.8rem}.stat-tile .value{color:var(--text-primary);font-size:1.9rem;font-weight:700}.stat-tile .value.good{color:var(--good)}.analysis-card{background:var(--surface);border-radius:10px;padding:20px 22px;box-shadow:0 1px 3px #0000000f}.ai-summary-card .label{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem}.ai-summary-text{color:var(--text-primary);margin:0;font-size:.92rem;line-height:1.5}.ai-summary-list{flex-direction:column;gap:12px;margin:0;display:flex}.ai-summary-item{border-left:3px solid var(--gridline);padding-left:12px}.ai-summary-item dt{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:2px;font-size:.72rem;font-weight:700}.ai-summary-item dd{color:var(--text-primary);margin:0;font-size:.92rem;line-height:1.45}.ai-summary-item-strength{border-left-color:var(--good)}.ai-summary-item-weakness{border-left-color:var(--critical)}.ai-summary-item-advice{border-left-color:var(--accent)}.ai-summary-loading{color:var(--text-muted);font-style:italic}.ai-summary-error{color:var(--critical)}.analysis-card h2{color:var(--text-primary);margin:0 0 16px;font-size:1.05rem}.subject-tabs{border-bottom:1px solid var(--gridline);gap:4px;margin-bottom:18px;display:flex;overflow-x:auto}.subject-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:.85rem;font-weight:600}.subject-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.composition-bar{background:var(--page-bg);border-radius:6px;gap:2px;height:28px;display:flex;overflow:hidden}.composition-segment{color:#fff;justify-content:center;align-items:center;min-width:0;font-size:.75rem;font-weight:700;display:flex}.composition-legend{color:var(--text-secondary);flex-wrap:wrap;gap:20px;margin-top:12px;font-size:.82rem;display:flex}.composition-legend .legend-swatch{vertical-align:middle;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.quality-time-caption{color:var(--text-secondary);margin:14px 0 0;font-size:.88rem}.pdf-only-block{pointer-events:none;background:#fff;width:760px;position:fixed;top:0;left:0;transform:translate(-9999px)}.pdf-stacked-block{border-top:1px solid var(--gridline);margin-top:20px;padding-top:20px}.pdf-stacked-block:first-of-type{border-top:none;margin-top:12px;padding-top:0}.pdf-stacked-block h3{margin:0 0 10px;font-size:.95rem}.section-chart{border-bottom:1px solid var(--baseline);align-items:flex-end;gap:28px;height:160px;padding:0 8px;display:flex}.section-chart-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.section-chart-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.section-chart-bar{border-radius:4px 4px 0 0;width:100%;max-width:24px}.section-chart-labels{gap:28px;padding:8px 8px 0;display:flex}.section-chart-label{text-align:center;color:var(--text-secondary);flex:1;font-size:.76rem}.grouped-legend{color:var(--text-secondary);flex-wrap:wrap;gap:18px;margin-bottom:14px;font-size:.82rem;display:flex}.grouped-legend .legend-swatch{vertical-align:middle;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.grouped-chart{border-bottom:1px solid var(--baseline);align-items:flex-end;gap:32px;height:280px;padding:0 8px;display:flex;overflow-x:auto}.grouped-chart-group{flex-direction:column;justify-content:flex-end;align-items:center;min-width:110px;height:100%;display:flex}.grouped-chart-bars{align-items:flex-end;gap:6px;height:100%;display:flex}.grouped-bar-col{flex-direction:column;justify-content:flex-end;align-items:center;width:24px;height:100%;display:flex}.grouped-bar-value{color:var(--text-primary);margin-bottom:2px;font-size:.78rem;font-weight:700}.grouped-bar{border-radius:3px 3px 0 0;width:100%}.grouped-chart-label{color:var(--text-secondary);text-align:center;margin-top:8px;font-size:.88rem}.table-scroll{overflow-x:auto}.analysis-table{border-collapse:collapse;width:100%;font-size:.88rem}.analysis-table th,.analysis-table td{border-bottom:1px solid var(--gridline);text-align:center;padding:9px 10px}.analysis-table th:first-child,.analysis-table td:first-child{text-align:left}.analysis-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;font-size:.78rem;font-weight:600}.analysis-table td{font-variant-numeric:tabular-nums}.analysis-table-overall{background:#fafafa;font-weight:700}.difficulty-dot{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.attempt-legend-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.attempt-legend-card{background:var(--surface);border-radius:10px;padding:14px 16px;box-shadow:0 1px 3px #0000000f}.attempt-legend-title{margin-bottom:4px;font-size:.9rem;font-weight:700}.attempt-legend-desc{color:var(--text-secondary);font-size:.8rem}.qbq-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.qbq-header-row h2{margin:0}.quality-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:flex}.qbq-legend{color:var(--text-secondary);flex-wrap:wrap;gap:18px;margin-bottom:16px;font-size:.8rem;display:flex}.qbq-legend .legend-swatch{vertical-align:middle;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.qbq-icon{color:#fff;vertical-align:middle;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;margin-right:6px;font-size:.7rem;font-weight:700;display:inline-flex}.qbq-icon.correct{background:var(--good)}.qbq-icon.incorrect{background:var(--critical)}.qbq-icon.not_visited{border:1px solid var(--baseline);background:#e1e0d9}.qbq-icon.not_answered{background:var(--muted)}.qbq-icon.marked-ring{background:#fff;border:2px solid #4a3aa7}.qbq-section{margin-top:20px}.qbq-section:first-of-type{margin-top:0}.qbq-section-title{color:var(--text-primary);margin-bottom:10px;font-size:.92rem;font-weight:700}.qbq-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:8px;display:grid}.qbq-chip{aspect-ratio:1;color:#fff;border-radius:6px;justify-content:center;align-items:center;min-width:36px;font-size:.82rem;font-weight:700;display:flex}.qbq-chip.status-correct{background:var(--good)}.qbq-chip.status-incorrect{background:var(--critical)}.qbq-chip.status-not_visited{color:var(--text-secondary);border:1px solid var(--baseline);background:#e1e0d9}.qbq-chip.status-not_answered{background:var(--muted)}.qbq-chip.marked{box-shadow:0 0 0 2px #4a3aa7}.qbq-chip-with-time{aspect-ratio:auto;flex-direction:column;gap:2px;padding:6px 2px}.qbq-chip-number{line-height:1}.qbq-chip-time{opacity:.9;font-size:.62rem;font-weight:600;line-height:1}.qbq-subtitle{color:var(--text-secondary);margin:4px 0 16px;font-size:.88rem}.qbq-table th{vertical-align:top}.qbq-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.qbq-sortable:hover{color:var(--text-primary)}.qbq-table-filter{text-transform:none;letter-spacing:normal;border:1px solid var(--gridline);color:var(--text-secondary);background:#fff;border-radius:4px;max-width:120px;margin:6px auto 0;padding:2px 4px;font-size:.72rem;font-weight:400;display:block}.qbq-table-row{cursor:pointer}.qbq-table-row:hover{background:#f7f8fb}.qbq-eval-correct{color:var(--good);font-weight:700}.qbq-eval-incorrect{color:var(--critical);font-weight:700}.modal-overlay{z-index:50;background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:10px;width:90%;max-width:560px;max-height:90vh;padding:24px;overflow-y:auto}.modal-box h2{margin-top:0}.modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.secondary-btn{cursor:pointer;background:#fff;border:1px solid #c7cad1;border-radius:6px;padding:10px 16px;font-size:.85rem;font-weight:600}.secondary-btn:hover{background:#f4f5f7}.qbq-modal-meta{color:var(--text-secondary);margin:0 0 12px;font-size:.82rem}.qbq-modal-text{white-space:pre-wrap;font-size:.95rem;line-height:1.5}.qbq-modal-image{border-radius:6px;max-width:100%;margin:10px 0}.qbq-modal-options{flex-direction:column;gap:8px;margin-top:12px;display:flex}.qbq-modal-option{border:1px solid var(--gridline);border-radius:6px;padding:8px 12px;font-size:.9rem}.qbq-modal-option-correct{border-color:var(--good);background:#15803d14}.qbq-modal-option-wrong{border-color:var(--critical);background:#dc262614}.qbq-modal-tag{opacity:.8;font-size:.78rem;font-weight:600}@media (width<=900px){.analysis-shell{flex-direction:column}.analysis-sidebar{width:100%;position:static}.analysis-nav{flex-flow:wrap}}.coaching-page{max-width:1100px;margin:0 auto;padding:32px 24px}.coaching-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.coaching-header h1{color:#1a1a2e;margin:0;font-size:1.4rem}.coaching-filters{gap:20px;margin-bottom:20px;display:flex}.coaching-filters label{color:#333;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;display:flex}.coaching-filters select{background:#fff;border:1px solid #d5d7de;border-radius:8px;padding:8px 10px;font-size:.95rem}.coaching-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;min-width:720px;font-size:.88rem;overflow:hidden;box-shadow:0 4px 24px #0000000f}.coaching-table th,.coaching-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #eceef2;padding:10px 12px}.coaching-table th{color:#555;background:#f9fafb;font-size:.8rem;font-weight:600}.coaching-table a{color:#6366f1;font-weight:600;text-decoration:none}.coaching-table a:hover{text-decoration:underline}
