:root{color:#f0f4ea;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--mint:#a6f2cc;--muted:#a6bcb2;--stroke:#a6f2cc31;background:#0c1714;font-family:Geist,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}#game{isolation:isolate;min-height:100dvh;position:relative}#arena,.vignette{width:100%;height:100%;position:fixed;inset:0}#arena{z-index:-2;display:block}.vignette{z-index:-1;pointer-events:none;background:radial-gradient(at 62% 47%,#0000 24%,#07110f98 100%)}.top,.bottom{z-index:1;pointer-events:none;align-items:center;display:flex;position:fixed;inset-inline:clamp(1rem,4vw,4rem)}.top{border-bottom:1px solid var(--stroke);justify-content:space-between;height:4.5rem;top:0}.brand{letter-spacing:.06em;align-items:center;gap:0;font-size:1.2rem;font-weight:800;display:flex}.brand>span:last-child{color:var(--mint)}.brand img{margin-inline-end:.55rem}.mode,.bottom,.hud span,.settings,.results dt{font-family:IBM Plex Mono,Consolas,monospace;font-size:.74rem}.mode{letter-spacing:.13em;align-items:center;gap:.65rem;display:flex}.mode i{background:var(--mint);border-radius:50%;width:.45rem;height:.45rem}.mode span{color:var(--muted)}.mode b{font-weight:inherit;text-transform:uppercase}.bottom{min-height:3.5rem;color:var(--muted);gap:clamp(.65rem,2.5vw,1.75rem);bottom:0}kbd{font:inherit;color:#ecf8f0;border:1px solid var(--stroke);border-radius:3px;padding:.25rem .4rem}.menu{background:linear-gradient(90deg,#07110ff7,#07110fcb 28%,#07110f40 62%,#0000 85%);align-items:center;min-height:100dvh;padding:6rem clamp(1rem,7vw,7rem) 4rem;display:grid}.menu-inner{width:min(100%,34rem)}h1{letter-spacing:-.065em;max-inline-size:11ch;margin:0;font-size:clamp(2.8rem,6vw,5.5rem);font-weight:800;line-height:.99}h1 span{color:var(--mint)}h1:focus{outline:none}.menu p{max-width:32ch;color:var(--muted);margin:1rem 0 1.3rem;font-size:1rem;line-height:1.55}#game[data-state=finished] h1,#game[data-state=paused] h1{font-size:clamp(2.6rem,6vw,4.2rem)}#game:is([data-state=finished],[data-state=paused]) .menu p{max-width:none}button,input,select{font:inherit}.loadout{border:1px solid var(--stroke);background:#0b1a15ef;border-radius:5px;grid-template-columns:.9fr 1fr 1.2fr;gap:.65rem;min-inline-size:0;margin:0 0 .75rem;padding:.85rem;display:grid}.loadout label{min-width:0;color:var(--muted);gap:.35rem;font-size:.75rem;display:grid}.loadout .check-option{grid-column:span 2;align-items:center;display:flex}.loadout select{border:1px solid var(--stroke);color:#effcf3;cursor:pointer;background:#11251d;border-radius:4px;width:100%;min-height:2.55rem;padding:.4rem;font-size:.87rem}.loadout-details{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;gap:.3rem .85rem;font:.7rem/1.5 IBM Plex Mono,Consolas,monospace;display:flex}.advanced-options{border-top:1px solid var(--stroke);grid-column:1/-1;padding-top:.6rem}.advanced-options summary{color:var(--mint);cursor:pointer;font-size:.82rem}.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.7rem;display:grid}.advanced-grid small{color:var(--muted)}.loadout input[type=number]{width:100%;min-height:2.4rem}.settings-row{flex-wrap:wrap}.settings-row input[type=number]{width:3.8rem}button{border:1px solid var(--mint);color:#071911;background:var(--mint);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;width:100%;padding:.9rem 1rem;font-weight:750;display:flex}button:enabled:hover{background:#c8ffdf}button:disabled{opacity:.55;cursor:default}.menu-actions{flex-wrap:wrap;gap:.55rem;display:flex}.menu-actions button{flex:12rem}.secondary-action{color:var(--mint);border-color:var(--stroke);background:#0b1a15}.secondary-action:enabled:hover{background:#18372a}:focus-visible{outline-offset:4px;outline:2px solid #fdd599}.menu .message{color:#ffdca9;max-width:none;margin:.65rem 0 0}.settings{border-top:1px solid var(--stroke);color:var(--muted);margin-top:1.25rem;padding-top:1rem}.settings>label,.settings-row,.settings-row label{align-items:center;gap:.55rem;display:flex}.settings>label,.settings-row{justify-content:space-between}.settings output{color:#effcf3}input{accent-color:var(--mint)}input[type=range]{cursor:pointer;width:100%;margin:.55rem 0 .85rem}input[type=number]{color:#effcf3;border:1px solid var(--stroke);background:#0a1914;border-radius:3px;width:8rem;padding:.35rem}.sound,.sound input{cursor:pointer}.hud,.reticle,.countdown{pointer-events:none;position:fixed}.hud{border:1px solid var(--stroke);font-variant-numeric:tabular-nums;background:#091611eb;border-radius:4px;gap:clamp(.32rem,2vw,1.75rem);max-width:calc(100% - 1rem);padding:.5rem clamp(.45rem,2vw,.95rem);display:flex;inset:.55rem auto auto 50%;transform:translate(-50%)}.hud div{gap:.18rem;min-width:0;display:grid}.hud div+div{border-inline-start:1px solid var(--stroke);padding-inline-start:clamp(.32rem,2vw,1.75rem)}.hud .time{min-width:3ch;color:var(--mint)}.hud span,.results dt{color:var(--muted)}.hud span{font-size:clamp(.58rem,2.7vw,.74rem)}.hud strong{font-size:clamp(.9rem,3.6vw,1.25rem);line-height:1}.reticle{color:#f3fff6;background:currentColor;border-radius:50%;width:5px;height:5px;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #10251e}.reticle:after{content:"";border:1px solid;border-radius:50%;position:absolute;inset:-6px}.reticle.on-target{color:#68f5d9}.reticle[data-style=dot]:after{display:none}.reticle[data-shot=hit]{color:#ffd896}.reticle[data-shot=miss]{color:#8dd9cc}.reticle[data-shot=hit]:after,.reticle[data-shot=miss]:after{border-width:2px;inset:-10px}.countdown{color:var(--mint);text-shadow:0 0 2rem #00170d;font-size:clamp(4rem,16vw,9rem);font-weight:800;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.results{border:1px solid var(--stroke);background:var(--stroke);border-radius:5px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.results div{background:#0b1a14;padding:.75rem}.results .result-score{background:#11251d;grid-column:1/-1}.results .result-score:has(+.result-duration:not([hidden])){grid-column:span 2}.results .result-duration{background:#11251d;align-content:center;display:grid}.results dd{font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-size:1.2rem;font-weight:750}.results .result-score dd{color:var(--mint);font-size:clamp(1.8rem,5vw,2.6rem);line-height:1}.diagnostics{z-index:2;border:1px solid var(--stroke);pointer-events:none;background:#091611;border-radius:4px;padding:.65rem .8rem;font:.72rem/1.55 IBM Plex Mono,Consolas,monospace;position:fixed;bottom:3.5rem;right:clamp(1rem,4vw,4rem)}.diagnostics pre{font:inherit;margin:0}.diagnostics label{align-items:center;gap:.35rem;display:flex}.diagnostics :is(input,select,button):enabled{pointer-events:auto;cursor:pointer}.diagnostics :is(select,button){font:inherit}.diagnostics button{width:auto;margin-top:.25rem;padding:.25rem .5rem}.diagnostics{font-variant-numeric:tabular-nums;max-width:calc(100vw - 2rem)}.diagnostics pre{white-space:pre-wrap}@media (width<=690px){.menu{background:linear-gradient(90deg,#07110ff7,#07110f9a)}}@media (width<=800px){#game:is([data-state=countdown],[data-state=running]) .top{visibility:hidden}}@media (width<=445px){.loadout{grid-template-columns:repeat(2,minmax(0,1fr))}.loadout label:first-child{grid-column:1/-1}.results{grid-template-columns:repeat(2,minmax(0,1fr))}.results .result-score:has(+.result-duration:not([hidden])){grid-column:span 1}.bottom{flex-wrap:wrap}}@media (height<=610px){.top{height:3.1rem}.menu{padding-block:4rem 3.25rem}h1{font-size:clamp(2.35rem,7vh,3.5rem)}.bottom{min-height:2.5rem;position:absolute}#game:is([data-state=countdown],[data-state=running]) .top{visibility:hidden}}
