:root{color-scheme:dark;--bg:#151912;--panel:#1c2118;--lime:#d4f77d;--cream:#f0f1e5;--muted:#989e8e;--line:#343b2d;--orange:#ff9257;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--cream)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.topbar{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:20px}.brand{display:flex;align-items:center;gap:12px;letter-spacing:2px;font-size:11px;font-weight:800}.brand-mark{font-size:35px;letter-spacing:-4px;color:var(--lime);line-height:1}.edition{font-size:9px;letter-spacing:2px;color:var(--muted)}.icon-button{background:none;border:1px solid var(--line);color:var(--muted);padding:10px 13px;font:10px monospace;border-radius:4px}main{max-width:1440px;margin:auto;padding:38px 5% 0}.game-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--lime);font-weight:700;display:inline-flex;align-items:center;gap:8px}.eyebrow i,.auto-bark i{width:6px;height:6px;background:var(--lime);border-radius:50%;display:inline-block}h1{font-size:24px;letter-spacing:-1px;margin:10px 0 0}h1 span{font-weight:400;color:var(--muted);letter-spacing:-.7px}.personal-best{text-align:right}.personal-best span{display:block;color:var(--muted);font-size:9px;letter-spacing:1.7px;margin-bottom:6px}.personal-best strong{font-family:monospace;font-size:25px;font-weight:400;letter-spacing:3px}.arena{position:relative;border:1px solid #48533b;border-radius:12px;background:#242c1d;overflow:hidden;aspect-ratio:1100/680;isolation:isolate;box-shadow:0 20px 80px #0002}#game{width:100%;height:100%;display:block;touch-action:none}.overlay{position:absolute;inset:0}.intro{display:flex;background:radial-gradient(ellipse at 75% 40%,#45533899,transparent 55%),linear-gradient(115deg,#252f1bfa,#2c3623c7)}.intro-copy{z-index:2;width:55%;padding:7% 0 5% 6%}.pill{border:1px solid #647247;color:var(--lime);border-radius:20px;padding:8px 12px;font-size:8px;letter-spacing:1.6px;font-weight:700;display:inline-block}.intro h2{font-size:clamp(38px,5.5vw,78px);letter-spacing:-4px;line-height:.99;margin:25px 0 22px;font-weight:850}.intro h2 em{font-style:normal;color:var(--lime)}.intro p{font-size:12px;color:#bcc4ae;line-height:1.8;margin:0 0 25px}.primary{border:0;background:var(--lime);color:#202718;padding:19px 23px;font-size:11px;font-weight:800;letter-spacing:1px;border-radius:5px;display:inline-flex;gap:36px;justify-content:space-between;align-items:center;box-shadow:0 4px 0 #93b449;transition:background .15s,transform .15s}.primary:hover{background:#e2ff9f;transform:translateY(-2px)}.primary span{font-size:23px;line-height:12px}.start-note{display:block;margin-top:14px;font-size:9px;color:var(--muted)}.hero-art{position:absolute;right:-1%;top:0;width:57%;height:95%}#portrait{width:100%;height:100%;object-fit:contain}.hero-sticker{position:absolute;bottom:15%;right:14%;transform:rotate(-8deg);font:9px/1.6 monospace;letter-spacing:.5px;background:var(--orange);color:#392619;padding:12px 16px;box-shadow:4px 5px 0 #1117;border:1px solid #efaa79}.hero-sticker b{font-size:10px}.arena-caption{position:absolute;bottom:22px;left:6%;font:8px monospace;letter-spacing:1.3px;color:#91a080}.hud{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;padding:22px 25px;background:linear-gradient(#111b,transparent);pointer-events:none}.vitals{width:145px}.vitals span{font:10px monospace;display:flex;justify-content:space-between;color:#e9efdf}.vitals b{color:var(--lime)}progress{appearance:none;border:none;height:5px;border-radius:5px;background:#121b16;width:100%}progress::-webkit-progress-bar{background:#121b16;border-radius:5px}progress::-webkit-progress-value{background:var(--lime);border-radius:5px}progress::-moz-progress-bar{background:var(--lime)}.stage-hud{text-align:center}.stage-hud span{font:10px monospace;color:var(--lime)}.stage-hud strong{display:block;font-size:11px;letter-spacing:2px;margin:7px 0}.stage-hud progress{width:130px;height:3px}.score-hud{display:flex;align-items:center;gap:20px}.score-hud span{font:23px monospace;letter-spacing:2px}.score-hud button{pointer-events:auto;border:1px solid #71805a;background:#202c20;color:var(--cream);width:32px;height:32px;border-radius:5px}.abilities{position:absolute;bottom:20px;right:22px;display:flex;align-items:center;gap:10px}.abilities button{border:1px solid #657b45;border-radius:6px;padding:10px 13px;background:#162111e8;display:grid;grid-template-columns:auto auto;gap:6px 10px;color:var(--cream);touch-action:none;min-width:120px}.abilities button:disabled{opacity:.6;cursor:default}.abilities kbd{font:9px monospace;color:var(--muted)}.abilities button span{font-size:9px;font-weight:bold;letter-spacing:.8px}.abilities b{grid-column:2;font:9px monospace;color:var(--lime)}.auto-bark{font:8px monospace;color:#a7b29b;margin-right:10px;display:flex;gap:6px;align-items:center}.dialog{display:flex;justify-content:center;align-items:center;background:#121b15e8;backdrop-filter:blur(9px);z-index:5;text-align:center;padding:30px}.dialog-inner{width:100%;max-width:820px}.dialog h2{font-size:clamp(29px,4vw,52px);letter-spacing:-2px;margin:16px 0}.dialog p{color:var(--muted);font-size:13px;line-height:1.7}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0 5px}.upgrade-grid button{text-align:left;border:1px solid #5e7047;background:#28331f;border-radius:8px;color:var(--cream);padding:22px 18px}.upgrade-grid button:hover{background:#354529;border-color:var(--lime)}.upgrade-grid span{display:block;font:9px monospace;color:var(--lime)}.upgrade-grid strong{display:block;font-size:17px;margin:18px 0 9px}.upgrade-grid small{font-size:11px;line-height:1.7;color:var(--muted)}.run-summary{font-family:monospace!important}.toast{position:absolute;left:50%;top:20%;transform:translateX(-50%);background:#131c15ef;border:1px solid #6c7b52;color:var(--lime);padding:12px 20px;border-radius:40px;font:11px monospace;text-align:center;white-space:nowrap;pointer-events:none}.field-guide{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:30px;padding:34px 0 40px}.guide-title{padding-top:3px}.guide-title p{font-size:19px;line-height:1.45;letter-spacing:-.4px;margin:13px 0;color:var(--muted)}.guide-title strong{color:var(--cream)}.guide-item{border-left:1px solid var(--line);padding-left:25px}.control-key{font:10px monospace;letter-spacing:1px;color:var(--lime)}.control-key small{color:var(--muted);font-size:8px}.control-key.danger{color:var(--orange)}.guide-item h3{font-size:12px;margin:15px 0 8px}.guide-item p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}footer{border-top:1px solid var(--line);padding:24px 5%;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1px;color:var(--muted)}footer i{font-style:normal;color:var(--lime)}footer a{font-size:9px}.joystick{position:absolute;left:25px;bottom:25px;width:94px;height:94px;border:1px solid #d4f77d50;border-radius:50%;background:#151d1950;pointer-events:none}.joystick span{position:absolute;left:30px;top:30px;width:32px;height:32px;border-radius:50%;background:#d4f77d70;border:1px solid #d4f77d90}.arena.playing{touch-action:none}.arena.playing #game{cursor:crosshair}@media(min-width:1500px){.intro h2{font-size:80px}}@media(max-width:800px){.topbar{height:65px}.edition{display:none}main{padding-top:24px}.game-heading{margin-bottom:18px}h1{font-size:20px}h1 span{font-size:15px}.personal-best strong{font-size:20px}.personal-best span{font-size:7px}.arena{aspect-ratio:640/740}.intro-copy{width:100%;padding:8%}.intro h2{font-size:58px;letter-spacing:-3px;margin:23px 0 15px}.intro p{font-size:11px;max-width:62%}.hero-art{width:66%;right:-16%;top:18%;height:66%;opacity:.95}.hero-sticker{font-size:7px;right:23%;bottom:11%;padding:8px}.hero-sticker b{font-size:7px}.intro .primary{margin-top:8px}.arena-caption{font-size:7px;bottom:19px;max-width:60%;line-height:1.7}.field-guide{grid-template-columns:1fr 1fr;gap:25px;padding:28px 0}.guide-item{padding-left:15px}.guide-title p{font-size:18px}footer{flex-wrap:wrap;line-height:1.7}footer>span:nth-child(2){display:none}.hud{padding:16px 12px}.vitals{width:85px}.vitals span{font-size:8px}.stage-hud strong{font-size:8px;letter-spacing:1px}.stage-hud progress{width:90px}.score-hud{gap:8px}.score-hud span{font-size:17px;letter-spacing:0}.score-hud button{width:27px;height:27px}.abilities{bottom:18px;right:12px;gap:7px}.abilities button{min-width:80px;padding:12px 9px;display:flex;flex-direction:column;gap:5px}.abilities kbd{display:none}.abilities button span{font-size:8px}.auto-bark{display:none}.upgrade-grid{gap:8px;margin-top:20px;grid-template-columns:1fr}.upgrade-grid button{padding:13px 16px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.upgrade-grid span{grid-column:1/-1;font-size:8px}.upgrade-grid strong{font-size:15px;margin:5px 0}.upgrade-grid small{font-size:10px;text-align:right}.dialog{padding:24px}.dialog h2{font-size:31px}.toast{font-size:9px;max-width:90%;white-space:normal;width:max-content}.primary{font-size:10px;padding:18px 19px}.pill{font-size:7px}.start-note{max-width:55%;line-height:1.5}}@media(max-width:390px){h1 span{display:block;margin-top:4px}.intro h2{font-size:49px}.intro p{max-width:67%;line-height:1.65}.hero-art{right:-20%}.primary{gap:13px}.intro-copy{padding:7%}.start-note{font-size:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep the launch button and character completely inside narrow screens. */
@media(max-width:800px){.arena{aspect-ratio:auto;height:540px}.arena.playing{height:540px;min-height:450px}.intro h2{font-size:52px}.intro p br{display:none}.intro p{max-width:61%}.hero-art{right:0;top:30%;width:60%;height:58%}.hero-sticker{right:5%;bottom:12%}.arena-caption{max-width:90%}.start-note{max-width:70%}}
@media(max-width:390px){.intro h2{font-size:48px}.hero-art{right:-2%;width:62%}}
