@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--amber:#f5b53c;--blue:#62c8ff;--ink:#0a1523}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#07111d;color:#f2f5f7;font-family:'DM Sans',Arial,sans-serif}button{font:inherit;cursor:pointer}#game,canvas{display:block;width:100%;height:100%}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 46%,transparent 35%,rgba(2,7,15,.53) 100%)}.topbar{position:fixed;top:0;left:0;right:0;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:linear-gradient(180deg,rgba(4,14,26,.94),rgba(4,14,26,0));z-index:4}.brand{display:flex;align-items:center;gap:12px;font-family:'Barlow Condensed',Impact,sans-serif;font-size:25px;letter-spacing:1.7px;font-weight:800;line-height:.9}.brand b{color:var(--amber)}.brand small{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:2.3px;color:#8fa5b6;margin-top:8px}.shield{width:35px;height:40px;display:grid;place-items:center;background:#c78b25;color:#101923;font-size:23px;clip-path:polygon(50% 0,96% 18%,88% 69%,50% 100%,12% 69%,4% 18%)}.topright{display:flex;align-items:center;gap:13px}.live{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#b7cad6;margin-right:6px}.live i{display:inline-block;width:7px;height:7px;background:#59d5a4;border-radius:50%;margin-right:8px;box-shadow:0 0 12px #59d5a4}.iconbtn{width:34px;height:34px;border:1px solid #456071;background:rgba(8,25,40,.65);color:#d0e4ed;border-radius:4px;font-weight:800}.mission{position:fixed;left:32px;top:111px;width:270px;padding:18px 20px 18px;background:linear-gradient(145deg,rgba(12,31,48,.94),rgba(7,20,35,.88));border:1px solid #456078;border-left:3px solid var(--amber);box-shadow:0 18px 45px #0006;z-index:3;backdrop-filter:blur(12px)}.eyebrow{font-size:9px;font-weight:800;letter-spacing:2.1px;color:var(--amber)}.eyebrow span{float:right;color:#8da9ba}.mission-title{font:800 26px 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:.4px;margin:12px 0 4px}.mission p{font-size:11px;line-height:1.6;color:#a9bdca;margin:0 0 17px}.progress{height:3px;background:#2e4353}.progress span{display:block;height:100%;width:25%;background:var(--amber);transition:width .4s}.steps{display:flex;justify-content:space-between;margin-top:11px;color:#647e8c;font:700 9px 'Barlow Condensed',sans-serif;letter-spacing:1px}.steps .active{color:var(--amber)}.steps .done{color:#65d9aa}.compass{position:fixed;top:104px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#7c99aa;font-size:10px;font-weight:700;z-index:3}.compass div{color:var(--amber);font-size:21px;filter:drop-shadow(0 0 7px #f5b53c)}.score{position:fixed;right:32px;top:111px;display:flex;gap:16px;align-items:center;background:rgba(9,27,42,.83);border:1px solid #355267;padding:13px 17px;z-index:3}.score div{display:flex;flex-direction:column;gap:3px}.score small{font-size:8px;letter-spacing:1.5px;color:#8aa4b4;font-weight:800}.score strong{font:800 22px 'Barlow Condensed',Impact,sans-serif;color:white;line-height:1}.score .divider{display:block;width:1px;height:27px;background:#395269}.prompt{position:fixed;left:50%;bottom:99px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:rgba(5,18,30,.9);border:1px solid #c18a32;padding:9px 15px;color:white;font-size:12px;font-weight:700;z-index:4;white-space:nowrap;box-shadow:0 0 30px #f5b53c22}.prompt kbd{display:grid;place-items:center;width:29px;height:28px;background:var(--amber);color:#1a2430;font:800 15px 'Barlow Condensed',sans-serif}.toast{position:fixed;top:90px;left:50%;transform:translateX(-50%);z-index:6;background:#17334a;border:1px solid #5ba6c8;color:#e9f8ff;padding:11px 17px;font-size:12px;font-weight:700;box-shadow:0 15px 30px #0008}.hidden{display:none!important}.crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffff70;font:300 19px Arial;pointer-events:none}.controls-hint{position:fixed;bottom:27px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:1px;color:#bad0de;background:#081e2ac9;padding:9px 14px;border:1px solid #34505f;z-index:3}.controls-hint b{color:var(--amber);margin:0 6px}.loading{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#071321;transition:opacity .5s}.loading .badge{font-size:54px;color:var(--amber)}.loading h1,.intro-card h1{font:900 clamp(66px,10vw,124px)/.76 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;text-align:center;margin:12px 0}.loading h1 em,.intro-card h1 em{font-style:normal;color:var(--amber)}.loading p{font-size:10px;letter-spacing:4px;color:#7e9aa9}.loadbar{width:220px;height:3px;background:#274052;margin-top:25px;overflow:hidden}.loadbar i{display:block;width:100%;height:100%;background:var(--amber);animation:load 1.4s ease-in-out}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(0)}}.overlay{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:linear-gradient(120deg,#071421d9,#0b1a2bb5),radial-gradient(circle at 50% 40%,#1d3e55,#05111d);backdrop-filter:blur(8px)}.intro-card{text-align:center;width:min(520px,90vw);padding:40px 20px}.intro-line{font-size:10px;letter-spacing:4px;font-weight:800;color:#c7d6df}.intro-star{font-size:41px;color:var(--amber);margin:17px 0 12px}.intro-card p{max-width:390px;margin:22px auto;color:#b9cbd5;font-size:14px;line-height:1.6}.intro-details{display:flex;justify-content:center;gap:21px;color:#8db2c7;font:700 12px 'Barlow Condensed',sans-serif;letter-spacing:1px}.start{display:flex;align-items:center;justify-content:space-between;width:245px;margin:28px auto 18px;padding:15px 18px;background:var(--amber);border:0;color:#102030;font:800 18px 'Barlow Condensed',sans-serif;letter-spacing:1.3px;box-shadow:0 7px 30px #f5b53c45}.start span{font-size:25px;line-height:13px}.intro-card>small{font-size:10px;color:#7795a6}.help-card{width:min(440px,90vw);background:#0b1e30;border:1px solid #547087;padding:32px;position:relative;box-shadow:0 20px 80px #0009}.help-card h2{font:800 39px 'Barlow Condensed';margin:8px 0 20px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:11px}.help-grid span{color:var(--amber);font-weight:800;letter-spacing:1px}.help-grid b{font-weight:500;color:#cfdee5}.help-card p{font-size:12px;line-height:1.6;color:#91aebf;margin-top:24px}.close{position:absolute;right:15px;top:11px;border:0;background:none;color:#b9d0dc;font-size:28px}.mobile{display:none}.mobile button{touch-action:none}@media(max-width:700px){.topbar{padding:0 15px;height:68px}.brand{font-size:19px}.brand small{font-size:7px}.shield{width:29px;height:33px}.live{display:none}.mission{top:80px;left:12px;width:205px;padding:12px}.mission-title{font-size:20px}.mission p{font-size:10px}.score{right:12px;top:80px;padding:9px;gap:7px}.score small{font-size:7px}.score strong{font-size:19px}.compass{display:none}.controls-hint{display:none}.mobile{display:flex;position:fixed;bottom:18px;left:15px;right:15px;align-items:end;justify-content:space-between;z-index:5}.dpad{display:flex;flex-direction:column;align-items:center;gap:2px}.dpad div{display:flex;gap:2px}.mobile button{border:1px solid #98b4c7;background:#0b2636b8;color:white;border-radius:7px;width:49px;height:45px;font-size:17px}.mobile .action{width:60px;height:60px;background:#d69a31;color:#172436;border:0;border-radius:50%;font-weight:900;line-height:1.1}.mobile .action small{font-size:8px}.prompt{bottom:90px}.intro-card h1{font-size:75px}}
/* Always-visible gamepad for mouse and touch play */
.mobile{display:flex;position:fixed;bottom:24px;left:28px;right:28px;align-items:end;justify-content:space-between;z-index:5;pointer-events:none}.mobile button{pointer-events:auto;touch-action:none;border:1px solid #9ab9cc;background:#0b2636c9;color:#fff;border-radius:7px;width:50px;height:46px;font-size:18px;box-shadow:0 7px 20px #0007;user-select:none}.mobile button:active{background:#e3ae4c;color:#152435}.mobile .action{width:70px;height:70px;background:#e5a83f;color:#172436;border:0;border-radius:50%;font-weight:900;line-height:1.1;box-shadow:0 0 0 5px #e5a83f30,0 10px 25px #0008}.mobile .action small{font-size:9px}.dpad{display:flex;flex-direction:column;align-items:center;gap:3px}.dpad div{display:flex;gap:3px}.controls-hint{bottom:29px}
@media(max-width:700px){.mobile{bottom:18px;left:15px;right:15px}.mobile button{width:49px;height:45px}.mobile .action{width:60px;height:60px}}
