:root{--ink:#1d2735;--muted:#6f7884;--blue:#2666da;--green:#1f9d62;--red:#d45151;--surface:#fff;--soft:#f1f3f6;--line:#e2e5e9;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f5f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%}body{min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}::selection{color:#fff;background:var(--blue)}.app-shell{width:min(100% - 32px,980px);margin:0 auto;padding:28px 0 64px}.topbar,.brand,.brand-copy,.progress-header,.answer-row,.task-footer,.feedback,.review-row{align-items:center;display:flex}.topbar{justify-content:space-between;margin-bottom:24px}.brand{gap:12px}.brand-mark{color:#fff;background:var(--ink);border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.brand-mark svg,.button svg,.hint-button svg,.modal-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px}.brand-copy{flex-direction:column;align-items:flex-start;line-height:1.1}.brand-copy span{color:var(--muted);letter-spacing:.14em;font-size:.72rem;font-weight:750}.brand-copy strong{color:var(--ink);margin-top:4px;font-size:1rem}.practice-card,.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,4vw,44px);box-shadow:0 22px 60px #222a3914}.progress-header{justify-content:space-between;gap:24px}.progress-header>div:first-child{width:min(100%,500px)}.eyebrow{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin:0 0 10px;font-size:.72rem;font-weight:800}.progress-track{grid-template-columns:repeat(10,1fr);gap:6px;display:grid}.progress-step{background:#e8ebf0;border-radius:999px;height:6px}.progress-step--current{background:var(--blue)}.progress-step--correct{background:var(--green)}.progress-step--wrong{background:var(--red)}.score-chip{color:var(--muted);background:var(--soft);border-radius:999px;flex:none;padding:9px 13px;font-size:.84rem}.score-chip strong{color:var(--ink)}.task-heading{margin:38px 0 24px}.task-tags{flex-wrap:wrap;gap:7px;margin-bottom:13px;display:flex}.task-tags span{color:#536070;background:var(--soft);border-radius:7px;padding:5px 9px;font-size:.71rem;font-weight:750}.task-tags .priority-tag{color:#a23d3d;background:#fff0ef}.task-heading h1,.summary-card h1{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(1.65rem,4vw,2.5rem);font-weight:680;line-height:1.08}.task-heading>p{max-width:680px;color:var(--muted);margin:12px 0 0;line-height:1.55}.statement-card{border:1px solid var(--line);border-radius:18px;overflow:hidden}.statement-header{color:#fff;background:var(--ink);justify-content:space-between;gap:16px;padding:14px 18px;display:flex}.statement-header strong{font-size:.9rem}.statement-header span{color:#c8cdd5;font-size:.78rem}.statement-section+.statement-section{border-top:1px solid var(--line)}.statement-section h3{color:#6b7480;letter-spacing:.09em;text-transform:uppercase;background:#f5f6f8;margin:0;padding:10px 18px;font-size:.72rem;font-weight:800}.statement-row{color:#606a77;border-top:1px solid #eceef1;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:11px 18px;display:grid}.statement-row:first-child{border-top:0}.statement-row--emphasis{color:var(--ink);background:#fbfbfc;font-weight:750}.statement-label--indent{padding-left:16px}.statement-value{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-weight:650}.answer-area{margin-top:26px}.answer-area>label{color:var(--ink);margin-bottom:8px;font-size:.82rem;font-weight:750;display:block}.answer-row{align-items:stretch;gap:10px}.input-wrap{background:#fff;border:1.5px solid #cfd5dc;border-radius:13px;flex:1;align-items:center;min-width:0;transition:border-color .16s,box-shadow .16s;display:flex}.input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px #2666da1a}.input-wrap--error{border-color:var(--red)}.input-wrap input{width:100%;min-width:0;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:15px 16px;font-size:1.05rem}.input-wrap input::placeholder{color:#a2a9b3}.input-wrap input:disabled{color:#77808d}.input-wrap>span{color:var(--muted);padding-right:16px;font-size:.82rem;font-weight:750}.button{min-height:44px;color:var(--ink);border:1px solid var(--line);font:inherit;cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.84rem;font-weight:750;transition:transform .14s,background .14s,border-color .14s;display:inline-flex}.button:hover{border-color:#bcc3cc;transform:translateY(-1px)}.button:focus-visible,.hint-button:focus-visible,.modal-close:focus-visible{outline-offset:2px;outline:3px solid #2666da40}.button--primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button--primary:hover{background:#1858bd;border-color:#1858bd}.button--quiet{background:0 0}.check-button{min-width:134px}.field-error{color:var(--red);margin:7px 0 0;font-size:.78rem}.task-footer{justify-content:space-between;gap:16px;margin-top:15px}.task-footer>span{color:#9299a3;font-size:.75rem}.hint-button{color:#5a6471;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:5px 0;font-size:.8rem;font-weight:750;display:inline-flex}.hint-button:hover{color:var(--blue)}.feedback{border-radius:14px;align-items:flex-start;gap:12px;margin-top:22px;padding:15px}.feedback--correct{color:#165d3a;background:#eaf8f1}.feedback--wrong{color:#8d3030;background:#fff0ef}.feedback-icon,.review-status{color:#fff;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-weight:900;display:grid}.feedback--correct .feedback-icon,.review-status--correct{background:var(--green)}.feedback--wrong .feedback-icon,.review-status--wrong{background:var(--red)}.feedback strong{color:currentColor}.feedback p{color:#536070;margin:3px 0 0;font-size:.82rem;line-height:1.45}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#171e2985;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:22px;width:min(100%,520px);padding:30px;position:relative;box-shadow:0 30px 80px #141a2440}.modal-close{color:#65707d;background:var(--soft);width:34px;height:34px;font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:1.35rem;display:grid;position:absolute;top:14px;right:14px}.modal-icon{color:#9b6513;background:#fff5d7;border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:20px;display:grid}.modal h2{color:var(--ink);margin:0 44px 18px 0;font-size:1.55rem}.formula-list{gap:9px;display:grid}.formula{color:#253247;border-left:3px solid var(--blue);background:#f3f6fa;border-radius:8px;padding:13px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.45;overflow-x:auto}.modal-note{color:var(--muted);margin:16px 0 0;font-size:.8rem;line-height:1.5}.modal-done{width:100%;margin-top:22px}.summary-card{text-align:center;max-width:720px;margin:72px auto 0}.summary-score{color:var(--blue);justify-content:center;align-items:baseline;margin-bottom:22px;display:flex}.summary-score span{letter-spacing:-.06em;font-size:4.5rem;font-weight:760;line-height:1}.summary-score small{color:var(--muted);font-size:1.25rem;font-weight:700}.summary-lead{color:var(--muted);margin:12px 0 24px}.summary-button{margin-bottom:34px}.review-list{text-align:left;border:1px solid var(--line);border-radius:16px;overflow:hidden}.review-row{border-top:1px solid var(--line);gap:12px;padding:13px 15px}.review-row:first-child{border-top:0}.review-row div:last-child{gap:2px;display:grid}.review-row strong{color:var(--ink);font-size:.83rem}.review-row div span{color:var(--muted);font-size:.75rem}@media (width<=640px){.app-shell{width:min(100% - 20px,980px);padding-top:14px}.topbar{margin-bottom:14px}.brand-mark{width:40px;height:40px}.button--quiet{min-height:40px;padding:0 12px}.practice-card,.summary-card{border-radius:20px}.progress-header{align-items:flex-start}.score-chip{display:none}.task-heading{margin-top:30px}.statement-header,.statement-row{padding-left:14px;padding-right:14px}.statement-header span{display:none}.statement-row{gap:12px;font-size:.88rem}.answer-row{flex-direction:column}.check-button{width:100%}.task-footer{flex-direction:column;align-items:flex-start}.task-footer>span{display:none}.modal{border-radius:18px;padding:24px}.summary-card{margin-top:28px}}
