:root{font-family:Arial,Helvetica,sans-serif;color:#201c14;background:#f6f1e5;--gold:#e9c367;--ink:#100f0d;--muted:#665d4b;--line:#d9cfb9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
a{color:inherit}
button,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #a57115;outline-offset:4px}
h1,h2,h3,p{margin:0}
.wrap{width:min(1140px,calc(100% - 48px));margin:auto}
.skip{position:absolute;top:-100px;padding:12px;background:var(--gold);z-index:3}
.skip:focus{top:8px}
header,footer,.hero{background:var(--ink);color:#faf5e9}
header{border-bottom:1px solid #322c21}
.bar{display:flex;justify-content:space-between;align-items:center;min-height:50px;gap:16px}
.bar img{display:block;width:86px;height:48px;object-fit:contain}
.back{color:#e9d9b0;text-decoration:none;font-size:.88rem}
.back:hover{text-decoration:underline}
.hero{padding:clamp(14px,3vw,30px) 0;border-bottom:4px solid var(--gold)}
.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#745419}
.hero .eyebrow{color:var(--gold);margin-bottom:7px}
h1{font-size:clamp(2.65rem,6vw,5.35rem);line-height:.93;letter-spacing:-.065em;font-weight:900}
h1 em{font-style:normal;color:var(--gold)}
.intro{color:#e0d7c2;line-height:1.55;max-width:53ch;margin:8px 0 0}
.button{display:inline-flex;align-items:center;gap:18px;background:var(--gold);color:#161207;border:1px solid transparent;border-radius:5px;padding:13px 16px;text-decoration:none;font-weight:800}
.button:hover{background:#f5d582}
.overview{padding:23px;background:#1c1914;border:1px solid #51432a;border-radius:12px}
.overview-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:.75rem}
.overview-heading strong,.overview-map span{color:var(--gold)}
progress{display:block;width:100%;height:9px;margin:14px 0 8px;border:0;border-radius:20px;overflow:hidden;background:#3a3224;color:var(--gold);accent-color:var(--gold)}
progress::-webkit-progress-bar{background:#3a3224}
progress::-webkit-progress-value{background:var(--gold)}
progress::-moz-progress-bar{background:var(--gold)}
.workspace{padding:clamp(14px,2vw,24px) 0 48px;scroll-margin-top:12px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px}
.section-head h2{font-size:clamp(1.65rem,4vw,2.6rem);letter-spacing:-.05em}
.section-head p,.lead,.fine{color:var(--muted);line-height:1.5}
.tabs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin-bottom:18px}
.tab{min-height:58px;border:1px solid var(--line);border-radius:6px;background:#fffaf0;color:#282017;padding:8px 4px;font-weight:800;font-size:.85rem}
.tab:hover{background:#f2e4bc}
.tab[aria-selected=true]{background:var(--ink);color:var(--gold);border-color:var(--ink)}
.tab small{display:block;margin-top:4px;font-weight:400}
#panel{background:#fffaf0;border:1px solid var(--line);border-radius:12px;padding:clamp(16px,4vw,38px)}
.trail-head{display:flex;justify-content:space-between;align-items:start;gap:16px}
.trail-head h3{font-size:clamp(1.85rem,4vw,3.2rem);letter-spacing:-.055em;margin:6px 0 9px}
.badge{background:#f1e3bc;color:#543e16;border-radius:20px;padding:7px 11px;font-size:.82rem;font-weight:800;white-space:nowrap}
.route{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:25px 0 18px;gap:8px}
.route button{width:100%;display:flex;align-items:center;text-align:left;gap:10px;min-height:63px;border:1px solid var(--line);border-radius:7px;background:#f8f1e0;padding:8px;color:inherit;font-weight:800}
.route button[aria-current=step]{border-color:#9b6a19;background:#f5e5b6}
.route button:hover{border-color:#9b6a19}
.number{border-radius:50%;min-width:30px;height:30px;display:grid;place-items:center;background:#211b11;color:#f5d27d}
.lesson{border:1px solid var(--line);border-radius:9px;padding:clamp(14px,3vw,25px);display:grid;gap:16px}
.lesson h4{font-size:1.35rem;margin:0}
.lesson p{line-height:1.55}
.example{background:#f6eedb;border-left:3px solid #ac7b25;padding:11px 14px}
.video{display:flex;align-items:center;gap:13px;border:1px dashed #bbaa85;border-radius:7px;padding:12px}
.video-icon{color:#79550e}
.practice{background:#f4ecd7;border-radius:7px;padding:15px}
.practice p{margin:5px 0 13px}
.practice label,.notes label{font-weight:800}
.practice label{display:flex;align-items:center;gap:8px;width:fit-content;cursor:pointer}
input[type=checkbox]{width:19px;height:19px;accent-color:#765215;flex:none}
.notes textarea{width:100%;display:block;resize:vertical;margin:8px 0 5px;border:1px solid #baae94;border-radius:6px;background:#fffdf8;padding:10px;color:inherit}
.fine{font-size:.82rem}
.actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:900px){.tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.wrap{width:calc(100% - 32px)}.section-head{align-items:center}.section-head h2{font-size:1.28rem}.route button{flex-direction:column;align-items:start;font-size:.8rem;overflow-wrap:anywhere}.trail-head{flex-wrap:wrap}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
details{border:1px solid var(--line);border-radius:7px;padding:12px;background:#fbf5e8;min-width:0}
summary{font-weight:800;cursor:pointer}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.9rem;line-height:1.5}
.copy{border:1px solid #9d8251;border-radius:5px;background:#fff9e9;color:#2c210d;font-weight:800;padding:8px 10px}
.copy:hover{background:#f5e5b6}
#copy-status:empty{display:none}
fieldset{border:0;padding:0;margin:0 0 12px}
legend{font-weight:800;padding:0 0 4px}
.practice fieldset label{font-weight:400;margin:3px 0}
.done{border-top:1px solid #d9cba5;padding-top:9px}
.related{background:#f6eedb;border-radius:6px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:8px 16px}
.related a{color:#704c0c;text-underline-offset:3px}
@media(max-width:550px){.resources{grid-template-columns:1fr}}
.learning-grid{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:16px;align-items:start}
.community{background:#fffaf0;border:1px solid var(--line);border-radius:12px;padding:16px}
.community h3{font-size:1.25rem;margin-bottom:5px}
.community-topic{font-size:.87rem;font-weight:800;color:#704c0c;margin:14px 0 10px}
.community label,.search-label{font-weight:800;font-size:.9rem}
.community textarea,#trail-search{width:100%;border:1px solid #baae94;border-radius:6px;padding:10px;background:#fffdf8;color:inherit;font:inherit}
.community textarea{display:block;resize:vertical;margin:8px 0}
.community #post-status{margin-top:5px}
.post{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;font-size:.87rem;line-height:1.5}
.post p{margin-top:4px}
#trail-search{display:block;margin:6px 0 12px}
#search-results{padding:0 14px;margin-bottom:12px;background:#fffaf0;border:1px solid var(--line);border-radius:6px}
#search-results p{padding:12px 0}
#search-results li{margin:6px 0}
@media(max-width:850px){.learning-grid{grid-template-columns:1fr}}

/* Learning palette */
:root{background:#f7f5ff;--muted:#514765;--line:#ded6ef}
header,footer{background:#201333}
.hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 90% 12%,#5d28a1 0,transparent 58%),linear-gradient(125deg,#281542,#371c69 64%,#492685);border-color:#ffc968}
.hero .eyebrow{color:#ffcf73}
h1{font-size:clamp(1.85rem,4.7vw,3.7rem);line-height:1;letter-spacing:-.065em}
h1 em{color:#ffcf73}
.intro{color:#f1e7ff}
.overview{background:#f9edff;color:#29143f;border:0;border-radius:8px;box-shadow:none;padding:6px 9px;min-width:143px}
.overview-heading strong{color:#6532a8}
.overview progress{height:5px;margin:4px 0 0;background:#e6d6f1;accent-color:#7947c3}
.overview progress::-webkit-progress-bar{background:#e6d6f1}
.overview progress::-webkit-progress-value{background:#7947c3}
.overview progress::-moz-progress-bar{background:#7947c3}
[data-theme="0"]{--accent:#6535ad;--tint:#efe3ff}
[data-theme="1"]{--accent:#8e3b08;--tint:#ffead1}
[data-theme="2"]{--accent:#006154;--tint:#d4f6ec}
[data-theme="3"]{--accent:#9b2c61;--tint:#ffe1ef}
[data-theme="4"]{--accent:#214fa1;--tint:#deebff}
[data-theme="5"]{--accent:#455c10;--tint:#eff5ce}
[data-theme="6"]{--accent:#a23422;--tint:#ffe1da}
[data-theme="7"]{--accent:#0d5a75;--tint:#dcf4ff}
.tab{background:var(--tint);border-color:transparent;color:var(--accent);border-radius:12px;padding:10px 5px;min-height:53px}
.tab:hover{background:var(--tint);border-color:var(--accent)}
.tab[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:white}
.tab-dot{display:block;width:9px;height:9px;margin:0 auto 5px;border-radius:50%;background:currentColor}
#panel,.community{background:white;border-radius:18px}
.trail-head{background:var(--tint);border-radius:14px;padding:clamp(14px,3vw,24px);color:var(--accent)}
.trail-head .eyebrow,.trail-head .lead{color:inherit}
.badge{background:white;color:var(--accent)}
.route{gap:8px;margin-top:16px}
.route button{background:white;color:var(--accent);border-radius:10px;height:100%}
.route button:hover,.route button[aria-current=step]{background:var(--tint);border-color:var(--accent)}
.number{background:var(--accent);color:white}
.lesson{border:0;padding:0;gap:16px}
.concept,.prompt-card,.practice{border-radius:14px;padding:clamp(14px,3vw,21px)}
.concept{background:#f8f5fc;border:1px solid var(--line)}
.concept .eyebrow{color:var(--accent);margin-bottom:6px}
.concept h4{font-size:clamp(1.35rem,3vw,1.9rem);margin-bottom:7px;color:#28183e}
.example{margin-top:12px;background:white;border-color:var(--accent);border-radius:0 8px 8px 0}
.example strong{display:block;color:var(--accent)}
.prompt-card{background:#f0e7ff;color:#2b1a44}
.prompt-card .eyebrow{color:#6535ad}
.prompt-card h5{font-size:1.45rem;margin:5px 0}
.prompt-card details{background:#faf6ff;border-color:#d3c1ed;margin:12px 0}
.prompt-card .button{background:#6535ad;color:white}
.prompt-card .button:hover{background:#50268f}
.prompt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
.prompt-fields label{font-size:.86rem;font-weight:800}
.prompt-fields textarea{display:block;width:100%;resize:vertical;border:1px solid #b8a3d4;border-radius:8px;background:white;color:inherit;padding:8px;margin-top:5px;font-weight:400}
.copy{background:white;border-color:#a89abd;color:#39264f}
.copy:hover{background:#f6edff}
.practice{background:#e7f8ef;color:#1d4734}
.practice .download-checklist{margin-bottom:10px}
.practice .done{border-color:#b9dfcb}
.related{background:#e8efff;color:#233f75}
.related a{color:#244f9b}
.community{border-top:4px solid #9c69df}
.community-topic{background:#f1e7ff;color:#623798;padding:8px;border-radius:8px}
.notes textarea,.community textarea,#trail-search{background:white;border-color:#b9adce}
#search-results{background:white}
@media(max-width:520px){
  .prompt-fields{grid-template-columns:1fr}
  .intro{font-size:.86rem}
  .section-head{gap:6px}
  .overview{min-width:105px;padding:5px 6px}
  .overview-heading{gap:4px;font-size:.65rem}
  .tab{font-size:.76rem;line-height:1.1;overflow-wrap:anywhere;padding:6px 2px}
}
