:root{--ink:#173d37;--paper:#f6f3eb;--line:#d7ddd2;--green:#205a4f;--pale:#e7eee7;--red:#a64837;--muted:#5a6d65;--white:#fffef9;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);padding:11px 17px;cursor:pointer;font-weight:650;min-height:46px}button:hover{background:var(--pale);border-color:#7c9e8f}button:disabled{opacity:.55;cursor:default}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#163f37;color:#fff}.danger{color:#993927}a{color:inherit;text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.035em;margin-bottom:14px}h3{font-size:1.2rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c58039;outline-offset:3px}button[aria-current=page]{background:var(--ink);color:white}.topline{max-width:1136px;margin:auto;padding:21px 24px;display:flex;justify-content:space-between;gap:15px;font-size:.85rem;border-bottom:1px solid var(--line)}.topline a{text-decoration:none;font-weight:700}.topline b{padding:0 12px;color:#95a395}.hero{max-width:1136px;margin:auto;padding:48px 24px;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:50px}.eyebrow,.chapter{font-size:.72rem;font-weight:750;letter-spacing:.13em;color:var(--muted)}h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.6rem);font-weight:500;letter-spacing:-.05em;margin:12px 0 22px;line-height:1.03}h1 em{font-weight:400;color:var(--red)}.intro{font-size:1.13rem}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{border:1px solid #c8d5c8;border-radius:40px;padding:5px 11px;font-size:.75rem;background:#edf1e7}.tags span:first-child{background:#f1e4d8;color:#91432f;border-color:#dec6ad}.hero-card{background:#e4ebdf;border:1px solid #cdd8c9;position:relative;padding:36px 30px;min-height:300px;border-radius:5px 70px 5px 5px;overflow:hidden}.hero-card p{position:relative;z-index:1}.hero-card .eyebrow{margin:0 0 28px}.seal{position:absolute;right:30px;top:30px;background:var(--red);color:#fff7e6;border:3px double #e2ae9a;padding:0 5px;font:28px Georgia,serif}.math-example{font:clamp(1.7rem,3vw,2.6rem) Georgia,serif;display:flex;align-items:center;gap:16px;margin-bottom:26px}.frac{display:inline-flex;flex-direction:column;text-align:center;line-height:1.4}.frac b{font-weight:400;padding:0 12px}.frac b:first-child{border-bottom:2px solid currentColor}.line-art{position:absolute;right:-20px;bottom:-90px;width:250px;height:250px;border-radius:50%;border:1px solid #8ca992;box-shadow:0 0 0 20px #dce6d8,0 0 0 21px #a6bca6,0 0 0 42px #e1e9dd,0 0 0 43px #bdceba}main{max-width:1136px;padding:0 24px;margin:auto}.tabs{position:sticky;top:0;z-index:5;display:flex;gap:7px;background:var(--paper);padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tabs button{flex:1;background:transparent;border-color:transparent}.tabs button[aria-current=page]{background:var(--ink)}.storage{font-size:.78rem;color:var(--muted);margin:12px 0 30px}.storage.error{color:#9b3627;background:#fae9df;padding:12px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:28px 0 18px}.section-head p{margin-bottom:10px}.section-head button{flex-shrink:0}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{border:1px solid var(--line);background:var(--white);padding:26px;border-radius:13px;margin-bottom:18px}.lesson-grid .card{margin:0}.chapter{color:var(--red);display:block;margin-bottom:22px}.lesson h3{max-width:320px}.lesson p:last-child{margin-bottom:0}.equation{background:#edf2e9;padding:16px 18px;border-radius:8px;font-size:1.07rem;font-weight:650;font-variant-numeric:tabular-nums}.notice{padding:14px 17px;border-left:3px solid #bc8054;background:#f6eee2;border-radius:0 6px 6px 0;font-size:.9rem}.notice p{margin:7px 0 0}.launch{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.launch p{margin:0}.muted{color:var(--muted);font-size:.9rem}.controls{display:flex;gap:20px;align-items:end;flex-wrap:wrap}label{display:block;font-weight:600;font-size:.92rem}input,select{border:1px solid #aebfaf;background:#fff;color:var(--ink);padding:11px 12px;border-radius:7px;width:100%;min-height:46px;font-size:1rem}select{margin-top:7px;max-width:100%}.controls label{flex:1;min-width:220px}.controls+p{margin:18px 0 0;font-size:.9rem}.empty{padding:36px;text-align:center;color:var(--muted)}.question-top{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:14px}.pill{background:var(--pale);font-size:.75rem;font-weight:650;border-radius:20px;padding:5px 10px}.question-title{font-size:1.45rem;margin-bottom:14px}.prompt{font-size:1.05rem;line-height:1.8;max-width:820px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}.field label{margin-bottom:7px}.input-wrap{display:flex;align-items:center;gap:10px}.input-wrap input{min-width:0}.field small{display:block;font-size:.73rem;font-weight:400;color:var(--muted);margin-top:4px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:22px}.hint{margin-top:20px}.hint summary{cursor:pointer;color:var(--green);font-weight:650}.hint p{background:var(--pale);padding:14px;border-radius:7px}.feedback{margin-top:24px;border-top:1px solid var(--line);padding-top:23px}.score{font:600 2.7rem Georgia,serif;letter-spacing:-.04em}.score small{font:400 1rem system-ui;letter-spacing:0}.correct{color:#206344}.incorrect{color:#a03b2a}.correction-item{padding:12px 0;border-bottom:1px solid var(--line)}.correction-item p{margin:4px 0;font-size:.92rem}.steps{padding-left:23px}.steps li{padding:4px 0}.question-nav{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.question-nav button{width:46px;padding:8px}.question-nav .answered{box-shadow:inset 0 -4px #6b9175}.question-nav [aria-current=step]{background:var(--ink);color:white}.progress{width:100%;height:7px;appearance:none;border:none;border-radius:10px;overflow:hidden;background:#dce5d9}.progress::-webkit-progress-bar{background:#dce5d9}.progress::-webkit-progress-value{background:#3e7763}.progress::-moz-progress-bar{background:#3e7763}.exam-info{display:flex;justify-content:space-between;gap:10px;font-size:.8rem}.finish-note{margin-top:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:18px}.stat strong{display:block;font:500 2rem Georgia,serif;margin:6px 0}.stat span{font-size:.78rem;color:var(--muted)}.report-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.chart{width:100%;height:auto;display:block}.chart text{font-family:system-ui,sans-serif;font-size:12px;fill:#52685d}.chart .axis{stroke:#d6dfd3}.chart .curve{stroke:#205a4f;stroke-width:3;fill:none}.chart circle{fill:#a64837}.skill{padding:10px 0 15px;border-bottom:1px solid var(--line)}.skill-top{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;margin-bottom:6px}.skill small{font-size:.75rem;color:var(--muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.88rem}th,td{padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}caption{text-align:left;font-size:1.1rem;font-weight:650;padding:0 0 15px}th{color:var(--muted);font-weight:600}td button{font-size:.8rem;padding:6px 10px;min-height:40px}.import-label{font-size:.8rem;color:var(--muted);margin:30px 0 10px}.import-label input{display:block;margin-top:8px;font-size:.85rem;max-width:500px}.copy-question{margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid var(--line)}dialog{max-width:900px;width:calc(100% - 32px);max-height:88vh;border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--white);color:var(--ink)}dialog::backdrop{background:#132a27b3}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:-26px;background:var(--white);padding:14px 0;z-index:3}.dialog-top h2{font-size:1.4rem}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{position:absolute;background:#fff;padding:12px;z-index:10}footer{text-align:center;color:var(--muted);font-size:.8rem;padding:48px 0 30px}section[hidden],[hidden]{display:none!important}li{margin-bottom:7px}section{scroll-margin-top:86px}.fine{font-size:.8rem;color:var(--muted)}
@media(max-width:760px){.hero{gap:24px;padding:30px 20px;grid-template-columns:1fr 0.8fr}.hero-card{padding:26px 20px;min-height:270px}.seal{right:16px;top:20px;font-size:21px}.hero-card .eyebrow{max-width:120px}.math-example{gap:10px}.frac b{padding:0 7px}.lesson-grid,.report-grid{grid-template-columns:1fr}.card{padding:21px}.section-head{align-items:start}.section-head button{font-size:.85rem}.stats{grid-template-columns:1fr 1fr}.topline{padding:16px 20px}.topline b{padding:0 5px}main{padding:0 20px}.launch{align-items:start;flex-direction:column}}
@media(max-width:520px){.hero{grid-template-columns:1fr;padding:28px 18px 24px}.hero-card{display:none}.hero h1{font-size:3.65rem}.hero .intro{font-size:1rem;margin-bottom:18px}.eyebrow{font-size:.65rem}.topline{font-size:.72rem;padding:15px 18px;align-items:center}.topline span{max-width:155px;text-align:right}.topline b{display:none}.tags{gap:5px}.tags span{font-size:.68rem;padding:4px 8px}main{padding:0 14px}.tabs{gap:1px;padding:9px 0}.tabs button{font-size:.76rem;padding:10px 4px;min-height:44px}.storage{font-size:.72rem;margin-bottom:22px}.section-head{display:block;margin-top:22px}.section-head button{margin:5px 0 10px}h2{font-size:1.7rem}.card{padding:19px 16px}.fields{grid-template-columns:1fr;gap:18px}.controls{gap:16px}.controls label{min-width:0;width:100%;flex-basis:100%}.controls button{width:100%}.question-title{font-size:1.25rem}.prompt{font-size:1rem}.question-top{font-size:.8rem}.question-nav{gap:5px}.question-nav button{min-height:42px;width:42px}.exam-info{font-size:.74rem}.stats{gap:10px}.stat{padding:14px}.stat strong{font-size:1.8rem}.table-wrap{margin:0 -10px}.actions button{flex:1}.actions{gap:8px}.dialog-top h2{font-size:1.2rem}dialog{padding:18px}.dialog-top{top:-18px}.pill{font-size:.68rem}.score{font-size:2.4rem}.equation{padding:14px;font-size:1rem}}
@media print{.topline,.hero,.tabs,button,.storage,.import-label,input[type=file],footer{display:none!important}body,main{background:white;color:#111}main{max-width:none}dialog[open]{position:static;max-height:none;width:100%;border:0}.card{break-inside:avoid}dialog::backdrop{display:none}}

.math-example{position:relative;z-index:1}
