*{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#fff;background:#000;width:100%;height:100%;font-family:system-ui,sans-serif;overflow:hidden}.menu{flex-direction:column;justify-content:center;align-items:center;gap:2rem;height:100%;display:flex}.menu h1{letter-spacing:.2em;font-size:4rem}.menu button{color:#fff;cursor:pointer;letter-spacing:.1em;background:0 0;border:2px solid #fff;padding:1rem 3rem;font-size:1.5rem;transition:all .2s}.menu button:hover{color:#000;background:#fff}.main-menu{position:fixed;inset:0}.main-menu>div:first-child{position:absolute;inset:0}.menu-fade{pointer-events:none;opacity:1;background:#000;transition:opacity .9s ease-out;position:absolute;inset:0}.menu-fade--revealed{opacity:0}.menu-stripe{-webkit-backdrop-filter:blur(1.5px)saturate(1.1);backdrop-filter:blur(1.5px)saturate(1.1);background:linear-gradient(#ff0000c7 0%,#c60000bd 100%);flex-direction:column;justify-content:center;align-items:stretch;gap:1.25rem;width:22rem;padding:3.5rem 2rem 2.5rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;position:absolute;top:0;bottom:0;left:6%;box-shadow:inset 0 0 0 1px #ffffff14,0 0 42px #ff141473}.menu-content{flex-direction:column;align-items:center;gap:1.25rem;width:100%;display:flex}.menu-title{flex:none;width:100%;max-width:100%;margin:0 auto}.menu-logo{object-fit:contain;width:100%;height:auto;display:block}.menu-options{scrollbar-width:thin;flex-direction:column;flex:none;gap:.75rem;width:calc(100% + 4rem);height:22rem;margin-inline:-2rem;display:flex;overflow-y:auto}.menu-stripe button{color:#fff;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;text-align:left;background:0 0;border:none;width:100%;padding:.95rem 1.2rem;font-size:1.2rem;font-weight:700;transition:background-color .2s,color .2s}.menu-stripe button:hover{color:#000;background:#fff}.menu-stripe button:focus-visible{outline-offset:2px;outline:2px solid #fff}.menu-music-button{z-index:2;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(2px)saturate(1.15);backdrop-filter:blur(2px)saturate(1.15);background:#00000075;border:1px solid #ffffff57;border-radius:4px;justify-content:center;align-items:center;width:3rem;height:3rem;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex;position:absolute;top:1.25rem;right:1.25rem;box-shadow:0 0 22px #ff141438,inset 0 0 0 1px #0000003d}.menu-music-button:hover,.menu-music-button[aria-pressed=true]{color:#000;background:#fff;border-color:#fff}.menu-music-button:focus-visible{outline-offset:3px;outline:2px solid #fff}.menu-music-button__icon{width:1.45rem;height:1.45rem;overflow:visible}.menu-music-button__icon path{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.menu-music-button__icon path:first-child{fill:currentColor;stroke:none}.menu-stripe small{text-align:center;position:absolute;bottom:1rem;left:2rem;right:2rem}.pause-overlay{z-index:9000;color:#fff;pointer-events:auto;background:linear-gradient(90deg,#00000075 0%,#00000024 40%,#00000057 100%);justify-content:flex-start;align-items:stretch;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;position:fixed;inset:0}.pause-overlay__panel{-webkit-backdrop-filter:blur(1.5px)saturate(1.1);backdrop-filter:blur(1.5px)saturate(1.1);background:linear-gradient(#ff0000c7 0%,#c60000bd 100%);flex-direction:column;justify-content:center;gap:1.25rem;width:22rem;margin-left:6%;padding:3.5rem 2rem 2.5rem;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,0 0 42px #ff141473}.pause-overlay__panel:before{display:none}.pause-overlay__header{padding:0}.pause-overlay__eyebrow{letter-spacing:.32em;text-transform:uppercase;color:#ffffffc2;margin-bottom:.6rem;font-size:.72rem;font-weight:700;display:block}.pause-overlay__title{letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0;font-size:2rem;font-weight:800}.pause-overlay__title--logo{padding:0}.pause-overlay__logo{object-fit:contain;width:100%;height:auto;display:block}.pause-overlay__nav{flex-direction:column;gap:.75rem;width:calc(100% + 4rem);margin-inline:-2rem;display:flex}.pause-overlay__body{flex-direction:column;gap:1.25rem;width:calc(100% + 4rem);margin-inline:-2rem;padding:0;display:flex}.pause-overlay__btn{letter-spacing:.08em;text-transform:uppercase;color:#fff;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.95rem 1.2rem;font-family:inherit;font-size:1.2rem;font-weight:700;transition:background-color .2s,color .2s;display:flex}.pause-overlay__btn:hover{color:#000;background:#fff}.pause-overlay__btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.pause-overlay__btn--danger:hover{color:#000;background:#fff}.pause-overlay__btn--back{font-size:1.05rem}.pause-overlay__btn--back:hover{color:#000;background:#fff}.pause-overlay__chev{color:inherit;font-size:1.1rem;line-height:1}.pause-overlay__btn kbd{letter-spacing:.08em;color:#ffffffd1;background:#ffffff1a;border:1px solid #ffffff52;border-radius:3px;padding:.2rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:600}.pause-overlay__row{flex-direction:column;gap:.55rem;padding:0 1.2rem;display:flex}.pause-overlay__row label{letter-spacing:.16em;text-transform:uppercase;color:#ffffffd1;justify-content:space-between;align-items:baseline;font-size:.72rem;font-weight:700;display:flex}.pause-overlay__value{font-variant-numeric:tabular-nums;letter-spacing:.05em;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.pause-overlay__row input[type=range]{accent-color:#fff;cursor:pointer;width:100%;height:4px}.pause-overlay__controls{grid-template-columns:auto 1fr;gap:.55rem 1.5rem;max-height:52vh;margin:0;padding:0 1.2rem;font-size:.88rem;display:grid;overflow-y:auto}.pause-overlay__controls dt{letter-spacing:.1em;text-transform:uppercase;color:#ffffffd1;align-self:center;font-size:.78rem;font-weight:700}.pause-overlay__controls dd{color:#ffffffd9;flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;display:flex}.pause-overlay__controls kbd{color:#fff;text-align:center;background:#ffffff1a;border:1px solid #ffffff52;border-bottom-width:2px;border-radius:3px;min-width:1.4rem;padding:.18rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:600}@media (max-width:720px){.pause-overlay__panel{width:min(100%,24rem);margin-left:0;padding:2rem 1.25rem 1.5rem}.pause-overlay__nav,.pause-overlay__body{width:calc(100% + 2.5rem);margin-inline:-1.25rem}}.in-game-tutorial{z-index:150;pointer-events:none;color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;position:fixed;inset:0}.in-game-tutorial__card{-webkit-backdrop-filter:blur(2px)saturate(1.15);backdrop-filter:blur(2px)saturate(1.15);text-align:center;background:linear-gradient(#ff0000db 0%,#a80000d6 100%);border:none;flex-direction:column;align-items:stretch;min-width:22rem;max-width:min(92vw,30rem);animation:.26s cubic-bezier(.2,.8,.25,1.05) in-game-tutorial__enter,2.2s ease-in-out .26s infinite in-game-tutorial__pulse;display:flex;position:absolute;top:1.75rem;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff1a,0 0 42px #ff14148c,0 12px 28px #00000073}.in-game-tutorial__card--done{background:linear-gradient(#14c86ee0 0%,#00964be0 100%);animation:.32s ease-out in-game-tutorial__flash;box-shadow:inset 0 0 0 1px #ffffff24,0 0 38px #28dc788c,0 12px 28px #00000073}@keyframes in-game-tutorial__enter{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes in-game-tutorial__pulse{0%,to{box-shadow:inset 0 0 0 1px #ffffff1a,0 0 42px #ff141473,0 12px 28px #00000073}50%{box-shadow:inset 0 0 0 1px #ffffff2e,0 0 60px #ff3c3cbf,0 12px 28px #00000073}}@keyframes in-game-tutorial__flash{0%{transform:translate(-50%)scale(1)}40%{transform:translate(-50%)scale(1.05)}to{transform:translate(-50%)scale(1)}}.in-game-tutorial__counter{letter-spacing:.34em;text-transform:uppercase;color:#ffffffb8;padding:.55rem 1.4rem .2rem;font-size:.66rem;font-weight:700;display:block}.in-game-tutorial__title{letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 1px #00000047;padding:0 1.4rem .45rem;font-size:1.15rem;font-weight:800;display:block}.in-game-tutorial__prompt{letter-spacing:.08em;text-transform:uppercase;color:#fff;border-top:1px solid #ffffff2e;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;margin:0 1rem;padding:.7rem 1.4rem 1rem;font-size:.92rem;font-weight:700;display:flex}.in-game-tutorial kbd{color:#c20000;text-align:center;letter-spacing:.04em;text-transform:none;background:#fff;border:1px solid #fffc;border-bottom-width:2px;border-radius:3px;min-width:1.7rem;padding:.28rem .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;font-weight:700;box-shadow:0 1px #0000002e}.in-game-tutorial__card--done .in-game-tutorial__counter,.in-game-tutorial__card--done .in-game-tutorial__title,.in-game-tutorial__card--done .in-game-tutorial__prompt{color:#fff}.in-game-tutorial__card--done .in-game-tutorial kbd{color:#006634}.in-game-tutorial__skip{letter-spacing:.22em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#ff0000b3 0%,#a80000b3 100%);align-items:center;gap:.55rem;padding:.5rem .85rem;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;top:1.25rem;left:1.25rem;box-shadow:inset 0 0 0 1px #ffffff1f,0 0 18px #ff1e1e59}@media (max-width:720px){.in-game-tutorial__card{width:calc(100% - 1.5rem);min-width:0;top:.85rem}.in-game-tutorial__title{padding:0 .8rem .4rem;font-size:1rem}.in-game-tutorial__prompt{margin:0 .4rem;padding:.55rem .8rem .85rem;font-size:.82rem}.in-game-tutorial__skip{padding:.35rem .55rem;font-size:.62rem;top:.6rem;left:.6rem}}.menu-play-row{width:100%;position:relative}.menu-play-hint{white-space:nowrap;letter-spacing:.18em;text-transform:uppercase;color:#fff;text-shadow:0 0 10px #000000b3;pointer-events:none;font-size:.78rem;font-weight:700;animation:1.6s ease-in-out infinite menu-play-hint__pulse;position:absolute;top:50%;left:calc(100% + 1rem);transform:translateY(-50%)}@keyframes menu-play-hint__pulse{0%,to{opacity:.55;transform:translateY(-50%)}50%{opacity:1;transform:translate(-4px,-50%)}}.menu-stripe button.menu-tutorial-link{letter-spacing:.2em;text-transform:uppercase;text-align:center;color:#ffffff8c;cursor:pointer;background:0 0;border:none;align-self:center;width:auto;margin-top:.5rem;padding:.3rem .6rem;font-size:.68rem;font-weight:600;transition:color .2s}.menu-stripe button.menu-tutorial-link:hover{color:#fff;background:0 0}.menu-loadout-summary{background:#00000038;grid-template-columns:auto 1fr;gap:.35rem .85rem;margin:0 1.2rem .35rem;padding:.8rem 1.2rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a,0 12px 24px #00000029}.menu-loadout-summary span{letter-spacing:.22em;text-transform:uppercase;color:#ffffff9e;align-self:center;font-size:.62rem;font-weight:800}.menu-loadout-summary strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;min-width:0;font-size:.9rem;font-weight:800;overflow:hidden}.menu-credit-summary{box-shadow:none;background:0 0;border-radius:0;margin-top:0;position:relative;overflow:hidden}.menu-credit-summary:before{display:none}.menu-credit-summary>span{color:#ffffffad;padding-left:1.2rem}.menu-credit-summary strong{padding-right:0;display:block}.menu-credit-link{color:#fff;background:0 0;justify-content:space-between;align-items:center;gap:.75rem;width:calc(100% + 2.4rem);margin-left:-1.2rem;padding:.95rem 1.2rem;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.menu-credit-link:hover,.menu-credit-link:focus-visible{color:#000;background:#fff}.menu-credit-link:hover .menu-credit-link__arrow,.menu-credit-link:focus-visible .menu-credit-link__arrow{color:#0000008f}.menu-credit-link__handle{text-overflow:ellipsis;letter-spacing:.08em;text-transform:uppercase;min-width:0;font-size:.9rem;font-weight:800;overflow:hidden}.menu-credit-link__arrow{color:#ffffff8f;flex:none;font-size:.85rem;line-height:1;transition:color .2s}.loadout-dock{color:#fff;-webkit-backdrop-filter:blur(2px)saturate(1.25);backdrop-filter:blur(2px)saturate(1.25);background:linear-gradient(#0c0000b3 0%,#0000008a 100%);grid-template-columns:minmax(12.5rem,15rem) minmax(0,1fr);gap:1rem;width:min(39rem,94vw - 31rem);max-height:min(42rem,100vh - 3rem);padding:1rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:grid;position:absolute;top:50%;left:calc(6% + 23.5rem);overflow:hidden;transform:translateY(-50%);box-shadow:inset 0 0 0 1px #ffffff17,0 0 34px #ff14143d,0 18px 40px #0006}.loadout-preview{background:linear-gradient(135deg,#ff000038 0%,#ffffff0f 42%,#0000007a 100%);grid-row:span 2;min-height:29rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a}.loadout-preview>canvas{inset:0;width:100%!important;height:100%!important;position:absolute!important}.loadout-preview:before{content:"";opacity:.42;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0000 0 12%,#ffffff1a 12% 13%,#0000 13% 24%),repeating-linear-gradient(0deg,#ffffff14 0 1px,#0000 1px 11px);position:absolute;inset:0}.loadout-section__header span{letter-spacing:.24em;text-transform:uppercase;color:#ffffff94;font-size:.62rem;font-style:normal;font-weight:800}.loadout-section{flex-direction:column;gap:.7rem;min-height:0;display:flex}.loadout-section__header{justify-content:space-between;align-items:baseline;gap:1rem;padding:0 .15rem;display:flex}.loadout-section__header h2{letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:900}.skin-grid{overscroll-behavior:contain;flex-direction:column;gap:.45rem;min-height:0;max-height:16rem;padding-right:.25rem;display:flex;overflow-y:auto}.skin-swatch{color:#fff;cursor:pointer;text-align:left;background:#ffffff12;border:none;align-items:center;gap:.75rem;min-width:0;min-height:3.15rem;padding:.55rem .7rem;transition:background-color .16s,color .16s,transform .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f,0 8px 18px #0000002e}.skin-swatch i{background-color:#180000;background-repeat:repeat;background-size:72px 72px;flex:none;width:2rem;height:2rem;box-shadow:inset 0 0 0 1px #ffffff2e,0 0 14px #ff00002e}.skin-swatch span{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;font-weight:900;overflow:hidden}.skin-swatch:hover,.skin-swatch--active{color:#000;background:#fff;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #fff,0 0 24px #ffffff47,0 12px 22px #00000047}.skin-swatch:hover i,.skin-swatch--active i{box-shadow:inset 0 0 0 1px #0006,0 0 16px #0000002e}.skin-swatch:focus-visible,.weapon-choice:focus-visible{outline-offset:2px;outline:2px solid #fff}.weapon-list{overscroll-behavior:contain;flex-direction:column;gap:.45rem;min-height:0;max-height:11rem;padding-right:.25rem;display:flex;overflow-y:auto}.weapon-choice{text-align:left;color:#fff;cursor:pointer;background:#ffffff12;border:none;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.15rem;padding:.7rem .8rem;transition:background-color .16s,color .16s,transform .16s,box-shadow .16s;display:flex;box-shadow:inset 0 0 0 1px #ffffff1f,0 8px 18px #0000002e}.weapon-choice span{overflow-wrap:anywhere;letter-spacing:.08em;text-transform:uppercase;min-width:0;font-size:.9rem;font-weight:900;line-height:1}.weapon-choice:hover,.weapon-choice--active{color:#000;background:#fff;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #fff,0 0 24px #ffffff47,0 12px 22px #00000047}.weapon-stats{pointer-events:none;grid-template-columns:auto auto;align-items:center;gap:.18rem .5rem;display:grid}.weapon-stat{display:contents}.weapon-stat em{letter-spacing:.2em;text-transform:uppercase;color:currentColor;opacity:.62;text-align:right;font-size:.55rem;font-style:normal;font-weight:800}.weapon-stat__bar{gap:2px;display:inline-flex}.weapon-stat__bar i{opacity:.16;background:currentColor;width:7px;height:6px;transition:opacity .16s;display:inline-block}.weapon-stat__bar i.weapon-stat__seg--on{opacity:.95;box-shadow:0 0 6px}.weapon-choice:hover .weapon-stat em,.weapon-choice--active .weapon-stat em{opacity:.74}.weapon-choice:hover .weapon-stat__bar i.weapon-stat__seg--on,.weapon-choice--active .weapon-stat__bar i.weapon-stat__seg--on{box-shadow:none}@media (max-width:720px){.menu-play-hint{display:none}.menu-stripe{width:min(100%,24rem);padding:2rem 1.25rem 1.5rem;left:0}.menu-options{width:calc(100% + 2.5rem);margin-inline:-1.25rem}.loadout-dock{width:calc(100vw - min(24rem,100vw));min-width:0;padding:.8rem;left:min(24rem,100vw);right:auto}}@media (max-width:980px){.loadout-dock{grid-template-columns:minmax(10rem,.7fr) minmax(13rem,1fr) minmax(13rem,.8fr);align-items:start;width:100%;max-height:45vh;inset:auto 0 0;transform:none}.skin-grid,.weapon-list{max-height:calc(45vh - 5.2rem)}.loadout-preview{grid-row:span 2;min-height:18rem}}@media (max-width:720px){.loadout-dock{grid-template-rows:minmax(0,1fr) minmax(0,.75fr);grid-template-columns:1fr;max-height:48vh;left:0}.skin-grid{max-height:calc(27vh - 3.2rem)}.weapon-list{max-height:calc(21vh - 3.2rem)}.loadout-preview{display:none}.main-menu--customize .menu-stripe{justify-content:center;height:auto;padding-top:1.25rem;padding-bottom:1.25rem;bottom:48vh}.main-menu--customize .menu-content{gap:.75rem}.main-menu--customize .menu-logo{max-height:8.5rem}.main-menu--customize .menu-loadout-summary{display:none}.main-menu--customize .menu-options{height:auto}}
