:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#1f2328;background-color:#f6f7f9}body{margin:0}.app{max-width:40rem;margin:0 auto;padding:2rem 1rem}.status{color:#59636e}.status.error{color:#b42318}.subject-list{list-style:none;margin:0;padding:0;border:1px solid #d0d7de;border-radius:6px;background:#fff}.subject-list li{padding:.75rem 1rem}.subject-list li+li{border-top:1px solid #d0d7de}.add-subject{margin-bottom:1rem}.add-subject-row{display:flex;gap:.5rem}.add-subject-row input{flex:1;padding:.5rem}.status.success{color:#1a7f37}.mistakes{margin-top:2.5rem}.view-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.view-header h3{margin:0}.mistake-list{list-style:none;margin:0;padding:0;border:1px solid #d0d7de;border-radius:6px;background:#fff}.mistake-list li+li{border-top:1px solid #d0d7de}.mistake-item{display:block;width:100%;padding:.75rem 1rem;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.mistake-item:hover{background:#f6f8fa}.mistake-item:focus-visible{outline:2px solid #0969da;outline-offset:-2px}.mistake-problem{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap}.mistake-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-top:.35rem;font-size:.875rem;color:#59636e}.category-badge{display:inline-block;padding:0 .5rem;border:1px solid #d0d7de;border-radius:999px;background:#f6f8fa;font-size:.8125rem;color:#1f2328}.mistake-form,.mistake-detail{padding:1rem;border:1px solid #d0d7de;border-radius:6px;background:#fff}.form-field+.form-field{margin-top:1rem}.form-field label{display:block;margin-bottom:.25rem;font-weight:600}.form-field .optional{font-weight:400;color:#59636e}.form-field select,.form-field textarea{box-sizing:border-box;width:100%;padding:.5rem;font:inherit}.form-field textarea{resize:vertical}.form-field [aria-invalid=true]{border-color:#b42318}.field-hint,.field-error{margin:.25rem 0 0;font-size:.875rem}.field-hint{color:#59636e}.field-error{color:#b42318}.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}button.danger{color:#b42318}.confirm-panel{flex-basis:100%;padding:.75rem 1rem;border:1px solid #b42318;border-radius:6px;background:#fff5f5}.confirm-panel p,.mistake-detail dl{margin:0}.mistake-detail dt{font-weight:600}.mistake-detail dt:not(:first-child){margin-top:.75rem}.mistake-detail dd{margin:.15rem 0 0}.answers-hint{margin-bottom:.5rem}.multiline{overflow-wrap:anywhere;white-space:pre-wrap}.concepts{margin-top:2.5rem}.concept-subject{margin-bottom:.75rem}.concept-list{list-style:none;margin:0;padding:0;border:1px solid #d0d7de;border-radius:6px;background:#fff}.concept-list li{padding:.5rem 1rem}.concept-list li+li{border-top:1px solid #d0d7de}.concept-list .add-subject-row input{min-width:0}.concept-list .confirm-panel{margin-top:.5rem}.concept-row{display:flex;align-items:center;gap:.5rem}.concept-name{flex:1;min-width:0;overflow-wrap:anywhere}.concept-actions{display:flex;gap:.5rem}.review-section{margin-top:1.5rem;padding:1rem;border:1px solid #d0d7de;border-radius:6px;background:#fff}.review-section h4{margin:0 0 .75rem}.review-section h5{margin:1.5rem 0 .5rem;font-size:1rem}.review-form .form-field input[type=text]{box-sizing:border-box;width:100%;padding:.5rem;font:inherit}.outcome-field{margin:0;padding:0;border:0}.outcome-field legend{margin-bottom:.25rem;padding:0;font-weight:600}.outcome-options{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.outcome-option{display:inline-flex;align-items:center;gap:.35rem;font-weight:400;cursor:pointer}.review-list{list-style:none;margin:0;padding:0;border:1px solid #d0d7de;border-radius:6px}.review-list li{padding:.75rem 1rem}.review-list li+li{border-top:1px solid #d0d7de}.review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;font-size:.875rem;color:#59636e}.review-notes{margin:.35rem 0 0}.outcome-badge{display:inline-block;padding:0 .5rem;border:1px solid currentColor;border-radius:999px;font-size:.8125rem;font-weight:600}.outcome-easy{color:#1a7f37}.outcome-struggled{color:#9a6700}.outcome-failed{color:#b42318}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-nav{display:flex;gap:.25rem;margin-bottom:1.5rem;border-bottom:1px solid #d0d7de}.app-nav button{margin-bottom:-1px;padding:.5rem 1rem;border:0;border-bottom:2px solid transparent;background:none;font:inherit;color:#59636e;cursor:pointer}.app-nav button:hover{color:#1f2328}.app-nav button[aria-current=page]{border-bottom-color:#0969da;font-weight:600;color:#1f2328}.app-nav button:focus-visible{outline:2px solid #0969da;outline-offset:-2px}.analytics h2{margin-top:0}.analytics-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.analytics-toolbar label{font-weight:600}.analytics-toolbar select{flex:1;min-width:0;max-width:20rem;padding:.4rem;font:inherit}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.5rem;margin:0 0 1rem}.stat-tile{padding:.75rem;border:1px solid #d0d7de;border-radius:6px;background:#fff}.stat-tile dt{font-size:.8125rem;color:#59636e}.stat-tile dd{margin:.15rem 0 0}.stat-value{display:block;font-size:1.5rem;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.stat-note{display:block;font-size:.8125rem;color:#59636e}.analytics-panel{margin-top:1rem;padding:1rem;border:1px solid #d0d7de;border-radius:6px;background:#fff}.analytics-panel h3{margin:0 0 .75rem;font-size:1.0625rem}.analytics-panel h4{margin:1rem 0 .5rem;font-size:.9375rem}.analytics-panel h3+h4{margin-top:0}.outcome-fill-easy{background:#1a7f37}.outcome-fill-struggled{background:#d4a72c}.outcome-fill-failed{background:#cf222e}.outcome-bar{display:flex;gap:2px;height:.75rem;min-width:3rem}.outcome-segment{flex-basis:0;min-width:2px;border-radius:2px}.outcome-legend{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:.75rem 0 0;padding:0;list-style:none;font-size:.875rem}.outcome-legend li{display:flex;align-items:center;gap:.35rem}.legend-swatch{width:.75rem;height:.75rem;border-radius:2px}.legend-value{font-weight:600;font-variant-numeric:tabular-nums}.legend-share{font-weight:400;color:#59636e}.activity-chart{margin:0}.activity-plot{position:relative;padding-left:1.75rem}.activity-max{position:absolute;top:-.35rem;left:0;font-size:.75rem;color:#59636e;font-variant-numeric:tabular-nums}.activity-bars{display:flex;align-items:flex-end;gap:2px;height:6rem;border-top:1px dashed #eaeef2;border-bottom:1px solid #d0d7de}.activity-day{display:flex;flex:1;align-items:flex-end;height:100%;min-width:0}.activity-day:hover{background:#f6f8fa}.activity-bar{width:100%;min-height:2px;border-radius:2px 2px 0 0;background:#0969da}.activity-axis{display:flex;justify-content:space-between;margin-top:.25rem;padding-left:1.75rem;font-size:.75rem;color:#59636e}.chart-table{margin-top:.5rem;font-size:.875rem}.chart-table summary{cursor:pointer;color:#0969da}.chart-table table,.performance-table{width:100%;border-collapse:collapse;font-size:.875rem}.chart-table table{margin-top:.5rem}.chart-table th,.chart-table td,.performance-table th,.performance-table td{padding:.4rem .5rem .4rem 0;border-bottom:1px solid #eaeef2;text-align:left;vertical-align:middle}.chart-table thead th,.performance-table thead th{font-size:.8125rem;font-weight:600;color:#59636e}.performance-table tbody th{font-weight:400}.performance-table .numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.performance-table .outcomes-column{width:35%;padding-left:.5rem}.performance-name{display:block;overflow-wrap:anywhere}.performance-detail{display:block;font-size:.8125rem;color:#59636e;overflow-wrap:anywhere}.attention-list{list-style:none;margin:0;padding:0;border:1px solid #d0d7de;border-radius:6px}.attention-list li{padding:.75rem 1rem}.attention-list li+li{border-top:1px solid #d0d7de}.review-queue h2{margin-top:0}.queue-intro{margin:0 0 .75rem}.queue-priority{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;margin-bottom:.35rem;font-size:.875rem}.queue-rank{font-weight:600;color:#59636e;font-variant-numeric:tabular-nums}.queue-score{color:#59636e;font-variant-numeric:tabular-nums}.priority-badge{display:inline-block;padding:0 .5rem;border:1px solid currentColor;border-radius:999px;font-size:.8125rem;font-weight:600}.priority-high{color:#b42318}.priority-medium{color:#9a6700}.priority-low{color:#59636e}.queue-explanation{display:block;margin-top:.35rem;font-size:.875rem;color:#1f2328}.ai-test h2{margin-top:0}.ai-test-result{margin-top:1rem}.ai-mock-badge{border-color:#9a6700;background:#fff8c5}.ai-test-text{margin:.75rem 0 0}.explanation-section,.hint-section,.practice-section{margin-top:1.5rem;padding:1rem;border:1px solid #d0d7de;border-radius:6px;background:#fff}.explanation-section h4,.hint-section h4,.practice-section h4{margin:0 0 .5rem}.explanation-section .field-hint,.hint-section .field-hint,.practice-section .field-hint{margin-bottom:.75rem}.hint-list{display:grid;gap:.75rem;margin:0 0 1rem;padding:0;list-style:none}.hint-item{margin-top:0}.hint-item .field-hint{margin:0}.hint-text{margin:.5rem 0}.explanation-result{margin-top:1rem}.explanation-text{margin:.75rem 0}.practice-result{margin:0 0 1rem}.practice-question{margin:.75rem 0 1rem;font-size:1.05rem;font-weight:500}.practice-solution{margin-top:1rem;padding-top:.75rem;border-top:1px solid #d0d7de}.practice-solution h5{margin:.75rem 0 .25rem;font-size:.95rem}.practice-solution h5:first-child{margin-top:0}.practice-solution p{margin:0}.insights-report h4{margin:1rem 0 .5rem}.insights-summary{margin:0 0 .5rem}.insights-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.insights-item{padding:.75rem;border:1px solid #d0d7de;border-radius:6px;background:#fff}.insights-text{margin:.5rem 0 0;font-size:.9375rem}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}.account-bar{display:flex;align-items:center;gap:.75rem;min-width:0}.account-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#59636e}.auth-panel{max-width:24rem;padding:1.5rem;border:1px solid #d0d7de;border-radius:6px;background:#fff}.auth-panel h2{margin-top:0}.form-field input[type=email],.form-field input[type=password]{box-sizing:border-box;width:100%;padding:.5rem;font:inherit}.auth-switch{margin:1.25rem 0 0;color:#59636e}.link-button{padding:0;border:0;background:none;font:inherit;color:#0969da;text-decoration:underline;cursor:pointer}.link-button:disabled{color:#59636e;cursor:default}.attachment-section{margin-top:1.5rem;padding:1rem;border:1px solid #d0d7de;border-radius:6px;background:#fff}.attachment-section h4{margin:0 0 .75rem}.attachment-section h5{margin:1.5rem 0 .5rem;font-size:1rem}.attachment-progress{display:block;width:100%;margin-top:.75rem}.attachment-list{list-style:none;margin:0;padding:0;border:1px solid #d0d7de;border-radius:6px}.attachment-list li{padding:.75rem 1rem}.attachment-list li+li{border-top:1px solid #d0d7de}.attachment-list .form-actions{margin-top:.5rem}.attachment-name{font-weight:600;overflow-wrap:anywhere}.attachment-meta{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin-top:.25rem;font-size:.875rem;color:#59636e}
