:root{--ink:#382735;--plum:#63445a;--rose:#eee0dc;--cream:#faf7f1;--muted:#6e6269;--line:#ded5d0;--paper:#fffdf9}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}header{max-width:1320px;margin:auto;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:italic 30px Georgia,serif;color:var(--ink);text-decoration:none}.brand span{display:block;font:9px/2 system-ui;letter-spacing:2px;margin-top:6px}.private{font-size:13px;color:var(--muted)}main{max-width:1200px;margin:auto;padding:0 32px}.intro{padding:55px 0 42px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:2px;color:var(--plum)}h1{font:clamp(38px,5vw,63px)/1.13 Georgia,serif;letter-spacing:-1.5px;margin:17px 0 20px}h1 em{font-weight:normal;color:var(--plum)}.lede{color:var(--muted);font-size:17px}.workspace{display:grid;grid-template-columns:265px minmax(0,1fr);gap:50px;align-items:start}aside{padding-top:8px}nav{display:grid;gap:10px;margin:24px 0 38px}.step{background:none;color:var(--muted);display:flex;text-align:left;align-items:center;gap:12px;padding:10px 8px;border:0;border-radius:8px;font-size:14px}.step:hover{background:var(--rose)}.step.active{background:var(--rose);color:var(--ink);font-weight:650}.number{border:1px solid var(--line);border-radius:50%;width:29px;height:29px;display:grid;place-items:center;flex-shrink:0;font-size:12px}.active .number{background:var(--plum);color:white;border-color:var(--plum)}.privacy-note{border-top:1px solid var(--line);padding:22px 8px;font-size:12px;color:var(--muted)}.privacy-note strong{font-family:Georgia;font-size:19px;color:var(--ink)}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:38px 42px;box-shadow:0 12px 45px #432d3b05}.progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);letter-spacing:.5px}progress{width:100%;height:4px;appearance:none;display:block;margin:12px 0 32px;border:0;background:var(--rose)}progress::-webkit-progress-bar{background:var(--rose)}progress::-webkit-progress-value{background:var(--plum)}progress::-moz-progress-bar{background:var(--plum)}h2{font:34px/1.2 Georgia,serif;letter-spacing:-.6px;margin:12px 0 16px}.description{color:var(--muted);margin-bottom:30px}label{display:block;font-weight:600;font-size:15px;margin-bottom:7px}.hint{font-size:13px;color:var(--muted);margin:0 0 12px}.field{margin:0 0 27px}textarea{display:block;width:100%;min-height:112px;resize:vertical;border:1px solid #cfc4c8;border-radius:9px;background:#fffefa;padding:15px;font:15px/1.6 system-ui;color:var(--ink)}textarea::placeholder{color:#8c8187}textarea:focus{outline:2px solid var(--plum);outline-offset:3px}button{font:600 14px system-ui;cursor:pointer;border:1px solid var(--plum);background:var(--plum);color:white;padding:13px 21px;border-radius:7px;min-height:44px}button:hover{filter:brightness(.94)}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #a26d84;outline-offset:4px}.secondary{background:transparent;color:var(--plum);border-color:var(--line)}button:disabled{opacity:.35;cursor:default}.navigation{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:32px;gap:12px}.navigation span{font-size:11px;color:var(--muted)}details{background:#f5eeea;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:13px}summary{color:var(--plum);cursor:pointer;font-weight:600;min-height:25px}details p{margin:10px 0}details ul{padding-left:19px}.example{border-left:2px solid #ba9ca9;padding-left:14px;margin:16px 0}.fine{font-size:11px;color:var(--muted)}footer{padding:32px 0 42px;text-align:center;color:var(--muted);font-size:14px}.text-button{border:0;background:transparent;color:var(--plum);padding:8px 14px;font-size:12px;text-decoration:underline}.summary-section{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.summary-section h3{font:24px Georgia,serif}.answer{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 20px}.answer.empty{color:var(--muted);font-style:italic}.summary-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.summary-label{font-size:12px;font-weight:700;color:var(--plum)}dialog{border:1px solid var(--line);border-radius:14px;max-width:460px;padding:30px;color:var(--ink);background:var(--cream)}dialog::backdrop{background:#30212d70}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}#save-status{font-weight:600}#section-title:focus{outline:none}@media(max-width:760px){header{padding:22px}.brand{font-size:25px}.private{display:none}main{padding:0 18px}.intro{padding:32px 4px 24px}.workspace{display:block}aside>.eyebrow,.privacy-note{display:none}nav{display:flex;gap:6px;margin:0 0 20px;justify-content:space-between}.step{font-size:10px;display:grid;justify-items:center;gap:6px;padding:8px 4px;flex:1}.step .step-name{max-width:65px;line-height:1.3;text-align:center}.card{padding:25px 20px;border-radius:12px}h2{font-size:29px}.navigation span{display:none}footer{padding-top:23px}textarea{font-size:16px}.progress-label{font-size:10px}}@media print{@page{margin:18mm}body{background:white;color:black;font-size:11pt}header{padding:0 0 14px}.brand{font-size:23px}.private,.intro,aside,footer,.summary-actions,.text-button,details,.fine,dialog,#editor{display:none!important}main{padding:0;max-width:none}.workspace{display:block}.card{border:0;padding:20px 0;box-shadow:none}#summary{display:block!important}h2{font-size:27pt}.summary-section{break-inside:avoid}.answer{font-size:11pt}h3{break-after:avoid}.summary-section h3{font-size:18pt}}

/* Companion navigation leaves the existing Map DOM and saved state intact. */
[hidden]{display:none!important}
.workbook-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:28px}
.workbook-tabs button{background:var(--paper);color:var(--plum);border:1px solid var(--line);border-radius:7px;font-weight:500;text-align:left;padding:10px 16px;font-size:13px;min-height:44px}
.workbook-tabs button[aria-selected="true"]{background:var(--rose);border-color:#c8b5be;color:var(--ink);font-weight:650}.workbook-tabs button[aria-selected="false"]:hover{background:var(--cream)}
.guide-panel{max-width:850px;margin:0 auto}.guide-panel>p{color:var(--muted)}
.guide-panel h3{font:28px/1.3 Georgia,serif;margin:38px 0 18px;scroll-margin-top:24px}
.guide-jumps{display:flex;flex-wrap:wrap;gap:14px;margin:25px 0}.guide-jumps a{color:var(--plum);font-size:14px;text-underline-offset:4px;min-height:44px;padding:10px 0}
.reference-card{margin:14px 0;padding:18px 20px;font-size:15px}.reference-card>summary{font-size:16px;line-height:1.5;padding:4px 0}
.reference-card dl{margin:20px 0}.reference-card dt{font-size:13px;font-weight:700;color:var(--plum);margin:18px 0 5px}.reference-card dd{margin:0;line-height:1.65}
.guide-reminder{border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:12px}
.worked-section{border-top:1px solid var(--line);margin-top:24px}.worked-section h4{font:23px/1.35 Georgia,serif;margin:20px 0}
.guide-closing{border-top:1px solid var(--line);margin-top:32px;padding-top:20px;color:var(--muted)}
@media(max-width:760px){.workbook-tabs{gap:4px;margin-bottom:20px}.workbook-tabs button{flex:1;padding:12px 10px;font-size:12px}.reference-card{padding:14px}.guide-panel h2{font-size:29px}}
@media print{.workbook-tabs,#guide-panel{display:none!important}#map-panel{display:block!important}}

.pattern-glance{border:1px solid var(--line);background:var(--cream);border-radius:12px;padding:22px;margin:28px 0}.pattern-glance h3{font:26px/1.3 Georgia,serif;margin:0 0 22px}.pattern-sequence{list-style:none;margin:0;padding:0}.pattern-sequence li{position:relative;border-left:2px solid #c8b5be;margin-left:5px;padding:0 0 22px 20px}.pattern-sequence li:last-child{padding-bottom:0}.pattern-sequence li:before{content:'';position:absolute;left:-5px;top:7px;width:8px;height:8px;background:var(--plum);border-radius:50%}.pattern-sequence p{margin-top:0}.pattern-sequence .answer{margin-bottom:0}
.observations h3{font:24px/1.3 Georgia,serif}.observation-card{padding:18px;border:1px solid var(--line);border-radius:9px;margin-bottom:16px;background:var(--cream)}.observation-card input[type=date]{display:block;max-width:100%;padding:10px;border:1px solid #cfc4c8;border-radius:7px;font:16px system-ui;color:var(--ink);background:var(--paper);margin-bottom:16px;min-height:44px}.observation-card input:focus-visible{outline:2px solid var(--plum);outline-offset:3px}.observation-delete{border-top:1px solid var(--line);padding-top:12px}.observation-delete button{margin:0 8px 8px 0}.previous-reflections textarea{margin-bottom:20px}.previous-reflections label{margin-top:18px}.observation-summary{border-left:2px solid var(--line);padding-left:14px;margin:16px 0}
@media print{.pattern-glance{break-inside:auto;background:white}.pattern-sequence li,.observation-summary{break-inside:avoid}.pattern-glance h3{break-after:avoid}}

.return-later{border-top:1px solid var(--line);padding-top:20px;margin:26px 0;color:var(--muted)}.return-later h3,.reflection-appendix h3{font:26px/1.3 Georgia,serif;color:var(--ink)}.reflection-day label{margin-top:18px}.reflection-appendix{border-top:1px solid var(--line);padding-top:24px;margin-top:36px}
@media(max-width:760px){.workbook-tabs{flex-wrap:wrap}.workbook-tabs button{flex:1 1 100px}.workbook-tabs #reflection-tab{flex:1 1 100%}}
@media print{#reflection-panel,.return-later{display:none!important}.reflection-appendix{break-before:page}.reflection-appendix .answer{break-inside:avoid}}
