:root{--ink:#123c3e;--teal:#155c5e;--gold:#ab7448;--paper:#f6f5f0;--muted:#667675;--line:#dce2dc}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.6 'Segoe UI',Arial,sans-serif}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ca8c51;outline-offset:4px}header{padding:20px 4vw;display:flex;gap:28px;align-items:center;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.06em}.brand img{height:58px;width:60px;object-fit:contain}.brand small{display:block;font-weight:400;letter-spacing:0}.partners{display:flex;gap:22px;margin-left:auto;align-items:center}.partners img{max-width:155px;max-height:40px}header button,.back{background:transparent;border:1px solid var(--line);border-radius:5px;padding:10px 16px;color:var(--ink)}main{max-width:1400px;margin:auto;padding:30px 4vw}.hero{display:grid;grid-template-columns:1fr 1fr;background:#e8ede7;border-radius:12px;overflow:hidden}.hero>div{padding:42px}.hero>img{width:100%;height:100%;object-fit:cover;min-height:430px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:700;color:var(--gold);margin:0 0 14px}h1{font:500 clamp(30px,3.4vw,51px)/1.13 Georgia,serif;letter-spacing:-.02em;margin:16px 0}h2{font:500 30px/1.25 Georgia,serif;margin:0 0 14px}h3{font-size:20px;line-height:1.35;margin:12px 0}p{margin:0 0 16px}.primary{display:inline-block;border:0;border-radius:4px;background:var(--teal);color:white;padding:12px 19px;text-decoration:none;font-weight:600}.hero-meta{display:flex;gap:35px;margin-top:35px}.hero-meta span{font-size:25px}.hero-meta small{display:block;font:12px 'Segoe UI',sans-serif;color:var(--muted)}.routes{display:grid;grid-template-columns:.8fr 1.2fr 1.2fr;gap:15px;margin-top:26px}.routes button{text-align:left;background:white;border:1px solid var(--line);border-radius:7px;color:var(--ink);padding:18px}.routes span{display:block;color:var(--muted);font-size:10px;letter-spacing:.08em;margin-bottom:8px}.routes strong{font-size:14px;line-height:1.4;display:block}.routes [aria-pressed=true]{border-color:var(--teal);box-shadow:inset 0 3px var(--teal)}.muted{color:var(--muted);font-size:13px}#track-note{margin:12px 0 42px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px}.search{font-size:11px;color:var(--muted);width:350px}.search input{display:block;width:100%;padding:11px;border:1px solid var(--line);border-radius:5px;margin-top:6px;background:white}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.filters button{border:1px solid var(--line);padding:8px 13px;border-radius:30px;background:transparent;font-size:12px;color:var(--ink)}.filters [aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{padding:24px;border:1px solid var(--line);border-radius:8px;background:white;display:flex;flex-direction:column;min-height:245px;position:relative;overflow:hidden}.card:before{content:'';position:absolute;right:-30px;top:-30px;width:100px;height:100px;border:18px solid #eaf0eb;border-radius:50%;pointer-events:none}.card .eyebrow{color:var(--muted);font-size:10px}.card h3{padding-right:10px;position:relative}.badge{font-size:11px;color:var(--teal)}.tags{display:flex;gap:5px;flex-wrap:wrap;margin:16px 0}.tags span{background:#edf3ed;font-size:10px;padding:3px 7px;border-radius:3px}.card button{margin-top:auto;text-align:left;border:0;border-top:1px solid var(--line);background:none;color:var(--teal);padding:13px 0 0;font-weight:600}.card button:after{content:'↗';float:right}.empty{background:#f0f1ed;color:var(--muted)}.card small{font-size:12px}.detail-head{display:flex;justify-content:space-between;gap:30px;align-items:center;background:#e8ede7;border-radius:10px;margin:20px 0;padding:28px}.detail-head img{width:230px;height:140px;object-fit:cover;border-radius:6px}.detail-head h2{max-width:700px}.lesson{background:white;padding:24px;border:1px solid var(--line);border-radius:8px;margin:16px 0}.resource{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:16px 0}.resource a{font-size:13px;font-weight:600;white-space:nowrap}.resource p{font-size:13px;margin:2px 0}.resource small{color:var(--muted);font-size:11px}.help{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:55px;padding:32px;background:#e8ede7;border-radius:8px}.help p{max-width:650px}.help .primary{flex-shrink:0}footer{padding:25px 4vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;color:var(--muted)}dialog{width:min(470px,95vw);padding:32px;border:0;border-radius:10px;color:var(--ink);box-shadow:0 20px 100px #123c3e44}dialog::backdrop{background:#102e37aa}dialog input{width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;margin:7px 0 20px;letter-spacing:.3em}dialog label{font-size:12px}dialog .primary{width:100%}dialog small{font-size:11px;color:var(--muted)}.close{float:right;border:0;background:none;font-size:25px}#login-error{color:#943d29;font-size:13px;margin-top:12px}[hidden]{display:none!important}@media(max-width:850px){.partners{display:none}.brand{font-size:10px}header{gap:10px;justify-content:space-between}header button{font-size:12px}.hero{grid-template-columns:1fr}.hero>div{padding:28px}.hero>img{height:240px;min-height:0}.routes{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{align-items:start;flex-direction:column}.search{width:100%}.detail-head img{display:none}.help{align-items:start;flex-direction:column}}@media(max-width:520px){.grid{grid-template-columns:1fr}h2{font-size:25px}.hero-meta{gap:22px}.hero-meta small{font-size:10px}.resource{align-items:start;flex-direction:column}.detail-head{padding:20px}.brand img{height:45px;width:42px}main{padding:18px 4vw}.card{min-height:200px}.hero .eyebrow{font-size:9px}}
#reader{width:min(1000px,96vw)}#reader pre{white-space:pre-wrap;font:16px/1.7 Georgia,serif;max-height:65vh;overflow:auto;padding-right:15px}#reader h2{font-size:24px;margin-top:20px}
