@import url('./assets/fonts/fonts.css');
:root{color-scheme:dark;--gold:#d4b078;--muted:#989b98;--rust:#ba543c}*{box-sizing:border-box}body{margin:0;background:#101815;color:#efede5;font-family:'DM Sans',sans-serif;overflow:hidden}button,select,input{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer}#world,canvas,#vignette,#damage{position:fixed;inset:0;width:100%;height:100%}#world{background:radial-gradient(ellipse at 70% 50%,#374b40,#101815 75%)}#vignette{pointer-events:none;background:radial-gradient(ellipse,transparent 45%,#0008)}#damage{pointer-events:none;box-shadow:inset 0 0 140px #c42316;opacity:0;transition:opacity .15s}header{position:absolute;z-index:3;top:0;width:100%;padding:28px 42px;display:flex;align-items:center;gap:32px;border-bottom:1px solid #ffffff15}.brand{font:bold 29px 'Barlow Condensed';color:var(--gold);display:flex;align-items:center;gap:16px}.brand>span{font-size:17px;letter-spacing:4px;color:#efede5}#sector{font-size:10px;letter-spacing:2px;color:#acb3aa}#sector i{font-style:normal;color:var(--gold);margin:0 12px}header button{margin-left:auto;background:none;border:1px solid #ffffff30;padding:10px 14px;color:#bbc0b8;font-size:10px;letter-spacing:1px}main{position:absolute;inset:0;z-index:4;padding:125px 8vw 35px;display:flex;align-items:center;background:linear-gradient(90deg,#0c1211f5 0%,#0c1211db 43%,#0c121159 100%);overflow-y:auto}.panel{width:480px;max-width:100%;z-index:1}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--gold);display:block}.dot{display:inline-block;width:6px;height:6px;background:var(--rust);margin-right:8px}h1{font:800 clamp(58px,7vw,92px)/.9 'Barlow Condensed';letter-spacing:2px;margin:24px 0}h1 span{display:block;font-size:22px;letter-spacing:10px;color:var(--gold);margin-top:14px}.intro{font:500 25px/1.25 'Barlow Condensed';letter-spacing:.4px}#description{color:#a8afa8;font-size:13px;line-height:1.8;max-width:395px}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:var(--gold);color:#1c221e;border:0;padding:19px 22px;font-weight:700;font-size:12px;letter-spacing:1.2px;margin-top:23px;cursor:pointer}.primary span{opacity:.5;margin-right:15px}.primary b{font-size:20px;margin-left:auto}.primary:hover{background:#edca92}.secondary{color:#c3c8bf;border:1px solid #ffffff25;background:#ffffff05;width:100%;padding:14px;margin-top:10px;font-size:12px}.fineprint{font-size:10px;line-height:1.7;color:#79867e;margin:16px 0;max-width:390px}.options{display:flex;gap:20px;font-size:10px;color:#9fa69e}.options label{display:flex;flex-direction:column;gap:8px}input[type=range]{width:160px;accent-color:var(--gold)}select{background:#1b2520;border:1px solid #ffffff20;padding:3px}.controls{color:#7e8b80;font-size:10px;line-height:1.8;border-top:1px solid #ffffff15;margin-top:19px;padding-top:15px}aside{margin-left:auto;padding:80px 0 0 50px;color:#bac4b8}aside>span{font-size:10px;letter-spacing:2px;color:var(--gold)}aside h2{font:600 38px 'Barlow Condensed';margin-bottom:12px}aside p{font-size:12px;line-height:2;color:#9ba99d}.badge{margin-top:45px;border-left:2px solid var(--gold);padding-left:13px;font-size:9px;letter-spacing:2px}.menu-art{position:absolute;right:6vw;top:15%;font:800 70vh 'Barlow Condensed';color:#bfa16e0a;transform:skew(-12deg);pointer-events:none}#error{color:#f0a68d;font-size:12px;margin-top:12px}.loadbar{height:3px;background:#ffffff20;margin-top:15px}.loadbar i{display:block;background:var(--gold);height:100%;width:0;transition:width .2s}#loadText{font-size:11px;color:var(--gold)}[hidden]{display:none!important}#hud{position:fixed;inset:0;pointer-events:none;z-index:2}#mission{position:absolute;top:115px;left:42px}#mission b{display:block;font-size:16px;margin-top:9px}#mission small{font-size:9px;color:#b9c2b4;display:block;margin-top:8px;letter-spacing:2px}footer{position:absolute;bottom:70px;left:42px;right:42px;display:flex;justify-content:space-between;align-items:end}.stat small,.round small{font-size:9px;letter-spacing:2px;color:#c2c8ba;display:block}.stat strong{font:600 54px 'Barlow Condensed';display:block}.stat em,.round em{font-style:normal;color:#a8b19f;font-size:24px}.bar{width:150px;height:3px;background:#ffffff25}.bar i{background:#d4b078;display:block;width:100%;height:100%}.round{text-align:center}.round b{font:500 30px 'Barlow Condensed'}.ammo{text-align:right}.keyline{position:absolute;bottom:25px;text-align:center;left:0;right:0;font-size:9px;letter-spacing:1px;color:#e2d9c6}.keyline span{color:#909b8a;margin:0 18px 0 7px}#crosshair{position:absolute;left:50%;top:50%;width:20px;height:20px;transform:translate(-50%,-50%)}#crosshair i{background:#f2f3da;position:absolute;box-shadow:0 0 2px #000}#crosshair i:nth-child(1){width:2px;height:6px;left:9px;top:0}#crosshair i:nth-child(2){width:2px;height:6px;left:9px;bottom:0}#crosshair i:nth-child(3){width:6px;height:2px;top:9px;left:0}#crosshair i:nth-child(4){width:6px;height:2px;top:9px;right:0}#hit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:36px;color:var(--gold);opacity:0}#notice{position:absolute;top:65%;width:100%;text-align:center;color:var(--gold);font:600 20px 'Barlow Condensed';letter-spacing:3px}@media(max-width:800px){header{padding:20px}#sector,aside{display:none}main{padding:100px 25px 25px;align-items:start}h1{font-size:64px}.panel{margin:auto}#mission{left:20px}footer{left:20px;right:20px}.keyline{display:none}}

.round #waveLevel{font-size:48px;color:var(--gold);line-height:1.15}.round #remaining{margin-top:7px;font-size:10px;letter-spacing:1px}.round .killtotal{margin-top:9px;color:#98a18e;font-size:9px}

/* Shared start and pause menu. */
#menu{padding:40px 24px;justify-content:center;align-items:center;background:#000;overflow-y:auto}
body.menu-paused #menu{background:rgba(0,0,0,.78)}
#menu .panel{width:420px;max-width:100%;margin:auto}
#menu h1{font:800 clamp(36px,7vw,50px)/1.02 'Barlow Condensed',Arial,sans-serif;letter-spacing:1.5px;text-align:center;margin:0 0 30px;color:#f1eee6}
#menu .primary{display:flex;justify-content:center;align-items:center;min-height:56px;width:100%;margin:0;padding:17px 22px;border:1px solid #e1be82;border-radius:3px;background:#d4b078;color:#15120d;text-align:center;font-size:13px;font-weight:700;letter-spacing:2px;transition:background .15s,box-shadow .15s}
#menu .primary:hover{background:#edca92;box-shadow:0 0 24px #d4b07820}
#menu .primary:focus-visible{outline:2px solid #f4d8a9;outline-offset:5px}
#menu .primary:disabled{cursor:wait;opacity:.6}
#menu .menu-controls{margin-top:30px;padding-top:22px;border-top:1px solid #ffffff20}
#menu .menu-controls h2{margin:0 0 12px;color:#b7aa93;font:600 10px/1.4 'DM Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:2.4px}
#menu .menu-controls dl{margin:0}
#menu .menu-controls dl>div{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:36px;border-bottom:1px solid #ffffff09}
#menu .menu-controls dl>div:last-child{border-bottom:0}
#menu .menu-controls dt{display:flex;align-items:center;gap:5px;margin:0}
#menu .menu-controls dd{margin:0;color:#d0cdc6;font-size:12px;line-height:1.4;text-align:right}
#menu kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border:1px solid #ffffff28;border-bottom:2px solid #ffffff38;border-radius:4px;background:#ffffff09;color:#eee9de;font:500 10px/1 'DM Sans',Arial,sans-serif;letter-spacing:.3px}
#menu kbd.wide{min-width:48px}
#menu #description{margin:0 0 20px;max-width:none;text-align:center;font-size:13px;line-height:1.6;color:#c6b7a0}
#menu #error:empty{display:none}
#menu #error{text-align:center;line-height:1.6}
#menu .loadbar{margin-top:20px}#menu #loadText{text-align:center}
@media(max-height:640px){#menu{padding:24px}#menu h1{font-size:36px;margin-bottom:20px}#menu .menu-controls{margin-top:20px;padding-top:16px}#menu .menu-controls dl>div{min-height:30px}#menu .primary{min-height:48px;padding:13px 20px}}
@media(prefers-reduced-motion:reduce){#menu .primary{transition:none}}

#menu .name-choice{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;color:#b7aa93;font-size:11px;letter-spacing:.8px}
#characterName{width:100%;border:1px solid #88703f;background:#101110;color:#f5e5c1;border-radius:3px;padding:11px 13px;font:15px Georgia,serif;letter-spacing:.3px}
#characterName:focus{outline:2px solid #d4b078;outline-offset:3px}
@media(max-height:640px){#menu .name-choice{margin-bottom:14px}}

.boss-test-button{display:block;width:100%;margin-top:10px;padding:13px 18px;border:1px solid #78512c;background:#211710;color:#edcda3;font:inherit;font-size:13px;font-weight:600;letter-spacing:.08em;cursor:pointer;border-radius:3px}.boss-test-button:hover{background:#392317;border-color:#c08745}.boss-test-button:focus-visible{outline:2px solid #e5b56b;outline-offset:3px}.boss-test-button:disabled{opacity:.45;cursor:wait}

#npcTestMenu h2{margin:0 0 18px;text-align:center;font:600 24px Georgia,serif;color:#e6e8e9}#npcTestMenu .boss-test-button{min-height:48px;border-color:#75858c;background:linear-gradient(#344047,#182025);color:#eee}#npcTestsBack{margin-top:22px!important}#menu:has(#npcTestMenu:not([hidden])) .menu-controls{display:none}
