:root{--ink:#14110e;--paper:#f4ead6;--paper-2:#efe3cc;--red:#8f2d22;--gold:#d4a054;--gold-2:#f0d9a8;--pine:#2f4a3c;--mist:#c4b8a1;--line:rgba(20,17,14,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Serif SC',serif}.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;padding:14px max(20px,calc((100% - 1120px)/2));background:rgba(244,234,214,.96);border-bottom:1px solid var(--line);font-family:'Instrument Sans',sans-serif}.brand{font:700 20px 'Noto Serif SC';color:var(--ink);text-decoration:none;white-space:nowrap}.top nav{display:flex;gap:6px;overflow:auto;flex:1}.top button,.chip{border:1px solid var(--line);background:transparent;padding:8px 11px;white-space:nowrap;cursor:pointer}.top button.current,.chip.current{background:var(--red);color:var(--paper);border-color:var(--red)}.filters{display:flex;gap:5px}.hero{max-width:1120px;margin:auto;min-height:430px;position:relative;background:linear-gradient(0deg,rgba(20,17,14,.78),transparent 60%),url('../images/hero-moon.jpg') center/cover}.hero-copy{position:absolute;left:34px;bottom:30px;color:var(--paper);max-width:620px}.hero h1{font-size:clamp(28px,5vw,56px);line-height:1.12;margin:8px 0}.eyebrow,.section-head>span{font:600 12px 'Instrument Sans';letter-spacing:.14em}.stats{display:flex;gap:20px;position:absolute;right:28px;bottom:26px;color:var(--paper);font-family:'Instrument Sans'}.stat b{display:block;font-size:30px;color:var(--gold-2)}main>section:not(.hero){max-width:1120px;margin:0 auto;padding:44px 20px}.section-head h2{margin:8px 0;font-size:30px}.section-head p{margin:0 0 16px;color:#655b4b}.trail-stage{height:420px;background:#17130f;border-top:1px solid var(--line);position:relative}.trail-stage canvas{width:100%;height:100%;display:block}.trail-stage #trail-fallback{display:none;color:var(--gold-2);position:absolute;inset:0;place-items:center}.trail-controls{display:flex;gap:10px;align-items:center;padding:12px 0;font:14px 'Instrument Sans'}.trail-controls button{background:var(--red);color:var(--paper);border:0;padding:8px 14px;cursor:pointer}.trail-controls input[type=range]{width:min(360px,35vw)}.route{overflow-x:auto}.route svg{min-width:760px;width:100%;height:100px}.route text{font:13px 'Instrument Sans';fill:var(--ink)}.days{display:grid;gap:14px}.day{display:grid;grid-template-columns:110px 1fr;gap:20px;border-left:3px solid var(--line);padding:18px;background:rgba(255,255,255,.18);transition:opacity .2s,transform .2s}.day.current{border-color:var(--red);transform:translateX(4px)}.day.dim{opacity:.35}.day-date{font:700 18px 'Instrument Sans'}.day h3{margin:0 0 6px}.day p{margin:5px 0 10px;line-height:1.7}.day-meta{font:13px 'Instrument Sans';color:#675b4b}.day img{width:170px;aspect-ratio:16/10;object-fit:cover;margin:10px 8px 0 0;border-radius:2px;cursor:pointer}.laojun{background:var(--paper-2)}.laojun h2{margin-top:0}.lao-cards{display:flex;gap:10px;flex-wrap:wrap}.lao-card{padding:14px;border:1px solid var(--line);background:var(--paper);cursor:pointer;max-width:300px}.lao-card.active{border:2px solid var(--red)}.pack ul{padding:0;list-style:none}.pack li{padding:10px 0;border-bottom:1px solid var(--line);font-family:'Instrument Sans'}.pack input{accent-color:var(--red);margin-right:8px}.lightbox{position:fixed;inset:0;background:rgba(20,17,14,.94);display:none;z-index:20;place-items:center}.lightbox.open{display:grid}.lightbox img{max-width:85vw;max-height:80vh}.lb-close,.lb-prev,.lb-next{position:absolute;background:none;border:0;color:var(--paper);font-size:40px;cursor:pointer}.lb-close{top:15px;right:25px}.lb-prev{left:25px}.lb-next{right:25px}.lightbox figcaption{position:absolute;bottom:20px;color:var(--paper);font-family:'Instrument Sans'}footer{padding:30px 20px;text-align:center;font:13px 'Instrument Sans';color:#675b4b}@media(max-width:700px){.top{gap:10px;flex-wrap:wrap}.top nav{order:3;flex-basis:100%}.filters{margin-left:auto}.hero{min-height:430px}.stats{right:15px;bottom:18px}.hero-copy{left:18px;bottom:75px}.day{grid-template-columns:1fr}.day img{width:46%}.trail-stage{height:280px}}
