:root{--ink:#25312d;--muted:#64716b;--accent:#416859;--line:#dce2dc;--soft:#f2f5f1;--paper:#fdfefb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 Arial,Helvetica,sans-serif}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}.button,button{border:1px solid #a8b8ad;border-radius:6px;background:transparent;color:var(--accent);padding:8px 15px;cursor:pointer;display:inline-block;text-decoration:none;line-height:1.5}.button:hover,button:hover{background:var(--soft)}button:disabled{opacity:.55;cursor:wait}.primary,button.primary{background:var(--accent);border-color:var(--accent);color:white}.quiet{border:0;padding:4px;background:transparent;text-decoration:underline;text-underline-offset:4px}.meta,.muted,small{color:var(--muted)}.meta,small{font-size:14px}small{display:block}.eyebrow{color:var(--muted);font-size:14px;letter-spacing:.07em}h1{font-size:32px;line-height:1.25;margin:22px 0 18px;letter-spacing:-.6px}h1,h2{font-weight:550}h2{font-size:23px;line-height:1.4;margin:30px 0 12px}h3{font-size:18px;font-weight:600}p{margin:0 0 18px}header{max-width:1150px;padding:26px 30px 22px;margin:auto;border-bottom:1px solid var(--line);display:flex;gap:36px;align-items:center;flex-wrap:wrap}header a{text-decoration:none}.brand{color:var(--ink);font-size:22px;white-space:nowrap;font-weight:600}nav{display:flex;gap:25px}nav a[aria-current]{color:var(--ink);box-shadow:0 2px var(--accent)}.add-link{margin-left:auto;font-size:15px}main{max-width:820px;margin:auto;padding:25px 30px 55px;min-height:70vh}.utility{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:13px;margin:0 0 35px}.login{max-width:440px;min-height:0;padding-top:13vh}.login form{margin:30px 0}.login button{width:100%;margin-bottom:20px}label{display:block;margin-bottom:20px}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;background:white;border:1px solid #bbc7be;border-radius:5px;color:var(--ink);padding:10px 12px;margin-top:7px}input[type=file]{font-size:15px;padding:15px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}textarea{resize:vertical;line-height:1.65}.check{display:flex;align-items:center;gap:12px}:focus-visible{outline:3px solid #678b77;outline-offset:4px}.searchbar{display:flex;gap:10px;align-items:stretch;margin-bottom:28px}.searchbar input{margin:0;flex:1 1;min-width:0}.searchbar button{flex-shrink:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}.empty{padding:30px 0 40px}.empty h2{margin-top:15px}.empty p{max-width:590px}.notice{background:var(--soft);border-left:3px solid #819b88;padding:17px 20px;margin:20px 0;font-size:16px}.notice h2{margin-top:0}.error{color:#873c36;background:#fff2ef;padding:12px 16px;border-radius:4px;overflow-wrap:anywhere}.topic-row{border-bottom:1px solid var(--line);padding:19px 0}.topic-row summary{font-size:21px;font-weight:500}.topic-row p{margin:12px 0 8px}.topic-row a{font-size:15px}summary{cursor:pointer;line-height:1.5}details{margin:15px 0}details>p{margin-top:18px}.structure{border-top:1px solid var(--line);margin:45px 0 25px;padding-top:5px}.structure select{max-width:400px}.material-row,.result{border-bottom:1px solid var(--line);padding:20px 0}.material-row h2{font-size:21px;margin:5px 0 8px}.material-row h2 a{text-decoration:none}.material-row p{margin-bottom:10px}.material-row .actions{margin:12px 0 0}.back{font-size:14px}.prose{overflow-wrap:anywhere;white-space:pre-wrap}.prose p{margin:24px 0;line-height:1.8}.source-block{margin:27px 0 35px}.source-block .meta{border-bottom:1px solid var(--line);padding-bottom:8px}blockquote{border-left:2px solid #91a895;margin:24px 0;padding:4px 0 4px 20px;white-space:pre-wrap}blockquote small{margin-top:10px}.practice{border:1px solid var(--line);border-radius:5px;padding:22px;margin:25px 0}.practice h2{margin-top:0}.practice li{margin-bottom:12px}.original{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.source-link{display:inline-block;font-size:14px;margin:0 16px 20px 0}footer{max-width:1150px;margin:0 auto;padding:20px 30px;border-top:1px solid var(--line);display:flex;gap:25px;flex-wrap:wrap;align-items:center;font-size:14px}footer button{font-size:14px;margin-left:auto}.busy{position:fixed;bottom:18px;right:18px;background:var(--ink);color:white;padding:8px 16px;border-radius:5px;font-size:14px}.skip:not(:focus),.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{display:block;padding:15px}li{overflow-wrap:anywhere}section{margin-bottom:28px}a{overflow-wrap:anywhere}@media(max-width:650px){body{font-size:16px}header{padding:18px 20px;gap:16px;justify-content:space-between}.brand{width:100%;font-size:21px}nav{gap:20px}.add-link{margin-left:0;font-size:14px}main{padding:20px 20px 40px}h1{font-size:28px}h2{font-size:21px}.utility{font-size:12px;margin-bottom:28px}.two{grid-template-columns:1fr;gap:0}.practice{padding:17px}.actions{gap:10px}.searchbar{gap:8px}.searchbar button{padding:8px 10px}.searchbar input{font-size:16px}footer{padding:20px;gap:15px}footer button{margin-left:0}.login{padding-top:10vh}.topic-row summary{font-size:20px}}.lead{font-size:19px;color:var(--muted)}.section-nav{flex-wrap:wrap;border-block:1px solid var(--line);padding:16px 0;margin:25px 0;font-size:15px;gap:18px}.lesson-timeline{list-style:none;padding:0 0 0 8px}.lesson-timeline>li{display:grid;grid-template-columns:38px 1fr;gap:20px;border-left:2px solid var(--line);padding:0 0 32px 20px}.lesson-timeline h3{margin-top:0;font-size:22px}.lesson-timeline h3 a{text-decoration:none}.lesson-number{border:1px solid var(--line);border-radius:50%;width:36px;height:36px;text-align:center;background:var(--soft)}.month-heading{text-transform:capitalize;margin-top:45px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{font-size:12px;border-radius:20px;padding:3px 10px}.map-arcs,.tags span{background:var(--soft)}.map-arcs{padding:20px;border-radius:8px}.map-arcs summary{font-size:21px}.map-arcs h2{font-size:19px}.arc-path{font-size:14px;padding-left:22px}.arc-path li{padding-bottom:9px}.connection{border-left:3px solid var(--line);padding:12px 20px;margin-bottom:18px}.connection h3{margin:0 0 12px}.lesson-pagination{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:25px;font-size:15px;gap:25px}.contents{font-size:15px;padding-left:22px}.contents li{margin:8px 0}section[id]{scroll-margin-top:25px}.practice h3{font-size:23px;margin-top:0}.practice h4{margin-bottom:12px}video{margin-top:20px}@media(max-width:650px){.lesson-timeline>li{grid-template-columns:28px 1fr;gap:12px;padding-left:12px}.lesson-number{width:28px;height:28px;line-height:26px;font-size:13px}.lesson-timeline h3{font-size:19px}.lesson-pagination{grid-template-columns:1fr}.map-arcs{padding:16px}.lead{font-size:17px}}header nav{flex-wrap:wrap}.chat-examples{background:var(--soft);padding:18px;border-radius:8px;margin:24px 0}.chat-examples button{display:block;text-align:left;margin:10px 0;width:100%;font-size:15px}.chat-turn{padding:20px 0;border-bottom:1px solid var(--line)}.chat-question{background:var(--soft);padding:16px;border-radius:8px;font-size:20px}.chat-block{margin:24px 0}.chat-block details{font-size:15px}.chat-block blockquote{margin:12px 0}.material-chat form{margin-top:30px}.material-chat label{margin-bottom:6px}.chat-turns{overflow-wrap:anywhere}