@font-face{font-family:Figtree;src:url('/assets/fonts/figtree.ttf') format('truetype');font-weight:300 900;font-display:swap}
:root{color-scheme:light;--bg:#f7f9ff;--surface:#fff;--ink:#17306d;--muted:#4d6087;--line:#768ab0;--accent:#254bca;--on-accent:#fff;--tint:#e9eefb;--yellow:#ffdc75;--on-yellow:#233050;--error:#ad2034;--focus:#b03d00;--space:clamp(20px,4vw,52px)}:root[data-theme=dark]{color-scheme:dark;--bg:#171f32;--surface:#1e2a44;--ink:#e9efff;--muted:#b3c0df;--line:#7d90b8;--accent:#b1c2ff;--on-accent:#17224e;--tint:#2b395d;--yellow:#ffdc75;--on-yellow:#233050;--error:#ffabb6;--focus:#ffdc75}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Figtree,system-ui,sans-serif;scrollbar-color:var(--line) var(--bg)}::selection{background:var(--accent);color:var(--on-accent)}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;min-height:44px;padding:9px 15px;cursor:pointer}button:hover{background:var(--tint);border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}input,select{min-width:0;width:100%;min-height:48px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px;font-variant-numeric:tabular-nums;caret-color:var(--accent)}input::placeholder{color:var(--muted);opacity:1}input[aria-invalid=true]{border:2px solid var(--error)}label{display:grid;gap:6px;font-weight:600;font-size:14px}h1{font-size:clamp(2.25rem,5vw,4rem);line-height:1.04;letter-spacing:-.03em;font-weight:750;text-wrap:balance;max-width:18ch;margin:0 0 18px}h2{font-size:1.9rem;line-height:1.15;letter-spacing:-.025em;margin:0 0 20px;font-weight:650}h3{font-size:1.3rem;line-height:1.25;margin:34px 0 12px}p{margin:0 0 18px}p,li{overflow-wrap:break-word}.skip{position:absolute;top:-100px;left:16px;padding:10px;background:var(--surface);z-index:10}.skip:focus{top:12px}.site-header,.tool-nav,main,.site-footer{max-width:1240px;padding-left:var(--space);padding-right:var(--space);margin:auto}.site-header{padding-top:24px;padding-bottom:24px;display:flex;gap:20px;align-items:center;justify-content:space-between}.brand{font-size:24px;font-weight:750;letter-spacing:-.025em;display:flex;gap:10px;align-items:center;text-decoration:none;line-height:1.1;color:var(--ink)}.brand svg{width:32px;height:32px;flex-shrink:0;stroke:currentColor;stroke-width:3;fill:none}#theme-toggle{font-size:13px;background:transparent}.tool-nav{display:flex;gap:8px 26px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}.tool-nav a{font-size:15px;text-decoration:none;padding:8px 0;color:var(--ink)}.tool-nav a[aria-current]{font-weight:700;box-shadow:0 3px var(--accent)}main{padding-top:40px}.intro{margin-bottom:32px}.intro p{color:var(--muted);max-width:62ch}.grade-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px}.entry{min-width:0}.entry>h2{font-size:1.35rem;margin-bottom:22px}.settings{display:grid;grid-template-columns:1fr 1.25fr;gap:16px;margin-bottom:12px}.hint{color:var(--muted);font-size:14px}.grade-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:14px;align-items:end;margin-bottom:14px}.grade-row button{font-size:14px}#grade-rows.simple .grade-row{grid-template-columns:minmax(0,1fr) auto}.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 14px}.row-actions button{font-size:14px}#example-note{font-size:13px}.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:650;padding:12px 24px;margin-top:6px}.primary:hover{background:var(--ink);color:var(--bg)}.average-result{border-block:2px solid var(--accent);padding:26px 0;margin-top:30px;display:grid;grid-template-columns:auto 1fr;gap:30px}.average-result span{font-size:14px;color:var(--muted)}output{display:block;font-variant-numeric:tabular-nums;line-height:1.1;font-weight:650;letter-spacing:-.04em}#average{font-size:clamp(3rem,5vw,4.5rem);color:var(--accent);margin:8px 0}.result-detail p{font-size:14px;margin-bottom:10px}.result-detail button{font-size:13px}.grade-scale{width:100%;height:auto;display:block;margin-bottom:12px}.grade-scale path{stroke:var(--line);stroke-width:2}.grade-scale circle{fill:var(--accent);transition:cx .25s cubic-bezier(.16,1,.3,1)}.grade-scale text{font:18px Figtree;fill:var(--muted);text-anchor:middle}.simulation{min-width:0;overflow-wrap:anywhere;background:var(--yellow);color:var(--on-yellow);padding:30px;align-self:start;border-radius:16px}.plus-mark{height:52px;width:52px;stroke:currentColor;stroke-width:3;fill:none;margin-bottom:20px}.simulation h2{font-size:2rem;line-height:1.05}.simulation p{font-size:15px}.simulation form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.simulation form>button{grid-column:1/-1;background:var(--on-yellow);color:#fff;border-color:var(--on-yellow);margin-top:8px}.simulation form>button:hover{background:#354671}.simulation input{background:#fffdf6;color:var(--on-yellow);border-color:#737966}.simulation :focus-visible{outline-color:#233050}.simulation-note{border-top:1px solid #8c7945;padding-top:18px;margin:22px 0 0;font-size:13px!important}#future-result{margin-top:28px}#future-result>span{font-size:14px}#future-average{font-size:3.2rem;margin:8px 0 12px}#delta{font-size:14px}.simulation .error{color:#9b172b}#future-pending{margin:20px 0 0;font-size:14px}.error{color:var(--error);font-size:14px;font-weight:600;margin:14px 0}.notice{border:1px solid var(--line);padding:18px;margin:24px 0}.explain,.article{max-width:73ch;margin:65px auto}.article{margin-top:0}.article h2{margin-top:40px}.article h1{max-width:20ch}.contact-email{font-size:clamp(1.1rem,3vw,1.6rem);overflow-wrap:anywhere}#status{font-size:14px;color:var(--muted);margin:18px 0;min-height:1.5em}.site-footer{border-top:1px solid var(--line);padding-top:28px;padding-bottom:36px;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted)}.site-footer p{margin:0}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}.site-footer a{color:var(--ink)}[hidden]{display:none!important}
@media(max-width:900px){.grade-workspace{gap:24px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.simulation{padding:24px}.settings{grid-template-columns:1fr}.average-result{grid-template-columns:1fr;gap:12px}}
@media(max-width:680px){.site-header{gap:12px;align-items:flex-start}.brand{font-size:21px;max-width:166px}#theme-toggle{font-size:12px;max-width:125px;padding:7px}.tool-nav{gap:6px 20px}main{padding-top:30px}.grade-workspace{grid-template-columns:minmax(0,1fr)}.grade-row{gap:10px}.grade-row button{padding:10px}.average-result{grid-template-columns:1fr}.simulation{margin-top:12px}.simulation h2 br{display:none}.plus-mark{width:40px;height:40px;margin-bottom:16px}.site-footer{display:block}.site-footer p{margin-bottom:18px}.explain{margin-block:50px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Planning expands the existing blue worksheet, keeping the yellow one-grade simulation distinct. */
h1,h2,h3{overflow-wrap:anywhere;hyphens:auto}.goal-panel{border-top:1px solid var(--line);margin-top:36px;padding-top:28px}.goal-panel h2{font-size:1.55rem}.goal-panel>p{font-size:15px}.goal-panel form{display:grid;gap:16px}.goal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#goal-answer{font-size:1.15rem;font-weight:650;margin-bottom:12px}#goal-detail{font-size:15px}#goal-result{background:var(--tint);padding:18px}#goal-result p:last-child{margin:0}.points-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px}.points-workspace form{display:grid;gap:20px;align-content:start}.points-check{display:flex;align-items:flex-start;font-size:16px;gap:10px}.points-check input{width:22px;min-height:22px;flex-shrink:0;margin-top:2px;accent-color:var(--accent)}#threshold-fields{border:1px solid var(--line);padding:20px;margin:0;min-width:0}#threshold-fields legend{font-weight:650;padding:0 8px}.threshold-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.points-result{border-block:2px solid var(--accent);padding:26px 0;align-self:start;min-width:0}#points-percent{font-size:clamp(2.5rem,5vw,4.5rem);color:var(--accent);margin:12px 0 22px;overflow-wrap:anywhere}#points-grade-block{background:var(--tint);padding:20px;margin:24px 0}#points-grade-block h2{margin-bottom:12px}#threshold-error{margin-block:18px}.points-result button{margin-top:8px}@media(max-width:680px){.points-workspace{grid-template-columns:minmax(0,1fr);gap:24px}.goal-fields{gap:12px}}@media(max-width:360px){.goal-fields{grid-template-columns:minmax(0,1fr)}}

.goal-fields{align-items:end}.explain h2{margin-top:36px}
