:root{--ink:#0a0a0c;--paper:#f4f0e8;--muted:#d6d0c4;--green:#8fd24d;--gold:#ffc83d;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--paper)}body{font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}body{font-family:Inter,Arial,sans-serif}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{color:inherit}button{cursor:pointer;border:0}a{text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}#experience,#storyStage{position:fixed;inset:0;width:100%;height:100%;height:100dvh;overflow:hidden}#storyStage{isolation:isolate;background:var(--ink)}.cinema,.game-mount,#starCanvas{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0}.cinema{background:#171715}.ambient-film{position:absolute;inset:-6%;background-size:cover;background-position:center;filter:blur(28px);opacity:.4;transform:scale(1.08)}.cinema video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.cinema-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,7,8,.37),transparent 22%,transparent 30%,rgba(7,7,8,.22) 54%,rgba(7,7,8,.83) 100%)}.experience-ui{position:fixed;inset:0 0 auto;z-index:112;height:86px;padding:18px max(25px,env(safe-area-inset-right)) 16px max(25px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none;background:linear-gradient(180deg,rgba(6,6,7,.42),transparent)}.experience-ui>*{pointer-events:auto}.story-brand{display:flex;align-items:center;gap:10px;font-family:Inter,sans-serif;font-size:13px;letter-spacing:.2em;direction:ltr;text-shadow:0 2px 10px #000}.story-brand img{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 2px 6px #000)}.header-actions{display:flex;align-items:center;gap:14px;font-size:11px}.glass-button,.header-return{border:1px solid rgba(244,240,232,.22);border-radius:100px;background:rgba(10,10,12,.36);backdrop-filter:blur(10px);color:var(--paper);min-height:38px;padding:8px 15px;display:inline-flex;gap:8px;align-items:center}.glass-button:hover,.header-return:hover{background:rgba(244,240,232,.13)}.header-return>span:first-child{font:19px Inter,sans-serif}.story-thread{display:flex;align-items:center;gap:7px;position:absolute;left:50%;transform:translateX(-50%);direction:ltr}.story-thread i{display:block;width:4px;height:4px;border-radius:50%;background:rgba(244,240,232,.25);transition:all .6s}.story-thread i.is-done{background:rgba(143,210,77,.8)}.story-thread i.is-current{width:21px;height:4px;border-radius:5px;background:var(--gold);box-shadow:0 0 12px rgba(255,200,61,.5)}.story-caption{position:fixed;z-index:105;left:0;right:0;bottom:max(5.3vh,env(safe-area-inset-bottom));display:flex;justify-content:center;text-align:center;padding:0 26px;pointer-events:none}.caption-content{width:min(760px,100%);pointer-events:auto}.chapter-kicker{font-size:11px;letter-spacing:.08em;margin:0 0 9px;color:#e2d8bd;text-shadow:0 2px 12px #000}.story-caption h1{font:700 clamp(25px,3.3vw,44px)/1.5 Fraunces,Georgia,serif;letter-spacing:-.02em;margin:0 0 17px;text-shadow:0 3px 26px rgba(0,0,0,.75);outline:none}.story-caption h1.is-small{font-size:15px;opacity:.68;margin-bottom:15px;font-weight:500;letter-spacing:0}.story-caption h1{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.2}.story-text{white-space:pre-line;font-size:clamp(19px,2.1vw,28px);line-height:1.95;margin:0 auto 20px;max-width:760px;text-wrap:balance;text-shadow:0 2px 20px rgba(0,0,0,.95),0 1px 4px #000}.story-text{font-size:clamp(16px,1.8vw,23px);line-height:1.65}.story-actions{display:flex;justify-content:center;align-items:center;gap:20px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid rgba(244,240,232,.56);border-radius:100px;background:rgba(244,240,232,.94);color:var(--ink);min-height:48px;font-size:13px;font-weight:600;padding:11px 25px;box-shadow:0 5px 30px rgba(0,0,0,.14);transition:transform .2s,background .2s}.primary-button:hover{background:var(--gold);transform:translateY(-2px)}.primary-button>span:last-child{font:19px Inter,sans-serif}html[dir=ltr] #nextChapter>span:last-child{transform:scaleX(-1)}.quiet-button{padding:10px 0;min-height:44px;background:transparent;color:#ded8cd;font-size:12px;text-shadow:0 2px 8px #000}.beat-marks{display:flex;justify-content:center;gap:5px;margin:18px 0;direction:ltr}.beat-marks i{height:2px;width:18px;background:rgba(244,240,232,.25);transition:background .4s}.beat-marks i.is-done{background:rgba(244,240,232,.65)}.beat-marks i.is-current{background:var(--gold);width:28px}.scene-hint{font-size:10px;line-height:1.6;color:#c5beb1;margin:12px 0 0;text-shadow:0 2px 7px #000}.media-tools{position:fixed;left:25px;bottom:max(25px,env(safe-area-inset-bottom));z-index:108;display:flex;gap:7px}.media-tools button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(244,240,232,.23);color:var(--paper);background:rgba(10,10,12,.35);backdrop-filter:blur(10px);font:17px Inter,sans-serif}.media-status,.media-unavailable{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;gap:13px;text-align:center;padding:25px;background:rgba(10,10,12,.26);font-size:13px}.media-status{pointer-events:none}.media-status i{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 15px var(--gold);animation:breathe 1.7s ease infinite}.media-unavailable{flex-direction:column;background:rgba(10,10,12,.75)}.media-unavailable button{padding:10px 20px;border-radius:50px;background:var(--paper);color:var(--ink)}.movie-play{position:absolute;z-index:9;left:50%;top:36%;transform:translate(-50%,-50%);background:rgba(10,10,12,.35);border:1px solid rgba(244,240,232,.45);backdrop-filter:blur(12px);color:var(--paper);border-radius:100px;padding:11px 21px;display:flex;gap:12px;align-items:center;font-size:12px}.movie-play>span:first-child{font:21px Inter,sans-serif}.leave-game{position:fixed;right:25px;bottom:max(22px,env(safe-area-inset-bottom));font-size:10px;z-index:115;opacity:.7}.leave-game:hover{opacity:1}.chapter-menu{position:fixed;z-index:160;inset:0;padding:20px;display:flex;align-items:center;justify-content:center;background:rgba(5,5,6,.74);backdrop-filter:blur(24px);overflow:auto}.menu-sheet{width:min(590px,100%);padding:30px;color:var(--paper)}.menu-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.menu-head h2{font:600 25px/1.5 Fraunces,Georgia,serif;margin:0}.menu-head button{background:none;color:var(--paper);font:32px/1 Inter,sans-serif;width:44px;height:44px}.menu-sheet>p{font-size:12px;color:var(--muted);margin:8px 0 25px}.menu-sheet ol{list-style:none;padding:0;margin:0 0 25px;display:grid;grid-template-columns:1fr 1fr;gap:7px 22px}.menu-sheet li button{padding:13px 0;background:none;text-align:start;display:flex;gap:14px;align-items:center;width:100%;border-top:1px solid rgba(244,240,232,.18);font-size:13px;color:var(--paper)}.menu-sheet li button:before{content:"";width:5px;height:5px;border-radius:50%;background:#696860;flex:none}.menu-sheet li button[aria-current=step]:before{background:var(--gold);box-shadow:0 0 12px var(--gold)}.menu-sheet li button.is-completed:before{background:var(--green)}.menu-sheet li button:disabled{opacity:.28}.menu-sheet>a{font-size:12px;color:var(--muted);display:inline-block;padding:10px 0;border-bottom:1px solid rgba(244,240,232,.23)}.chapter-transition{position:fixed;inset:0;background:var(--ink);z-index:150;pointer-events:none;opacity:0;transition:opacity .45s var(--ease);display:flex;align-items:center;justify-content:center}.chapter-transition.is-visible{opacity:1}.chapter-transition i,.story-spark i{display:block;width:7px;height:11px;border-radius:70% 30% 60% 40%;background:var(--gold);box-shadow:0 0 25px rgba(255,200,61,.7),0 0 75px rgba(255,200,61,.17);transform:rotate(28deg)}.story-spark{position:absolute;left:50%;top:29%;z-index:2;pointer-events:none;opacity:0;transform:translate(-50%,-50%)}.story-spark.is-visible{opacity:.8;animation:float 5s ease-in-out infinite}.game-mount{z-index:2}.game-mount>*{width:100%;height:100%;min-height:0;max-height:none;border:0;border-radius:0}#experience[data-mode=game] .story-caption,#experience[data-mode=game] .media-tools{display:none}.story-caption.is-entering .caption-content{animation:captionIn .6s var(--ease)}#experience[data-mode=outro] .story-caption:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,5,6,.9),rgba(5,5,6,.25) 70%,transparent)}.bf-skip,.hp-skip,.tt-skip{display:none!important}.g2Load{display:none!important}#g2ShieldN,#g2BossN{display:none}.g2Top{top:94px}.g2Mission{top:94px}#g2Boss{top:155px}#g2Skip{display:none}.g2Panel{background:rgba(10,10,12,.5);box-shadow:none;border-radius:100px;min-width:170px}.g2Mission small{letter-spacing:0}#g2Tip{bottom:20px;max-width:65vw;font-size:10px}.g2Bar i{background:linear-gradient(90deg,#8fd24d,#ffc83d)}#g2Status strong{background-image:linear-gradient(90deg,#f4f0e8,#ffc83d,#8fd24d)}.skip-link{position:fixed;top:-60px;left:15px;z-index:200;padding:10px 15px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.no-script{position:fixed;inset:0;z-index:300;background:var(--ink);display:grid;place-content:center;text-align:center;padding:30px}.no-script a{text-decoration:underline}
@keyframes breathe{50%{opacity:.3}}@keyframes float{50%{transform:translate(-50%,calc(-50% - 8px))}}@keyframes captionIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.experience-ui{height:75px;padding:12px 15px;gap:10px}.story-brand span{display:none}.story-brand img{width:26px;height:26px}.header-actions{gap:7px;font-size:10px}.header-return{padding:7px 10px}.header-return>span:last-child{display:none}.glass-button{padding:7px 11px;min-height:36px}.story-thread{top:79px;gap:6px}.story-thread i{width:3px;height:3px}.story-thread i.is-current{width:15px;height:3px}.story-caption{padding:0 22px;bottom:max(7.5vh,calc(env(safe-area-inset-bottom) + 35px))}.story-caption h1{font-size:25px;line-height:1.55;margin-bottom:15px}.story-caption h1.is-small{font-size:12px;margin-bottom:12px}.chapter-kicker{font-size:10px}.story-text{font-size:20px;line-height:1.95;margin-bottom:20px}.primary-button{font-size:12px;min-height:46px;padding:10px 22px}.scene-hint{font-size:9px;max-width:280px;margin:10px auto 0}.media-tools{left:15px;bottom:15px}.media-tools button{width:31px;height:31px;font-size:15px}.leave-game{right:15px;bottom:max(14px,env(safe-area-inset-bottom));min-height:33px;font-size:9px;padding:6px 12px}.menu-sheet{padding:16px 4px}.menu-sheet ol{gap:4px 17px}.menu-sheet li button{font-size:11px}.menu-head h2{font-size:23px}.g2Top{top:92px;left:12px}.g2Panel{min-width:120px;max-width:36vw}.g2Mission{top:92px;left:auto;right:15px;transform:none;min-width:0;max-width:48vw;text-align:end}.g2Mission b{font-size:12px}#g2Boss{top:155px;width:80vw}#g2Tip{font-size:9px;left:15px;transform:none;bottom:14px;max-width:66vw;white-space:normal}.cinema-shade{background:linear-gradient(180deg,rgba(7,7,8,.3),transparent 25%,rgba(7,7,8,.2) 38%,rgba(7,7,8,.88) 100%)}.story-text{font-size:17px;line-height:1.65}}
@media(max-height:520px) and (min-width:600px){.experience-ui{height:60px;padding:8px 18px}.story-brand img{width:26px;height:26px}.story-thread{top:28px}.story-caption{bottom:24px;padding:0 90px}.story-caption h1{font-size:22px;margin-bottom:8px}.story-caption h1.is-small{display:none}.chapter-kicker{font-size:9px;margin-bottom:5px}.story-text{font-size:18px;line-height:1.65;max-width:600px;margin-bottom:12px}.beat-marks{margin:8px 0}.primary-button{min-height:38px;padding:7px 20px;font-size:11px}.scene-hint{display:none}.media-tools{bottom:16px;left:18px}.g2Top,.g2Mission{top:64px}#g2Boss{top:114px}.menu-sheet{padding:0;max-width:600px}.menu-head h2{font-size:20px}.menu-sheet>p{margin:2px 0 12px}.menu-sheet ol{margin-bottom:12px}.menu-sheet li button{padding:9px 0;font-size:11px}.menu-sheet>a{padding:4px 0}.leave-game{bottom:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.primary-button:hover{transform:none}}
#experience[data-mode=outro] #gameMount :is(.hp-finish,.hp-intro,.hp-controls,.hp-hud,.hp-keyboard,.hp-toast,.hp-chapter,.bf-heading,.bf-bottom,.bf-replay,.bf-words,.bf-fly,.tt-controls){display:none!important}
/* The skip control stays opposite the game HUD, clear of touch arrows and jump. */
.leave-game{top:94px;bottom:auto;right:auto;left:auto;inset-inline-end:25px}
body[data-chapter=space] .leave-game{top:auto;bottom:max(22px,env(safe-area-inset-bottom));right:25px;left:auto}
@media(max-width:700px){.leave-game{top:89px;inset-inline-end:15px;bottom:auto}body[data-chapter=space] .leave-game{top:auto;bottom:max(14px,env(safe-area-inset-bottom));right:15px}}
@media(max-height:520px) and (min-width:600px){.leave-game{top:70px;bottom:auto}body[data-chapter=space] .leave-game{top:auto;bottom:16px}}
.story-ship{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);height:min(160px,22vh);width:auto;object-fit:contain;z-index:3;filter:drop-shadow(0 0 24px #ffc83d30)}
#experience[data-mode=narration] #gameMount :is(.hp-intro,.hp-controls,.hp-hud,.hp-keyboard,.hp-toast,.hp-chapter,.hp-finish,.bf-heading,.bf-bottom,.bf-replay,.bf-words,.bf-fly,.tt-controls,.tt-static){visibility:hidden!important}
#experience[data-mode=narration] #gameMount:after{content:"";position:absolute;inset:0;z-index:12;pointer-events:none;background:linear-gradient(180deg,rgba(7,7,8,.15),transparent 28%,rgba(7,7,8,.4) 60%,rgba(7,7,8,.85))}
