*{box-sizing:border-box;margin:0;padding:0}:root{--bg-body:#0b100e;--bg-card:#141e18;--bg-secondary:#1a261e;--bg-input:#0e140f;--bg-hover:#1a2820;--bg-main:#0b100e;--text-primary:#d8e0db;--text-heading:#eff3f0;--text-secondary:#7a9088;--text-muted:#627a70;--border-primary:#1e2e26;--border-secondary:#2a3f34;--border-subtle:#162019;--accent:#00e5a0;--accent-hover:#00cc8e;--green:#00e5a0;--red:#e05252;--orange:#e8a040;--blue:#4da6ff;--purple:#b07ee8;--gray-badge:#7a9088;--bg-fail-card:#1a1212;--bg-user-answer:#1a1515;--bg-correct-answer:#121a14;--bg-probe:#1a1812;--bg-drill-header:#1a1508;--bg-summary:#0e1a10;--bg-feedback:#0e140f;--text-feedback:#e8a88a;--text-user-answer-label:#e87070;--text-correct-label:#70c880;--text-drill-sub:#cca050;--text-probe-q:#e8a040}[data-theme=light]{--bg-body:#f6faf8;--bg-card:#fff;--bg-secondary:#ebf1ed;--bg-input:#f0f5f2;--bg-hover:#e0ebe5;--bg-main:#f6faf8;--text-primary:#3a4b43;--text-heading:#111a15;--text-secondary:#5a7068;--text-muted:#6a7f74;--border-primary:#c8d8ce;--border-secondary:#d8e5dc;--border-subtle:#e8f0eb;--accent:#009e72;--accent-hover:#008a63;--green:#009e72;--red:#c43c3c;--orange:#b06800;--blue:#1a73c7;--purple:#7c4dbc;--gray-badge:#6a7f74;--bg-fail-card:#fef5f5;--bg-user-answer:#fef8f8;--bg-correct-answer:#f2faf4;--bg-probe:#fefbf5;--bg-drill-header:#fef8f0;--bg-summary:#f0faf2;--bg-feedback:#f5f8f6;--text-feedback:#a04020;--text-user-answer-label:#c43c3c;--text-correct-label:#1a7a3a;--text-drill-sub:#8a5500;--text-probe-q:#b06800}body{background:var(--bg-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.5}.container{max-width:800px;color:var(--text-primary);min-height:100vh;margin:0 auto;padding:20px 24px}.tabs{border-bottom:1px solid var(--border-primary);gap:0;margin-bottom:24px;display:flex}.tabs button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:10px 20px;font-size:1rem;font-weight:500;transition:color .15s}.tabs button:hover{background:0 0;transform:none}.tabs button.active{color:var(--text-heading);border-bottom-color:var(--accent);font-weight:600}.tabs button:hover{color:var(--text-primary)}.tabs button:disabled{opacity:.4;cursor:not-allowed}.tabs button:disabled:hover{color:var(--text-secondary)}.header{margin-bottom:16px}.stats{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.stat{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.84rem}.stat.pass{color:var(--green);font-weight:600}.stat.fail{color:var(--red);font-weight:600}.stat.probe{color:var(--blue);font-weight:600}.stat.timer{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:500}.timer-btn{border:1px solid var(--border-secondary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;margin:0;padding:3px 8px;font-size:.72rem}.timer-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.timer-btn.paused{border-color:var(--accent);color:var(--accent)}.active-tag-chip{background:var(--accent);color:var(--bg-body);cursor:pointer;border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.learning-queue{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.timer-chip{background:color-mix(in srgb, var(--orange) 12%, transparent);border:1px solid var(--orange);color:var(--orange);border-radius:12px;padding:4px 10px;font-size:.72rem}.card{background:0 0;border:none;padding:28px 0}.card-header h2{color:var(--text-heading);letter-spacing:-.02em;margin:0 0 10px;font-size:1.5rem;font-weight:700;line-height:1.25}.card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.category{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-secondary);border-radius:4px;padding:3px 8px;font-size:.72rem;font-weight:600}.state-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:600}.state-badge.review{background:color-mix(in srgb, var(--green) 12%, transparent);color:var(--green)}.state-badge.learning{background:color-mix(in srgb, var(--orange) 12%, transparent);color:var(--orange)}.state-badge.relearning{background:color-mix(in srgb, var(--red) 12%, transparent);color:var(--red)}.state-badge.new{background:var(--bg-secondary);color:var(--gray-badge)}.tag-badge{background:var(--bg-secondary);color:var(--text-secondary);text-transform:lowercase;border-radius:4px;padding:2px 7px;font-size:.72rem;font-weight:600}.tag-badge.clickable{cursor:pointer;transition:background .15s,color .15s}.tag-badge.clickable:hover,.tag-badge.tag-active{background:var(--accent);color:var(--bg-body)}.tag-drilldown{margin-top:12px;margin-bottom:20px}.tag-drilldown h4{color:var(--text-heading);margin:0 0 8px;font-size:1rem}.tag-drilldown table{border-collapse:collapse;width:100%;font-size:.84rem}.tag-drilldown th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-primary);padding:4px 8px}.tag-drilldown td{border-bottom:1px solid var(--border-subtle);padding:5px 8px}.answer-section{margin-top:20px}.answer-section button{margin-top:12px}.answer-section textarea{border:1px solid var(--border-secondary);background:var(--bg-body);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;border-radius:10px;padding:16px;font-family:inherit;font-size:1rem;line-height:1.6;transition:border-color .2s,box-shadow .2s}.answer-section textarea:focus{border-color:var(--text-muted);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent);outline:none}button{background:var(--accent);color:var(--bg-body);cursor:pointer;letter-spacing:-.01em;border:none;border-radius:8px;margin-top:0;padding:12px 24px;font-size:1rem;font-weight:700;transition:background .15s,transform .1s}button:hover{background:var(--accent-hover);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.35;cursor:not-allowed;transform:none}button.secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-secondary)}button.secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.batch-counter{text-align:center;color:var(--text-muted);margin-top:6px;font-size:.84rem}.results-stack{flex-direction:column;gap:6px;margin-top:16px;display:flex}.grading-queue{margin-bottom:4px}.grading-queue-summary{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-card);border:1px solid var(--border-secondary);color:var(--text-secondary);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 16px;font-size:.85rem;display:flex}.grading-queue-summary:hover{background:var(--bg-secondary)}.grading-queue-chevron{color:var(--text-muted);font-size:.7rem}.grading-queue-text{font-weight:500}.card-slider{outline:none;margin:12px 0}.card-slider:focus{outline:2px solid var(--accent);outline-offset:6px;border-radius:8px}.card-slider-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:6px;font-size:.75rem}.card-slider-nav{align-items:center;gap:8px;margin-bottom:8px;display:flex}.card-slider-nav button{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:.85rem}.card-slider-nav button:hover{background:var(--bg-tertiary)}.card-slider-nav button:disabled{opacity:.3;cursor:default}.card-slider-counter{color:var(--text-secondary);text-align:center;flex:1;font-size:.85rem}.result-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:8px;padding:12px 16px;transition:background .15s}.result-card.read{border-color:var(--border-subtle);opacity:.55;padding:8px 16px}.result-card.read .result-topic{color:var(--text-secondary)}.read-badge{color:var(--text-muted)!important;background:var(--bg-secondary)!important}.result-card.fail{border-color:var(--red);background:var(--bg-fail-card)}.result-card.error{border-color:var(--orange);background:color-mix(in srgb, var(--orange) 5%, var(--bg-card))}.result-card.grading{border-color:var(--border-secondary)}.result-card.queued{border-color:var(--border-secondary);opacity:.5}.result-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.result-topic{color:var(--text-heading);font-size:1rem;font-weight:600}.result-card-right{align-items:center;gap:8px;display:flex}.score-badge-inline{border-radius:4px;padding:2px 8px;font-size:.84rem;font-weight:700}.result-card.fail .score-badge-inline{color:var(--red);background:color-mix(in srgb, var(--red) 10%, transparent)}.drill-pass-tag{background:color-mix(in srgb, var(--green) 12%, transparent);color:var(--green);border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:600}.drill-fail-tag{background:color-mix(in srgb, var(--orange) 12%, transparent);color:var(--orange);border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:600}.error-badge{color:var(--orange)!important;background:color-mix(in srgb, var(--orange) 10%, transparent)!important}.retry-btn{border:1px solid var(--orange);background:color-mix(in srgb, var(--orange) 10%, transparent);color:var(--orange);cursor:pointer;border-radius:4px;padding:2px 10px;font-size:.78rem;font-weight:600}.retry-btn:hover{background:color-mix(in srgb, var(--orange) 20%, transparent)}.result-card-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.collapse-chevron{color:var(--text-muted);font-size:.72rem}.dismiss-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin:0;padding:0 4px;font-size:1rem;line-height:1;transition:color .15s}.dismiss-btn:hover{color:var(--text-heading);background:0 0}.grading-spinner{color:var(--text-muted);font-size:.84rem;font-style:italic}.feedback-text{white-space:pre-wrap;word-wrap:break-word;color:var(--text-feedback);background:var(--bg-feedback);border-radius:6px;margin:8px 0 0;padding:10px 14px;font-family:inherit;font-size:.84rem;line-height:1.55}.user-answer-inline{background:var(--bg-user-answer);color:var(--text-muted);border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.84rem;line-height:1.5}.user-answer-inline strong{color:var(--text-user-answer-label)}.probe-question-inline{background:var(--bg-probe);color:var(--text-muted);border-left:3px solid var(--orange);border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.84rem;line-height:1.5}.probe-question-inline strong{color:var(--orange)}.correct-answer-inline{background:var(--bg-correct-answer);border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.84rem;line-height:1.5}.correct-answer-inline strong{color:var(--text-correct-label)}.reveal-btn{border:1px solid var(--border-secondary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:4px 12px;font-size:.84rem}.reveal-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.waiting,.done-section{text-align:center;padding:40px 20px}.waiting h2,.done-section h2{color:var(--text-heading);margin-bottom:12px}.final-stats{margin:20px 0;font-size:1.15rem}.final-stats p{margin:8px 0}.end-btn{background:var(--accent);padding:14px 28px;font-size:1rem}.end-btn:hover{background:var(--accent-hover)}.summary{background:var(--bg-summary);border:1px solid var(--green);border-radius:10px;padding:20px}.center{text-align:center;color:var(--text-secondary);padding:40px}.result-card.probe{border-color:var(--orange);background:var(--bg-probe)}.probe-badge{color:var(--orange)!important;background:color-mix(in srgb, var(--orange) 10%, transparent)!important}.probe-section{margin-top:12px}.probe-question{color:var(--text-probe-q);margin-bottom:8px;font-size:1rem;line-height:1.5}.probe-section textarea{background:var(--bg-input);border:1px solid var(--border-secondary);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;border-radius:8px;padding:10px 14px;font-size:1rem;transition:border-color .15s}.probe-section textarea:focus{border-color:var(--orange);outline:none}.probe-section button{background:var(--orange);color:var(--bg-body);cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:8px 16px;font-weight:600}.probe-section button:hover{background:#d08a30}.probe-section button:disabled{opacity:.35;cursor:not-allowed}.drill-mode{border-color:var(--orange)}.drill-header{background:var(--bg-drill-header);border-radius:10px 10px 0 0;margin:-24px -24px 16px;padding:16px 20px}.drill-header h2{color:var(--orange);margin:0;font-size:1.15rem}.drill-header p{color:var(--text-drill-sub);margin:4px 0 0;font-size:.84rem}.drill-hint{background:var(--bg-correct-answer);border-radius:8px;margin-bottom:12px;padding:12px;font-size:1rem}.history-section{border:1px solid var(--border-primary);border-radius:8px;margin-top:16px;overflow:hidden}.history-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-heading);justify-content:space-between;align-items:center;padding:12px 16px;font-size:1rem;font-weight:600;display:flex}.history-toggle:hover{background:var(--bg-hover)}.history-chevron{color:var(--text-muted);font-size:.72rem}.history-list{border-top:1px solid var(--border-primary)}.history-entry{border-bottom:1px solid var(--border-subtle);cursor:pointer;padding:8px 16px;transition:background .12s}.history-entry:last-child{border-bottom:none}.history-entry:hover{background:var(--bg-hover)}.history-entry.history-fail{border-left:3px solid var(--red)}.history-entry-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.history-entry-topic{color:var(--text-primary);font-size:.84rem;font-weight:500}.history-entry-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.attempt-badge{background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:600}.history-drill-tag{background:color-mix(in srgb, var(--orange) 12%, transparent);color:var(--orange);text-transform:uppercase;letter-spacing:.02em;border-radius:3px;padding:1px 5px;font-size:.72rem;font-weight:600}.history-probe-tag{background:color-mix(in srgb, var(--blue) 12%, transparent);color:var(--blue);text-transform:uppercase;letter-spacing:.02em;border-radius:3px;padding:1px 5px;font-size:.72rem;font-weight:600}.history-skip-tag{background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:600}.history-score{border-radius:4px;padding:1px 6px;font-size:.84rem;font-weight:700}.history-pass{color:var(--green);background:color-mix(in srgb, var(--green) 10%, transparent)}.history-fail-score{color:var(--red);background:color-mix(in srgb, var(--red) 10%, transparent)}.history-entry-detail{border-top:1px solid var(--border-subtle);margin-top:8px;padding-top:8px}.history-user-answer{background:var(--bg-user-answer);color:var(--text-muted);border-radius:6px;margin-bottom:6px;padding:6px 10px;font-size:.84rem;line-height:1.5}.history-user-answer strong{color:var(--text-user-answer-label)}.history-feedback{white-space:pre-wrap;word-wrap:break-word;color:var(--text-feedback);background:var(--bg-feedback);border-radius:6px;margin:0 0 6px;padding:6px 10px;font-family:inherit;font-size:.84rem;line-height:1.45}.history-correct-answer{background:var(--bg-correct-answer);border-radius:6px;padding:6px 10px;font-size:.84rem;line-height:1.5}.history-correct-answer strong{color:var(--text-correct-label)}.history-tab{padding:10px 0}.session-detail-rich{padding:4px 0 12px}.history-detail-card{border-bottom:1px solid var(--border-subtle);cursor:pointer;padding:8px 16px;transition:background .12s}.history-detail-card:last-child{border-bottom:none}.history-detail-card:hover{background:var(--bg-hover)}.history-detail-fail{border-left:3px solid var(--red)}.history-detail-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.history-type-tag{background:var(--bg-secondary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;border-radius:3px;padding:1px 5px;font-size:.72rem;font-weight:600}.analytics-tab{padding:10px 0}.today-section{background:var(--bg-card);border:none;border-radius:12px;margin-bottom:20px;padding:24px}.today-section h3{color:var(--text-heading);letter-spacing:-.01em;margin:0 0 16px;font-size:1.15rem;font-weight:700}.today-stats{flex-wrap:wrap;gap:10px;display:flex}.today-stat{background:var(--bg-secondary);text-align:center;border-radius:8px;flex:1;min-width:72px;padding:14px 12px}.today-val{color:var(--text-heading);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;line-height:1.2;display:block}.today-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:.72rem;font-weight:600;display:block}.pass-col{color:var(--green)}.fail-col{color:var(--red)}.warn-col{color:var(--orange)}.drill-col{color:var(--blue)}.hardest-section{border:1px solid var(--border-primary);border-radius:8px;margin-bottom:20px;padding:20px}.hardest-section h3{color:var(--text-heading);letter-spacing:-.01em;margin:0 0 12px;font-size:1.15rem;font-weight:700}.hardest-section table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.84rem}.hardest-section th:first-child{width:35%}.hardest-section th:nth-child(2){width:20%}.hardest-section th:nth-child(3),.hardest-section th:nth-child(4){width:12%}.hardest-section th:nth-child(5){width:10%}.hardest-section th:nth-child(6){width:11%}.hardest-section th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-primary);text-transform:uppercase;letter-spacing:.04em;padding:6px 10px;font-size:.72rem;font-weight:600}.hardest-section td{border-bottom:1px solid var(--border-subtle);padding:8px 10px}.hard-row td:first-child{color:var(--red)}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--bg-hover)}.answer-row td{border-bottom:1px solid var(--border-subtle);padding:0!important}.hardest-answer{color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;background:var(--bg-main);padding:10px 14px;font-size:.84rem;line-height:1.5}.session-review-detail{background:var(--bg-main);padding:10px 14px;font-size:.84rem;line-height:1.5}.session-review-detail .detail-answer{color:var(--text-secondary);margin-bottom:6px}.session-review-detail .detail-feedback{color:var(--red);white-space:pre-wrap;margin-bottom:6px}.session-review-detail .detail-correct{color:var(--green)}.sessions-section{border:none;border-top:1px solid var(--border-primary);border-radius:0;margin-bottom:20px;padding:20px 0}.sessions-section h3{color:var(--text-heading);letter-spacing:-.01em;margin:0 0 12px;font-size:1.15rem;font-weight:700}.session-row{border-bottom:1px solid var(--border-subtle)}.session-row:last-child{border-bottom:none}.session-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:10px 4px;transition:background .12s;display:flex}.session-header:hover{background:var(--bg-hover);border-radius:6px}.session-date{color:var(--text-primary);min-width:90px;font-size:1rem;font-weight:600}.session-meta{color:var(--text-muted);font-size:.84rem}.session-rate{font-variant-numeric:tabular-nums;margin-left:auto;font-size:1rem;font-weight:700}.session-toggle{color:var(--text-muted);margin-left:8px;font-size:.72rem}.session-detail{padding:8px 4px 12px}.session-detail table{border-collapse:collapse;width:100%;font-size:.84rem}.session-detail th{text-align:left;color:var(--text-secondary);padding:4px 8px}.session-detail td{border-bottom:1px solid var(--border-subtle);padding:5px 8px}.pass-row td:first-child{color:var(--text-secondary)}.fail-row td:first-child{color:var(--text-primary)}.type-col{color:var(--text-muted);font-size:.72rem}.chart-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.chart-card{background:var(--bg-card);border:none;border-radius:12px;padding:20px}.chart-card h3{color:var(--text-heading);letter-spacing:-.01em;margin:0 0 12px;font-size:1.15rem;font-weight:700}.leeches-section{border:1px solid var(--border-primary);background:color-mix(in srgb, var(--orange) 3%, var(--bg-body));border-color:color-mix(in srgb, var(--orange) 15%, transparent);border-radius:10px;margin-top:20px;padding:20px}.leeches-section h3{color:var(--orange);margin-bottom:12px;font-size:1.15rem}.leeches-section table{border-collapse:collapse;width:100%}.leeches-section th,.leeches-section td{text-align:left;border-bottom:1px solid var(--border-primary);padding:8px 12px}.leeches-section th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.misconceptions-section{border:none;margin-bottom:20px;padding:20px 0}.misconceptions-section h3{color:var(--text-heading);letter-spacing:-.01em;margin:0 0 16px;font-size:1.15rem;font-weight:700}.misconception-summary{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.misconception-group{margin-bottom:12px}.misconception-group h4{margin:0 0 8px;font-size:1rem;font-weight:600}.misconception-card{border-left:3px solid var(--red);cursor:pointer;background:var(--bg-secondary);border-radius:0 6px 6px 0;margin-bottom:4px;padding:8px 12px;transition:background .12s}.misconception-card:hover{background:var(--bg-hover)}.misconception-card.resolved{border-left-color:var(--green);opacity:.65}.misconception-card.compact{justify-content:space-between;align-items:center;display:flex}.misconception-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.misconception-topic{color:var(--text-heading);font-size:.84rem;font-weight:600}.misconception-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.misconception-count{background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:600}.resolved-badge{background:color-mix(in srgb, var(--green) 12%, transparent);color:var(--green);text-transform:uppercase;border-radius:3px;padding:1px 5px;font-size:.72rem;font-weight:600}.resolved-date{color:var(--text-secondary);font-size:.72rem}.misconception-bullets{color:var(--text-muted);margin:8px 0 4px 8px;padding-left:12px;font-size:.84rem;line-height:1.6}.misconception-bullets li{margin-bottom:2px}.bullet-missing_component{color:var(--orange)}.bullet-wrong_mechanism{color:var(--red)}.bullet-too_vague{color:var(--text-secondary)}.score-dots{align-items:center;gap:3px;display:inline-flex}.score-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot-pass{background:var(--green)}.dot-warn{background:var(--orange)}.dot-fail{background:var(--red)}.category-group{margin-bottom:8px}.category-group-header{cursor:pointer;color:var(--text-heading);border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.84rem;font-weight:600;display:flex}.category-group-header:hover{background:var(--bg-hover)}.category-group-meta{color:var(--text-secondary);font-size:.72rem;font-weight:400}@media (width<=700px){.chart-grid{grid-template-columns:1fr}}.assess-tab{padding:10px 0}.assess-intake{border:1px solid var(--border-secondary);background:var(--bg-card);border-radius:12px;max-width:480px;margin:0 auto;padding:36px}.assess-intake h2{color:var(--text-heading);letter-spacing:-.02em;margin:0 0 8px;font-size:1.5rem;font-weight:700}.assess-subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:1rem;line-height:1.55}.assess-form{flex-direction:column;gap:20px;display:flex}.assess-label{color:var(--text-heading);flex-direction:column;gap:6px;font-size:.84rem;font-weight:600;display:flex}.assess-label select{border:1px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-primary);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:1rem}.assess-label select:focus{border-color:var(--accent);outline:none}.assess-range-row{align-items:center;gap:12px;display:flex}.assess-range-row input[type=range]{accent-color:var(--accent);flex:1}.assess-range-val{color:var(--text-heading);text-align:center;min-width:30px;font-size:1.15rem;font-weight:700}.assess-chip-group{flex-wrap:wrap;gap:8px;display:flex}.assess-chip{border:1px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:6px;margin-top:0;padding:8px 16px;font-size:.84rem;font-weight:600;transition:border-color .15s,color .15s,background .15s}.assess-chip:hover{border-color:var(--accent);color:var(--accent)}.assess-chip.active{border-color:var(--accent);background:var(--accent);color:var(--bg-body)}.assess-start-btn{background:var(--accent);color:var(--bg-body);border-radius:10px;width:100%;margin-top:8px;padding:14px 28px;font-size:1rem;font-weight:700}.assess-start-btn:hover{background:var(--accent-hover)}.assess-progress{margin-bottom:20px}.assess-progress-bar{background:var(--border-primary);border-radius:3px;height:5px;overflow:hidden}.assess-progress-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .4s cubic-bezier(.16,1,.3,1)}.assess-progress-text{text-align:center;color:var(--text-muted);letter-spacing:.02em;margin-top:12px;font-size:.84rem;font-weight:500;display:block}.assess-graded-stack{flex-direction:column;gap:6px;margin-top:16px;display:flex}.assess-result-card{border:1px solid var(--border-primary);cursor:pointer;border-radius:8px;padding:10px 16px;transition:background .12s}.assess-result-card:hover{background:var(--bg-hover)}.assess-result-card.pass{border-left:3px solid var(--green)}.assess-result-card.partial{border-left:3px solid var(--orange)}.assess-result-card.fail{border-left:3px solid var(--red)}.assess-result-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.assess-result-topic{color:var(--text-heading);font-size:1rem;font-weight:600}.assess-result-right{align-items:center;gap:8px;display:flex}.assess-score-badge{border-radius:4px;padding:2px 8px;font-size:.84rem;font-weight:700}.assess-score-badge.pass{color:var(--green);background:color-mix(in srgb, var(--green) 10%, transparent)}.assess-score-badge.partial{color:var(--orange);background:color-mix(in srgb, var(--orange) 10%, transparent)}.assess-score-badge.fail{color:var(--red);background:color-mix(in srgb, var(--red) 10%, transparent)}.assess-result-detail{margin-top:10px}.assess-results{max-width:600px;margin:0 auto}.assess-results h2{color:var(--text-heading);letter-spacing:-.02em;margin:0 0 4px;font-size:1.5rem}.assess-meta{color:var(--text-secondary);margin:0 0 24px;font-size:1rem}.assess-gauge{justify-content:center;margin-bottom:28px;display:flex}.assess-gauge-circle{border:3px solid;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.assess-gauge-score{color:var(--text-heading);font-size:2rem;font-weight:800}.assess-gauge-label{color:var(--text-secondary);font-size:.84rem;font-weight:600}.assess-hero{border:1px solid var(--border-primary);border-radius:10px;align-items:center;gap:24px;margin-bottom:24px;padding:24px;display:flex}.assess-hero-score{border:3px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:86px;height:86px;display:flex}.assess-hero-number{color:var(--text-heading);letter-spacing:-.02em;font-size:1.8rem;font-weight:800}.assess-hero-text{flex-direction:column;gap:4px;display:flex}.assess-hero-level{letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.assess-hero-verdict{color:var(--text-secondary);margin:0;font-size:1rem;line-height:1.5}.assess-hero-stats{gap:12px;margin-top:6px;display:flex}.assess-hero-stat{color:var(--text-secondary);font-size:.84rem;font-weight:600}.assess-hero-stat.pass-col{color:var(--green)}.assess-hero-stat.fail-col{color:var(--red)}.assess-grading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.assess-grading-spinner{border:3px solid var(--bg-secondary);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin-bottom:20px;animation:.8s linear infinite assess-spin}@keyframes assess-spin{to{transform:rotate(360deg)}}.assess-grading-text{color:var(--text-heading);margin:0;font-size:1rem;font-weight:700}.assess-grading-sub{color:var(--text-secondary);margin:6px 0 0;font-size:.84rem}.assess-categories{border:1px solid var(--border-primary);border-radius:10px;margin-bottom:20px;padding:20px}.assess-categories h3{color:var(--text-heading);letter-spacing:-.01em;margin:0 0 16px;font-size:1.15rem;font-weight:700}.assess-cat-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.assess-cat-info{flex-direction:column;min-width:140px;display:flex}.assess-cat-name{color:var(--text-heading);font-size:.84rem;font-weight:600}.assess-cat-verdict{font-size:.72rem;font-weight:600}.assess-cat-bar{background:var(--bg-secondary);border-radius:3px;flex:1;height:6px;overflow:hidden}.assess-cat-fill{border-radius:3px;height:100%;transition:width .3s}.assess-cat-pct{color:var(--text-heading);text-align:right;min-width:36px;font-size:.84rem;font-weight:700}.assess-weak,.assess-recs{border:1px solid var(--border-primary);border-radius:10px;margin-bottom:20px;padding:20px}.assess-weak h3,.assess-recs h3{color:var(--text-heading);letter-spacing:-.01em;margin:0 0 12px;font-size:1.15rem;font-weight:700}.assess-weak ul{margin:0;padding-left:20px}.assess-weak li{color:var(--red);margin-bottom:4px;font-size:1rem}.assess-rec-card{background:var(--bg-secondary);color:var(--text-primary);border-left:3px solid var(--accent);border-radius:6px;margin-bottom:8px;padding:10px 14px;font-size:1rem;line-height:1.5}.assess-cards-detail{border:1px solid var(--border-primary);border-radius:10px;margin-bottom:20px;padding:20px}.assess-cards-detail h3{color:var(--text-heading);letter-spacing:-.01em;margin:0 0 12px;font-size:1.15rem;font-weight:700}.assess-retake-btn{background:var(--accent);width:100%;color:var(--bg-body);border-radius:8px;margin-top:8px;padding:14px;font-size:1rem;font-weight:700;display:block}.assess-retake-btn:hover{background:var(--accent-hover)}.landing{--lp-bg:#0b100e;--lp-bg-alt:#141e18;--lp-text:#d8e0db;--lp-text-strong:#eff3f0;--lp-text-muted:#627a70;--lp-accent:#00e5a0;--lp-accent-hover:#00cc8e;--lp-border:#1c2b24;--lp-score-color:#e8a040;--lp-score-bg:#e8a0401a;background:var(--lp-bg);color:var(--lp-text);min-height:100vh}[data-theme=light] .landing{--lp-bg:#f6faf8;--lp-bg-alt:#ebf1ed;--lp-text:#3a4b43;--lp-text-strong:#111a15;--lp-text-muted:#6a7f74;--lp-accent:#009e72;--lp-accent-hover:#008a63;--lp-border:#c8d8ce;--lp-score-color:#b06800;--lp-score-bg:#b0680014}.landing-nav{justify-content:space-between;align-items:center;max-width:900px;margin:0 auto;padding:24px 32px 0;display:flex}.landing-logo{color:var(--lp-text-strong);letter-spacing:-.01em;font-size:1rem;font-weight:700}.landing-nav-links{align-items:center;gap:6px;display:flex}.landing-nav-link{color:var(--lp-text-muted);border-radius:6px;padding:6px 14px;font-size:.84rem;text-decoration:none;transition:color .15s}.landing-nav-link:hover{color:var(--lp-text-strong)}.landing-nav-signup{background:var(--lp-accent);color:var(--lp-bg);font-weight:600}.landing-nav-signup:hover{background:var(--lp-accent-hover);color:var(--lp-bg)}.landing-hero{max-width:680px;margin:0 auto;padding:64px 32px 56px}.landing-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--lp-accent);margin:0 0 20px;font-size:.72rem;font-weight:600}.landing-h1{color:var(--lp-text-strong);letter-spacing:-.03em;margin:0 0 20px;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:800;line-height:1.08}.landing-sub{color:var(--lp-text-muted);margin:0 0 32px;font-size:clamp(.95rem,2vw,1.1rem);line-height:1.6}.landing-cta{background:var(--lp-accent);color:var(--lp-bg);letter-spacing:-.01em;border-radius:8px;padding:13px 28px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s,transform .1s;display:inline-block}.landing-cta:hover{background:var(--lp-accent-hover);transform:translateY(-1px)}.landing-note{color:var(--lp-text-muted);margin:14px 0 0;font-size:.84rem}.landing-demo-pair{grid-template-columns:1fr 1fr;gap:20px;max-width:900px;margin:0 auto;padding:0 32px 72px;display:grid}@media (width<=720px){.landing-demo-pair{grid-template-columns:1fr;max-width:680px}}.demo-card{border:1px solid var(--lp-border);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.demo-question-block{border-bottom:1px solid var(--lp-border);padding:20px 24px}.demo-meta{text-transform:uppercase;letter-spacing:.06em;color:var(--lp-text-muted);font-size:.72rem;font-weight:600}.demo-q{color:var(--lp-text-strong);margin:8px 0 0;font-size:1rem;font-weight:600;line-height:1.45}.demo-answer-block{background:var(--lp-bg-alt);flex-direction:column;flex:1;padding:20px 24px;display:flex}.demo-user-answer{color:var(--lp-text);margin:0 0 16px;font-size:.84rem;font-style:italic;line-height:1.55}.demo-grade{align-items:flex-start;gap:14px;margin-top:auto;display:flex}.demo-score{flex-shrink:0;font-size:1.5rem;font-weight:800;line-height:1}.demo-score--partial{color:var(--lp-score-color)}.demo-score--pass{color:var(--lp-accent)}.demo-score-max{color:var(--lp-text-muted);font-size:.72rem;font-weight:600}.demo-feedback{margin:0;font-size:.84rem;line-height:1.5}.demo-feedback--partial{color:var(--lp-score-color)}.demo-feedback--pass{color:var(--lp-accent)}.landing-process{flex-direction:column;gap:0;max-width:680px;margin:0 auto;padding:0 32px 72px;display:flex}.process-step{border-bottom:1px solid var(--lp-border);align-items:flex-start;gap:20px;padding:20px 0;display:flex}.process-step:first-child{border-top:1px solid var(--lp-border)}.process-num{color:var(--lp-accent);border:1.5px solid var(--lp-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;font-size:.84rem;font-weight:700;display:flex}.process-title{color:var(--lp-text-strong);margin:0;font-size:1rem;font-weight:600}.process-desc{color:var(--lp-text-muted);margin:4px 0 0;font-size:.84rem;line-height:1.5}.landing-domains{border-top:1px solid var(--lp-border);max-width:680px;margin:0 auto;padding:56px 32px 64px}.landing-section-heading{color:var(--lp-text-strong);letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:700}.landing-section-sub{color:var(--lp-text-muted);margin:0 0 24px;font-size:1rem;line-height:1.5}.domain-grid{flex-wrap:wrap;gap:8px;display:flex}.domain-tag{color:var(--lp-text);border:1px solid var(--lp-border);white-space:nowrap;border-radius:6px;padding:6px 14px;font-size:.84rem;font-weight:500}.landing-preview{border-top:1px solid var(--lp-border);max-width:680px;margin:0 auto;padding:56px 32px 72px}.preview-report{border:1px solid var(--lp-border);border-radius:10px;overflow:hidden}.preview-header{border-bottom:1px solid var(--lp-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;display:flex}.preview-label{text-transform:uppercase;letter-spacing:.06em;color:var(--lp-text-muted);margin:0;font-size:.72rem;font-weight:600}.preview-score-big{color:var(--lp-text-strong);letter-spacing:-.03em;margin:6px 0 0;font-size:2rem;font-weight:800;line-height:1}.preview-score-total{color:var(--lp-text-muted);font-size:1rem;font-weight:600}.preview-verdict{color:var(--lp-text);max-width:280px;padding-top:4px;font-size:1rem;line-height:1.5}.preview-bars{flex-direction:column;gap:14px;padding:20px 24px;display:flex}.preview-bar-row{align-items:center;gap:12px;display:flex}.preview-bar-label{color:var(--lp-text);flex-shrink:0;width:140px;font-size:.84rem}.preview-bar-track{background:var(--lp-border);border-radius:3px;flex:1;height:6px;overflow:hidden}.preview-bar-fill{border-radius:3px;height:100%;transition:width .3s ease-out}.preview-bar-fill--full{background:var(--lp-accent)}.preview-bar-fill--mid{background:var(--lp-score-color)}.preview-bar-fill--low{background:#e05252}[data-theme=light] .preview-bar-fill--low{background:#c43c3c}.preview-bar-score{color:var(--lp-text-muted);text-align:right;flex-shrink:0;width:28px;font-size:.84rem;font-weight:600}.landing-bottom{border-top:1px solid var(--lp-border);max-width:680px;margin:0 auto;padding:56px 32px}.landing-h2{color:var(--lp-text-strong);letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:700}.landing-bottom-sub{color:var(--lp-text-muted);margin:0 0 24px;font-size:1rem;line-height:1.5}.landing-footer{border-top:1px solid var(--lp-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;max-width:900px;margin:0 auto;padding:24px 32px;display:flex}.landing-footer-name{color:var(--lp-text-strong);font-size:.84rem;font-weight:700}.landing-footer-copy{color:var(--lp-text-muted);font-size:.84rem}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{color:var(--accent);letter-spacing:-.01em;font-size:1rem;font-weight:700;text-decoration:none}.auth-logo:hover{opacity:.85}.auth-loading{min-height:100vh;color:var(--text-secondary);background:var(--bg-body);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:1rem;display:flex}.auth-page{background:var(--bg-body);justify-content:center;align-items:flex-start;min-height:100vh;padding:80px 24px 24px;display:flex}.auth-wrapper{width:100%;max-width:500px}.auth-card{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:14px;width:100%;padding:40px 48px}.auth-title{color:var(--text-heading);text-align:center;letter-spacing:-.01em;margin:0 0 24px;font-size:1.5rem;font-weight:700}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.84rem;font-weight:500;display:flex}.auth-input{box-sizing:border-box;border:1px solid var(--border-secondary);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:12px 14px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.auth-input:focus{border-color:var(--text-muted);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent)}.auth-error{background:color-mix(in srgb, var(--red) 8%, transparent);border:1px solid var(--red);color:var(--red);border-radius:8px;margin:0;padding:10px 14px;font-size:.84rem}.auth-btn{background:var(--accent);width:100%;color:var(--bg-body);cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:14px 20px;font-size:1rem;font-weight:700;transition:background .15s}.auth-btn:hover{background:var(--accent-hover)}.auth-btn:disabled{opacity:.35;cursor:not-allowed}.auth-btn-google{color:var(--text-primary);border:1px solid var(--border-secondary);background:0 0;justify-content:center;align-items:center;gap:10px;margin-top:0;display:flex}.auth-btn-google:hover{background:var(--bg-hover);border-color:var(--text-muted)}.auth-divider{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:12px;margin:16px 0 8px;font-size:.72rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-primary);flex:1;height:1px}.auth-switch{text-align:center;color:var(--text-secondary);margin:20px 0 0;font-size:.84rem}.auth-switch a{color:var(--accent);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.profile-tab{max-width:480px}.profile-tab h2{color:var(--text-heading);letter-spacing:-.02em;margin:0 0 32px;font-size:1.5rem;font-weight:700}.profile-section{margin-bottom:32px}.profile-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 12px;font-size:.72rem;font-weight:600}.profile-email{color:var(--text-primary);font-size:1rem}.profile-theme-row{justify-content:space-between;align-items:center;display:flex}.profile-theme-row span{color:var(--text-primary);font-size:1rem}.profile-theme-btn{background:var(--bg-secondary);border:1px solid var(--border-secondary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:6px 16px;font-size:.84rem;font-weight:500;transition:border-color .15s}.profile-theme-btn:hover{border-color:var(--text-muted);background:var(--bg-secondary);transform:none}.profile-batch-input{background:var(--bg-secondary);border:1px solid var(--border-secondary);width:56px;color:var(--text-primary);text-align:center;border-radius:6px;padding:6px 8px;font-size:.84rem;font-weight:500}.profile-batch-input:focus{border-color:var(--accent);outline:none}.profile-pwd-form{flex-direction:column;gap:10px;display:flex}.profile-pwd-form input{border:1px solid var(--border-secondary);background:var(--bg-body);color:var(--text-primary);border-radius:6px;padding:10px 14px;font-family:inherit;font-size:1rem}.profile-pwd-form input:focus{border-color:var(--text-muted);outline:none}.profile-pwd-form button{align-self:flex-start;margin-top:4px;padding:10px 20px;font-size:.84rem}.profile-msg{margin:0;font-size:.84rem}.profile-msg--error{color:var(--red)}.profile-msg--success{color:var(--green)}.profile-logout{border:1px solid var(--border-secondary);color:var(--red);cursor:pointer;background:0 0;border-radius:6px;padding:10px 20px;font-size:.84rem;font-weight:600;transition:border-color .15s,background .15s}.profile-logout:hover{border-color:var(--red);background:var(--bg-fail-card);transform:none}.profile-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-top:0;margin-bottom:-1px;margin-left:auto;padding:10px 20px;font-size:1rem;font-weight:500;transition:color .15s}.profile-btn:hover{color:var(--text-primary);background:0 0;transform:none}.profile-btn.active{color:var(--text-heading);border-bottom-color:var(--accent);font-weight:600}.assess-page{background:var(--bg-body);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.assess-page .assess-tab{flex:1;width:100%;max-width:640px;margin:0 auto;padding:24px 24px 40px}.assess-page .card{background:var(--bg-card);border:1px solid var(--border-secondary);padding:32px;box-shadow:0 2px 12px #00000026}.assess-page .answer-section textarea{background:var(--bg-input);border-color:var(--border-secondary);min-height:160px}.assess-page .answer-section button{border-radius:10px;width:100%;margin-top:16px;padding:14px;font-size:1rem}.assess-page .assess-progress{margin-bottom:28px}.assess-page .assess-progress-bar{border-radius:3px;height:6px}.assess-page-header{border-bottom:1px solid var(--border-primary);padding:18px 32px}.assess-page-logo{color:var(--accent);letter-spacing:-.01em;font-size:1rem;font-weight:700;text-decoration:none}.assess-page-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-primary);padding:24px 20px;font-size:.84rem}.assess-page-footer a{color:var(--accent);font-weight:600;text-decoration:none}.assess-page-footer a:hover{text-decoration:underline}.assess-page .card-header h2{font-size:1.5rem;line-height:1.3}.assess-page .category{padding:4px 10px;font-size:.72rem}.assess-page .assess-progress-text{color:var(--text-secondary);font-size:1rem;font-weight:600}.assess-page .answer-section textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent)}.assess-page .assess-result-card{padding:14px 18px}.assess-page .assess-result-topic{font-size:1rem}.assess-page .assess-score-badge{padding:3px 10px;font-size:.84rem}[data-theme=light] .assess-page .card{box-shadow:0 2px 12px #0000000f}.assess-email-overlay{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b100ef0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}[data-theme=light] .assess-email-overlay{background:#f6faf8f0}.assess-email-modal{background:var(--bg-card);border:1px solid var(--border-primary);text-align:center;border-radius:12px;width:90%;max-width:440px;padding:48px 40px}.assess-email-modal h2{color:var(--text-heading);letter-spacing:-.01em;margin:0 0 12px;font-size:1.5rem;font-weight:700}.assess-email-modal p{color:var(--text-secondary);margin:0 0 24px;font-size:1rem;line-height:1.55}.assess-email-input{border:1px solid var(--border-secondary);background:var(--bg-input);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:8px;outline:none;margin-bottom:8px;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .15s}.assess-email-input:focus{border-color:var(--accent)}.assess-email-error{color:var(--red)!important;margin:4px 0 12px!important;font-size:.84rem!important}.assess-email-modal .assess-start-btn{width:100%;margin-top:16px}.assess-email-note{color:var(--text-muted)!important;margin-top:16px!important;font-size:.72rem!important}.state-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.state-spinner{border:2.5px solid var(--border-secondary);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin-bottom:20px;animation:.8s linear infinite assess-spin}.state-screen h2{color:var(--text-heading);letter-spacing:-.02em;margin:0 0 8px;font-size:1.5rem;font-weight:700}.state-screen p{color:var(--text-secondary);margin:0;font-size:1rem;line-height:1.5}.state-screen .state-action{margin-top:20px;padding:10px 24px}.deck-list{flex-direction:column;gap:8px;width:100%;max-width:400px;margin-top:16px;display:flex}.deck-option{background:var(--bg-card);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.95rem;transition:border-color .15s,background .15s;display:flex}.deck-option:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover)}.deck-option:disabled{opacity:.4;cursor:not-allowed}.deck-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.84rem}@media (width<=560px){.container{padding:16px}.landing-nav{padding:16px 20px 0}.landing-hero{padding:48px 20px 40px}.landing-demo-pair{padding:0 20px 48px}.demo-question-block,.demo-answer-block{padding:16px 18px}.demo-grade{flex-direction:column;gap:6px}.landing-process{padding:0 20px 48px}.landing-domains,.landing-preview{padding:40px 20px 48px}.landing-bottom{padding:40px 20px}.landing-footer{text-align:center;flex-direction:column;padding:20px}.stats{gap:8px}.assess-hero{text-align:center;flex-direction:column}.assess-hero-stats{justify-content:center}.today-stats{gap:6px}.today-stat{min-width:60px;padding:10px 8px}.today-val{font-size:1.5rem}.auth-page{padding:40px 16px 16px}.auth-wrapper{max-width:100%}.auth-card{padding:28px 20px}}.legal-page{max-width:720px;color:var(--text-primary);margin:0 auto;padding:60px 32px}.legal-page h1{color:var(--text-heading);margin-bottom:8px;font-size:2rem}.legal-page h2{color:var(--text-heading);margin:32px 0 8px;font-size:1.1rem}.legal-page p,.legal-page li{font-size:.95rem;line-height:1.7}.legal-page ul{padding-left:20px}.legal-page a{color:var(--accent)}.legal-meta{color:var(--text-muted);margin-bottom:40px;font-size:.85rem}.legal-back{color:var(--accent);margin-bottom:32px;font-size:.9rem;text-decoration:none;display:inline-block}.auth-agree{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:16px;font-size:.9rem;display:flex}.auth-agree input{accent-color:var(--accent);margin-top:2px}.landing-footer-legal{gap:16px;margin-top:8px;display:flex}.landing-footer-link{color:var(--text-muted);font-size:.85rem;text-decoration:none}.landing-footer-link:hover{color:var(--text-primary)}
