/* Powering Discovery styles. Theme colours: .pd.night / .pd.day below. */
html{scroll-behavior:smooth}
body{margin:0;background:#0F1724}
body.slide-open{overflow:hidden}
[hidden]{display:none !important}
.pd.night .icon-moon,.pd.day .icon-sun{display:none}
body:has(.pd.day){background:#F3F5F7}
.pd.night{--accent:#F2A93B;--glacier:#8CC4E8;--bg:#0F1724;--sky:#0F1724;--panel:#162235;--panel-2:#131E2F;--line:#26364F;--line-2:#3A4C68;--line-3:#4A5D7A;--text:#EEF2F6;--text-2:#D3DCE6;--text-3:#C9D3DE;--muted:#A9B6C6;--mtn-back:#24344D;--mtn-mid:#1A2840;--snow:#EEF2F6;--star:#EEF2F6;--orb:#E4EAF0;--on-accent:#0F1724;--band-bg:#EEF2F6;--band-text:#0F1724;--band-text-2:#2B3A50;--band-label:#3A5A85}
.pd.day{--accent:#A85A00;--glacier:#2F6496;--bg:#F3F5F7;--sky:#DCE8F2;--panel:#FFFFFF;--panel-2:#E6ECF2;--line:#CBD5E0;--line-2:#A3B3C6;--line-3:#8796AB;--text:#101826;--text-2:#2B3A50;--text-3:#3A4A60;--muted:#4F5F75;--mtn-back:#BCCDDF;--mtn-mid:#97AFC8;--snow:#FFFFFF;--star:transparent;--orb:#F7D58B;--on-accent:#FFFFFF;--band-bg:#1A2840;--band-text:#EEF2F6;--band-text-2:#C9D3DE;--band-label:#8CC4E8}
a{color:#F2A93B}a:hover{color:#F7C878}
.pd *{box-sizing:border-box}
.stage{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:40px}
.rail{position:relative;min-height:100%}
.rail svg.line{position:absolute;left:0;top:72px;width:96px;height:calc(100% - 72px);overflow:visible}
.altimeter{position:fixed;right:28px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:5}
.alt-fill{transform-origin:bottom;transform:scaleY(1)}
@media (max-width:820px){
.stage{grid-template-columns:44px minmax(0,1fr);column-gap:16px}
.rail svg.line{width:44px}
.camp-badge{width:44px !important;height:44px !important}
.camp-badge svg{width:20px;height:20px}
.altimeter{display:none}
.hero-title{font-size:72px !important}
}
.card{transition:border-color .2s, transform .2s}
.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card-open{position:static}
.card-open::after{content:"";position:absolute;inset:0;border-radius:6px}
.card-open:focus-visible{outline:none}
.card:focus-within{outline:2px solid var(--accent);outline-offset:3px}
.ph{font-family:'JetBrains Mono', 'JetBrains Mono Local',Menlo,monospace;font-size:.88em;color:#8A4A06;background:#F7E3C4;padding:1px 6px;border-radius:3px}
.traveler{display:none}
.walk{animation:bob 1.1s ease-in-out infinite alternate}
@keyframes bob{from{transform:translateY(0)}to{transform:translateY(-3px)}}
@keyframes travel{from{transform:translateX(-180px)}to{transform:translateX(calc(100vw + 20px))}}
@media (max-width:820px){.hero-leopard{width:180px !important;right:12px !important}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes rise{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes climb{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@supports (animation-timeline: view()){
.motion .traveler{display:block;animation:travel linear both;animation-timeline:scroll(root)}
.motion .trail-draw{stroke-dashoffset:1;animation:draw linear both;animation-timeline:view();animation-range:entry 0% cover 55%}
.motion .hero-trail{stroke-dashoffset:1;animation:draw linear both;animation-timeline:scroll(root);animation-range:0px 520px}
.motion .rise{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
.motion .alt-fill{animation:climb linear both;animation-timeline:scroll(root)}
}
@media (prefers-reduced-motion: reduce){
.motion .trail-draw,.motion .hero-trail{animation:none;stroke-dashoffset:0}
.motion .rise{animation:none}
.motion .traveler{display:none}
.walk{animation:none}
}

/* Hero photographs: one per theme (originals in images-src/) */
.hero{background-size:cover;background-position:left top;background-repeat:no-repeat}
.pd.night .hero{background-image:url(images/hero-night.webp)}
.pd.day .hero{background-image:url(images/hero-day.webp)}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,20,0) 30%,rgba(8,12,20,.45) 62%,rgba(8,12,20,.6) 100%)}
.hero-copy{text-shadow:0 2px 18px rgba(0,0,0,.55)}
@media (max-width:900px){
.pd.night .hero{background-image:url(images/hero-night-900.webp)}
.pd.day .hero{background-image:url(images/hero-day-900.webp)}
.hero{background-position:22% top}
.hero-scrim{background:rgba(8,12,20,.55)}
.hero-copy{margin-left:0 !important}
}
.altimeter>span{background:var(--bg);padding:2px 6px;border-radius:3px}

/* Present mode (/present or ?present): one frame per screen, scaled to fit */
.deck-only{display:none}
body.presenting{overflow:hidden}
body.presenting .altimeter,body.presenting .traveler,body.presenting #theme-toggle{display:none !important}
.deck{position:fixed;inset:0;z-index:30;background:var(--bg);color:var(--text);overflow:hidden}
.deck-slide{position:absolute;inset:0;overflow:hidden}
.deck-stage{position:absolute;left:50%;top:50%;width:1280px;transform-origin:center center}
.deck .deck-only{display:flex}
.deck .card-open,.deck [data-close],.deck [data-nav]{display:none !important}
.deck .hero{min-height:900px !important;background-position:40% top !important}
.cue-present{display:none}
.deck .cue-scroll{display:none}
.deck .cue-present{display:inline}
.deck [data-dialog]{max-height:none !important;overflow:visible !important;box-shadow:none !important;margin:0 auto}
.deck section,.deck header{border-top:0 !important}
.deck-progress{position:absolute;left:0;top:0;height:4px;background:var(--accent);transition:width .25s;z-index:2}
.deck-bar{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:4px;align-items:center;padding:4px 6px;border-radius:999px;background:var(--panel);border:1px solid var(--line-2);color:var(--text);opacity:0;transition:opacity .25s;z-index:2;font-family:'JetBrains Mono', 'JetBrains Mono Local',Menlo,monospace;font-size:13px}
.deck:hover .deck-bar,.deck-bar:focus-within,.deck.show-bar .deck-bar{opacity:1}
.deck-bar button,.deck-bar a{min-width:44px;height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:none}
.deck-bar button:hover,.deck-bar a:hover{background:var(--panel-2)}
.deck-count{padding:0 8px;letter-spacing:.08em;white-space:nowrap}
.deck-tag{position:absolute;top:18px;left:20px;z-index:2;font-family:'JetBrains Mono', 'JetBrains Mono Local',Menlo,monospace;font-size:12px;letter-spacing:.16em;color:var(--muted)}
.deck-blank{position:fixed;inset:0;background:#000;z-index:40}

/* Subtle "Present" button beside the theme toggle */
.present-link{opacity:.75;transition:opacity .2s}
.present-link:hover,.present-link:focus-visible{opacity:1}
body.presenting .present-link{display:none !important}
@media (max-width:820px){.present-link{display:none !important}}
