:root{--paper:#faf6eb;--ink:#252a27;--muted:#64665e;--line:#dad6c9;--violet:#6053b5;--green:#356754;--orange:#cb5d37;--yellow:#efc276;--white:#fffefb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 "Helvetica Neue",Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:var(--green);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #7557ca;outline-offset:4px}button:disabled{cursor:default;opacity:.55}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(3.7rem,7vw,6.5rem);margin-bottom:22px;font-weight:850}h1 span{color:var(--green)}h2{font-size:clamp(1.8rem,3vw,2.5rem)}h3{font-size:1.12rem}small{display:block;font-size:.8rem;line-height:1.5;color:var(--muted)}.site-header,main,footer{width:min(1320px,calc(100% - 64px));margin:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);font-size:.8rem}.site-header span,footer,.eyebrow,.hero-tags,.session-bar,.sidebar-heading>span,.station-group,.kicker,.exercise-counter{font-family:"SFMono-Regular",Consolas,monospace;font-size:.7rem;letter-spacing:.06em}.site-header b{color:var(--orange);margin:0 12px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;padding:64px 0 48px}.eyebrow{color:var(--violet);font-weight:700;letter-spacing:.12em;margin-bottom:22px}.orange-square{display:inline-block;width:9px;height:9px;background:var(--orange);margin-right:10px}.hero-copy{font-size:1.1rem;color:var(--muted);line-height:1.6}.hero-tags{display:flex;gap:10px;flex-wrap:wrap}.hero-tags span{border:1px dashed #b8b6a8;padding:5px 10px;border-radius:30px;letter-spacing:0}.hero-art{position:relative;transform:rotate(2deg);padding:35px 24px 24px;background:#fffdf6;border:1px solid #aaa897;box-shadow:8px 9px 0 #e8e2d3;max-width:430px}.hero-art>p{font:700 .65rem monospace;letter-spacing:.09em}.hero-art svg{width:100%;display:block}.hero-art text{font:12px Arial}.tape{position:absolute;top:-14px;left:35%;width:110px;height:28px;background:#ded8afbb;transform:rotate(-5deg)}.hand-note{font:italic 1.1rem Georgia,serif;display:block;text-align:center;margin-top:10px;color:var(--green)}.start-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px}.start-options button{display:flex;gap:14px;align-items:center;text-align:left;padding:20px;border:1px solid var(--line);background:var(--white);border-radius:13px}.start-options button>span:last-child{margin-left:auto}.start-options button.selected{border:2px solid var(--green);padding:19px;background:#edf1e7}.start-options strong{font-size:.95rem}.mode-icon{font:italic 1.2rem Georgia;color:var(--green)}.session-bar{border-block:1px solid var(--line);padding:14px 0;display:flex;align-items:center;gap:18px;flex-wrap:wrap;letter-spacing:0}.session-bar>span{margin-right:auto;color:var(--green);font-weight:bold}.session-bar label{display:flex;gap:6px;align-items:center}.text-button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;padding:8px 0;font-size:.8rem}.fine{font-size:.78rem;color:var(--muted);margin:8px 0 26px}.review-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:32px;align-items:start}.sidebar-heading{display:flex;justify-content:space-between;align-items:center}.sidebar-heading h2{font-size:1rem;margin:0}.sidebar-heading>span{font-size:.63rem;letter-spacing:0;color:var(--muted)}.station-group{margin:22px 0 8px;color:var(--muted);font-weight:700}.station-button{display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:10px;padding:10px;width:100%;text-align:left;background:transparent;min-height:54px;margin:3px 0}.station-button:hover{background:#eeeadd}.station-button.active{background:#e5eadc;border-color:#bec9af}.station-number{width:29px;height:29px;flex-shrink:0;border:1px solid #bfbfae;border-radius:50%;display:grid;place-items:center;font: .75rem monospace}.station-button.active .station-number{background:var(--green);color:white;border-color:var(--green)}.station-button strong{display:block;font-size:.84rem;line-height:1.35}.station-button small{font-size:.67rem}.station-check{margin-left:auto;color:var(--green)}.sidebar-note{border-top:1px solid var(--line);margin-top:22px;padding:24px 10px;font-size:.8rem}.sidebar-note p{color:var(--muted);margin:8px 0 14px}#workspace{min-width:0;scroll-margin-top:18px;outline-offset:5px}.work-card{background:var(--white);border:1.5px solid #55594e;border-radius:18px;box-shadow:5px 6px 0 #e0daca;overflow:hidden}.work-head{padding:28px 30px 22px;background:#f0eedf;border-bottom:1px solid var(--line)}.work-head h2{margin:10px 0 12px}.work-head p:last-child{margin-bottom:0;color:#505749}.work-topline{display:flex;gap:10px;justify-content:space-between;align-items:center}.kicker{font-weight:bold;color:var(--green)}.exercise-counter{color:var(--muted)}.exercise-tabs{display:flex;gap:8px;padding:14px 30px;border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}.exercise-tabs button{border:1px solid #c9c7b9;border-radius:50%;width:32px;height:32px;background:white;font-size:.75rem;padding:0}.exercise-tabs button.active{color:white;background:var(--ink);border-color:var(--ink)}.exercise-tabs>span{font-size:.73rem;color:var(--muted);margin-right:7px}.work-body{padding:26px 30px}.challenge-title{font-size:1.35rem;margin:0 0 12px}.prompt{font-size:1.04rem;max-width:70ch;margin-bottom:20px}.data-note{font: .67rem monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 0}.graph-frame{border:1px solid var(--line);border-radius:10px;background:white;padding:10px;margin:18px 0;overflow:hidden;position:relative}.graph-frame svg{display:block;width:100%;height:auto;touch-action:pan-y}.graph-frame svg .drag-handle{cursor:ns-resize;touch-action:none}.graph-frame figcaption{font-size:.76rem;color:var(--muted);margin:5px 8px}.graph-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.8rem}.graph-toolbar button,.secondary,.choice,.counter-button{border:1px solid #bcbcac;border-radius:8px;background:white;min-height:42px;padding:8px 14px}.graph-toolbar button[aria-pressed=true]{background:#e4ecdf;border-color:var(--green)}.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.field{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:600;min-width:0}.field input,.field select,.field textarea,.answer-input{width:100%;border:1px solid #a8ac9b;border-radius:7px;padding:10px 12px;min-height:44px;background:white;color:var(--ink)}.field textarea{resize:vertical;min-height:95px}.field small{font-weight:normal}.wide{grid-column:1/-1}.bar-controls{display:grid;gap:11px;padding:16px;border:1px solid var(--line);border-radius:10px;margin:14px 0;background:#f8f7f1}.bar-control{display:grid;grid-template-columns:90px 1fr 65px;gap:12px;align-items:center;font-size:.82rem}.bar-control input[type=number]{min-width:0;width:100%;padding:7px;border:1px solid #acb0a0;border-radius:6px;min-height:40px}.bar-control input[type=range]{width:100%;min-width:0;accent-color:var(--green);height:28px}.bar-control span{overflow-wrap:anywhere}table{width:100%;border-collapse:collapse;font-size:.83rem;margin:14px 0;table-layout:fixed}caption{text-align:left;color:var(--muted);font-size:.78rem;padding-bottom:8px}th,td{padding:10px;border:1px solid var(--line);text-align:left;overflow-wrap:anywhere}th{background:#f1efe5;font-weight:600}td input{width:100%;min-width:0;border:1px solid #acb0a0;border-radius:5px;min-height:40px;padding:5px 8px}.choices{display:grid;gap:10px;margin:18px 0}.choice{text-align:left;display:flex;gap:12px;align-items:center;font-size:.92rem}.choice input{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.choice:has(input:checked){background:#edf1e7;border:2px solid var(--green);padding:7px 13px}.callout{padding:16px 18px;background:#f1eedf;border-left:3px solid #b48a43;border-radius:0 8px 8px 0;margin:18px 0;font-size:.9rem}.feedback{padding:20px;border:1px solid #b3c5a1;background:#eef4e6;border-radius:10px;margin-top:20px}.feedback.needs-work{background:#fff2dc;border-color:#dcb576}.feedback h3{margin:0 0 10px}.feedback p:last-child{margin-bottom:0}.feedback ul{padding-left:20px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.primary{background:var(--green);color:white;border:1px solid var(--green);border-radius:8px;padding:12px 20px;font-weight:700;min-height:46px}.secondary{font-size:.87rem}.actions .text-button{margin-left:auto}.hint{margin:16px 0;background:#eee9fa;padding:16px;border-radius:8px;font-size:.9rem}.model{border-top:1px dashed #a7af99;margin-top:22px;padding-top:20px}.model h3{color:var(--green)}.tick-list{display:grid;gap:10px;font-size:.86rem}.tick-list label{display:flex;align-items:flex-start;gap:8px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.mini-stat{padding:14px;background:#f0f1e9;border:1px solid var(--line);border-radius:10px}.mini-stat strong{display:block;font-size:1.6rem;letter-spacing:-.04em}.mini-stat span{font-size:.72rem;color:var(--muted)}.dual-graphs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dual-graphs .graph-frame{margin:8px 0}.token-tray{display:flex;gap:8px;flex-wrap:wrap;padding:14px;background:#f1eee3;border-radius:10px;margin:15px 0}.token{padding:6px 10px;border:1px solid #c4c7b7;border-radius:20px;font-size:.78rem;background:#fff}.token.active{background:#e4ecda;border-color:var(--green)}.bins{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.bin{padding:12px;border:1px dashed #929e87;border-radius:9px;background:#f9faf5;min-height:70px;text-align:left}.bin strong,.bin span{display:block}.bin span{font-size:.76rem;color:var(--muted)}.test-navigation{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.test-navigation button{min-width:37px;min-height:37px;border:1px solid #adb19f;background:white;border-radius:7px}.test-navigation button.active{background:var(--green);color:white}.results-list{display:grid;gap:12px}.result-row{padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff}.result-row p{font-size:.9rem;margin:8px 0}.result-row button{margin-top:8px}.takeaway{padding:65px 0 40px}.takeaway>div{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.takeaway b{display:block;font-size:1rem;margin-bottom:10px}.takeaway p{color:var(--muted);font-size:.92rem}.takeaway .eyebrow{color:var(--violet);font-size:.7rem}footer{padding:25px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;letter-spacing:0;color:var(--muted)}.skip{position:absolute;top:-100px;left:15px;padding:10px;background:white;z-index:9}.skip:focus{top:10px}[hidden]{display:none!important}.fallback{padding:28px;background:white;border:1px solid var(--line)}.js .fallback{display:none}body:not(.js) .start-options,body:not(.js) .session-bar,body:not(.js) .station-sidebar{display:none}body:not(.js) .review-layout{display:block}.status-line{font-size:.8rem;color:var(--green);min-height:24px}.dialog-actions{display:flex;gap:12px;margin-top:15px}dialog{border:2px solid var(--ink);border-radius:16px;width:min(440px,calc(100% - 32px));padding:25px}dialog::backdrop{background:#20281b77}.checklist-status{font-size:.82rem;margin:7px 0;color:var(--green)}.live-values{font-size:.85rem;margin:12px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.inline-input{display:flex;gap:12px;align-items:center}.inline-input input{max-width:150px}.test-banner{background:#e9e3f5;color:#493d70;padding:14px 18px;font-size:.82rem;border-radius:10px;margin-bottom:16px}.graph-warning{background:#fff0d2;color:#704318;font-size:.78rem;padding:10px;margin:10px 0}.sample-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.sample-controls .field{flex:1;min-width:110px}
@media(min-width:1000px){.station-sidebar{position:sticky;top:18px;max-height:calc(100vh - 35px);overflow:auto;padding-right:6px;scrollbar-width:thin}}
@media(max-width:1000px){.review-layout{grid-template-columns:210px minmax(0,1fr);gap:20px}.hero{gap:30px}.work-head,.work-body{padding:22px}.start-options button{padding:14px}.start-options button.selected{padding:13px}.mode-icon{display:none}.bar-control{grid-template-columns:80px 1fr 58px}}
@media(max-width:760px){.site-header,main,footer{width:calc(100% - 32px)}.site-header>span{display:none}.hero{padding:36px 0;gap:22px}.hero-art{padding:20px 10px 14px}.hero-art>p{font-size:.5rem}.hand-note{font-size:.8rem}.hero-tags{gap:6px}.hero-tags span{font-size:.6rem}.hero h1{font-size:3.4rem}.hero-copy{font-size:.95rem}.start-options{grid-template-columns:1fr;gap:9px}.start-options button{padding:12px 16px}.start-options button.selected{padding:11px 15px}.mode-icon{display:block}.start-options small{display:inline}.review-layout{grid-template-columns:1fr}.sidebar-note{display:none}.station-sidebar nav{display:flex;gap:6px;overflow:auto;padding:10px 2px}.station-group{display:none}.station-button{min-width:165px;width:165px;border:1px solid var(--line);padding:8px}.station-number{width:24px;height:24px}.station-button strong{font-size:.75rem}.station-check{display:none}.sidebar-heading{padding-top:5px}.station-sidebar{min-width:0}.fine{margin-bottom:16px}.dual-graphs{grid-template-columns:1fr}.takeaway>div{grid-template-columns:1fr;gap:10px}.takeaway{padding-top:40px}footer{flex-direction:column;gap:8px}.session-bar{gap:6px 18px}.session-bar>span{width:100%}.work-head,.work-body{padding:20px}.exercise-tabs{padding:12px 20px}}
@media(max-width:440px){.hero{grid-template-columns:1fr}.hero-art{display:none}.hero h1{font-size:4rem}.hero-copy br{display:none}.controls-grid{grid-template-columns:1fr}.bar-control{grid-template-columns:65px 1fr 54px;gap:8px}.work-head,.work-body{padding:16px}.mini-stats{gap:6px}.mini-stat{padding:9px}.mini-stat strong{font-size:1.2rem}.mini-stat span{font-size:.65rem}.graph-frame{padding:2px}.actions{gap:8px}.actions button{font-size:.8rem}.actions .text-button{margin-left:0}th,td{padding:8px 6px;font-size:.75rem}.site-header{font-size:.72rem}.exercise-counter{font-size:.6rem}.graph-toolbar{font-size:.75rem}}
@media(prefers-reduced-motion:no-preference){.station-button,.choice,.start-options button{transition:background .15s ease}.feedback{animation:arrive .18s ease-out}@keyframes arrive{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}}
@media print{body{background:white;font-size:11pt}.site-header,.hero-art,.start-options,.session-bar,.station-sidebar,.fine,.actions,.exercise-tabs,.graph-toolbar,.takeaway,footer,.test-navigation,.skip{display:none!important}main{width:100%}.hero{padding:0;display:block}.hero h1{font-size:26pt}.hero-copy{font-size:11pt}.review-layout{display:block}.work-card{box-shadow:none;border:1px solid #888}.graph-frame{break-inside:avoid}.feedback{background:white}.work-head{background:white}.hero-tags{display:none}input,select,textarea{border:1px solid #aaa}}

fieldset.choices{border:0;padding:0;min-width:0}

/* Quick review and test/results hide the station menu. The activity must then
   span both desktop grid tracks instead of auto-placing in the narrow first one. */
.station-sidebar[hidden] + #workspace { grid-column: 1 / -1; }

.print-handout{display:flex;gap:10px 22px;align-items:center;flex-wrap:wrap;margin:0 0 22px;padding:14px 18px;border:1px dashed #b8b6a8;border-radius:10px;font-size:.85rem}
.print-handout a{font-weight:700}.print-handout span{color:var(--muted);font-size:.78rem}
@media print{.print-handout{display:none}}
