@font-face{font-family:CloudSerif;src:url('./fonts/CormorantGaramond.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:GardenSans;src:url('./fonts/NunitoSans.ttf') format('truetype');font-weight:200 900;font-display:swap}
:root{--bg:#edf1e8;--fg:#23463d;--sky:#cfdfd6;--hud:#23463d;--hud-night:#f5f1e7;--panel:#f5f1e7;--focus:#ae793f;--share-bg:#f5f1e7;--g-body:#d4a25e;--g-dark:#a9763d;--g-spot:#a26b37;--g-light:#f6ddb1;--muted:#677d71;--line:#23463d26;--paper:#f8f5eaf2;--gold:#c9964b}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0}body{height:100dvh;background:var(--bg);color:var(--fg);font-family:GardenSans,sans-serif;overflow:hidden;overscroll-behavior:none}button,a,canvas{-webkit-touch-callout:none}#wrap{position:relative;width:100%;height:100%;touch-action:none;overflow:hidden}canvas{display:block}#cv{width:100%;height:100%;outline:none;user-select:none}[hidden]{display:none!important}button,a{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:5px}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#hud{position:absolute;inset:0 0 auto;z-index:4;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:32px 48px;pointer-events:none}.wordmark{pointer-events:auto;display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--fg);font-size:11px;font-weight:800;letter-spacing:.13em;line-height:1.4;width:fit-content}.wordmark-symbol{font-size:33px;font-weight:400;line-height:1}.wordmark small{display:block;font-size:8px;font-weight:600;letter-spacing:.19em;opacity:.66;margin-top:5px}.eyebrow{font-size:10px;font-weight:700;line-height:1.4;letter-spacing:.18em}.altitude{text-align:center;transition:opacity .2s}.altitude .eyebrow{font-size:8px}.altitude #len{font-family:CloudSerif,serif;font-size:42px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums;margin-top:1px}.toolbar{justify-self:end;display:flex;gap:10px;pointer-events:auto}.utility{min-width:44px;min-height:44px;border:1px solid var(--line);background:#f5f1e766;backdrop-filter:blur(12px);border-radius:50px;padding:10px 15px;color:var(--fg);display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;transition:background .2s}.utility:hover{background:#fff9}.icon-only{padding:11px}.utility[aria-pressed=true]{opacity:.65}.utility[aria-pressed=true] svg{opacity:.45}.wordmark:hover{opacity:.75}body[data-phase=title] .altitude{opacity:0}
.overlay{position:absolute;inset:0;z-index:2;overflow-y:auto;overscroll-behavior:contain;padding:100px 24px 30px;display:flex}.overlay>.inner{margin:auto}.intro{padding:0;pointer-events:none;overflow:hidden;background:linear-gradient(90deg,#f5f1e745,transparent 60%)}.intro>.intro-copy{margin:0;position:absolute;left:clamp(40px,8vw,140px);top:50%;transform:translateY(-48%);width:420px;max-width:41vw;align-items:flex-start}.edition{display:flex;align-items:center;gap:10px;margin:0 0 25px;font-size:9px;letter-spacing:.15em}.edition span{width:24px;height:1px;background:var(--fg)}h1{font-family:CloudSerif,serif;font-size:clamp(68px,6.3vw,108px);font-weight:500;letter-spacing:-.05em;line-height:.9;margin:0 0 26px}h1 em{font-weight:500}.description{font-size:15px;line-height:1.8;color:#526c5f;margin:0 0 29px}.primary{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:54px;min-width:194px;padding:15px 22px;border:1px solid #23463d;background:#23463d;color:#faf7eb;border-radius:6px;font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 7px 18px #23463d16;transition:transform .2s,background .2s;touch-action:manipulation;pointer-events:auto}.primary:hover{transform:translateY(-2px);background:#315749}.primary:active{transform:translateY(0)}.button-arrow{font-size:23px;font-weight:400;line-height:1}.secondary{min-height:44px;border:0;background:transparent;color:var(--fg);padding:10px 2px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;font-weight:700;cursor:pointer;touch-action:manipulation}.secondary:hover{color:#a26b37}.instructions{margin-top:23px;display:flex;gap:13px;align-items:center}.instructions p{font-size:10px;line-height:1.8;margin:0;color:#466454}.instructions p span{color:#7c8b7e}.control-icon{font-size:22px;line-height:1;padding:7px 10px;border:1px solid var(--line);border-radius:8px}.instructions b{font-weight:600}.scene-label{position:absolute;bottom:34px;left:48px;right:48px;display:flex;justify-content:space-between;font-size:8px;font-weight:700;letter-spacing:.17em;color:#496653}
#journeyHud{position:absolute;z-index:1;left:48px;bottom:76px;width:228px;padding:21px 22px;background:#f8f5eacb;border:1px solid #fff9;border-radius:12px;box-shadow:0 8px 30px #315c3f0a;backdrop-filter:blur(18px)}#journeyHud>.eyebrow{font-size:8px;color:var(--muted)}.energy-heading{display:flex;justify-content:space-between;align-items:center;margin:17px 0 9px;font-size:11px;font-weight:700}.energy-track{height:5px;border-radius:5px;background:#23463d15;overflow:hidden}.energy-track span{display:block;height:100%;width:100%;border-radius:5px;background:#527b57;transition:width .12s linear,background .3s}#journeyHud p{font-size:9px;color:var(--muted);margin:12px 0 0}#powerBadge{display:flex;gap:7px;align-items:center;font-size:10px;color:#a47631;margin-top:15px}#powerBadge b{margin-left:auto}.play-hint{position:absolute;bottom:29px;left:0;right:0;text-align:center;z-index:1;letter-spacing:.17em;font-size:8px;font-weight:700;opacity:.6;pointer-events:none}.play-hint span{padding:0 12px}
.result,.modal{background:#dfe7dc66;backdrop-filter:blur(12px);z-index:5}.result-card{display:grid;grid-template-columns:1.2fr 1fr;width:min(780px,100%);background:var(--paper);border:1px solid #fff;border-radius:22px;box-shadow:0 25px 90px #23463d21;overflow:hidden}.result-copy{padding:46px 44px}.result-copy>.eyebrow{font-size:8px;color:var(--muted);margin:0 0 20px}h2{font-family:CloudSerif,serif;font-size:47px;line-height:1.04;letter-spacing:-.035em;font-weight:500;margin:0 0 14px}.score{font-family:CloudSerif,serif;font-size:74px;font-weight:500;letter-spacing:-.045em;line-height:1.05;margin:16px 0;color:#aa783d}.result-copy>p:not(.eyebrow){font-size:11px;line-height:1.8;color:var(--muted)}.result-details{display:flex;gap:27px;border-block:1px solid var(--line);padding:20px 0;margin:24px 0}.result-details>div{display:flex;flex-direction:column;gap:7px}.result-details span{font-size:7px;letter-spacing:.14em;font-weight:800;color:var(--muted)}.result-details b{font-size:15px;font-weight:600}.result-copy .primary{width:100%;min-width:0}.result-copy .secondary{width:100%;margin-top:10px}.trail-mount{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:linear-gradient(165deg,#dce7d7,#e5ebdceb);padding:35px 20px}.trail-mount>.eyebrow{font-size:7px;opacity:.7}#trail{width:174px;max-width:100%;height:300px}.trail-caption{font-size:9px;font-style:italic;opacity:.65}#shareMsg{min-height:1em;margin:7px 0 0!important;font-size:9px!important}.small-card{width:min(380px,100%);padding:40px 35px;background:var(--paper);border:1px solid #fff;border-radius:20px;box-shadow:0 20px 70px #23463d20;text-align:center}.small-card h2{font-size:42px}.small-card p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:27px}.small-card .primary{width:100%;min-width:0}.pause-flower{display:block;font-size:45px;margin:0 0 20px;color:#a57c46}.small-card>.eyebrow{font-size:8px;color:var(--muted);margin-bottom:13px}.share-card{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(430px,100%);background:var(--paper);border:1px solid #fff;border-radius:18px;padding:23px;text-align:center}.share-card>.eyebrow{font-size:8px;margin:0}.share-card img{max-width:100%;max-height:60dvh;display:block;border-radius:6px;-webkit-touch-callout:default;user-select:auto;box-shadow:0 7px 25px #23463d15}.share-card p:not(.eyebrow){font-size:11px;color:var(--muted);margin:0}.share-actions{display:flex;align-items:center;gap:20px;width:100%}.share-actions .primary{min-width:0;flex:1}.share-actions .secondary{padding-inline:8px}
@media(min-width:1100px){.result-card{min-height:520px}}
@media(max-width:800px){#hud{padding:22px 24px}.intro>.intro-copy{left:30px;top:19%;transform:none;max-width:85%;width:auto}.intro h1{font-size:70px;margin-bottom:18px}.edition{font-size:7px;gap:8px;margin-bottom:22px}.description{font-size:12px;line-height:1.7;margin-bottom:20px}.intro .primary{min-width:172px;min-height:49px;padding:12px 18px}.instructions{margin-top:17px}.instructions p{font-size:9px}.control-icon{font-size:18px}.scene-label{bottom:22px;left:24px;right:24px;font-size:6px}.scene-label span:last-child{display:none}.wordmark{font-size:9px;gap:9px}.wordmark-symbol{font-size:27px}.wordmark small{font-size:6px;letter-spacing:.1em}.utility{min-height:44px;padding:10px 12px}.utility #soundLabel{display:none}.toolbar{gap:7px}.altitude .eyebrow{font-size:6px}.altitude #len{font-size:31px}.play-hint{bottom:17px;font-size:6px;letter-spacing:.1em}.play-hint span{padding:0 7px}#journeyHud{left:18px;bottom:42px;padding:13px 15px;width:190px}.energy-heading{margin-top:10px;font-size:10px}#journeyHud p{font-size:8px;margin-top:8px}#journeyHud>.eyebrow{font-size:7px}.overlay:not(.intro){padding:84px 16px 20px}.result-card{grid-template-columns:1fr 155px;border-radius:16px}.result-copy{padding:25px 20px}.result-copy h2{font-size:34px}.score{font-size:53px}.result-copy>.eyebrow{font-size:6px;letter-spacing:.14em;margin-bottom:15px}.result-details{gap:15px;margin:16px 0;padding:15px 0}.result-details span{font-size:6px;letter-spacing:.05em}.result-details b{font-size:12px}.result-copy .primary{padding:12px 14px;font-size:11px}.result-copy .secondary{font-size:9px}.result-copy>p:not(.eyebrow){font-size:9px}.trail-mount{padding:20px 8px;gap:10px}.trail-mount>.eyebrow{font-size:5px;letter-spacing:.05em}#trail{width:126px}.trail-caption{font-size:6px}.small-card{padding:30px}.small-card h2{font-size:38px}}
@media(max-width:450px){.intro h1{font-size:62px}.intro>.intro-copy{top:18%;left:26px}.intro .instructions{max-width:210px}.intro .description{max-width:225px}.result-card{grid-template-columns:1fr 124px}.result-copy{padding:25px 17px}.result-copy h2{font-size:30px}.score{font-size:47px}.result-details{gap:11px}.trail-mount{padding-inline:6px}#trail{width:105px}.trail-caption{max-width:100px;text-align:center}}
@media(max-width:350px){#hud{padding:18px 17px}.wordmark small{display:none}.intro>.intro-copy{left:22px;top:17%}.intro h1{font-size:52px;margin-bottom:14px}.edition{font-size:6px;margin-bottom:17px}.description{font-size:11px}.intro .primary{min-height:46px;min-width:160px}.instructions{margin-top:13px}.intro .instructions p{font-size:8px}.scene-label{left:18px;font-size:5px}.result-card{grid-template-columns:1fr 100px}.result-copy{padding:23px 13px}.result-copy h2{font-size:28px}.score{font-size:42px}.result-details{gap:9px}.result-details span{font-size:5px}.result-details b{font-size:10px}#trail{width:85px}.result-copy .primary{font-size:10px;padding:12px}.result-copy .secondary{font-size:8px}.trail-mount>.eyebrow{font-size:4px}}
@media(max-height:520px) and (min-width:600px){#hud{padding:15px 24px}.intro>.intro-copy{top:52%;left:7%;max-width:45%}.edition{margin-bottom:10px;font-size:6px}.intro h1{font-size:52px;margin-bottom:12px}.description{font-size:10px;line-height:1.55;margin-bottom:14px}.intro .primary{min-height:44px;padding:10px 16px;min-width:160px}.instructions{display:none}.scene-label{bottom:13px;font-size:5px}.overlay:not(.intro){padding:75px 20px 20px}.result-card{width:620px}.result-copy{padding:25px 30px}#journeyHud{bottom:38px;left:24px;padding:12px 16px}.play-hint{bottom:14px}.small-card{padding:23px}.pause-flower{font-size:32px;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.mobile-control{display:none}.desktop-control{color:#466454!important}@media(max-width:800px){.desktop-control{display:none}.mobile-control{display:inline;color:#466454!important}}

@media(max-width:600px){#journeyHud{left:auto;right:18px;width:min(150px,40vw);padding:13px 14px}#journeyHud p{font-size:7px;line-height:1.6}#journeyHud>.eyebrow{font-size:6px;letter-spacing:.1em}.energy-heading{font-size:9px}}

#len{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 4px;max-width:240px}#lenValue{overflow-wrap:anywhere}#lenUnit{font:600 13px GardenSans,sans-serif;letter-spacing:0;max-width:100px;line-height:1.2}.score{overflow-wrap:anywhere}
@media(max-width:800px){#len{max-width:130px}#lenUnit{font-size:10px;max-width:70px}body:not([data-phase=title]) .wordmark span:last-child{display:none}}
