:root{color-scheme:dark;--gold:#e7c88e;--ink:#071820;--text:#f4f4e9}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);font-family:Arial,Helvetica,sans-serif;color:var(--text)}button{-webkit-tap-highlight-color:transparent;font:inherit;color:inherit;cursor:pointer;border:0;touch-action:manipulation}button:focus-visible{outline:3px solid #fff;outline-offset:5px}[hidden]{display:none!important}#game{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;isolation:isolate}#backdrop{position:absolute;inset:-4%;background:url('forest-background-v3.webp') center 20%/cover no-repeat;filter:brightness(.9) saturate(.88);transform:scale(1.04)}#world{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.vignette{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 55% 40%,transparent 38%,#020c1866 100%)}.screen{position:absolute;inset:0;z-index:8}.menu-copy{position:absolute;left:clamp(24px,8vw,150px);top:50%;transform:translateY(-55%);max-width:520px}.eyebrow{display:block;color:var(--gold);font-size:12px;letter-spacing:.21em;font-weight:700}h1{margin:22px 0 24px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(58px,8.4vw,120px);line-height:.83;letter-spacing:-.055em;font-weight:400;text-shadow:0 3px 24px #071921}h1 em{font-style:normal;color:var(--gold)}.menu-copy p{font-family:Georgia,serif;line-height:1.5;font-size:20px;color:#ccddd9;margin:0 0 30px}.primary{border:1px solid var(--gold);background:var(--gold);color:#152830;padding:18px 27px;border-radius:3px;font-weight:700;min-height:52px;font-size:16px;box-shadow:0 4px 30px #e7c88e18;transition:.2s}.primary:hover{background:#f4deb1;transform:translateY(-2px)}.primary span{padding-left:30px;font-size:12px}.build-label{display:block;font-size:11px;letter-spacing:.12em;margin-top:17px;color:#b4c7c8}.menu-bottom{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:8%;right:8%;display:flex;gap:24px;align-items:center;justify-content:space-between;color:#cbdcdd;font-size:14px}.text-button{background:none;padding:12px 0;color:var(--gold);font-size:14px}.menu-bottom>span:first-child{font-family:Georgia,serif;font-style:italic}.modal{display:flex;align-items:center;justify-content:center;background:#02151bbc;backdrop-filter:blur(12px);padding:20px;overflow:auto}.panel{background:linear-gradient(145deg,#142d35f5,#091e27f5);border:1px solid #e7c88e33;box-shadow:0 24px 100px #0006;width:min(460px,100%);padding:clamp(24px,4vw,42px);border-radius:8px;max-height:100%;overflow:auto}.panel h2{font:36px/1.1 Georgia,serif;margin:18px 0 24px}.panel p{font-size:16px;line-height:1.5;color:#c0d3d4}.panel .primary{width:100%;margin-top:12px}.panel>.text-button{display:block;margin:10px auto 0}.secondary-button{width:100%;background:#ffffff0c;border:1px solid #ffffff22;border-radius:3px;padding:17px;margin-top:12px;font-size:16px}dl{display:grid;grid-template-columns:1fr 1.3fr;gap:14px;font-size:14px;margin:24px 0}dt{color:var(--gold)}dd{margin:0}.secondary{font-size:14px!important;color:#9db4bb!important}#hud{position:absolute;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:start;pointer-events:none;z-index:4;text-shadow:0 2px 8px #000}.overline{font-size:10px;letter-spacing:.2em;color:#b2c4c8;display:block;margin-bottom:7px}.health{width:130px}#hearts{display:flex;gap:7px}#hearts i{width:16px;height:5px;background:var(--gold);box-shadow:0 0 12px #e7c88e66;transform:skew(-20deg)}#hearts i.empty{background:#ffffff20;box-shadow:none}.score{text-align:center;min-width:100px;position:absolute;left:50%;transform:translateX(-50%)}.score strong{font-size:24px;font-variant-numeric:tabular-nums;letter-spacing:.08em;font-weight:400}#combo{display:block;color:var(--gold);font-size:12px;margin-top:5px}.hud-actions{display:flex;gap:9px;pointer-events:auto}.hud-actions button{border:1px solid #ffffff30;background:#06212c88;backdrop-filter:blur(8px);border-radius:50%;height:40px;width:40px;font-size:21px}#journey{position:absolute;top:max(88px,calc(env(safe-area-inset-top) + 65px));left:max(24px,env(safe-area-inset-left));width:170px;z-index:3;pointer-events:none}#journey>span:first-child{font-size:10px;letter-spacing:.15em;color:#b8d0d2}.progress{height:2px;background:#ffffff26;margin:9px 0 7px}.progress i{height:2px;width:0;background:var(--gold);display:block}#goal{font-size:12px;color:#d6e2df}#notice{position:absolute;top:26%;left:50%;transform:translateX(-50%);font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);text-align:center;pointer-events:none;z-index:3;white-space:nowrap;opacity:0;transition:opacity .3s;text-shadow:0 2px 12px #000}#bossHud{position:absolute;top:100px;left:50%;transform:translateX(-50%);width:min(300px,50%);text-align:center;z-index:3}#bossHud span{font-size:11px;letter-spacing:.2em;color:#ffd1a9}#bossHud>div{height:4px;background:#ffffff20;margin-top:10px}#bossHealth{display:block;height:4px;background:#ec8262;width:100%}#controls{position:absolute;inset:auto 0 max(14px,env(safe-area-inset-bottom)) 0;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));pointer-events:none;user-select:none;-webkit-user-select:none}.movement,.actions{display:flex;gap:10px;align-items:flex-end;pointer-events:auto}#controls button{border:1px solid #c6dad75c;background:#08273288;backdrop-filter:blur(5px);width:62px;height:62px;border-radius:50%;font-size:11px;font-weight:700;letter-spacing:.06em;box-shadow:inset 0 0 20px #dbf6e408}#controls button.active,#controls button:active{background:#e7c88e66;border-color:var(--gold)}#controls .movement button{font-size:36px;font-weight:400}#controls .small{width:46px;height:46px;font-size:10px}#controls [data-control=star]{font-size:26px}#controls .jump{background:#e7c88e29;border-color:#e7c88e99;color:#f2d7a5}#keyboardHint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;color:#b4cdcd;font-size:10px;letter-spacing:.07em;white-space:nowrap;background:#03182066;padding:12px 20px;border-radius:3px;pointer-events:none}#keyboardHint b{color:#f0dbb4;font-weight:400;margin-left:4px}.result-score span{font-size:11px;letter-spacing:.2em;display:block;color:#b8cccb}.result-score strong{font-size:48px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--gold);display:block;margin-top:6px}#menu{background:linear-gradient(90deg,#071f29bb 0%,#071f2930 55%,transparent 85%)}
@media(pointer:fine){#controls{display:none!important}}@media(pointer:coarse){#keyboardHint{display:none!important}}@media(max-width:600px) and (orientation:portrait){.menu-copy{left:28px;top:43%;transform:translateY(-50%)}h1{font-size:76px}.menu-copy p{font-size:18px}.menu-bottom{left:28px;right:28px;gap:10px;flex-wrap:wrap;font-size:12px}.menu-bottom>span:first-child{flex-basis:100%}#hud{left:16px;right:16px}.health{width:100px}#hearts{gap:5px}#hearts i{width:13px}.score strong{font-size:20px}.hud-actions button{height:35px;width:35px}#journey{left:16px;width:135px}#controls{padding-left:12px;padding-right:12px}.movement,.actions{gap:7px}#controls button{width:52px;height:52px}#controls .small{width:38px;height:38px;font-size:9px}.actions{gap:5px}#bossHud{top:148px;width:65%}}@media(max-height:480px){.menu-copy{top:45%}h1{font-size:60px;margin:14px 0}.menu-copy p{display:none}.primary{padding:13px 22px;min-height:44px}.build-label{margin-top:10px}.menu-bottom{bottom:12px}#hud{top:12px}#journey{top:65px}#controls button{height:50px;width:50px}#controls .small{height:38px;width:38px}#controls{bottom:10px}#keyboardHint{bottom:12px}#bossHud{top:75px}.panel{padding:20px}.panel h2{font-size:28px;margin:10px 0}}

#levelSelect{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 18px;width:min(440px,100%)}#levelSelect button{padding:10px 12px;text-align:left;border:1px solid #e7c88e38;background:#071d28cc;border-radius:3px;font-size:11px;color:#c2d1d6;min-height:39px}#levelSelect button.selected{border-color:var(--gold);color:var(--gold);background:#e7c88e14}#levelSelect button:disabled{opacity:.42;cursor:default}#notice{white-space:normal;width:min(560px,80%);line-height:1.5}#journey{width:205px}@media(max-height:480px){#levelSelect{margin:10px 0;gap:4px}#levelSelect button{padding:7px 10px;min-height:31px;font-size:10px}.menu-copy{top:43%}.menu-bottom{bottom:8px}}@media(max-width:600px) and (orientation:portrait){.menu-copy{right:28px}#levelSelect{width:100%}#journey{width:165px}.menu-copy p{margin-bottom:18px}}
