:root{--bg:#fff;--fg:#000;--muted:#555;--line:#000;--line-soft:#ccc;--selected-bg:#000;--selected-fg:#fff;--correct:#0d7a2f;--incorrect:#b3261e;color:var(--fg);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#000;--fg:#fff;--muted:#aaa;--line:#fff;--line-soft:#444;--selected-bg:#fff;--selected-fg:#000;--correct:#4ade80;--incorrect:#ff6b6b}}*{box-sizing:border-box}html,body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--fg);margin:0}#root{min-height:100vh}::selection{background:var(--fg);color:var(--bg)}.app-shell{background:var(--bg);min-height:100vh;color:var(--fg)}.app-shell h1,.app-shell h2,.app-shell h3,.app-shell p,.app-shell ul,.app-shell ol,.app-shell figure{margin:0}.home-view,.auth-view,.setup-view,.practice-view{width:min(1100px,100% - 48px);margin:0 auto;padding:48px 0 96px}.auth-form{gap:12px;max-width:440px;margin-top:8px;display:grid}.auth-form label{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.7rem;font-weight:600}.auth-form input{border:1px solid var(--line);background:var(--bg);min-height:52px;color:var(--fg);font:inherit;border-radius:0;padding:0 14px}.auth-form input:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.auth-form .primary-action{width:fit-content}.auth-error{color:var(--incorrect);font-size:.95rem}.topline,.exam-bar{border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:0;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:16px;padding:0 0 16px;font-size:.75rem;display:flex}.topline span,.exam-bar span{display:inline-block}h1{letter-spacing:0;margin:56px 0 40px;font-size:4rem;font-weight:700;line-height:1}h2{text-transform:uppercase;letter-spacing:0;color:var(--muted);font-size:.75rem;font-weight:600}button{appearance:none;border:1px solid var(--line);background:var(--bg);min-height:44px;color:var(--fg);font:inherit;cursor:pointer;border-radius:0;padding:0 18px;font-size:.95rem;transition:background 80ms,color 80ms}button:hover:not(:disabled){background:var(--fg);color:var(--bg)}button:focus-visible{outline:2px solid var(--fg);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.4}.primary-action{background:var(--fg);min-height:52px;color:var(--bg);letter-spacing:0;margin-top:32px;padding:0 28px;font-weight:600}.primary-action:hover:not(:disabled){background:var(--bg);color:var(--fg)}.secondary-action{font-weight:500}.text-button{min-height:auto;color:var(--fg);text-underline-offset:4px;text-transform:uppercase;letter-spacing:0;background:0 0;border:0;padding:0;font-size:.75rem;text-decoration:underline}.text-button:hover:not(:disabled){color:var(--muted);background:0 0}.metric-grid{border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:8px;display:grid}.metric{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;gap:24px;min-height:140px;padding:20px;display:flex}.metric:last-child{border-right:0}.metric-value{letter-spacing:0;font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:700;line-height:1}.metric-label,.panel-label,.control-group>span,.control-group legend{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.7rem;font-weight:600}.dashboard-row{border:1px solid var(--line);border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:24px;display:grid}.dashboard-row>div{border-right:1px solid var(--line);padding:24px}.dashboard-row>div:last-child{border-right:0}.dashboard-row p{margin-top:10px;font-size:1.1rem;font-weight:500}.setup-grid{border:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:8px;display:grid}.control-group{border-right:1px solid var(--line);flex-direction:column;gap:12px;min-height:130px;padding:20px;display:flex}.control-group:last-child{border-right:0}.control-group strong{font-size:1rem;font-weight:600}fieldset.control-group{border-right:1px solid var(--line);border-top:0;border-bottom:0;border-left:0;margin:0}fieldset.control-group legend{margin-bottom:8px;padding:0}.control-group button{width:100%;min-height:36px;font-size:.85rem}.selected{background:var(--selected-bg);color:var(--selected-fg);border-color:var(--line)}.selected:hover:not(:disabled){background:var(--selected-bg);color:var(--selected-fg)}.practice-grid{border:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:0;margin-top:8px;display:grid}.passage-panel,.question-panel{padding:28px}.passage-panel{border-right:1px solid var(--line)}.passage-panel h2,.question-panel .panel-label{margin-bottom:16px}.passage-title{letter-spacing:0;margin:4px 0 14px;font-size:1.15rem;font-weight:600}.passage-body,.question-stem{color:var(--fg);font-size:1rem;line-height:1.7}.question-stem{margin:14px 0 0}.math{padding:0 2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:inline-block}.figure-block{border:1px solid var(--line);margin-top:24px;padding:16px}.figure-block figcaption{text-transform:uppercase;letter-spacing:0;color:var(--muted);margin-bottom:12px;font-size:.7rem;font-weight:600}.figure-block svg{width:100%;height:auto;display:block}.figure-line{stroke:var(--fg);stroke-width:.6px;fill:none}.figure-node{fill:var(--bg);stroke:var(--fg);stroke-width:.6px}.figure-label,.figure-edge,.chart-axis-label,.chart-tick{fill:var(--fg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:4px}.figure-edge{fill:var(--muted)}.chart-axis{stroke:var(--fg);stroke-width:.5px}.chart-grid{stroke:var(--line-soft);stroke-width:.3px}.chart-series{stroke:var(--fg);stroke-width:.8px;fill:none}.chart-point{fill:var(--fg)}.figure-table{border-collapse:collapse;width:100%;font-size:.9rem}.figure-table th,.figure-table td{border:1px solid var(--line);text-align:left;padding:8px 10px;font-weight:500}.figure-table th{text-transform:uppercase;letter-spacing:0;color:var(--muted);font-size:.7rem;font-weight:600}.choice-list{gap:10px;margin-top:24px;display:grid}.choice{text-align:left;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;width:100%;min-height:52px;padding:14px 16px;font-size:.98rem;line-height:1.5;display:grid}.choice .choice-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;font-weight:700}.choice.selected-choice,.choice.selected-choice:hover:not(:disabled){background:var(--selected-bg);color:var(--selected-fg)}.choice.is-correct{border-color:var(--correct);border-width:2px;padding:13px 15px}.choice.is-incorrect{border-color:var(--incorrect);border-width:2px;padding:13px 15px}.hint-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;display:flex}.hint-text{border:1px solid var(--line);flex:240px;margin:0;padding:12px 14px;font-size:.95rem;line-height:1.55}.feedback{border:2px solid var(--line);margin-top:24px;padding:18px 20px}.feedback h3{text-transform:uppercase;letter-spacing:0;margin:0 0 8px;font-size:.8rem;font-weight:700}.feedback p{margin-top:8px;line-height:1.6}.feedback.correct{border-color:var(--correct)}.feedback.correct h3{color:var(--correct)}.feedback.incorrect{border-color:var(--incorrect)}.feedback.incorrect h3{color:var(--incorrect)}.action-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.action-row .primary-action{margin-top:0}.review-summary{flex-direction:column;gap:24px;display:flex}.review-block{border:1px solid var(--line);padding:20px}.review-block .panel-label{margin-bottom:8px}.review-block .question-stem{margin:0 0 14px}@media (width<=880px){.home-view,.auth-view,.setup-view,.practice-view{width:calc(100% - 32px);padding:32px 0 64px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{border-bottom:1px solid var(--line)}.metric:nth-child(2n){border-right:0}.metric:nth-last-child(-n+2){border-bottom:0}.dashboard-row,.setup-grid{grid-template-columns:1fr}.dashboard-row>div,.control-group{border-right:0;border-bottom:1px solid var(--line)}.dashboard-row>div:last-child,.control-group:last-child{border-bottom:0}.practice-grid{grid-template-columns:1fr}.passage-panel{border-right:0;border-bottom:1px solid var(--line)}.passage-panel,.question-panel{padding:20px}h1{margin:32px 0 24px;font-size:2.5rem}.metric-value{font-size:2rem}}
