@font-face{font-family:Inter;src:url('brand/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('brand/playfair-display.woff2') format('woff2');font-weight:400 900;font-display:swap}
:root{color-scheme:dark;--gold:hsl(43 72% 55%);--ink:#0a0a0a;--cream:hsl(43 30% 90%);--muted:#aaa59a;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;overflow:hidden;background:var(--ink);color:var(--cream);font:14px Inter,Arial,sans-serif;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;min-height:44px}button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{cursor:default;opacity:.5}.hidden{display:none!important}#game,#world{position:fixed;inset:0;width:100%;height:100%;height:100dvh}#world{touch-action:none;outline:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#02182177,transparent 24%,transparent 78%,#041b2544)}#hud{position:absolute;inset:0;pointer-events:none}#hud button,#joystick{pointer-events:auto}header{position:absolute;top:calc(22px + var(--safe-top));left:28px;right:28px;display:flex;justify-content:space-between;align-items:flex-start}.life-status{width:170px;text-shadow:0 2px 12px #000}.life-status>span{font-size:14px;font-weight:600}.health{height:3px;background:#d7e8d533;margin:9px 0 7px;overflow:hidden}.health i{display:block;height:100%;width:100%;background:#a2d7bb;transition:width .25s}.life-status small{font-size:12px;color:#bdd6ce}.round{border:1px solid #dce6d54d;background:#092b3699;border-radius:50%;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center}.menu-button{width:44px;height:44px;font-size:19px}#objective{position:absolute;top:calc(24px + var(--safe-top));left:50%;transform:translateX(-50%);max-width:48%;text-align:center;font-size:14px;color:#e2e7d9;line-height:1.5;text-shadow:0 2px 10px #062530;margin:0;transition:opacity 1s}#objective.quiet{opacity:.45}#joystick{position:absolute;left:32px;bottom:calc(30px + var(--safe-bottom));width:116px;height:116px;border:1px solid #d5e7d33a;border-radius:50%;background:#0a344129;touch-action:none;user-select:none;display:none;align-items:center;justify-content:center}#stick{width:48px;height:48px;border:1px solid #e2ebd675;border-radius:50%;background:#a8cbb127;box-shadow:0 2px 16px #001c2420;pointer-events:none}#joystick.active{background:#103a4866;border-color:#dce5c955}.actions{position:absolute;right:30px;bottom:calc(32px + var(--safe-bottom));display:flex;gap:16px;align-items:end}.ability{width:62px;height:62px;position:relative;flex-direction:column;gap:0;user-select:none}.ability>span{font:28px Georgia,serif;line-height:1}.ability small{font-size:12px;margin-top:2px;color:#d8e2d4}.primary-action{width:80px;height:80px;background:#164352bb;border-color:#d8dfb56b}.primary-action>span{font-size:35px}#hint{position:absolute;bottom:25px;left:28px;color:#bed0c2aa;font-size:12px}#toast{position:absolute;bottom:calc(150px + var(--safe-bottom));left:50%;transform:translateX(-50%);background:#082b36bb;padding:10px 18px;border-radius:24px;max-width:min(90vw,480px);width:max-content;text-align:center;font-size:14px;color:#e8ddbc;opacity:0;transition:opacity .3s;pointer-events:none}#toast.visible{opacity:1}#chapterBanner{position:absolute;top:29%;left:50%;width:min(480px,85%);transform:translateX(-50%);text-align:center;opacity:0;transition:opacity 1.2s;pointer-events:none;text-shadow:0 2px 25px #02212c}#chapterBanner.visible{opacity:1}#chapterBanner small{font-size:12px;letter-spacing:3px;color:#d8c597}#chapterBanner h2{font:44px/1.1 'Playfair Display',Georgia,serif;margin:14px 0}#chapterBanner p{font-size:14px;line-height:1.65;color:#d1e0d6}#start{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(#041c2522,#041c2544)}.start-copy{max-width:500px;padding:30px;text-shadow:0 3px 24px #032631}.start-copy>small{font-size:12px;letter-spacing:4px;color:#d1c294}.start-copy h1{font:64px 'Playfair Display',Georgia,serif;letter-spacing:9px;font-weight:400;margin:17px -15px 24px}.start-copy p{font:26px/1.3 'Playfair Display',Georgia,serif;color:#e6e5d4;margin:0 0 32px}.primary{background:#dfce9f;color:#15343c;border:1px solid #ecdeb6;padding:14px 24px;font-size:14px;font-weight:700;border-radius:4px}.primary:hover{background:#f3e6c4}.start-meta{display:block;font-size:12px;color:#bacfc4;max-width:320px;line-height:1.7;margin:20px auto 0}.text-button{display:block;background:none;border:0;color:#bbcfc6;margin:12px auto 0;text-decoration:underline;text-underline-offset:5px;font-size:14px}#fade{position:absolute;inset:0;background:#04131b;opacity:0;pointer-events:none;z-index:4}.letterbox{position:absolute;left:0;right:0;height:9vh;background:#020b11;z-index:5}.letterbox.top{top:0}.letterbox.bottom{bottom:0}.cinema-text{position:absolute;bottom:calc(10vh + var(--safe-bottom));left:50%;transform:translateX(-50%);width:min(600px,85vw);text-align:center;z-index:6;text-shadow:0 2px 16px #00131b}.cinema-text small{font-size:12px;letter-spacing:3px;color:#d9c48e}.cinema-text p{font:26px/1.35 'Playfair Display',Georgia,serif;margin:12px 0;color:#f1eedc}#skip{position:absolute;right:24px;bottom:calc(14px + var(--safe-bottom));border:0;background:none;font-size:12px;color:#b6c6bd;z-index:7}.in-cinematic #hud{opacity:0}.in-cinematic #toast,.in-cinematic #chapterBanner{opacity:0}.overlay{position:absolute;inset:0;z-index:20;background:#041821d9;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:16px}.modal{position:relative;padding:32px;width:100%;max-width:490px;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;background:#0b2933;border:1px solid #bdc9a52f;border-radius:8px}.close{position:absolute;right:10px;top:10px;background:none;border:0;font-size:26px;width:44px}.eyebrow{font-size:12px;letter-spacing:2px;color:#d7c394}.modal h2{font:36px/1.1 'Playfair Display',Georgia,serif;margin:14px 0 20px}.modal p{font-size:14px;color:#b1c9c2;line-height:1.7}.modal>.primary{width:100%}.settings{display:flex;flex-direction:column;gap:8px;margin:20px 0}.settings button{background:#143641;border:1px solid #abc1b32b;border-radius:4px;padding:10px}.instructions{font-size:12px!important}#resetConfirm{padding-top:12px;border-top:1px solid #ffffff22}#miningTools{position:absolute;left:28px;bottom:calc(72px + var(--safe-bottom));display:flex;flex-direction:column;gap:8px}#miningTools button{background:#102c34bf;border:1px solid #dbc8955c;border-radius:5px;padding:11px 16px;font-size:14px}#capital{margin-left:14px;color:var(--gold)}.shop-modal{max-width:600px}.shop-stats{display:flex;justify-content:space-between;border-block:1px solid #bacaad33;padding:18px 0;margin:20px 0;gap:10px}.shop-stats span{font-size:12px;color:#a6bdb5}.shop-stats strong{display:block;font:25px Georgia,serif;color:#e6cf9c;margin-top:8px}.upgrade{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #bacaad22}.upgrade strong{font-size:14px}.upgrade p{font-size:12px;margin:7px 0 0}.upgrade button{min-width:86px;padding:10px;border:1px solid #c1ad7866;border-radius:4px;background:#25413e;color:var(--gold);font-size:14px}
@media(pointer:coarse){#joystick{display:flex}#hint{display:none}#miningTools{bottom:calc(168px + var(--safe-bottom))}}
@media(max-width:700px){header{top:calc(16px + var(--safe-top));left:18px;right:18px}.life-status{width:150px}.life-status>span{font-size:14px}#objective{top:calc(94px + var(--safe-top));left:18px;transform:none;text-align:left;max-width:calc(100% - 36px);font-size:14px}#joystick{left:22px;bottom:calc(24px + var(--safe-bottom));width:110px;height:110px}.actions{right:20px;bottom:calc(28px + var(--safe-bottom));gap:12px}.ability{width:60px;height:60px}.primary-action{width:76px;height:76px}.start-copy h1{font-size:48px;letter-spacing:6px}.start-copy p{font-size:25px}.start-copy>small{letter-spacing:3px}.start-meta{max-width:270px}#chapterBanner h2{font-size:37px}#chapterBanner{top:30%}.cinema-text p{font-size:23px}.letterbox{height:8vh}.cinema-text{bottom:calc(12vh + var(--safe-bottom))}.modal{padding:28px 22px}.modal h2{font-size:32px}.shop-stats strong{font-size:22px}#miningTools{left:18px}.upgrade{gap:14px}#toast{font-size:13px}}
@media(max-height:500px){#objective{top:calc(18px + var(--safe-top));left:50%;transform:translateX(-50%);max-width:43%;text-align:center;font-size:12px}.start-copy h1{font-size:40px;margin:8px 0}.start-copy p{font-size:20px;margin:10px 0}.start-meta{margin:10px auto 0}#chapterBanner{top:20%}.cinema-text p{font-size:21px}.modal{max-height:94dvh}.actions{bottom:16px}#joystick{bottom:15px;width:90px;height:90px}#miningTools{bottom:125px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.cinema-pause{position:absolute;right:18px;top:calc(10px + var(--safe-top));width:44px;height:44px;z-index:8;font-size:18px}

.minimap-frame{position:absolute;right:26px;top:calc(83px + var(--safe-top));width:110px;height:110px;border:1px solid #c9d3b92c;border-radius:50%;overflow:hidden;opacity:.8;pointer-events:none;box-shadow:0 4px 18px #001b2929}.minimap-frame canvas{width:100%;height:100%;border-radius:50%}.minimap-frame>span{position:absolute;top:4px;left:calc(50% - 4px);font-size:10px;color:#ced5bf}.inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.inventory-grid span{font-size:12px;color:#a9c2b6;background:#24433d88;padding:10px 7px;border-radius:4px}.inventory-grid strong{display:block;color:#e6d1a1;font:24px Georgia,serif;margin-top:7px}#recipes .upgrade small{display:block;color:#b4bda1;font-size:12px;margin-top:8px}#jobStatus{padding:12px;background:#162f38;min-height:48px}.workshop-sales{margin:22px 0}.workshop-sales .primary{width:100%}.workshop-note{display:block;font-size:12px;line-height:1.7;color:#9db2a6}#miningTools{gap:6px}#miningTools button{padding:8px 13px}
@media(max-width:700px){.minimap-frame{width:86px;height:86px;right:17px;top:calc(78px + var(--safe-top))}#objective{max-width:calc(100% - 135px);font-size:13px;line-height:1.6}.inventory-grid{grid-template-columns:repeat(4,1fr)}.inventory-grid span{font-size:11px}#miningTools{bottom:calc(155px + var(--safe-bottom))}}
@media(max-height:500px){.minimap-frame{width:72px;height:72px;top:75px;right:18px}#miningTools{left:140px;bottom:16px;display:grid;grid-template-columns:1fr 1fr}}

.ending{text-align:center;padding:48px 28px}.ending h2{font-size:46px}.ending #endingDetail{font-size:12px;margin:25px 0}.ending .primary{margin-top:16px}

.actions .ability{touch-action:none;-webkit-user-select:none;user-select:none}.vignette{background:none}

/* The ending leaves the screen to the 3D story. */
.mining .life-status,.mining #objective,.mining .minimap-frame,.mining #joystick,.mining .actions,.mining #hint,.mining #chapterBanner{display:none!important}.mining header{justify-content:flex-end}.mining .menu-button{opacity:.55;background:#29404455}.mining #world{cursor:pointer}.mining #toast{display:none}

.cinema-sound{position:absolute;right:72px;top:calc(10px + var(--safe-top));width:44px;height:44px;z-index:8;font-size:21px}

.game-sound{position:absolute;right:56px;top:0;width:44px;height:44px;font-size:21px}body.in-cinematic .cinema-text p{font:18px/1.5 Inter,Arial,sans-serif;max-width:650px;margin:12px auto;color:#fff}.cinema-text{width:min(680px,89vw)}#caption:empty{display:none}#startSound{font-size:13px;text-decoration:none;opacity:.8}@media(max-width:700px){body.in-cinematic .cinema-text p{font-size:16px;line-height:1.45}.cinema-text{bottom:calc(9vh + var(--safe-bottom))}}

#scoreCounter{position:absolute;left:28px;top:calc(110px + var(--safe-top));display:flex;flex-direction:column;gap:4px;font-size:14px;font-variant-numeric:tabular-nums;text-shadow:0 2px 10px #062530;pointer-events:none}#scoreCounter small{font-size:13px;color:#b5cdc3}@media(max-width:700px){#scoreCounter{left:18px;top:calc(175px + var(--safe-top));font-size:13px}}@media(max-height:500px){#scoreCounter{left:18px;top:calc(90px + var(--safe-top))}}

/* Enchanted Designs: the same charcoal, gold, Inter and Playfair palette as the shop. */
a{color:var(--gold)}a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.round{background:#0a0a0aa6;border-color:#dfb33a50;color:var(--gold)}
.primary-action{background:#18140de0;border-color:#dfb33a99}.ability small{color:#ede9df}
.life-status{display:none}header{justify-content:flex-end}
#objective{color:var(--cream);text-shadow:0 2px 10px #000;max-width:45%;font-size:13px}
#scoreCounter{top:calc(30px + var(--safe-top));color:var(--gold);font-size:13px;letter-spacing:.06em;text-shadow:0 2px 10px #000}
#joystick{background:#0a0a0a36;border-color:#dfb33a40}#stick{background:#dfb33a24;border-color:#dfb33a70;box-shadow:none}#joystick.active{background:#15130f88;border-color:#dfb33a80}
.minimap-frame{border-color:#dfb33a55;box-shadow:0 4px 18px #0003}.minimap-frame>span{color:var(--gold)}
#toast{background:#0a0a0ad9;color:var(--cream);font-size:13px;padding:8px 14px}#hint{color:#c7bfa18c}
#chapterBanner{text-shadow:0 2px 25px #000}#chapterBanner small{color:var(--gold)}#chapterBanner p{color:var(--cream)}
#start{background:radial-gradient(ellipse at center,#0a0a0a8c,#0a0a0ae8)}.start-copy{padding:26px;text-shadow:0 3px 24px #000;width:min(520px,100%)}
.brand-lockup{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto 52px}.brand-lockup img{object-fit:contain;flex-shrink:0}.brand-lockup>span{font:26px/1.3 'Playfair Display',Georgia,serif;text-align:left}.brand-lockup em{color:var(--gold);font-style:normal}.brand-lockup small{display:block;margin-top:6px;font:9px/1.5 Inter,Arial,sans-serif;letter-spacing:.17em;color:var(--gold)}
.start-copy>small{color:var(--gold);font-size:10px;letter-spacing:.3em}.start-copy h1{color:var(--cream);font-size:61px;letter-spacing:.12em;margin:16px 0 22px}.start-copy p{color:var(--cream);font-size:25px;line-height:1.5}.start-meta{font-size:11px;color:var(--muted)}
.primary{background:var(--gold);color:#0a0a0a;border:1px solid var(--gold);border-radius:3px;min-width:166px;font-weight:600;letter-spacing:.04em}.primary:hover{background:#edc455;border-color:#edc455}
.overlay{background:#0a0a0ae3}.modal{background:#111;border-color:#dfb33a38;border-radius:5px}.modal p{color:#c5c0b6}.eyebrow{color:var(--gold)}.settings button{background:#1f1f1f;border-color:#dfb33a28}.text-button{color:#c5c0b6}.close{color:var(--gold)}
.letterbox,#fade{background:#060606}.cinema-text small{color:var(--gold);font-size:10px;letter-spacing:.18em}.cinema-text{text-shadow:0 2px 12px #000}#skip{color:#bfb6a2}
.ending-crest{display:block;object-fit:contain;margin:0 auto 22px}.ending .eyebrow{font-size:10px;letter-spacing:.2em}.ending h2{font-size:38px}.brand-link{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;margin-top:14px;font-size:12px;text-underline-offset:5px}.ending #endingDetail{color:#a9a395;font-size:11px;line-height:1.8}
@media(max-width:700px){#scoreCounter{left:18px;top:calc(28px + var(--safe-top));font-size:12px}#objective{top:calc(81px + var(--safe-top));max-width:calc(100% - 136px);font-size:12px}.brand-lockup{gap:12px;margin-bottom:42px}.brand-lockup>span{font-size:23px}.brand-lockup img{width:46px;height:47px}.brand-lockup small{font-size:8px}.start-copy h1{font-size:clamp(32px,9.8vw,48px)}.start-copy p{font-size:22px}.ending h2{font-size:31px}.ending{padding:32px 22px}}
@media(max-height:500px){.brand-lockup{margin-bottom:16px}.brand-lockup img{width:33px;height:34px}.brand-lockup>span{font-size:19px}.brand-lockup small{font-size:7px;margin-top:2px}.start-copy{padding:14px}.start-copy h1{font-size:34px;margin:7px 0}.start-copy p{font-size:17px;margin:8px 0 15px}.start-meta{margin:9px 0 0}.start-copy>small{font-size:8px}#scoreCounter{top:calc(28px + var(--safe-top))}#objective{top:calc(22px + var(--safe-top));max-width:43%;font-size:12px}.ending-crest{width:40px;height:41px;margin-bottom:10px}}

.volume-setting{display:block;padding:12px 14px;background:#1f1f1f;border:1px solid #dfb33a28;border-radius:4px}.volume-setting span{display:flex;justify-content:space-between;align-items:center}.volume-setting output{color:var(--gold);font-variant-numeric:tabular-nums}.volume-setting input{display:block;width:100%;height:44px;margin:4px 0 0;accent-color:var(--gold);touch-action:pan-x}.volume-setting input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#cinemaHeading{position:absolute;top:calc(72px + var(--safe-top));left:50%;transform:translateX(-50%);width:min(850px,90vw);text-align:center;z-index:7;pointer-events:none;text-shadow:0 2px 12px #000,0 0 28px #000}
#cinemaOverline{font:600 clamp(18px,3vw,32px)/1.25 Georgia,serif;letter-spacing:.08em;color:var(--gold)}
#cinematic.deep-time #cinemaOverline{font-size:clamp(30px,4.8vw,54px);font-variant-numeric:tabular-nums}
/* Dialogue remains small at the bottom, separate from the deep-time heading. */
body.in-cinematic .cinema-text p{font-size:16px;line-height:1.5}
body.subtitles-off .cinema-text{display:none}
@media(max-width:700px){body.in-cinematic .cinema-text p{font-size:14px}}
@media(max-height:500px){#cinemaHeading{top:calc(14px + var(--safe-top));width:65vw}#cinemaOverline{font-size:20px}#cinematic.deep-time #cinemaOverline{font-size:26px}body.in-cinematic .cinema-text p{font-size:14px}}
