@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/pixelify-sans-latin-600-normal-Dd_Dy7u5.woff2)format("woff2"),url(/assets/pixelify-sans-latin-600-normal-BNlgYbDL.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-semi-condensed-latin-400-normal-DlzeKIMS.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-400-normal-CwTnoNB3.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff")}:root{color:#eef0f4;font-synthesis:none;--coal:#191c24;--steel:#465865;--paper:#eef0f4;--coral:#ef5c65;--cyan:#4dc6d1;letter-spacing:0;background:#191c24;font-family:Barlow Semi Condensed,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}[hidden]{display:none!important}#world{width:100%;height:100%;image-rendering:pixelated;touch-action:none;outline:none;position:fixed;inset:0}#interface{pointer-events:none;position:fixed;inset:0}#interface button,#interface input,#locker,#joystick,#aimstick{pointer-events:auto}h1,h2,h3,.wordmark,.score,.command,#round-status{font-family:Pixelify Sans,sans-serif}h1,h2,h3{margin:0;font-weight:600}h1{font-size:25px}h2{font-size:22px}button{border-radius:2px}.topbar{background:#191c24f5;border-bottom:3px solid #465865;justify-content:space-between;align-items:center;gap:18px;height:66px;padding:0 26px;display:flex}.wordmark{color:var(--cyan);white-space:nowrap;font-size:36px;font-weight:600;line-height:1;text-decoration:none}.wordmark span{color:var(--coral)}.top-actions{align-items:center;gap:12px;display:flex}.icon{background:#222c36;border:1px solid #526474;flex:none;justify-content:center;align-items:center;width:40px;height:40px;padding:8px;display:inline-flex}.icon:hover{border-color:var(--cyan);background:#354552}.icon svg{width:21px;height:21px}.small{background:0 0;border-color:#0000;width:28px;height:28px;padding:4px}.small svg{width:18px;height:18px}.profile{background:0 0;border:0;align-items:center;gap:10px;max-width:250px;padding:0;font-size:18px;font-weight:600;display:flex}.profile img{object-fit:contain;width:42px;height:42px;image-rendering:pixelated}.profile span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#locker{background:#191c24ef;border:2px solid #465865;width:190px;padding:12px;position:absolute;top:94px;left:26px;box-shadow:3px 3px #131820a0}#locker header{justify-content:space-between;align-items:center;display:flex}#locker h1{font-size:22px}#cat-preview{object-fit:contain;width:142px;height:157px;image-rendering:pixelated;margin:12px auto 6px;display:block}#cat-name{text-align:center;font-size:18px;display:block}.cat-options{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:13px;display:grid}.cat-option{background:#202935;border:2px solid #465865;min-width:0;height:45px;padding:3px}.cat-option img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.cat-option[aria-pressed=true]{border-color:var(--cyan);background:#2d434c}.locker-open{position:absolute;top:94px;left:26px}.training-status{background:#191c24ed;border:2px solid #465865;align-items:center;gap:9px;padding:7px 10px;font-size:18px;font-weight:600;display:flex;position:absolute;bottom:124px;left:26px}.status-dot{background:var(--cyan);width:7px;height:7px;box-shadow:2px 2px #255a65}.play-actions{gap:10px;display:flex;position:absolute;bottom:124px;right:26px}.command{background:#222c36;border:2px solid #5b7080;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:10px 18px;font-size:20px;line-height:1.15;display:inline-flex}.command svg{flex:none;width:20px;height:20px}.primary{background:var(--coral);color:#fff;border-color:#ff9c98;box-shadow:3px 3px #943e46}.primary:hover{background:#f8757d}.secondary:hover{background:#354552;border-color:#87a0b1}#equipment{background:#191c24f2;border:2px solid #465865;align-items:center;gap:18px;width:min(620px,100% - 52px);height:77px;padding:10px 16px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.weapon-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.weapon-info>img{object-fit:contain;width:90px;height:45px;image-rendering:pixelated}.weapon-info>div{min-width:68px}.weapon-info strong{font-size:18px;display:block}.weapon-info span{color:#c2ccd5;font-variant-numeric:tabular-nums;font-size:16px}.stamina{color:#b9c4d0;flex:none;width:120px;font-size:16px}.stamina-track{background:#111923;border:1px solid #5b7080;height:11px;margin-top:6px}.stamina-track>span{background:var(--cyan);width:100%;height:100%;display:block}#inventory{flex-wrap:wrap;gap:4px;display:flex}#inventory button{background:0 0;border:1px solid #465865;width:34px;height:30px;padding:3px}#inventory img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}#inventory button[aria-pressed=true]{border-color:var(--cyan)}.interact{white-space:nowrap;background:#202935f5;position:absolute;bottom:124px;left:50%;transform:translate(-50%)}#scoreboard{background:#191c24ef;border:2px solid #465865;grid-template-columns:1fr 95px 1fr;align-items:center;gap:20px;width:min(660px,100% - 36px);padding:12px;display:grid;position:absolute;top:87px;left:50%;transform:translate(-50%)}.fighter{align-items:center;gap:10px;min-width:0;display:flex}.fighter img{object-fit:contain;width:45px;height:48px;image-rendering:pixelated}.fighter>div{flex:1;min-width:0}.fighter strong{white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:18px;display:block;overflow:hidden}.opponent{text-align:right}.health{background:#121a25;border:1px solid #667c8d;height:15px}.health span{background:var(--coral);width:100%;height:100%;display:block}.opponent .health span{background:var(--cyan)}.score{text-align:center}.score strong{white-space:nowrap;font-size:32px;line-height:1}.score span{font-variant-numeric:tabular-nums;color:#eef0f4;font-size:20px;display:block}#round-status{text-shadow:3px 3px #191c24;text-align:center;font-size:30px;position:absolute;top:190px;left:50%;transform:translate(-50%)}#reticle{pointer-events:none;border:2px solid #eef0f4;width:15px;height:15px;position:fixed;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #191c24}.float-label{color:#fff0bc;text-shadow:2px 2px #191c24;font-family:Pixelify Sans,sans-serif;font-size:23px;position:absolute;transform:translate(-50%,-100%)}#toast{border:1px solid var(--cyan);color:#eef0f4;text-align:center;z-index:30;background:#191c24;max-width:calc(100% - 32px);padding:10px 16px;font-size:18px;position:absolute;top:77px;left:50%;transform:translate(-50%)}dialog{color:var(--paper);background:#191c24;border:2px solid #5b7080;border-radius:3px;width:min(620px,100% - 28px);max-height:calc(100dvh - 34px);padding:24px;overflow:auto;box-shadow:5px 5px #10151c}dialog::backdrop{background:#070d17bf}dialog>header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}dialog p{color:#c1ccd6;margin:10px 0 18px;font-size:18px;line-height:1.5}form{gap:14px;display:grid}label{color:#cbd5df;gap:6px;font-size:17px;display:grid}input,select{color:#fff;background:#25323e;border:1px solid #607587;width:100%;min-width:0;height:44px;padding:8px 10px;font-size:18px}input[type=checkbox]{width:20px;height:20px}.form-error{color:#ff9c98;min-height:22px;font-size:16px}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.row{border-bottom:1px solid #3b4b59;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.row img{object-fit:contain;width:38px;height:38px;image-rendering:pixelated}.row .grow{flex:1;min-width:0}.row strong{display:block}.muted{color:#9dadbc}.record-score{font-variant-numeric:tabular-nums;font-family:Pixelify Sans;font-size:30px}.empty{border-top:1px solid #465865;padding:20px 0}.upgrade-list{gap:10px;display:grid}.upgrade{text-align:left;background:#263440;border:2px solid #5b7080;align-items:center;gap:16px;padding:14px;display:flex}.upgrade:hover{border-color:var(--cyan)}.upgrade img{object-fit:contain;width:58px;height:50px;image-rendering:pixelated}.upgrade strong{font-family:Pixelify Sans;font-size:24px;display:block}.upgrade span{color:#c6d2df;font-size:18px}.versus{text-align:center;grid-template-columns:1fr 75px 1fr;align-items:center;gap:10px;margin:12px 0 20px;display:grid}.versus img{object-fit:contain;width:90px;height:100px;image-rendering:pixelated}.versus strong{font-size:20px;display:block}.versus>b{font-family:Pixelify Sans;font-size:32px}.round-history{justify-content:center;gap:8px;padding:12px;display:flex}.round-history span{background:#617184;width:28px;height:9px}.round-history .won{background:var(--coral)}.round-history .lost{background:var(--cyan)}.invite-code{text-align:center;letter-spacing:0;margin:10px 0;font-family:Pixelify Sans;font-size:48px}.inline-note{color:#9dadbc;font-size:15px}details{border-bottom:1px solid #465865;padding:15px 0}summary{cursor:pointer;font-family:Pixelify Sans;font-size:23px}details dl{grid-template-columns:1fr 1fr;gap:8px;font-size:18px;display:grid}details dd{color:#bbc8d4;margin:0}.manual-weapon{grid-template-columns:90px 1fr;align-items:center;gap:14px;margin:16px 0;display:grid}.manual-weapon img{object-fit:contain;width:90px;max-height:60px;image-rendering:pixelated}.manual-weapon strong{font-size:21px}.manual-weapon p{margin:0;font-size:16px}.stick,.touch-dodge{display:none}#loading,#intro{z-index:100;background:#191c24;flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;position:fixed;inset:0}#loading .wordmark,#intro .wordmark{font-size:64px}#loading-text{color:#b8c5d1;font-size:19px}#intro{touch-action:none;background:#080a0e;overflow:hidden}#intro-chase{width:100%;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}#intro>.wordmark{pointer-events:none;position:absolute;top:27%;left:50%;transform:translate(-50%)}#skip-intro{bottom:max(24px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right));min-height:42px;padding:8px 16px;font-size:18px;position:absolute}@media (height<=520px){#intro>.wordmark{font-size:45px;top:15%}}.tutorial-veil{z-index:80;border:3px solid var(--cyan);pointer-events:none;position:fixed;box-shadow:0 0 0 9999px #070d17cd}.tutorial-note{z-index:81;background:#191c24;border:2px solid #465865;width:min(330px,100vw - 30px);padding:20px;position:fixed}.tutorial-note h2{font-size:24px}.tutorial-note p{margin:10px 0 16px;font-size:18px;line-height:1.4}.tutorial-note .command{min-height:38px;padding:8px 13px;font-size:18px}@media (width<=700px){.topbar{gap:6px;height:57px;padding:0 12px}.wordmark{font-size:26px}.top-actions{gap:5px}.top-actions .icon{width:31px;height:33px;padding:6px}.top-actions .icon svg{width:18px;height:18px}.profile{gap:5px;max-width:90px;font-size:16px}.profile img{width:28px;height:34px}#locker{width:145px;padding:9px;top:74px;left:12px}#locker h1{font-size:20px}#cat-preview{width:100px;height:100px;margin:8px auto}#cat-name{font-size:16px}.cat-option{height:34px;padding:1px}.cat-options{gap:3px}.locker-open{top:74px;left:12px}.play-actions{gap:7px;bottom:115px;right:12px}.command{min-height:42px;padding:9px 12px;font-size:18px}.play-actions svg{display:none}.training-status{padding:4px 8px;font-size:16px;bottom:168px;left:12px}.interact{padding:7px 10px;font-size:17px;bottom:166px}.interact svg{display:none}#equipment{gap:8px;width:calc(100% - 24px);height:69px;padding:8px 10px;bottom:16px}.weapon-info{gap:6px}.weapon-info>img{width:53px;height:35px}.weapon-info strong{font-size:16px}.weapon-info span{font-size:15px}.weapon-info>div{min-width:53px}.stamina{width:72px;font-size:14px}.stamina-track{height:9px}#equipment>.icon{width:32px;height:33px;padding:5px}#inventory{gap:2px;max-width:84px}#inventory button{width:25px;height:22px}#scoreboard{grid-template-columns:1fr 60px 1fr;gap:8px;width:calc(100% - 24px);padding:7px;top:71px}.fighter{gap:5px}.fighter img{width:28px;height:35px}.fighter strong{max-width:76px;font-size:14px}.health{height:10px}.score strong{font-size:25px}.score span{font-size:17px}#round-status{font-size:26px;top:147px}dialog{padding:18px}dialog h1{font-size:26px}#toast{font-size:16px;top:63px}#loading .wordmark,#intro .wordmark{font-size:45px}}@media (pointer:coarse){.stick{touch-action:none;pointer-events:auto;background:#191c2455;border:2px solid #ecf2f470;border-radius:50%;width:82px;height:82px;display:block;position:absolute;bottom:226px}.stick span{background:#ecf2f4b5;border-radius:50%;width:30px;height:30px;position:absolute;top:24px;left:24px}#joystick{left:18px}#aimstick{right:18px}#aimstick svg{color:#26343c;width:26px;height:26px;position:absolute;top:26px;left:26px}#aimstick span{background:#4dc6d199}.touch-dodge{background:#191c24ab;display:flex;position:absolute;bottom:325px;right:36px}.training-status{bottom:168px}}@media (height<=520px){#locker{width:132px;top:69px}#cat-preview{width:90px;height:74px}#cat-name{font-size:14px}.cat-options{margin-top:8px}.cat-option{height:28px}.play-actions,.training-status{bottom:91px}#equipment{height:64px;bottom:10px}#scoreboard{width:520px;height:63px;padding:5px;top:64px}#round-status{top:139px}.stick{width:72px;height:72px;bottom:102px}.stick span{top:19px;left:19px}.touch-dodge{bottom:187px;right:33px}.interact{bottom:97px}dialog{max-height:calc(100dvh - 20px)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}@media (height<=520px) and (width>=700px) and (pointer:coarse){.stick{bottom:150px}.touch-dodge{bottom:244px}.training-status{height:34px;padding:3px 7px;font-size:15px;top:14px;bottom:auto;left:235px}.locker-open{top:77px;left:18px}.play-actions{bottom:91px}}.tutorial-blocker{z-index:79;position:fixed;inset:0}dialog strong{overflow-wrap:anywhere}@media (width<=700px){#inventory{flex-wrap:nowrap;gap:4px;max-width:none;position:absolute;top:-38px;left:8px}#inventory button{background:#191c24ed;flex:none;width:34px;height:30px}.play-actions{bottom:144px}.training-status{bottom:190px}}@media (width<=700px) and (pointer:coarse){.stick{bottom:270px}.touch-dodge{bottom:368px}}
