:root{color-scheme:light;--ink:#203b35;--muted:#53675d;--paper:#f7f4eb;--card:#fffdf8;--line:#d3d8c9;--accent:#a04b2d;--sage:#dce3d1;--dark:#213f36}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:#8c3c22;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ae481f;outline-offset:4px}header{padding:25px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:13px;letter-spacing:.13em;text-decoration:none;font-weight:800;color:var(--ink)}.brand span{display:block;font-size:10px;letter-spacing:.23em;font-weight:500;margin-top:4px}nav{display:flex;gap:12px;flex-wrap:wrap}.quiet{border:0;background:transparent;color:var(--ink);padding:8px 10px;text-decoration:underline;text-underline-offset:5px}main{max-width:1320px;padding:50px 5vw 75px;margin:auto;min-height:75vh}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(43px,5.7vw,83px);letter-spacing:-.04em;margin-bottom:20px}h2{font-size:clamp(30px,3vw,46px)}h3{font-size:25px}p{max-width:72ch}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:750;color:var(--accent);margin-bottom:20px}.lead{font-size:20px;line-height:1.65;color:var(--muted)}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.subtitle{font-size:30px;color:var(--accent);font-style:italic;font-family:Georgia,serif;margin-top:-8px}.meta{display:flex;gap:22px;font-size:13px;border-block:1px solid var(--line);padding:18px 0;margin:25px 0}.primary{background:var(--dark);color:white;border:1px solid var(--dark);border-radius:5px;padding:13px 24px;font-weight:650}.secondary{background:transparent;color:var(--ink);border:1px solid #74877a;border-radius:5px;padding:12px 20px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:25px}.art{min-height:450px;background:#e2e6d7;position:relative;overflow:hidden;border-radius:170px 170px 8px 8px;border:1px solid #c8d2bd;display:grid;place-items:center}.art svg{width:100%;height:100%;position:absolute;inset:0}.art .art-caption{position:absolute;bottom:20px;left:25px;right:25px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#294537}.chapter-strip{margin-top:55px;border-top:1px solid var(--line);padding-top:23px;display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.chapter-strip div{font-size:13px}.chapter-strip b{display:block;font-family:Georgia,serif;font-size:24px;font-weight:400;color:var(--accent)}.note{padding:17px 20px;background:#ebe9dd;border-left:3px solid #8e9d7b;font-size:14px;margin:22px 0}.notice{background:#e9dfca;border-bottom:1px solid #c9b994;padding:9px 5vw;font-size:13px}.panel{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:30px;margin:22px 0}.narrow{max-width:720px;margin:auto}.fields{display:grid;gap:18px}label{font-weight:650;font-size:15px;display:block}input,textarea,select{background:white;border:1px solid #849586;border-radius:4px;padding:11px 13px;width:100%;color:var(--ink);margin-top:6px}textarea{min-height:380px;font:13px/1.5 ui-monospace,monospace}.hint{font-size:13px;color:var(--muted);margin-top:5px}.journey{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;margin-bottom:17px}.journey span{padding:5px 10px;border-radius:20px;border:1px solid var(--line)}.journey .current{background:var(--dark);color:white}.journey .done{background:var(--sage)}progress{width:100%;height:7px;accent-color:#a04b2d;display:block;margin:14px 0 35px}.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.38fr);gap:35px}.story aside{font-size:15px}.story h1{font-size:clamp(37px,4.2vw,61px)}.setting{padding:22px;border-radius:5px;background:var(--sage);border-top:5px solid var(--accent);margin-bottom:20px}.pill{font-size:12px;background:#e8eddf;border-radius:15px;padding:4px 10px;display:inline-block;margin:0 4px 7px 0}.question fieldset{border:0;margin:25px 0;padding:0}.question legend{font:25px/1.3 Georgia,serif;margin-bottom:20px}.choice{display:flex;gap:14px;align-items:flex-start;border:1px solid #bdc8b7;background:var(--card);border-radius:6px;padding:18px 20px;font-size:16px;font-weight:400;margin:10px 0;cursor:pointer}.choice:has(input:checked){border:2px solid var(--dark);background:#e7eddf;padding:17px 19px}.choice input{width:19px;height:19px;flex-shrink:0;accent-color:var(--dark);margin:4px 0 0}.source{background:#f1eadb;border:1px solid #d4cbb5;border-radius:4px;padding:20px;margin:15px 0;font-size:15px}.source:before{content:'SOURCE RECORD';display:block;letter-spacing:.14em;font-size:10px;font-weight:750;color:var(--accent);margin-bottom:10px}.source small{display:block}.feedback{padding:18px 20px;border-left:3px solid #6e8664;background:#e8edde;margin:15px 0}.feedback strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.score{font-family:Georgia,serif;font-size:74px;line-height:1.2}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:15px}.stat{padding:20px;border:1px solid var(--line);background:var(--card);border-radius:6px}.stat b{display:block;font:38px Georgia,serif}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em}details{margin:15px 0}summary{cursor:pointer;font-weight:650;padding:10px 0}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.tabs button{padding:10px 16px;border:1px solid #9aaa93;border-radius:4px;background:var(--card)}.tabs button[aria-pressed=true]{background:var(--dark);color:white}.compact{font-size:14px}.checkbox{display:flex;gap:10px;align-items:center}.checkbox input{width:20px;height:20px;margin:0}.code{overflow-wrap:anywhere;font:16px ui-monospace,monospace;background:#e3ead9;padding:16px;user-select:all}#toast:not(:empty){position:fixed;bottom:20px;left:5vw;right:5vw;padding:18px;background:#7c321f;color:white;z-index:5;border-radius:6px;box-shadow:0 3px 14px #0002}.skip{position:absolute;top:-80px;left:20px;padding:12px;background:white;z-index:9}.skip:focus{top:5px}footer{border-top:1px solid var(--line);padding:25px 5vw;display:flex;justify-content:space-between;gap:25px;font-size:11px;letter-spacing:.06em}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.bar{height:9px;background:#dfe5d6;border-radius:8px;overflow:hidden}.bar-fill{height:100%;background:var(--dark)}.muted{color:var(--muted)}[hidden]{display:none!important}@media(max-width:800px){.hero,.story{grid-template-columns:1fr;gap:25px}.art{min-height:280px;max-width:600px}.chapter-strip{grid-template-columns:repeat(4,1fr)}header{align-items:flex-start;padding:18px 5vw}nav{gap:0}.quiet{font-size:13px}main{padding-top:30px}.panel{padding:20px}footer{flex-direction:column}.story aside{order:-1}.story aside .context{display:none}.meta{flex-wrap:wrap;gap:10px 20px}}@media(prefers-reduced-motion:no-preference){button,.choice{transition:background .15s ease}main{animation:arrive .2s ease}@keyframes arrive{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
main:focus{outline:none}.art .art-caption{color:#fff7e6;text-shadow:0 1px 2px #203b35}
main[data-chapter="0"]{--accent:#974d29;--sage:#e8ddc7}
main[data-chapter="1"]{--accent:#655b38;--sage:#e6e1c6}
main[data-chapter="2"]{--accent:#83503f;--sage:#e9ddd4}
main[data-chapter="3"]{--accent:#3f6c60;--sage:#dae8dd}
main[data-chapter="4"]{--accent:#4b6484;--sage:#dce4ed}
main[data-chapter="5"]{--accent:#76546d;--sage:#e8dde7}
main[data-chapter="6"]{--accent:#3c7161;--sage:#d7e7dd}
@media(max-width:500px){.story aside{order:0}.chapter-strip{grid-template-columns:repeat(3,1fr)}header .brand{max-width:160px}nav{justify-content:flex-end}}
.reflection-panel{margin:30px 0;padding:28px;background:#f2ecdc;border:1px solid #d2c4a7;border-radius:6px}.reflection-panel h2{font-size:31px}.reflection-panel textarea{min-height:170px;font:17px/1.7 system-ui,sans-serif;resize:vertical}.reflection-panel textarea[readonly]{background:#f8f5ec}.reflection-meta{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:12px;margin-top:8px;color:#50614d}.reflection-record{border-top:1px solid #d1d7c8;padding:24px 0}.reflection-record h3{font:20px/1.5 Georgia,serif}.reflection-record blockquote{white-space:pre-wrap;margin:15px 0;padding:18px 20px;border-left:3px solid #819175;background:#edf0e4;font-size:16px}
