@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Manrope:wght@400;600;700&display=swap');
:root{color-scheme:dark;--gold:#e9bf7c;--ink:#091416}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#213833,transparent 70%),#091113;color:#e8e8db;font:14px Manrope,system-ui}header,main,footer{max-width:1440px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:28px 34px;border-bottom:1px solid #d9bd7025}a{color:var(--gold);text-decoration:none}header a{font:26px Georgia;letter-spacing:5px}header span{display:block;font:9px Manrope;letter-spacing:2px;margin-top:7px}header small{font-size:10px;color:#96aaa3;letter-spacing:2px}main{padding:26px 34px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:700}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}h1{font-size:58px;margin:6px 0}h2{font-size:36px;margin:8px 0}.intro p:not(.eyebrow){color:#aabbb4}.note{font-size:12px;line-height:1.9}.shell{border:1px solid #bda46944;border-radius:18px;overflow:hidden;background:#0c191b;box-shadow:0 25px 90px #0008}nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px}nav b{font-size:10px;letter-spacing:2px;color:#d7bd8f}button{font:600 12px Manrope,system-ui;border:1px solid #b4bea42b;border-radius:7px;background:#1c2e30;color:#e9ebdf;padding:11px 15px;cursor:pointer}button:hover{background:#314442}button:focus-visible{outline:2px solid #f5c77b;outline-offset:2px}.stage{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0c2025}canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.hud{position:absolute;inset:20px 22px auto;display:flex;justify-content:space-between;gap:8px;pointer-events:none;font-size:11px;text-shadow:0 2px 5px #000}.hud span{background:#08191bd9;border:1px solid #e7cc8c22;padding:9px 12px;border-radius:6px}#health{color:#e8bb80}#charge{color:#9de3ce}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(90deg,#041014e8,#071416b3,#041014d9);padding:28px}.overlay h2{font-size:clamp(30px,5vw,70px);line-height:1.04}.overlay p:not(.eyebrow){max-width:490px;line-height:1.8;color:#c0cdc4}.overlay button{background:linear-gradient(135deg,#efd6a6,#bc9258);color:#1d261f;padding:15px 27px;margin:15px}.overlay small{font-size:10px;color:#a4b4aa}.overlay[hidden]{display:none}#toast{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);max-width:85%;padding:10px 17px;background:#102326ed;border:1px solid #cfb27a55;border-radius:8px;text-align:center;pointer-events:none;font-size:12px;line-height:1.5}#toast:empty{display:none}.touch{display:flex;justify-content:space-between;padding:12px;gap:8px;background:#0e1d20}.touch>div{display:flex;gap:7px}.touch button{touch-action:none;min-height:48px;min-width:48px;user-select:none}.help{text-align:center;font-size:11px;color:#a5b5ad;margin:4px 10px 14px}.below{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:44px 0}.below p{line-height:1.9;color:#aebfb5}footer{padding:22px 34px;font-size:10px;color:#8b9f95}.full{position:fixed;inset:0;z-index:10;border-radius:0;display:flex;flex-direction:column;justify-content:center;background:#060e10}.full .stage{max-height:calc(100dvh - 150px);aspect-ratio:auto;flex:1}.full canvas{object-fit:contain}@media(max-width:650px){header{padding:20px}header small,.note{display:none}main{padding:18px 12px}h1{font-size:42px}.intro{margin-bottom:18px}nav{padding:10px;flex-wrap:wrap}nav>div{display:flex;gap:5px}nav button{padding:8px 10px}.stage{aspect-ratio:4/3}.hud{inset:8px;font-size:9px}.hud span{padding:5px}.hud #objective{max-width:45%;text-align:center}.overlay{padding:16px}.overlay p:not(.eyebrow){font-size:11px;line-height:1.5;margin:6px 0}.overlay button{margin:7px;padding:10px 18px}.overlay small{font-size:8px}.touch{padding:8px;gap:5px}.touch>div{gap:4px}.touch button{padding:7px;min-width:35px;font-size:10px}#toast{font-size:10px;bottom:9px;padding:7px 10px;width:85%}.below{grid-template-columns:1fr;gap:20px}.help{line-height:1.7}footer{padding:18px}}

nav>div{display:flex;flex-wrap:wrap;gap:5px}#chapter-two{border-color:#ac927b88;color:#f4d7a5}
/* HUD labels must never stretch down over the playable scene. */
.hud{align-items:flex-start;bottom:auto}.hud span{align-self:flex-start}
@media(max-width:650px){.hud{inset:8px 8px auto}}
.shell{border-color:#81c8b34d;box-shadow:0 25px 90px #0008,0 0 50px #73c9bc0b}nav{background:#0b1c20}nav button{border-radius:20px}#chapter{color:#bfe8d7}.intro h1{color:#f0e3ca}.stage{background:#153c48}

/* Zeebra Quest expedition menu */
.journey{margin:10px 0 30px}.journey-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.journey-heading h1{font-size:clamp(38px,4.5vw,64px);line-height:1.05;color:#f1e6cf}.journey-subtitle{color:#a9beb6;line-height:1.7}.continue-panel{padding:22px 26px;border:1px solid #dec58a45;border-radius:14px;background:linear-gradient(130deg,#213c36,#112329);min-width:280px}.continue-panel p{color:#d2dacb;font-size:12px}.continue-panel small{display:block;color:#a7beb3;margin-top:12px}#continue-journey{background:linear-gradient(120deg,#f0d9ad,#d4ac70);color:#122825;font-size:14px;min-height:46px;width:100%;border:0}.chapter-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.chapter-card{position:relative;overflow:hidden;border:1px solid #a3c9b83b;border-radius:16px;background:#102226;box-shadow:0 16px 36px #0003}.chapter-art{height:185px;background:linear-gradient(0deg,#102226,transparent 80%),var(--chapter-art) center 38%/cover}.chapter-card:nth-child(2) .chapter-art{background-position:center,center 48%}.chapter-body{padding:0 22px 22px;position:relative}.chapter-meta{display:flex;justify-content:space-between;gap:10px;color:#b3cbbb;font-size:9px;letter-spacing:1px}.chapter-meta span:first-child{color:var(--gold)}.chapter-card h3{font:500 31px 'Cormorant Garamond',Georgia;margin:18px 0 8px;color:#f3e9d3}.chapter-body>p{color:#9db8af;font-size:12px;min-height:32px}.fragment-track{display:flex;gap:9px;margin:22px 0 10px}.fragment{color:#546d68;font-size:21px}.fragment.found{color:#f8d595;text-shadow:0 0 15px #ffc969aa}.chapter-stats{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#aac0b7;margin-bottom:20px}.chapter-card button{width:100%;min-height:44px;background:#203c3c;border-color:#c3d5b93b}.chapter-card.complete{border-color:#d6bd7880}.chapter-card.complete .chapter-meta span:last-child{color:#ead09a}.sync-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:11px;color:#adc1b7}.sync-bar>div{display:flex;gap:16px;align-items:center}.progress-note{font-size:11px;line-height:1.8;color:#839c92}.shell{scroll-margin-top:12px}button:disabled{opacity:.5;cursor:wait}@media(max-width:800px){.journey-heading{align-items:stretch;flex-direction:column;gap:18px}.continue-panel{min-width:0}.chapter-cards{grid-template-columns:1fr}.chapter-card{display:grid;grid-template-columns:30% 1fr}.chapter-art{height:100%;min-height:245px;background:linear-gradient(90deg,transparent,#102226),var(--chapter-art) center/cover}.chapter-body{padding:18px 16px}.chapter-card h3{font-size:28px}.chapter-meta{flex-direction:column;gap:7px}.fragment-track{margin-top:14px;gap:6px}.sync-bar{align-items:flex-start;flex-direction:column}.chapter-stats{flex-wrap:wrap}.journey-heading h1{font-size:42px}.sync-bar>div{flex-wrap:wrap}.progress-note{margin-top:18px}}@media(prefers-reduced-motion:no-preference){.chapter-card{transition:border-color .2s,transform .2s}.chapter-card:hover{transform:translateY(-3px);border-color:#dec58a88}}

.audio-settings{padding:14px 18px;border-top:1px solid #c9d4ad22;color:#b9ccc0;font-size:12px}.audio-settings summary{cursor:pointer}.audio-settings label{display:inline-flex;gap:12px;align-items:center;margin:15px 25px 10px 0}.audio-settings input{accent-color:#c9b57b;max-width:160px}.audio-settings p{line-height:1.7;max-width:760px}

.touch{align-items:center;padding:14px max(14px,env(safe-area-inset-right));gap:16px}.touch .move-pad{gap:8px}.touch .move-pad button{width:58px;height:62px;font-size:23px}.touch .aim-pad{display:flex}.touch #aim{width:76px;height:76px;border-radius:50%;position:relative;background:radial-gradient(circle,#355650,#142a2e 70%);border:1px solid #b6d7c565;overflow:hidden}.aim-arrow{position:absolute;inset:8px 0 0;font-size:24px;color:#e6c891;transform:rotate(var(--aim-angle,1.57rad));pointer-events:none}.aim-knob{position:absolute;width:20px;height:20px;border:1px solid #d6d8b7;border-radius:50%;top:27px;left:27px;background:#98b7aa99;transform:translate(var(--knob-x,0px),var(--knob-y,0px));pointer-events:none}#aim small{position:absolute;bottom:6px;left:0;right:0;font-size:8px;letter-spacing:2px;pointer-events:none}.touch .action-pad{display:grid;grid-template-columns:repeat(2,minmax(62px,1fr));gap:6px}.action-pad button{min-height:44px}.action-pad .jump-button{grid-column:1/-1;background:#31534c;border-color:#83bba0;color:#e3f5de}.touch button.is-held{background:#587765;border-color:#e6d8a8;box-shadow:inset 0 0 0 2px #c5deb344}.touch button.ready{border-color:#d0b576;color:#ffe3ab}.touch button:disabled{opacity:.5;cursor:default}.touch-hint{font-size:10px;color:#9ab2a5;text-align:center;margin:0 12px 12px;line-height:1.7}.full .stage{max-height:calc(100dvh - 240px)}@media(max-width:650px){.touch{gap:10px;padding:10px 8px}.touch .move-pad{gap:5px}.touch .move-pad button{width:44px;min-width:44px;height:58px;font-size:20px}.touch #aim{width:64px;height:64px;min-width:64px}.aim-knob{top:21px;left:21px}.touch .action-pad{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));max-width:170px}.action-pad button{font-size:10px;min-width:0;padding:6px}.touch-hint{font-size:9px}.full .stage{max-height:calc(100dvh - 250px)}}

.downloads{margin:60px 0;padding:30px;border:1px solid #8cc7c033;border-radius:20px;background:linear-gradient(135deg,#12252f,#07141c)}.downloads h2{font:500 42px Georgia;color:#eee1c8;margin:14px 0}.downloads>p{color:#adc4c5}.download-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:26px 0}.download-grid a{overflow:hidden;border-radius:12px;border:1px solid #abcbd533;text-decoration:none;background:#10232c}.download-grid img{width:100%;height:300px;object-fit:cover;display:block}.download-grid a:first-child img{object-position:center 63%}.download-grid span{display:block;padding:18px;color:#eddfc6}.download-grid small{display:block;color:#91b2b6;font:11px system-ui;margin-top:8px}.download-pack{display:inline-block;padding:14px 20px;border:1px solid #cfb67888;border-radius:24px;color:#f1d7a4}.full .audio-settings,.full .help,.full .touch-hint{display:none}.full .stage{max-height:none;min-height:0}.full nav{flex-shrink:0}.full .touch{flex-shrink:0}@media(max-width:650px){.downloads{padding:20px}.download-grid{grid-template-columns:1fr}.download-grid img{height:260px}}@media(max-height:500px) and (orientation:landscape){.full nav{padding:4px 8px}.full nav button{padding:4px 7px;font-size:10px}.full #chapter{display:none}.full .touch{padding:4px 10px}.full .touch .move-pad button{height:46px}.full .touch #aim{width:60px;height:60px}.full .aim-knob{top:19px;left:19px}.full .action-pad{display:flex}.full .action-pad button{min-width:70px}.full .overlay h2{font-size:25px}.full .overlay small,.full .overlay .eyebrow{display:none}}

.full .stage{background:#071118}.full canvas{background:#071118}

/* The profile remains in the chapter menu, never over gameplay controls. */
body:has(.shell.full) > .sz-player-button{display:none!important}

.victory-seal{display:none}.overlay.victory{overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#32655cdd,#06121af5 75%)}.victory .victory-seal{display:block;color:#f9e8aa;font-size:70px;line-height:1;text-shadow:0 0 45px #9fffd4}.overlay.victory h2{color:#f2e5c6}.overlay.victory:before{content:'';position:absolute;inset:-30%;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 40%,transparent 0deg 21deg,#bef9dc09 22deg 24deg,transparent 25deg 45deg);animation:refuge-light 35s linear infinite}.overlay.victory>*{position:relative}.overlay #victory-chapters{background:transparent;border-color:#9acdbb66;color:#d4ecdf;margin:3px;padding:10px 20px}.overlay [hidden]{display:none!important}@keyframes refuge-light{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.overlay.victory:before{animation:none}}@media(max-height:500px){.victory .victory-seal{font-size:32px}.overlay.victory h2{font-size:30px;margin:6px}.overlay.victory p{margin:4px;font-size:11px}.overlay #victory-chapters{padding:6px 12px}}

@media(max-width:650px){.victory .victory-seal{font-size:30px}.overlay.victory h2{font-size:27px;margin:5px}.overlay.victory .eyebrow{display:none}.overlay.victory small{display:none}.overlay.victory p{font-size:10px;line-height:1.4}.overlay.victory button{padding:8px 12px;margin:4px}}

#warden-echo{max-width:490px;margin:12px 20px;color:#c5dace;font:italic 18px/1.5 Georgia;border-left:1px solid #b6d5b94d;padding-left:16px}#warden-echo span{display:block;color:#bcae87;font:9px system-ui;letter-spacing:2px;text-transform:uppercase;margin-bottom:7px}.victory .victory-seal{font-size:35px}.overlay.victory h2{margin:12px 0}.overlay.victory p{margin:8px 0}.overlay.victory>small{display:none}@media(max-width:650px),(max-height:500px){#warden-echo{font-size:12px;line-height:1.35;margin:6px 14px}.overlay.victory h2{font-size:26px;margin:5px}.victory .victory-seal{display:none}.overlay.victory button{padding:7px 12px;margin:3px}.overlay.victory p{font-size:10px;line-height:1.4;margin:4px}.overlay.victory .eyebrow{display:none}}

/* Directional controls: two thumb zones, no aiming stick. */
.touch{justify-content:space-between;gap:20px}.move-pad{flex-shrink:0}.action-pad{margin-left:auto}.touch .action-pad button{min-height:48px}.touch .jump-button{min-height:56px}
@media(max-width:650px){.touch{gap:12px;padding:10px}.move-pad button{min-width:52px;min-height:62px}.action-pad{flex:1;max-width:230px}.action-pad button{font-size:12px;min-width:0}.touch .jump-button{min-height:58px}}

/* Keep the stage and both thumb zones together during a mobile run. */
@media(max-width:650px){.shell.playing nav{padding:7px 10px;gap:6px}.shell.playing #chapter{display:none}.shell.playing nav>div{display:flex;gap:5px}.shell.playing #chapter-one,.shell.playing #chapter-two,.shell.playing #chapter-three,.shell.playing #weather,.shell.playing #restart{display:none}.shell.playing nav button{padding:8px 9px}.shell.playing .touch-hint{margin-bottom:5px}}

.chapter-cards{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1050px){.chapter-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.chapter-cards{grid-template-columns:1fr}.shell.playing #chapter-four{display:none}}

/* Thumb movement may slide between arrows without releasing the screen. */
.touch button{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch .is-held{background:#516b61;border-color:#eddb9a;box-shadow:inset 0 0 0 2px #e8e1b433;transform:translateY(1px)}.touch button.ready{border-color:#c0edb2;box-shadow:0 0 16px #a3e8b52a}.full .touch{padding-bottom:max(10px,env(safe-area-inset-bottom))}@media(max-width:650px){.move-pad{gap:5px}.move-pad button{min-width:60px!important}.touch .jump-button{min-height:64px}}

#ending-lights{display:flex;gap:25px;margin:12px 0}#ending-lights span{display:grid;place-items:center;width:32px;height:40px;border:1px solid #ccb480;border-radius:16px 16px 5px 5px;color:#f9e3ad;background:#c9a65922;box-shadow:0 0 25px #d7eaaa35}#ending-lights span:nth-child(2){box-shadow:0 0 25px #91d5b955}#ending-lights span:nth-child(3){box-shadow:0 0 25px #b4db9955}#ending-lights span:nth-child(4){box-shadow:0 0 25px #a5d4df55}@media(max-width:650px),(max-height:500px){#ending-lights{gap:16px;margin:5px 0}#ending-lights span{width:22px;height:27px;font-size:11px}}
