@font-face{font-family:LocalSerif;src:local("Georgia")} :root{color-scheme:light;--paper:#f8f3e9;--card:#fffdf6;--ink:#172d25;--muted:#48584e;--pine:#204c3e;--mint:#e6eee3;--rust:#a44729;--line:#d8d2c2;--serif:LocalSerif,Georgia,serif;--sans:"Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--sans)}h1,h2,h3{line-height:1.08;margin:0 0 .55em;font-family:var(--serif);letter-spacing:-.035em}h1{font-size:clamp(2.7rem,6.1vw,5.4rem);font-weight:700}h2{font-size:clamp(1.9rem,3.7vw,3.25rem)}h3{font-size:1.42rem}p{margin:0 0 1em}a{color:var(--pine);text-underline-offset:.2em}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bd5d37;outline-offset:3px}.wrap{width:min(1120px,calc(100% - 44px));margin-inline:auto}.narrow{width:min(780px,calc(100% - 40px));margin-inline:auto}.site-head{border-bottom:1px solid var(--line);background:#fffaf0}.nav{min-height:69px;display:flex;align-items:center;justify-content:space-between;gap:18px}.nav nav,.actions,.toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.nav a{text-decoration:none;font-weight:650}.brand{font:700 1.35rem var(--serif);white-space:nowrap}.brand span{margin-right:.25em}.site-foot{border-top:1px solid var(--line);font-size:.88rem;color:var(--muted);margin-top:50px}.skip{position:absolute;top:-100px;z-index:10;background:white;padding:8px}.skip:focus{top:5px}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(25px,5vw,70px);align-items:center;padding-block:46px 52px}.hero h1{max-width:12ch}.eyebrow{font-size:.79rem;text-transform:uppercase;letter-spacing:.115em;font-weight:800;color:var(--rust);margin-bottom:.8rem}.lede{font-size:clamp(1.07rem,2vw,1.27rem);max-width:39ch;color:var(--muted)}.hero .lede{margin-bottom:1.5rem}.scene{margin:0;overflow:hidden;border-radius:18px;background:#dfc59f;border:1px solid #b9a383}.art{background-image:url('/cafe.webp');background-size:200% 100%;background-position:left center;aspect-ratio:1;min-width:0}.art.quiet{background-position:right center}.scene figcaption{font-size:.82rem;font-weight:700;background:var(--pine);color:#fff7e8;padding:.45em 1em;letter-spacing:.035em}.button,button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:.55em 1em;border-radius:8px;border:1px solid var(--pine);background:var(--pine);color:#fff;text-decoration:none;cursor:pointer;font-weight:700}.secondary{background:transparent;color:var(--pine)}.danger{background:#fff8f4;color:#963d26;border-color:#a44729}.linkbtn{border-color:transparent;background:transparent;color:var(--pine);text-decoration:underline;padding-inline:.25rem}button:disabled{opacity:.6;cursor:wait}.small{font-size:.88rem;color:var(--muted)}.body-section{padding-block:43px;border-top:1px solid var(--line);scroll-margin-top:1rem}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:28px 60px}.goal{background:var(--pine);color:#fff8e9;padding:25px 30px;border-radius:12px;margin-bottom:40px}.goal p{margin:0;max-width:75ch}.goal h2{font-size:1.45rem}.phase-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.phase-list li{display:grid;grid-template-columns:2.4rem 1fr;gap:.55em;border-bottom:1px solid var(--line);padding:14px 0}.phase-list .number{font-family:var(--serif);color:var(--rust);font-size:1.45em}.phase-list p{margin:0}.references{overflow-wrap:anywhere}.references li{margin-bottom:.65em}.page{padding-top:35px;min-height:67vh}.page h1{font-size:clamp(2.4rem,5vw,4rem)}.panel{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:clamp(17px,4vw,30px);margin:18px 0}.panel h2{font-size:2rem}.notice{background:var(--mint);border-left:4px solid var(--pine);padding:12px 15px;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere}.error{color:#923523;margin:.5em 0}.field{display:grid;gap:5px;margin:.7em 0 1em;font-weight:650}.field input,.field textarea,.field select{width:100%;padding:9px 11px;border:1px solid #a6a89b;border-radius:7px;background:#fffefa;color:var(--ink);font-weight:400}.field textarea{min-height:85px;resize:vertical}.check{display:flex;align-items:flex-start;gap:9px;margin:12px 0}.check input{margin-top:.45em;flex:none;width:1.1rem;height:1.1rem;accent-color:var(--pine)}.lesson-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:start;gap:28px}.progress{display:flex;gap:5px;margin:.65rem 0 1.2rem}.progress span{flex:1;height:7px;border-radius:6px;background:#ded8ca}.progress span.on{background:var(--pine)}.lesson-grid .scene{margin-top:18px}.lesson-grid .panel{margin-top:0}.lesson-status{min-height:1.5em}.lesson-status:empty{display:none}.previous{border-left:3px solid var(--line);padding-left:.85em;white-space:pre-wrap;overflow-wrap:anywhere}.clock{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}.topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.qr{width:min(245px,100%);height:auto;display:block;background:white;border-radius:10px;image-rendering:pixelated}.project .site-head,.project .site-foot{display:none}.project .page{min-height:100svh;padding-bottom:25px}.project h1{font-size:clamp(2.1rem,5vw,4.4rem)}.project p{font-size:clamp(1rem,2.1vw,1.35rem)}.project .qr{width:min(260px,100%)}.project .panel{margin-top:0}.project .phase-list{font-size:1.1em}.project .scene .art{aspect-ratio:1.22;background-size:200% auto}.project .quote-pair{padding:16px;border:1px solid var(--line);background:var(--card);border-radius:10px}.project .quote-pair p{white-space:pre-wrap;overflow-wrap:anywhere}.project .transcript{font-size:.92em}.session-items{display:grid;gap:7px;margin:12px 0}.session-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid var(--line)}.tabs{border-bottom:1px solid var(--line);padding-bottom:10px}.tabs .active{background:var(--pine);color:#fff}.editor summary,details summary{cursor:pointer;font-weight:750;padding:.65em 0}.editor details{border-top:1px solid var(--line);margin-top:8px}.editor .phase-edit{border-top:1px solid var(--line);padding-top:14px}.quote-pair h3{margin-bottom:.6em}.admin-shell .topline{align-items:flex-start}.admin-shell .panel{max-width:100%}.admin-shell .pair-row{border-top:1px solid var(--line);padding:10px 0}.admin-shell .pair-row p{overflow-wrap:anywhere}.muted{color:var(--muted)}.break{overflow-wrap:anywhere}.sticky{position:sticky;bottom:0;background:var(--card);padding:10px 0;border-top:1px solid var(--line)}@media(max-width:760px){.wrap,.narrow{width:calc(100% - 32px)}.nav{min-height:58px;font-size:.88rem}.nav nav{gap:9px}.brand{font-size:1.08rem}.hero,.lesson-grid,.grid-two,.phase-list{grid-template-columns:1fr}.hero{padding-block:26px 32px;gap:22px}.hero h1{max-width:16ch}.hero .art{aspect-ratio:1.3;background-size:200% auto}.page{padding-top:22px}.lesson-grid{gap:10px}.lesson-grid .scene{grid-row:1;margin-top:0}.lesson-grid .art{aspect-ratio:2;background-size:200% auto}.project .lesson-grid .scene{grid-row:auto}.body-section{padding-block:30px}.goal{margin-bottom:30px;padding:20px}.project .phase-list{font-size:.95em}.panel{padding:17px}.project .page{padding-top:16px}.site-foot .nav{align-items:flex-start;padding-block:10px}.toolbar button{font-size:.9em}}@media(prefers-reduced-motion:no-preference){.button,button{transition:filter .16s}.button:hover,button:hover{filter:brightness(1.12)}}
[hidden]{display:none!important}
