:root{font-family:'Courier New',monospace;color:#e5d8b8;background:#0b1012;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}button,select{font:inherit;color:inherit}button{border:1px solid #4b6560;background:#1b2b2b;min-height:42px;padding:8px 12px;cursor:pointer;touch-action:none}button:hover{border-color:#d0a45b;background:#2b4540}button:focus-visible,select:focus-visible{outline:2px solid #f0c374;outline-offset:3px}#arcade{max-width:1600px;height:100dvh;margin:auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}header{height:65px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 22px;background:#142222;border-bottom:3px solid #6a6247;flex-shrink:0}.brand{font-size:15px;font-weight:bold;letter-spacing:1px;color:#dac39b}.brand span{display:block;color:#9bab88;font-size:12px;letter-spacing:2px;margin-top:3px}#floorName{color:#a5b3a7;font-size:13px}nav{display:flex;gap:6px}nav button{font-size:12px}#stage{flex:1;min-height:0;position:relative;overflow:hidden;background:#162421}#screen{display:block;width:100%;height:100%;image-rendering:pixelated}.shade{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 70px #0008;background:repeating-linear-gradient(0deg,#0001,#0001 1px,transparent 1px,transparent 4px)}.topline{position:absolute;top:14px;left:18px;right:18px;pointer-events:none;display:flex;flex-direction:column;gap:9px;text-shadow:2px 2px #000}#objective{font-size:12px;color:#bccdb2}#toast{font-size:15px;color:#ffd076;font-weight:bold;max-width:75%}#boss{position:absolute;left:25%;right:25%;bottom:18px;text-align:center;font-size:12px;color:#ed97ac;text-shadow:2px 2px #000;pointer-events:none}#boss div{background:#311826;border:1px solid #a34c6d;height:9px;margin-top:6px}#boss i{display:block;height:100%;background:#c7548b}#overlay{position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,#0a1311ed,#0a1311c9,#0a1311ed);display:flex;justify-content:center;align-items:center;overflow:auto;backdrop-filter:blur(2px)}#overlay[hidden]{display:none}#panel{width:min(590px,100%);padding:20px 28px;text-align:center}.eyebrow{font-size:11px;letter-spacing:2px;color:#9baa88}h1{font-family:Impact,'Arial Black',sans-serif;color:#e9ce92;font-size:clamp(40px,7vh,68px);letter-spacing:3px;line-height:.95;margin:16px 0 12px;text-shadow:0 4px #645235,0 7px #222d26}h1 span{display:block;font-size:1.3em;color:#b3c49a}.portrait{width:72px;height:72px;margin:12px auto 0;background-image:url('assets/enemies.png');background-size:200% 200%;image-rendering:pixelated}#panel p{font-size:15px;line-height:1.55;color:#c1c4ae;margin:14px 0 19px}.primary{min-height:52px;background:#c2a05c;border:1px solid #f5d490;box-shadow:0 4px #67533a;color:#17221d;letter-spacing:1px;font-weight:bold;font-size:17px;width:min(320px,100%)}.primary:hover{background:#ebc274}.select{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0}.select label{font-size:12px;color:#a1ad91}.select select{background:#122321;border:1px solid #54654f;padding:8px;font-size:13px}.instructions{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid #536445;padding-top:16px;text-align:left}.instructions strong{font-size:12px;color:#d3bd83;display:block;margin-bottom:7px}.instructions span{font-size:12px;line-height:1.6;color:#a8b4a5;display:block}small{font-size:11px;color:#7c8e7c;display:block;margin-top:16px}footer{height:100px;flex-shrink:0;display:flex;align-items:center;gap:24px;padding:10px 24px;background:linear-gradient(#2d3c35,#172422);border-top:4px solid #75674e}.hero{position:relative;width:74px;height:74px;background:#14221f;border:2px solid #7d785e;flex-shrink:0}.hero canvas{height:100%;width:100%;image-rendering:pixelated}.hero span{position:absolute;bottom:0;left:0;right:0;background:#14221f99;text-align:center;font-size:10px;color:#c0ba96}.health{min-width:130px;flex:1;max-width:330px}.health>div:first-child{display:flex;justify-content:space-between;align-items:baseline}.health label,.stat label{font-size:12px;color:#a8b399;letter-spacing:1px}.health strong{font-family:Impact,sans-serif;font-size:34px;color:#d3c493;font-weight:normal}.bar{height:10px;background:#10201b;border:1px solid #607055;margin-top:7px}.bar i{height:100%;display:block;background:linear-gradient(90deg,#718958,#c1cb85);width:100%}.stat{text-align:center;border-left:1px solid #62705060;padding-left:24px;min-width:85px}.stat label{display:block}.stat strong{font-family:Impact,'Arial Black',sans-serif;display:block;color:#e2bd73;font-size:28px;font-weight:normal;margin-top:4px;letter-spacing:1px}.stat.last strong{color:#a4bcaa;font-size:24px}#controls{display:none;position:absolute;inset:0;pointer-events:none;z-index:3}#stick{position:absolute;bottom:22px;left:28px;width:132px;height:132px;background:#16302a77;border:2px solid #d1ddb655;border-radius:50%;pointer-events:auto;touch-action:none}#thumb{position:absolute;width:52px;height:52px;left:38px;top:38px;border-radius:50%;background:#b3c8a455;border:2px solid #cbdfae99}#stick>span{position:absolute;bottom:-20px;width:100%;text-align:center;color:#b6caaa88;font-size:11px}.buttons{position:absolute;bottom:22px;right:28px;pointer-events:auto;display:flex;gap:12px;align-items:center}.buttons button{border-radius:50%;width:76px;height:76px;background:#58407699;border:2px solid #bd8de277;font-weight:bold;font-size:13px}.buttons #fire{width:106px;height:106px;background:#9c723877;border-color:#e4c07988;font-size:20px}.buttons #nova span{display:block;font-size:19px;color:#e8bdff;margin-top:4px}.buttons button:active{background:#d4ac6677}.touch #controls{display:block}#overlay:not([hidden])~#controls{display:none}.result{font-family:Impact,sans-serif;font-size:46px;line-height:1.1;color:#ddca8b}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:16px 0;margin:20px 0;border-top:1px solid #576849;border-bottom:1px solid #576849;gap:10px}.stats strong{display:block;font-size:24px;color:#e6c177}.stats span{font-size:11px;color:#a1b29a}.secondary{display:block;margin:14px auto 0;border:none;background:transparent;color:#abb79b;font-size:13px}@media(pointer:coarse){#controls{display:block}}@media(max-width:850px){header{height:54px;padding:0 14px}#floorName{display:none}footer{gap:16px;padding:9px 14px;height:90px}.hero{height:66px;width:66px}.stat{padding-left:16px;min-width:60px}.stat.last{display:none}.stat strong{font-size:24px}.health{min-width:120px}.brand{font-size:13px}.brand span{font-size:10px}.topline{left:14px;top:10px}#toast{font-size:13px}#boss{bottom:15px;left:32%;right:32%}}@media(max-width:520px){header{height:48px;padding:0 9px;gap:5px}.brand{font-size:11px}.brand span{font-size:8px;letter-spacing:1px}nav button{font-size:10px;padding:6px;min-height:32px}footer{height:86px;gap:9px;padding:8px}.hero{width:52px;height:58px}.health{min-width:80px}.health strong{font-size:27px}.health label,.stat label{font-size:9px;letter-spacing:0}.stat{padding-left:9px;min-width:35px}.stat strong{font-size:20px}.bar{height:8px}.instructions{grid-template-columns:1fr}.instructions>div:last-child{display:none}#panel{padding:16px 20px}h1{font-size:40px}.portrait{width:66px;height:66px}.select{margin:15px 0}.select select{font-size:12px}#panel p{font-size:14px}#stick{width:110px;height:110px;left:16px;bottom:20px}#thumb{left:27px;top:27px}.buttons{right:16px;gap:9px;bottom:20px}.buttons button{width:64px;height:64px}.buttons #fire{width:90px;height:90px}#objective{font-size:10px}#toast{font-size:12px;max-width:80%}#boss{left:20%;right:20%;bottom:145px;font-size:10px}}@media(max-height:620px){header{height:42px}footer{height:74px}.hero{width:54px;height:54px}.health strong{font-size:27px}.stat strong{font-size:24px}.portrait{display:none}h1{font-size:37px;margin:10px 0}.eyebrow{font-size:10px}#panel{padding:12px 25px}#panel p{font-size:13px;margin:10px 0}.primary{min-height:42px;font-size:15px}.select{margin:12px 0}.instructions{padding-top:10px}small{display:none}#stick{width:110px;height:110px;bottom:17px;left:20px}#thumb{left:27px;top:27px}.buttons{bottom:17px;right:20px}.buttons button{height:62px;width:62px}.buttons #fire{height:90px;width:90px}}
