:root{font-family:Manrope,Arial,sans-serif;color:#f1f3e9;background:#0b1017;font-synthesis:none;font-weight:500;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #69dcff;outline-offset:4px}button:disabled{cursor:default}button{color:inherit}a{color:inherit;text-decoration:none}.menu{max-width:1080px;margin:auto;padding:32px 48px 28px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:75px;min-height:100svh;align-content:center}.brand{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.brand a{display:flex;gap:10px;align-items:center;font-weight:800;font-size:12px;line-height:1.2;letter-spacing:2px}.brand-mark{display:flex;width:38px;height:38px;border:1px solid #c7ff64;color:#c7ff64;align-items:center;justify-content:center;font-size:27px;position:relative}.brand-mark span{position:absolute;right:-5px;top:-8px;background:#0b1017;font-size:19px}.icon-button{width:42px;height:42px;border:1px solid #ffffff20;background:#141c23;border-radius:50%;font-size:22px}.hero{grid-column:1;grid-row:2/5;text-align:center}.eyebrow{display:flex;justify-content:center;align-items:center;gap:9px;font-size:9px;font-weight:800;letter-spacing:2.7px;color:#c7ff64}.eyebrow i{width:5px;height:5px;background:#c7ff64;border-radius:50%;box-shadow:0 0 10px #c7ff64}h1{font-family:Oswald,Arial Narrow,sans-serif;font-size:44px;line-height:1.15;font-weight:600;margin:19px 0 0;letter-spacing:-1px}h1 em{font-style:normal;color:#c7ff64}.portrait{position:relative;margin:-1px auto -14px;width:100%;max-width:390px}.hero-art{width:100%;display:block}.portrait-label{position:absolute;left:0;bottom:66px;font-size:9px;letter-spacing:2px;transform:rotate(-90deg);color:#819083}.portrait-label b{font-size:8px;color:#c7ff64;margin-left:12px}.sticker{position:absolute;right:-4px;bottom:66px;border:1px solid #b0c19455;padding:9px 13px;font-size:8px;text-align:left;letter-spacing:1px;transform:rotate(-8deg);background:#0b1017b0}.intro{color:#98a19f;font-size:12px;line-height:1.8;margin:0 0 20px}.districts{grid-column:2;align-self:end;padding-top:60px}.section-title{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.6px;color:#81908e;font-weight:800;margin-bottom:14px}.section-title span:last-child{color:#c7ff64}.level-list{display:grid;gap:10px}.level{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:20px 17px;border:1px solid #263035;background:#11191f;border-radius:12px;transition:background .2s,border .2s}.level.selected{background:linear-gradient(110deg,#27321c,#151d19);border-color:#c7ff6480}.level-number{font-family:Oswald,sans-serif;font-size:27px;color:#58645c}.level.selected .level-number{color:#c7ff64}.level strong{display:block;font-size:13px;font-weight:800}.level small{display:block;margin-top:6px;color:#85918b;font-size:10px}.level-arrow{margin-left:auto;color:#c7ff64;font-size:21px}.level:disabled{opacity:.45}.menu-actions{grid-column:2;padding-top:24px}.primary{border:0;border-radius:10px;background:#c7ff64;color:#172111;font-size:12px;font-weight:800;letter-spacing:1.3px;width:100%;padding:20px 22px;box-shadow:0 5px 30px #c7ff6412;transition:filter .2s,transform .2s}.primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.primary span{float:right;font-size:18px;line-height:15px}.text-button{display:block;margin:17px auto;border:0;background:none;font-size:11px;color:#a6b0aa}.text-button span{display:inline-grid;place-items:center;border:1px solid #67726a;border-radius:50%;width:15px;height:15px;margin-left:5px;font-size:9px}.footnote{font-size:8px;color:#68766f;text-align:center;letter-spacing:.4px;margin-top:25px}.play-screen{height:100dvh;width:100vw;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;touch-action:none;-webkit-user-select:none;user-select:none}#game{position:absolute;top:0;right:0;bottom:0;left:0}#game canvas{display:block}.hud{position:absolute;top:0;left:0;right:0;padding:calc(env(safe-area-inset-top,0px) + 18px) 18px 14px;display:flex;gap:15px;align-items:center;background:linear-gradient(#0b1017f5,#0b1017c9,transparent);pointer-events:none}.hud button{pointer-events:auto}.hud-center{flex:1;max-width:240px}.hud-center>span{font-weight:800;font-size:12px}.energy{height:5px;background:#344238;border-radius:8px;margin:8px 0 5px;overflow:hidden}#energy-bar{height:100%;background:#c7ff64;transition:width .2s}.hud-center small{font-size:8px;color:#a5b3a8}.gem-count{margin-left:auto;color:#89e5ff;font-size:23px}.gem-count strong{font-size:20px}.gem-count small{color:#809498;font-size:10px}.game-status{position:absolute;top:calc(env(safe-area-inset-top,0px) + 100px);left:20px;right:20px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#b4c4ba;pointer-events:none}#alert{background:#0b1017ba;padding:7px 9px;border-radius:5px}.danger{color:#ff8796!important}#timer{padding:7px;background:#0b1017ba;border-radius:5px}#notice{position:absolute;top:calc(env(safe-area-inset-top,0px) + 144px);left:50%;transform:translate(-50%);width:min(85%,400px);background:#0b1017e8;border:1px solid #a8c89035;border-radius:10px;padding:12px 16px;text-align:center;font-size:11px;line-height:1.5;opacity:0;transition:opacity .3s;pointer-events:none}#notice.visible{opacity:1}.controls{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 26px);left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}#joystick{width:116px;height:116px;border:1px solid #d3efad40;background:#0b101770;border-radius:50%;display:grid;place-items:center;pointer-events:auto;touch-action:none}#stick{position:absolute;width:50px;height:50px;border:1px solid #c7ff6480;border-radius:50%;background:#c7ff6430;box-shadow:0 0 30px #c7ff6415}.joystick-cross{font-size:65px;color:#ffffff12}.abilities{display:flex;gap:12px;pointer-events:auto}.abilities button{border:1px solid #b8d29c70;background:#101b20d9;width:68px;height:72px;border-radius:17px;color:#c7ff64;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}.abilities button span{font-size:30px;line-height:1}.abilities button b{font-size:8px;letter-spacing:1px}.abilities button:disabled{color:#79847b;border-color:#74856944}.overlay-card{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:35px;background:#0b1017ed;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.overlay-card .primary,.overlay-card .secondary{max-width:350px}h2{font-family:Oswald,Arial Narrow,sans-serif;font-size:40px;line-height:1.2;margin:20px 0}.overlay-card p{color:#99aaa2;font-size:13px;line-height:1.8;max-width:330px;margin-bottom:30px}.secondary{border:1px solid #3d4a3f;border-radius:10px;padding:16px;width:100%;background:transparent;margin-top:12px;font-size:12px}.result-symbol{font-size:75px;color:#c7ff64;margin-bottom:20px}dialog{border:1px solid #3b4c38;border-radius:20px;background:#111a20;color:#eff5e8;max-width:450px;width:calc(100% - 32px);max-height:90dvh;padding:28px}dialog::backdrop{background:#060b11dd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}dialog h2{font-size:38px}dialog .eyebrow{justify-content:start;font-size:8px}dialog p{font-size:12px;line-height:1.7;color:#b3beb5}dialog .muted{font-size:10px;color:#84968b}.instructions{list-style:none;padding:0;display:grid;gap:17px;margin:24px 0}.instructions li{display:flex;gap:15px;align-items:center;font-size:11px;color:#a3b1a6}.instructions i{font-size:25px;font-style:normal}.instructions b{display:block;color:#ecf2e7;margin-bottom:4px}@media(max-width:680px){.menu{display:block;padding:calc(env(safe-area-inset-top,0px) + 22px) 24px 20px;max-width:440px}.brand{margin-bottom:24px}.hero h1{font-size:38px}.portrait{max-width:300px;margin-top:-8px;margin-bottom:-18px}.portrait-label{left:-20px;bottom:56px}.sticker{right:-8px;bottom:50px;font-size:7px}.intro{font-size:11px;margin-bottom:25px}.districts{padding-top:0}.level{padding:14px 16px}.level-number{font-size:24px}.menu-actions{padding-top:20px}.footnote{margin-top:17px}.level strong{font-size:12px}.brand a{font-size:10px}.brand-mark{width:32px;height:32px;font-size:23px}.eyebrow{font-size:8px}}@media(max-width:360px){.controls{left:14px;right:14px}#joystick{width:98px;height:98px}.abilities{gap:8px}.abilities button{width:59px}.menu{padding-left:18px;padding-right:18px}h1{font-size:34px!important}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
