/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./vendor/fonts/cormorant-garamond-latin.5d618c462b7a.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./vendor/fonts/cormorant-garamond-latin.5d618c462b7a.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./vendor/fonts/cormorant-garamond-latin.5d618c462b7a.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./vendor/fonts/dm-sans-latin.468d56b6b25b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./vendor/fonts/dm-sans-latin.468d56b6b25b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./vendor/fonts/dm-sans-latin.468d56b6b25b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./vendor/fonts/dm-sans-latin.468d56b6b25b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(./vendor/fonts/noto-serif-devanagari-devanagari.7548aaa2bf4a.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(./vendor/fonts/noto-serif-devanagari-latin.ac958074a6e5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(./vendor/fonts/noto-serif-devanagari-devanagari.7548aaa2bf4a.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(./vendor/fonts/noto-serif-devanagari-latin.ac958074a6e5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{color-scheme:dark;--ink:#f3efdc;--muted:#b8c8bd;--gold:#e8c47b;--green:#b5e2ad;--panel:#102c2a;--line:#c6d0a52b;font-family:'DM Sans',sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0c2427;color:var(--ink)}button,a,input,select{touch-action:manipulation}button,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--green);outline-offset:4px}[hidden]{display:none!important}#game{height:100dvh;position:relative;overflow:hidden}#scene{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#061d28bf,transparent 75%),linear-gradient(0deg,#061d285e,transparent 45%)}header{position:absolute;z-index:20;top:0;left:0;right:0;padding:calc(22px + env(safe-area-inset-top)) max(32px,env(safe-area-inset-right)) 15px max(32px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;gap:12px;color:var(--ink);text-decoration:none;align-items:center;font-size:11px;letter-spacing:2px}.brand b{font:32px 'Noto Serif Devanagari',serif;color:var(--gold)}.brand small{display:block;font-size:8px;margin-top:5px;color:var(--muted);letter-spacing:1.4px}.header-actions{display:flex;gap:14px;align-items:center}.header-actions button{background:#092226c9;border:1px solid var(--line);border-radius:25px;min-height:42px;padding:0 14px;font-size:12px}.volume{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.volume input{width:65px;accent-color:var(--gold)}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;margin:0;line-height:1.03}h1{font-size:clamp(64px,6.5vw,100px);letter-spacing:-3px}h2{font-size:clamp(30px,4vw,54px)}em{color:var(--gold);font-weight:400}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;color:var(--gold);line-height:1.6}.opening{position:absolute;top:50%;left:7%;transform:translateY(-45%);width:550px;max-height:calc(100dvh - 120px);overflow-y:auto;padding:5px 10px 8px 0}.opening .dev{font:22px 'Noto Serif Devanagari',serif;color:var(--gold);margin:19px 0}.intro{font-size:15px;line-height:1.7;color:#d9e1d9}.opening label{display:block;text-transform:uppercase;font-size:9px;letter-spacing:1.8px;margin:20px 0 8px;color:var(--muted)}select{display:block;background:#102d2bed;border:1px solid #c6d0a555;border-radius:5px;padding:12px;color:var(--ink);width:100%;max-width:370px}.detail{font-size:11px;line-height:1.6;color:var(--muted);max-width:365px;margin:8px 0}.primary{background:var(--gold);border:1px solid var(--gold);color:#19312b;border-radius:4px;padding:15px 23px;min-height:48px;font-size:13px;font-weight:700;letter-spacing:.3px}.primary:hover{background:#f3d597}.text-button{border:0;background:none;color:var(--muted);text-decoration:none;font-size:12px;padding:12px;display:inline-block;line-height:1.5}.text-button:hover{color:var(--gold)}.opening .primary{margin-top:12px;min-width:260px}.opening>.text-button{padding-left:0}.chapter-tease{display:flex;gap:26px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px;font-size:9px;letter-spacing:1.5px;color:var(--muted)}#hud{position:absolute;top:96px;left:32px;right:32px;display:flex;justify-content:space-between;pointer-events:none}#hud h2{font-size:30px}.hud-stats{text-align:right;padding-top:12px}#timer{display:block;color:var(--gold);font-size:20px;font-variant-numeric:tabular-nums}.hud-stats small{font-size:10px;color:var(--muted)}.route{height:2px;position:absolute;top:85px;left:0;right:0;background:#ffffff25}.route i{display:block;height:100%;background:var(--gold);width:0}.story{position:absolute;z-index:25;left:50%;top:53%;transform:translate(-50%,-50%);width:min(960px,90vw);max-height:calc(100dvh - 145px);overflow:auto;background:#0e2929;box-shadow:0 25px 100px #0009;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:1.3fr 1fr}.story img{width:100%;height:100%;min-height:350px;object-fit:cover;object-position:center top}.story-copy{padding:34px 30px;align-self:center}.story-copy h2{font-size:42px}.story-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#d4ded3}.story-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:22px}.task{position:absolute;left:7%;bottom:12%;width:370px;padding:25px;background:linear-gradient(130deg,#0c272aec,#163b32d9);border:1px solid var(--line);border-radius:6px;box-shadow:0 15px 65px #0004}.task h2{font-size:38px}.task>p:not(.eyebrow){font-size:13px;line-height:1.7;color:#d4ded3}.meter{margin-top:14px;height:5px;background:#ffffff25;border-radius:5px;overflow:hidden}.meter i{display:block;width:0;height:100%;background:var(--green)}#herb-dots{color:var(--green);font-size:22px;letter-spacing:10px;margin:8px 0}#notice{position:absolute;z-index:28;left:50%;bottom:170px;transform:translateX(-50%);max-width:90%;width:max-content;background:#0b272aed;border:1px solid #d3bd7766;border-radius:6px;padding:13px 20px;font-size:13px;text-align:center;color:#ecdfbd;pointer-events:none}#controls{position:absolute;z-index:15;bottom:calc(38px + env(safe-area-inset-bottom));left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.control-group{display:flex;gap:10px}#controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;width:62px;height:62px;border:1px solid #d8e6cf55;background:#102d2bd9;border-radius:12px;font-size:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f1e6c6}#controls small{font-size:8px;letter-spacing:.5px;margin-top:4px}#controls button[aria-pressed=true],#action[aria-pressed=true]{background:#487454;border-color:var(--gold);color:white}#action{touch-action:none}#keyboard-help{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted);white-space:nowrap}#balance{position:absolute;left:50%;bottom:124px;transform:translateX(-50%);width:220px;text-align:center;background:#0d292bdc;padding:10px;border:1px solid var(--line);border-radius:6px}#balance>span{font-size:8px;letter-spacing:1.2px}.balance-track{margin:9px 0;height:6px;background:linear-gradient(90deg,#b8664d,#739b6f 30%,#739b6f 70%,#b8664d);position:relative;border-radius:4px}.balance-track i{position:absolute;left:50%;top:-4px;width:4px;height:14px;background:#fff4d5;transform:translateX(-50%);border-radius:2px}#balance small{font-size:9px;color:var(--muted)}.modal{position:absolute;z-index:40;inset:0;background:#061b24c9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:25px}.modal-card{width:490px;max-width:100%;max-height:calc(100dvh - 50px);overflow:auto;background:#112f2f;border:1px solid var(--line);padding:36px;border-radius:8px;box-shadow:0 20px 100px #0005}.modal-card>p{font-size:13px;line-height:1.8;color:#d4ded3}.modal-card>.primary{display:block;width:100%;margin-top:12px}.modal-card>.text-button{display:block;text-align:center;width:100%}.end-card{text-align:center;width:580px}.verse{margin:20px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.verse p[lang=hi]{font:21px/1.8 'Noto Serif Devanagari',serif;color:var(--gold)}.verse small{font-size:12px;color:var(--muted);line-height:1.8}.verse p:last-child{font-size:13px;line-height:1.7}.end-card h2{font-size:48px}dialog{max-width:640px;max-height:85dvh;background:#12302e;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:30px}dialog::backdrop{background:#041820d9}dialog p{font-size:14px;line-height:1.8}dialog a{color:var(--gold)}
@media(max-width:700px){header{padding:calc(13px + env(safe-area-inset-top)) 16px 10px}.brand{font-size:9px;gap:8px;letter-spacing:1px}.brand small{font-size:6px}.brand b{font-size:26px}.header-actions{gap:7px}.header-actions button{padding:0 11px;font-size:10px}.volume{display:flex;font-size:0;gap:0}.volume input{width:42px}.opening{left:7%;width:86%;transform:none;top:100px;max-height:calc(100dvh - 118px)}h1{font-size:66px}.opening .dev{font-size:20px;margin:15px 0}.opening .intro{font-size:13px}.opening label{margin-top:15px}.opening .primary{width:100%}.chapter-tease{gap:16px;font-size:8px}.story{top:52%;max-height:calc(100dvh - 110px);width:92vw;display:flex;flex-direction:column}.story img{height:auto;aspect-ratio:1.5;min-height:0;object-fit:cover}.story-copy{padding:20px 22px}.story-copy h2{font-size:34px}.story-copy>p:not(.eyebrow){font-size:13px;line-height:1.65}.story-actions{margin-top:12px}.story-actions .primary{padding:12px 20px}#hud{top:82px;left:18px;right:18px}#hud h2{font-size:23px}#hud .eyebrow{font-size:8px}#timer{font-size:16px}.hud-stats small{font-size:8px}.route{top:68px}.task{left:5%;bottom:8%;width:90%;padding:20px}.task h2{font-size:30px}.task .primary{width:100%}#controls{left:14px;right:14px;bottom:calc(18px + env(safe-area-inset-bottom));gap:8px}#controls button{width:52px;height:58px}.control-group{gap:7px}#balance-controls{gap:5px}#balance-controls button{width:47px}#keyboard-help{display:none}#balance{bottom:calc(92px + env(safe-area-inset-bottom));width:210px}#notice{bottom:180px;font-size:12px}.modal{padding:16px}.modal-card{padding:25px;max-height:calc(100dvh - 32px)}.end-card h2{font-size:39px}.verse p[lang=hi]{font-size:19px}}
@media(max-height:550px) and (orientation:landscape){header{padding-top:10px}.opening{top:76px;left:6%;transform:none;width:46%;max-height:calc(100dvh - 85px)}.opening h1{font-size:48px}.opening .dev,.chapter-tease,.opening .intro{display:none}.opening label{margin-top:12px}.opening .primary{margin-top:6px}.story{display:grid;grid-template-columns:1fr 1fr;top:55%;max-height:calc(100dvh - 80px)}.story img{height:100%;min-height:240px;aspect-ratio:auto}.story-copy{padding:18px}.story-copy h2{font-size:28px}.story-copy>p:not(.eyebrow){font-size:12px;line-height:1.5}#hud{top:66px}#hud h2{font-size:23px}.route{top:65px}.task{left:5%;bottom:7%;width:42%;padding:16px}.task h2{font-size:26px}.task>p:not(.eyebrow){font-size:12px}#controls{bottom:12px}#balance{bottom:86px}#notice{bottom:130px}#keyboard-help{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media(max-height:550px) and (orientation:landscape){#notice{left:auto;right:18px;top:145px;bottom:auto;transform:none;max-width:200px;font-size:11px;padding:10px 12px}}

/* Keep route status close to the header, leaving the flight view open. */
#hud{top:calc(76px + env(safe-area-inset-top));gap:16px;align-items:flex-start}
#hud>div:first-child{display:flex;align-items:baseline;gap:14px;min-width:0;padding-top:10px}
#hud .eyebrow{font-size:8px;margin:0;white-space:nowrap}
#hud h2{font-size:23px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud-stats{padding-top:8px;flex-shrink:0}
#timer{font-size:15px}
.hud-stats small{font-size:9px}
.route{top:0}
@media(max-width:700px){
 #hud{top:calc(64px + env(safe-area-inset-top));gap:12px}
 #hud>div:first-child{max-width:56%;padding-top:10px}
 #hud .eyebrow{display:none}
 #hud h2{font-size:17px}
 #timer{font-size:13px}
 .hud-stats small{font-size:8px}
 .route{top:0}
}
@media(max-height:550px) and (orientation:landscape){
 #hud{top:calc(56px + env(safe-area-inset-top))}
 #hud .eyebrow{display:none}
 #hud h2{font-size:18px}
 .route{top:0}
}
.hud-stats{line-height:1.2}
.hud-stats small{display:block;margin-top:3px;line-height:1.2}

.hud-stats small.gap-hint{font-size:12px;font-weight:600;color:var(--green)}
@media(max-width:700px){.hud-stats small.gap-hint{font-size:11px}}

/* Keep the steering surface beneath every button, panel and the HUD. */
#drag-zone{position:absolute;z-index:3;inset:35% 0 0;touch-action:none;user-select:none;-webkit-user-select:none}
#drag-help{font-size:12px;color:var(--muted);pointer-events:none;white-space:nowrap}
.dragging #drag-help{color:var(--green)}
.drag-controls #keyboard-help{display:none}
@media(max-width:380px){#drag-help{font-size:11px}}

/* Narrative always reads beneath the illustration, in a solid, separate area. */
.story{display:flex;flex-direction:column;top:calc(84px + env(safe-area-inset-top));transform:translateX(-50%);width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 100px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain}
.story img{display:block;flex:none;width:100%;height:auto;min-height:0;max-height:38dvh;aspect-ratio:auto;object-fit:contain;object-position:center;background:#102c2a}
.story-copy{flex:none;align-self:stretch;width:100%;padding:22px 28px;background:#0e2929}
.story-copy h2{font-size:34px}
.story-copy>p:not(.eyebrow){font-size:15px;line-height:1.7}
#hud{flex-wrap:wrap;row-gap:0}
#hud #notice{position:static;order:3;flex:0 0 100%;transform:none;width:auto;max-width:100%;margin-top:7px;padding:6px 10px;font-size:12px;line-height:1.4;text-align:left;box-shadow:none;pointer-events:none}
@media(max-width:700px){
 .story{top:calc(68px + env(safe-area-inset-top));max-height:calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
 .story-copy{padding:18px 20px}.story-copy h2{font-size:30px}.story-copy>p:not(.eyebrow){font-size:14px}
 #hud #notice{font-size:11px}
}
@media(max-height:550px) and (orientation:landscape){
 .story{top:calc(64px + env(safe-area-inset-top));max-height:calc(100dvh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
 .story img{max-height:32dvh}.story-copy{padding:16px 22px}
}

/* Flight keeps only the clock, pause and journey strip permanently visible. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#audio-controls{display:flex;gap:14px;align-items:center}
#audio-controls button{background:#092226c9;border:1px solid var(--line);border-radius:25px;min-height:44px;padding:0 14px;font:12px 'DM Sans',sans-serif}
#pause-audio:not(:empty){margin:20px 0;display:flex;justify-content:flex-start}
#pause-audio .volume{font-size:12px;gap:8px}
#pause-audio .volume input{width:90px;min-height:44px}
.flight-ui header{justify-content:flex-end;padding:calc(10px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left))}
.flight-ui .brand,.flight-ui #header-audio,.flight-ui #drag-help{display:none}
#pause{min-width:44px;min-height:44px}
#time-display{display:flex;align-items:baseline;gap:6px;white-space:nowrap;--time-color:var(--ink);text-shadow:0 1px 3px #061b24,0 0 8px #061b24}
#time-display #timer{font-size:18px;font-weight:600;line-height:1.2;letter-spacing:0;color:var(--time-color)}
#time-display[data-urgency=low]{--time-color:#ffd184}
#time-display[data-urgency=critical]{--time-color:#ffab9b}
#time-penalty{color:#ffb6a2;font-size:12px;font-weight:700}
#hud{top:calc(64px + env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));gap:0 12px}
#hud>div:first-child{flex:1;padding-top:0;max-width:65%}
#hud h2{font-size:18px;text-shadow:0 1px 4px #061b24}
.hud-stats{padding-top:0;margin-left:auto;text-align:right}
.hud-stats #flight-detail{margin:0;font-size:12px;text-shadow:0 1px 4px #061b24}
.route{position:fixed;top:0;left:0;right:0;height:2px}
#hud #notice{background:none;border:0;padding:0;font-size:12px;text-shadow:0 1px 3px #061b24,0 0 8px #061b24}
@media(max-width:700px){
 #audio-controls{gap:7px}
 #hud h2{font-size:16px}
 .hud-stats #flight-detail{font-size:11px}
 #hud #notice{font-size:11px}
}
