@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#101a1c;--surface:#182426;--line:#2d3a3b;--text:#f2f4e9;--muted:#8e9c99;--lime:#d3ef99;--gold:#ffd982;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:5px}button{border:0}a{color:inherit;text-decoration:none}.site-shell{max-width:1440px;padding:0 64px;margin:auto}.site-header{height:110px;display:flex;align-items:center;border-bottom:1px solid var(--line);justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font:800 23px 'Manrope',sans-serif;letter-spacing:1.2px}.brand-mark{height:40px;width:40px;border:2px solid var(--lime);border-radius:12px;color:var(--lime);display:grid;place-items:center;font-size:29px;letter-spacing:-5px;padding-right:5px;transform:rotate(-4deg)}.brand-sub{display:block;font:500 9px 'DM Sans',sans-serif;letter-spacing:3px;color:var(--muted);margin-top:4px}.site-header nav{display:flex;gap:35px;align-items:center;font-size:14px}.nav-current{color:var(--lime)}.nav-button{background:none;color:#b6c0b9;padding:12px 0}.nav-button span{padding-left:8px;color:var(--muted)}.edition{font-size:10px;letter-spacing:2px;color:#7d8f89}.game-heading{display:flex;align-items:center;justify-content:space-between;padding:33px 0 26px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--lime)}h1{font:500 28px 'Manrope',sans-serif;letter-spacing:-1px;margin:9px 0 0}.chapter-label{font-size:13px;color:#abb8ae;display:flex;align-items:center;gap:10px}.chapter-label i{display:block;width:7px;height:7px;background:var(--lime);border-radius:50%}.game-frame{position:relative;aspect-ratio:16/8.45;width:100%;overflow:hidden;background:#1e4e4b;border:1px solid #435753;border-radius:18px;isolation:isolate;box-shadow:0 14px 55px #0003}canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #001f2455;border-radius:inherit}.hud{position:absolute;top:26px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:4}.world-pill{display:flex;align-items:center;gap:12px;border:1px solid #e1edbd2b;background:#152d30bd;backdrop-filter:blur(10px);padding:12px 17px;border-radius:12px}.world-symbol{font-size:26px;color:var(--lime)}.world-pill small{font-size:9px;letter-spacing:2px;color:#b2c5b9;display:block;margin-bottom:4px}.world-pill strong{font-size:13px;font-weight:500}.hud-right{display:flex;align-items:center;gap:18px;background:#152d30bd;backdrop-filter:blur(10px);border:1px solid #e1edbd2b;border-radius:12px;padding:14px 16px}.shard-count{display:flex;gap:8px;align-items:center;font-size:16px}.shard-count>span{color:var(--gold);font-size:23px;text-shadow:0 0 20px #eebb68}.shard-count b{font-weight:600}.shard-count small{font-size:12px;color:#c8d4c8}.hud-divider{height:23px;width:1px;background:#ffffff25}.hearts{color:#f8af9b;letter-spacing:4px;font-size:19px;white-space:nowrap}.hud-icon{pointer-events:auto;background:transparent;font-weight:800;font-size:20px;width:24px;height:24px;display:grid;place-items:center;padding:0}.start-screen{position:absolute;inset:0;background:linear-gradient(90deg,#092b32d9 0%,#0e303181 43%,transparent 75%);display:flex;align-items:center}.start-copy{padding:72px 0 10px 55px;max-width:55%}.adventure-tag{font-size:10px;letter-spacing:1.9px;color:#e2ecd1;display:flex;align-items:center;gap:8px}.adventure-tag>span{color:var(--gold);font-size:17px}.start-copy h2{font:800 clamp(35px,5vw,68px)/1.03 'Manrope',sans-serif;letter-spacing:-3px;margin:22px 0;color:#fcfff2;text-shadow:0 2px 20px #07272722}.start-copy h2 em{font-style:normal;color:var(--lime)}.start-copy p{font-size:16px;line-height:1.7;color:#ceded1;margin:0 0 28px}.primary{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--lime);color:#243721;padding:16px 23px;border-radius:8px;font-weight:700;font-size:14px;box-shadow:0 4px 0 #87a26866;transition:transform .2s,background .2s;min-width:190px}.primary:hover{background:#e3ffb0;transform:translateY(-2px)}.primary:disabled{opacity:.65;transform:none}.primary>span:last-child{font-size:15px}.start-hint{display:block;font-size:11px;color:#c1d0c3;margin-top:16px}.start-hint kbd{font-size:10px;padding:2px 7px;min-width:0;min-height:0;background:#ffffff15;border-color:#ffffff30;color:#e1ead8}.scene-caption{position:absolute;right:27px;bottom:26px;font-size:10px;letter-spacing:2.3px;color:#eef6d8;text-shadow:0 2px 4px #081e20}.scene-caption span{margin-left:18px;color:#d0dfbd}.game-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 2px 28px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.6px}.trail-label{display:flex;align-items:center;gap:11px}.tiny-star{color:var(--lime);font-size:16px}.muted{color:var(--muted);letter-spacing:0;font-size:12px}.game-toolbar>div{display:flex;gap:22px}.game-toolbar button{background:none;color:#bac5ba;display:flex;align-items:center;gap:8px;padding:0;font-size:12px;letter-spacing:0}.game-toolbar svg{width:16px;height:16px}.below-game{display:grid;grid-template-columns:1.3fr 1fr;gap:42px;padding-top:28px}.section-caption{display:flex;justify-content:space-between;align-items:center;color:var(--muted);margin-bottom:18px;font-size:9px;letter-spacing:1.3px}.section-caption h2{font-size:10px;font-weight:500;color:#dce4d7;letter-spacing:1.7px;margin:0}.level-list{display:flex;gap:10px}.level-card{background:#162224;border:1px solid var(--line);padding:15px 11px;border-radius:9px;display:flex;gap:10px;align-items:center;text-align:left;flex:1;position:relative;min-width:0}.level-card.active{background:#253128;border-color:#91a776}.level-number{font:500 19px 'Manrope',sans-serif;color:#8f9c88}.active .level-number{color:var(--lime)}.level-card strong{display:block;font-size:11px;font-weight:600;line-height:1.5}.level-card small{display:block;font-size:9px;color:#8c9c90;margin-top:5px;line-height:1.4}.level-card:disabled{opacity:.55}.level-state{color:var(--lime);font-size:17px;position:absolute;top:9px;right:8px}.level-card:disabled .level-state{color:#8b988d}.control-list{display:flex;gap:20px;justify-content:space-between}.control-list>span{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#b8c6b7}.control-list>span>span{display:flex;gap:4px;align-items:center;min-height:26px}.control-list small{font-size:9px;color:#7e9489}kbd{font:500 10px 'DM Sans',sans-serif;min-width:24px;min-height:24px;background:#1e2a2c;border:1px solid #3b4847;border-bottom-width:3px;border-radius:5px;padding:4px 6px;display:inline-grid;place-items:center;color:#d2dccd}.wide-key{min-width:65px}footer{display:flex;align-items:center;justify-content:space-between;padding:40px 0 28px;margin-top:22px;color:#7e9188;font-size:11px}footer>span:last-child{font-size:9px;letter-spacing:1.5px}.footer-brand{font:800 12px 'Manrope',sans-serif;letter-spacing:2px;color:#9da996}.center-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#0b202abb;backdrop-filter:blur(9px)}[hidden]{display:none!important}.overlay-card{text-align:center;padding:25px;max-width:520px}.overlay-card h2{font:800 38px/1.1 'Manrope',sans-serif;letter-spacing:-1.5px;margin:18px 0}.overlay-card p{color:#cad8c9;font-size:15px;line-height:1.6}.overlay-card .primary{margin:24px auto 16px}.quiet-button{background:none;font-size:13px;color:#becfbd;padding:8px;text-decoration:underline;text-underline-offset:5px}.result-stats{display:flex;justify-content:center;gap:24px;font-size:15px;color:var(--gold);margin-top:20px}.game-notice{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:#f2f8db;background:#152a29dc;padding:12px 20px;border-radius:30px;font-size:13px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:4;white-space:nowrap}.game-notice.visible{opacity:1}.touch-controls{display:none;position:absolute;left:18px;right:18px;bottom:18px;justify-content:space-between;z-index:4;pointer-events:none}.touch-controls>div{display:flex;gap:10px}.touch-controls button{width:52px;height:52px;border-radius:50%;background:#18383cbb;border:1px solid #e3efd658;backdrop-filter:blur(5px);font-size:24px;pointer-events:auto;touch-action:none;user-select:none}.touch-controls button:active{background:#bed78dcc}.touch-controls .touch-jump{background:#d3ef99cc;color:#23351f;width:60px;height:60px}.game-frame:fullscreen{height:100dvh;width:100vw;border:0;border-radius:0;aspect-ratio:auto}.game-frame:fullscreen canvas{object-fit:contain}dialog{max-width:600px;width:calc(100% - 32px);background:#18282a;color:var(--text);border:1px solid #4a5b4e;border-radius:20px;padding:40px;box-shadow:0 24px 80px #0009}dialog::backdrop{background:#051017cc;backdrop-filter:blur(6px)}dialog h2{font:800 32px 'Manrope',sans-serif;letter-spacing:-1px}dialog p{font-size:15px;color:#bbcbbf;line-height:1.65}.dialog-close{position:absolute;top:14px;right:20px;font-size:27px;background:none;color:#acbdad}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:26px}.help-grid b{font-size:14px;color:var(--lime)}.help-grid p{font-size:13px}.help-tip{padding-top:15px;border-top:1px solid var(--line)}dialog .primary{margin-top:24px;width:100%}@media(min-width:1450px){.start-copy h2{font-size:72px}}@media(max-width:1150px){.site-shell{padding:0 32px}.below-game{grid-template-columns:1fr;gap:26px}.controls-guide{max-width:640px}.start-copy{padding-left:35px}.start-copy h2{font-size:55px}.start-copy p{font-size:14px;margin-bottom:20px}.start-copy{padding-top:65px}.start-copy h2{margin:15px 0}.hud{top:20px;left:20px;right:20px}.edition{display:none}.game-toolbar .muted{display:none}.level-card{padding:17px}.level-card strong{font-size:14px}.level-card small{font-size:12px}.level-state{top:14px;right:16px}.section-caption,.section-caption h2{font-size:11px}.control-list>span{font-size:13px}.control-list small{font-size:11px}footer>span:last-child{display:none}}@media(max-width:760px){.site-shell{padding:0 18px}.site-header{height:83px}.brand{font-size:19px}.brand-sub{font-size:8px;letter-spacing:2px}.brand-mark{width:34px;height:34px;font-size:25px}.nav-current{display:none}.site-header nav{font-size:13px}.game-heading{padding:23px 0 18px}.eyebrow{font-size:9px;letter-spacing:1.5px}h1{font-size:23px}.chapter-label{display:none}.game-frame{aspect-ratio:4/3;border-radius:13px}.hud{top:13px;left:13px;right:13px}.world-pill{padding:9px 10px;gap:8px}.world-symbol{font-size:20px}.world-pill small{font-size:8px;letter-spacing:1px}.world-pill strong{font-size:11px}.hud-right{padding:10px;gap:9px}.shard-count{gap:4px;font-size:13px}.shard-count>span{font-size:17px}.shard-count small{font-size:10px}.hearts{font-size:13px;letter-spacing:0}.hud-divider{height:20px}.hud-icon{font-size:17px;width:16px}.start-copy{max-width:72%;padding:50px 0 8px 25px}.start-copy h2{font-size:43px;letter-spacing:-2px;margin:13px 0}.adventure-tag{font-size:8px;letter-spacing:1.3px}.start-copy p{font-size:13px;line-height:1.6;margin-bottom:20px}.primary{padding:13px 18px;min-width:170px;font-size:13px}.start-hint{font-size:10px;margin-top:12px}.scene-caption{right:15px;bottom:15px;font-size:8px;letter-spacing:1px}.scene-caption span{margin-left:8px}.game-toolbar{padding:19px 0 23px}.trail-label{font-size:9px;letter-spacing:1px;gap:6px}.game-toolbar>div{gap:17px}.game-toolbar button span{display:none}.below-game{padding-top:24px;gap:28px}.level-list{gap:8px}.level-card{padding:15px 9px;display:block}.level-number{font-size:17px;display:block;margin-bottom:9px}.level-card strong{font-size:12px;line-height:1.5}.level-card small{font-size:10px;line-height:1.5}.level-state{top:12px;right:9px}.section-caption,.section-caption h2{font-size:9px;letter-spacing:1.2px}.control-list{gap:10px;flex-wrap:wrap}.control-list>span{font-size:12px;gap:8px}kbd{font-size:9px;min-width:22px;padding:4px 5px}.control-list small{font-size:10px}.overlay-card h2{font-size:30px}.overlay-card p{font-size:13px}.game-notice{bottom:83px;font-size:11px;padding:10px 15px}.touch-controls{left:12px;right:12px;bottom:12px}.touch-controls button{width:44px;height:44px}.touch-controls .touch-jump{width:50px;height:50px}footer{padding-top:20px;font-size:10px}.footer-brand{font-size:10px;letter-spacing:1px}dialog{padding:27px}.help-grid{gap:10px 18px}}@media(pointer:coarse){.game-frame.playing .touch-controls{display:flex}.controls-guide{display:none}}@media(max-width:480px){.game-frame{aspect-ratio:0.94}.start-copy{max-width:90%;padding-top:34px}.start-copy h2{font-size:46px}.start-screen{background:linear-gradient(90deg,#092b32df,#0e303178 70%,transparent)}.world-pill strong{font-size:10px}.world-pill{padding:8px}.hud-right{gap:6px;padding:10px 8px}.hud-divider{display:none}.hearts{font-size:12px}.shard-count small{display:none}.scene-caption{bottom:19px}.game-heading .eyebrow{font-size:8px}.game-heading h1{font-size:21px}.nav-button{font-size:12px}.adventure-tag{font-size:9px}.start-copy p{font-size:14px}.start-copy .primary{padding:15px 20px;font-size:14px}.start-hint{font-size:11px}.overlay-card{padding:18px}.overlay-card h2{font-size:28px}.help-grid{grid-template-columns:1fr;gap:3px}dialog{max-height:85vh}dialog h2{font-size:28px}.game-frame:fullscreen .start-copy{padding-top:60px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep game labels comfortable to read at every screen size. */
.brand-sub{font-size:12px;letter-spacing:1.2px}.edition,.eyebrow,.adventure-tag,.section-caption,.section-caption h2,.scene-caption,.world-pill small{font-size:12px}.world-pill strong,.game-toolbar button,.level-card strong,.control-list>span,.start-hint{font-size:14px}.level-card small,.control-list small,.game-toolbar,.trail-label,footer,footer>span:last-child,.help-grid p{font-size:12px}.level-card{padding:18px 13px}.level-card strong{padding-right:8px}.level-state{top:7px;right:8px}.level-card small{line-height:1.5}.below-game{grid-template-columns:1fr;gap:30px}.controls-guide{max-width:680px}kbd{font-size:12px;min-width:27px;min-height:27px}.control-list{gap:22px}.section-caption{margin-bottom:16px}.scene-caption{letter-spacing:1.6px}.brand-sub{font-size:12px}.start-hint kbd{font-size:12px}.help-grid p{font-size:14px}.game-toolbar .muted{font-size:14px}.world-pill strong{font-size:14px}
@media(max-width:760px){.brand-sub{font-size:10px}.adventure-tag,.eyebrow,.section-caption,.section-caption h2,.scene-caption{font-size:12px;letter-spacing:1px}.world-pill strong{font-size:12px}.world-pill small{font-size:12px;letter-spacing:1px}.world-symbol{display:none}.level-card{padding:15px 11px}.level-card strong{font-size:14px}.level-card small{font-size:12px}.start-hint{font-size:12px}.trail-label{font-size:12px;letter-spacing:0}.game-heading .eyebrow{font-size:12px}.game-heading h1{font-size:23px}.start-copy .adventure-tag{font-size:11px}.scene-caption span{display:none}.control-list>span{font-size:14px}.control-list{gap:16px}footer{font-size:12px}.footer-brand{font-size:12px}.nav-button{font-size:14px}}
@media(max-width:480px){.game-frame{aspect-ratio:4/5}.start-copy{padding-top:55px;padding-bottom:10px}.start-copy h2{font-size:42px}.start-copy .adventure-tag{font-size:10px;letter-spacing:1px}.brand-sub{display:none}.world-pill{max-width:57%}.hud-right{gap:7px}.level-card small{display:none}.level-card strong{font-size:13px}.control-list{row-gap:20px}.control-list>span{min-width:40%}dialog p{font-size:16px}.help-grid p{font-size:14px}}

.brand{font-size:19px}.brand-mark{letter-spacing:0;padding-right:0}@media(max-width:760px){.brand{font-size:14px;letter-spacing:.4px}.site-header nav{gap:16px}}

.level-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.hazard-guide{border-top:1px solid var(--line);padding-top:18px}.hazard-guide b{color:var(--gold);font-size:14px}dialog{max-height:85dvh;overflow-y:auto}@media(max-width:760px){.level-list{grid-template-columns:repeat(2,minmax(0,1fr))}.level-card{min-height:85px}}
