:root{--amber: #f2b45c;--ember: #ff7a3a;--paper: #efe6d0;--ink: #0a0d0b;--moss: #7fb069;--blood: #d94a4a;--panel: rgba(9, 12, 10, .82);--line: rgba(242, 180, 92, .35);--font: Bahnschrift, "Segoe UI Variable Display", "Trebuchet MS", system-ui, sans-serif;--mono: "Cascadia Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box;-webkit-user-select:none;user-select:none}html,body{margin:0;height:100%;overflow:hidden;background:#000;color:var(--paper);font-family:var(--font)}canvas#game{position:fixed;inset:0;width:100vw;height:100vh;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.hidden{display:none!important}button{font-family:inherit;cursor:pointer}b{font-weight:700}#loading{position:fixed;inset:0;background:radial-gradient(circle at 50% 40%,#1b2a1d,#060806 70%);display:grid;place-items:center;z-index:50;text-align:center;transition:opacity .6s}#loading h1{font-size:64px;letter-spacing:.22em;margin:0 0 24px;color:var(--amber);text-shadow:0 0 30px rgba(255,140,50,.5)}#loading .bar{width:340px;height:6px;background:#ffffff1a;margin:0 auto 14px}#loading .bar i{display:block;height:100%;width:0%;background:var(--amber);transition:width .2s}#loading p{margin:0;opacity:.6;letter-spacing:.2em;font-size:13px;text-transform:uppercase}#hud{position:fixed;inset:0;pointer-events:none;z-index:5;text-shadow:0 2px 0 rgba(0,0,0,.7),0 0 12px rgba(0,0,0,.5)}#xpbar{position:absolute;top:0;left:0;right:0;height:10px;background:#00000080;border-bottom:1px solid rgba(255,255,255,.08)}#xpfill{height:100%;width:0%;background:linear-gradient(90deg,#4fd37b,#b6ff7a);box-shadow:0 0 14px #78ff8cb3;transition:width .15s}#xpbar.pulse #xpfill{animation:xpflash .5s}@keyframes xpflash{0%{filter:brightness(3)}to{filter:brightness(1)}}#lvl{position:absolute;top:14px;left:50%;transform:translate(-50%);font-weight:700;letter-spacing:.3em;font-size:15px;color:#c8ffa0}#topleft{position:absolute;top:24px;left:28px}#timer{font-size:38px;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums}#kills{font-size:22px;font-weight:700;color:var(--amber)}#kills small,#combo small{font-size:11px;letter-spacing:.3em;opacity:.7;margin-left:4px;color:var(--paper)}#combo{position:absolute;top:24px;right:32px;text-align:right;opacity:0;transition:opacity .2s}#combo.on{opacity:1}#combo b{display:block;font-size:52px;line-height:1;color:var(--ember);font-style:italic}#combo.bump b{animation:bump .18s}@keyframes bump{0%{transform:scale(1.35)}to{transform:scale(1)}}#crosshair{position:absolute;left:50%;top:50%;width:0;height:0}#crosshair i{position:absolute;background:#ffffffe6;box-shadow:0 0 0 1px #0000008c;transition:transform .06s}#crosshair i.t,#crosshair i.b{width:2px;height:8px;left:-1px}#crosshair i.l,#crosshair i.r{height:2px;width:8px;top:-1px}#crosshair i.t{top:calc(-14px - var(--sp, 0px))}#crosshair i.b{top:calc(6px + var(--sp, 0px))}#crosshair i.l{left:calc(-14px - var(--sp, 0px))}#crosshair i.r{left:calc(6px + var(--sp, 0px))}#crosshair u{position:absolute;left:-1px;top:-1px;width:2px;height:2px;background:#fff}#hitmarker{position:absolute;left:0;top:0;opacity:0}#hitmarker s{position:absolute;width:3px;height:11px;background:#fff;left:-1.5px;top:-17px;transform-origin:1.5px 17px;box-shadow:0 0 0 1px #0009}#hitmarker s:nth-child(1){transform:rotate(45deg)}#hitmarker s:nth-child(2){transform:rotate(135deg)}#hitmarker s:nth-child(3){transform:rotate(225deg)}#hitmarker s:nth-child(4){transform:rotate(315deg)}#hitmarker.hit{animation:hm .16s ease-out}#hitmarker.head s{background:#ffb347}#hitmarker.kill s{background:#ff4a3a;height:14px;width:4px}@keyframes hm{0%{opacity:1;transform:scale(1.6)}to{opacity:0;transform:scale(.9)}}#healthbox{position:absolute;left:28px;bottom:28px;width:320px}#healthbox .label{font-size:11px;letter-spacing:.35em;opacity:.7;margin-bottom:5px}#hpbar{position:relative;height:22px;background:#0000008c;border:1px solid rgba(255,255,255,.18);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 100%,0 100%)}#hpfill{position:absolute;inset:0;width:100%;background:linear-gradient(180deg,#e8554a,#a82a2a);transition:width .1s}#hpghost{position:absolute;inset:0;width:100%;background:#ffdca08c;transition:width .7s .25s}#hpfill{z-index:1}#hptext{position:absolute;z-index:2;left:10px;top:0;line-height:22px;font-weight:700;font-variant-numeric:tabular-nums}#healthbox.low #hpbar{animation:lowhp .7s infinite}@keyframes lowhp{50%{border-color:#ff3a3a;box-shadow:0 0 18px #ff2828cc}}#ammobox{position:absolute;right:32px;bottom:28px;text-align:right}#wname{font-size:13px;letter-spacing:.35em;opacity:.85;margin-bottom:8px;color:var(--amber);font-weight:700}#ammo{display:flex;gap:6px;justify-content:flex-end;align-items:flex-end;min-height:30px}#ammo .pip{width:14px;height:28px;background:var(--amber);border:1px solid rgba(0,0,0,.6);clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);transition:transform .1s,opacity .1s}#ammo .pip.empty{opacity:.18;transform:scaleY(.6)}#ammo .pip.charging{opacity:.55;animation:charge .4s infinite alternate}@keyframes charge{to{opacity:.25}}#ammo .inf{font-size:30px;font-weight:700;color:var(--amber);letter-spacing:.1em}#mods{position:absolute;right:32px;bottom:92px;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;max-width:360px}#mods .mod{font-size:11px;padding:3px 6px;background:#0000008c;border:1px solid rgba(255,255,255,.15);letter-spacing:.08em;text-transform:uppercase}#mods .mod.rare{border-color:#4a9fe8;color:#9bd0ff}#mods .mod.epic{border-color:#b36bf0;color:#dcb0ff}#banner{position:absolute;top:20%;left:0;right:0;text-align:center;opacity:0}#banner h2{margin:0;font-size:56px;letter-spacing:.35em;padding-left:.35em;color:#ff5a3a;text-shadow:0 0 30px rgba(255,60,20,.7),0 3px 0 #000}#banner p{margin:6px 0 0;letter-spacing:.4em;text-transform:uppercase;font-size:14px;opacity:.8}#banner.show{animation:banner 3.2s ease-out}@keyframes banner{0%{opacity:0;transform:scale(1.4)}8%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0}}#floaters{position:absolute;inset:0;overflow:hidden}.floater{position:absolute;left:0;top:0;font-weight:800;font-size:22px;font-family:var(--mono);letter-spacing:0;will-change:transform;text-shadow:0 2px 0 #000,2px 0 0 #000,-2px 0 0 #000,0 -2px 0 #000;pointer-events:none}.floater.crit{font-size:28px}.floater.crit:after{content:"!"}.floater.head{text-decoration:none}.floater.kill{font-size:26px}.overlay{position:fixed;inset:0;z-index:20;display:flex}#menu{background:radial-gradient(ellipse at 75% 45%,#0000001a,#0000008c),linear-gradient(90deg,#050805eb,#050805b3 40%,#05080533)}.menu-left{width:46%;min-width:520px;padding:4vh 4vw;display:flex;flex-direction:column;justify-content:center;gap:2vh}.logo small{letter-spacing:.5em;font-size:12px;text-transform:uppercase;opacity:.6}.logo h1{margin:0;font-size:clamp(56px,9vh,96px);line-height:.92;letter-spacing:.16em;color:var(--amber);text-shadow:0 0 40px rgba(255,120,40,.45),0 4px 0 #000}.pick-title{letter-spacing:.4em;font-size:12px;opacity:.7;border-bottom:1px solid var(--line);padding-bottom:8px}#weaponlist{display:flex;flex-direction:column;gap:8px}.wbtn{display:grid;grid-template-columns:34px 1fr auto;align-items:center;text-align:left;gap:10px;padding:10px 16px;background:#0f140fb3;color:var(--paper);border:1px solid rgba(255,255,255,.12);border-left:4px solid var(--c, var(--amber));transition:transform .12s,background .12s;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%)}.wbtn:hover{background:#282012d9;transform:translate(8px)}.wbtn.sel{background:linear-gradient(90deg,#3c2c14f2,#19140cd9);border-color:var(--c);transform:translate(14px);box-shadow:inset 0 0 30px #ffa03c26}.wbtn .num{font-family:var(--mono);font-size:18px;opacity:.55}.wbtn .nm{font-size:22px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.wbtn .tg{font-size:11px;letter-spacing:.25em;opacity:.6}.controls{margin-top:1vh;font-size:12px;letter-spacing:.12em;opacity:.6}.controls b{color:var(--amber);font-family:var(--mono)}.menu-right{flex:1;display:flex;flex-direction:column;justify-content:center;padding:4vh 4vw 4vh 0;gap:14px}.preview-wrap{height:38vh;min-height:220px;position:relative;background:radial-gradient(ellipse at 50% 55%,#ff963c1f,#00000059 70%);border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}#preview{width:100%;height:100%;display:block;image-rendering:pixelated}.wdetail{background:var(--panel);border:1px solid var(--line);padding:16px 20px}.wtag{letter-spacing:.35em;font-size:11px;color:var(--c, var(--amber))}.wdetail h2{margin:4px 0 8px;font-size:32px;letter-spacing:.1em;text-transform:uppercase}.wdetail p{margin:0 0 12px;line-height:1.45;opacity:.85;font-size:15px}#wstats{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}.stat{display:grid;grid-template-columns:70px 1fr;align-items:center;font-size:11px;letter-spacing:.2em;opacity:.9}.stat .bar{display:flex;gap:3px}.stat .bar i{flex:1;height:8px;background:#ffffff1f}.stat .bar i.on{background:var(--c, var(--amber));box-shadow:0 0 8px var(--c, var(--amber))}#wtraits{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}#wtraits span{font-size:10px;letter-spacing:.22em;padding:4px 8px;border:1px solid var(--line);background:#0006}button.big{font-size:22px;letter-spacing:.25em;font-weight:700;padding:16px 28px;background:linear-gradient(180deg,#f6c36e,#d98b2b);color:#1a0e02;border:none;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));transition:transform .1s,filter .1s;box-shadow:0 0 40px #ff8c2866}button.big span{font-size:12px;opacity:.6;margin-left:10px;letter-spacing:.1em}button.big:hover{transform:scale(1.03);filter:brightness(1.15)}button:not(.big):not(.wbtn):not(.card){background:#ffffff12;color:var(--paper);border:1px solid rgba(255,255,255,.2);padding:10px 16px;letter-spacing:.15em;font-size:13px;text-transform:uppercase}button:not(.big):not(.wbtn):not(.card):hover{background:#ffffff29}#upgrade{background:radial-gradient(ellipse at center,#0a0e0a8c,#000000e0);align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.up-wrap{text-align:center}.up-title small{letter-spacing:.5em;color:#b6ff7a;font-size:13px}.up-title h2{margin:6px 0 28px;font-size:52px;letter-spacing:.3em;padding-left:.3em;text-shadow:0 0 30px rgba(180,255,120,.35)}#cards{display:flex;gap:22px;justify-content:center}.card{width:270px;min-height:340px;padding:22px 20px;text-align:center;background:linear-gradient(180deg,#1c221af5,#0a0e0af5);color:var(--paper);border:2px solid var(--rc, #aaa);display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;transition:transform .14s,box-shadow .14s;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));animation:cardin .35s backwards}.card:nth-child(2){animation-delay:.07s}.card:nth-child(3){animation-delay:.14s}@keyframes cardin{0%{opacity:0;transform:translateY(40px) scale(.9)}}.card:hover{transform:translateY(-10px) scale(1.04);box-shadow:0 0 50px var(--rc)}.card .key{position:absolute;top:10px;left:14px;font-family:var(--mono);opacity:.5;font-size:15px}.card .rar{letter-spacing:.4em;font-size:11px;color:var(--rc);text-transform:uppercase;margin-top:8px}.card .ico{font-size:64px;line-height:1.2;filter:drop-shadow(0 0 14px var(--rc));color:var(--rc)}.card h3{margin:0;font-size:26px;letter-spacing:.1em;text-transform:uppercase}.card p{margin:0;opacity:.85;line-height:1.45;font-size:15px}.card .stk{margin-top:auto;font-size:11px;letter-spacing:.3em;opacity:.6}.up-hint{margin-top:26px;letter-spacing:.3em;font-size:12px;opacity:.55}.up-hint b{font-family:var(--mono);padding:2px 7px;border:1px solid rgba(255,255,255,.3);margin:0 3px}#pause,#dead{align-items:center;justify-content:center;background:#0000009e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.panel{background:var(--panel);border:1px solid var(--line);padding:34px 44px;text-align:center;min-width:420px;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}.panel h2{margin:0 0 6px;font-size:44px;letter-spacing:.3em;padding-left:.3em}.panel p{opacity:.6;margin:0 0 22px;letter-spacing:.2em}.panel .opts{margin-top:26px;display:flex;flex-direction:column;gap:12px;align-items:stretch;text-align:left;font-size:13px;letter-spacing:.15em;text-transform:uppercase}.panel .opts label{display:flex;justify-content:space-between;align-items:center;gap:20px}.panel select{background:#151a14;color:var(--paper);border:1px solid var(--line);padding:6px;font-family:inherit}.panel.dead small{letter-spacing:.5em;color:var(--blood);font-size:12px}.panel.dead h2{color:var(--blood);text-shadow:0 0 30px rgba(255,40,40,.5);margin:8px 0 22px}#deadstats{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;margin-bottom:28px;text-align:left}#deadstats div{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:6px}#deadstats small{display:block;letter-spacing:.3em;font-size:10px;opacity:.55;color:var(--paper)}#deadstats b{font-size:26px;color:var(--amber);font-variant-numeric:tabular-nums}.panel .row{display:flex;gap:14px;justify-content:center;align-items:center}@media(max-height:760px){.menu-left{gap:1.2vh}.wbtn{padding:6px 14px}.wbtn .nm{font-size:18px}.wdetail p{font-size:13px}}#dmgdir{position:absolute;left:50%;top:50%;width:0;height:0;opacity:0}#dmgdir i{position:absolute;left:-90px;top:-230px;width:180px;height:70px;background:radial-gradient(ellipse at 50% 100%,#ff281ef2,#ff281e00 70%);filter:blur(2px)}#dmgdir.show{animation:dmgdir .9s ease-out}@keyframes dmgdir{0%{opacity:1}to{opacity:0}}.menu-opts{display:flex;gap:26px;align-items:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.85;margin-top:.5vh}.menu-opts label{display:flex;align-items:center;gap:8px;cursor:pointer}.menu-opts select{background:#0a0e0acc;color:var(--paper);border:1px solid var(--line);padding:4px 6px;font-family:inherit;letter-spacing:.1em}input[type=checkbox]{appearance:none;width:18px;height:18px;border:1px solid var(--line);background:#00000080;display:inline-grid;place-content:center;cursor:pointer;margin:0}input[type=checkbox]:before{content:"";width:10px;height:10px;background:var(--amber);transform:scale(0);transition:transform .1s}input[type=checkbox]:checked:before{transform:scale(1)}#lab{position:fixed;left:0;top:0;bottom:0;width:360px;z-index:30;background:#080b09f7;border-right:1px solid var(--line);display:flex;flex-direction:column;font-size:13px}.lab-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.lab-head b{letter-spacing:.35em;color:var(--amber);font-size:15px}.lab-head button{background:#ffffff12;color:var(--paper);border:1px solid rgba(255,255,255,.2);padding:6px 12px;letter-spacing:.1em;font-size:12px}.lab-head button span{opacity:.5;margin-left:6px;font-family:var(--mono);font-size:10px}.lab-tabs{display:flex;border-bottom:1px solid var(--line)}.lab-tabs button{flex:1;background:transparent;color:var(--paper);border:none;padding:11px;letter-spacing:.15em;text-transform:uppercase;font-size:12px;opacity:.55;border-bottom:2px solid transparent}.lab-tabs button.on{opacity:1;border-bottom-color:var(--amber);color:var(--amber)}.lab-scroll{flex:1;overflow-y:auto;padding:4px 16px 20px;scrollbar-width:thin}.lab-sec{margin:16px 0 8px;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--amber);opacity:.85;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:5px}.lab-row{display:grid;grid-template-columns:1fr 120px 38px;align-items:center;gap:8px;padding:4px 0}.lab-row input[type=range]{width:100%;accent-color:var(--amber)}.lab-row select{grid-column:2 / 4;background:#121712;color:var(--paper);border:1px solid var(--line);padding:4px;font-family:inherit}.lab-row input[type=checkbox]{grid-column:3;justify-self:end}.lab-lbl{opacity:.85}.lab-val{font-family:var(--mono);font-size:11px;opacity:.7;text-align:right}.lab-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto;border:1px solid rgba(255,255,255,.08);padding:4px;scrollbar-width:thin}.lab-grp{font-size:10px;letter-spacing:.25em;text-transform:uppercase;opacity:.45;padding:8px 4px 3px}.lab-item{text-align:left;background:transparent;color:var(--paper);border:none;padding:5px 8px;border-left:2px solid transparent;font-size:13px}.lab-item:hover{background:#ffffff12}.lab-item.on{background:#f2b45c26;border-left-color:var(--amber);color:var(--amber)}.lab-chips{display:flex;flex-wrap:wrap;gap:6px}.lab-chip{background:#ffffff0f;color:var(--paper);border:1px solid rgba(255,255,255,.15);padding:5px 9px;font-size:12px}.lab-chip.on{border-color:var(--amber);color:var(--amber);background:#f2b45c1f}.lab-btns{display:flex;gap:8px;margin:8px 0 4px;flex-wrap:wrap}.lab-btns button,.lab-wide{background:#ffffff12;color:var(--paper);border:1px solid rgba(255,255,255,.2);padding:7px 12px;font-size:12px;letter-spacing:.08em}.lab-btns button:hover,.lab-wide:hover{background:#ffffff29}.lab-wide{width:100%;margin-top:8px}.lab-info{margin-top:12px;padding:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);line-height:1.6;font-size:12px;opacity:.9}.lab-info b{color:var(--amber);letter-spacing:.1em}.lab-hint{margin-top:10px;font-size:11px;opacity:.55;line-height:1.5}.lab-foot{padding:9px 16px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.1em;opacity:.6;font-family:var(--mono)}.menu-lab{margin-top:.5vh;align-self:flex-start}#hud.boxed{position:fixed;inset:auto;transform-origin:0 0;width:1280px;height:720px;overflow:hidden}body.lab canvas#game{outline:1px solid rgba(242,180,92,.35)}:is(#menu,#upgrade,#pause,#dead,#hud,#loading){--bone: #e4d5af;--brass: #b99a58;--muted: #aaa28b;--carved: Georgia, "Times New Roman", serif;--grain-wood: linear-gradient(#17180feF, #17180feF), url(../textures/darkwood.png);--grain-paper: linear-gradient(#d4c193ed, #c4ad7fef), url(../textures/cloth.png);color:var(--bone)}.ui-mark{display:block;width:48px;height:48px;flex-shrink:0}:is(#menu,#upgrade,#pause,#dead) :is(button,select,input):focus-visible{outline:2px solid #f0d898;outline-offset:4px}#menu{padding:clamp(24px,4vh,54px) clamp(28px,4.5vw,88px);gap:clamp(32px,5vw,100px);background:linear-gradient(90deg,#10130ff5,#10130feb 34%,#10130f85 62%,#10130f35),linear-gradient(0deg,#10130fd9,transparent 40%);overflow-y:auto;align-items:safe center;scrollbar-color:#817049 #171b12}#menu:before{content:"";position:fixed;inset:12px;border:1px solid #b99a582e;pointer-events:none}#menu .menu-left{width:43%;max-width:580px;min-width:0;padding:0;gap:14px;flex-shrink:0}#menu .logo{position:relative;padding:0 0 10px}#menu .logo small{display:block;color:var(--muted);font:10px var(--mono);letter-spacing:.22em;opacity:1;margin-bottom:13px}#menu .logo h1{font:bold clamp(54px,7.7vh,96px)/.88 var(--carved);letter-spacing:-.045em;color:var(--bone);text-shadow:2px 3px 0 #302b20,0 6px 14px #0008}#menu .logo p{margin:13px 0 0;font:italic 15px var(--carved);color:var(--muted)}#menu .menu-crest{position:absolute;right:8px;top:20px;color:var(--brass);opacity:.72}#menu .menu-crest svg{width:clamp(70px,8vw,115px);height:auto}#menu .pick-title{display:flex;align-items:center;justify-content:space-between;padding:0 0 9px;border-color:#b99a584d;font:11px var(--mono);letter-spacing:.16em;opacity:1;color:var(--brass)}#menu .pick-title small{font:10px var(--mono);color:var(--muted)}#menu #weaponlist{gap:5px}#menu .wbtn{grid-template-columns:23px 35px 1fr 12px;gap:13px;min-height:56px;padding:7px 14px;border:1px solid #84755042;border-left:3px solid #514b36;background:var(--grain-wood);background-size:auto,128px;clip-path:none;box-shadow:inset 0 1px #b9a16a0c,0 2px #0005;transform:none;transition:border-color .15s,background-color .15s;color:#bfb59b}#menu .wbtn .num{font:11px var(--mono);color:#a39473;opacity:1}#menu .wbtn .ui-mark{width:34px;height:34px;color:#a39473}#menu .weapon-copy{display:flex;flex-direction:column;gap:3px}#menu .wbtn .nm{font:bold clamp(16px,1.45vw,23px) var(--carved);letter-spacing:.025em;text-transform:none}#menu .wbtn .tg{font:10px var(--mono);letter-spacing:.07em;opacity:1;color:#aaa18b}#menu .weapon-selected{font-size:11px;color:var(--brass);visibility:hidden}#menu .wbtn:hover,#menu .wbtn.sel{border-color:#b99a58a6;border-left-color:#d4ba79;background:linear-gradient(90deg,#5d4828de,#292719eb),url(../textures/darkwood.png);background-size:auto,128px;transform:none;box-shadow:inset 0 1px #d9c28d35,0 2px #0008;color:#f0e2bd}#menu .wbtn.sel .weapon-selected{visibility:visible}#menu .wbtn.sel .ui-mark{color:#dbc38c}#menu .menu-opts{gap:15px;flex-wrap:wrap;margin-top:3px;font:10px var(--mono);letter-spacing:.04em;opacity:1;color:#b2aa95}#menu .menu-opts label{gap:6px}#menu .menu-opts select,#pause select{background:#1a1d15;color:var(--bone);border-color:#776a47;padding:4px}:is(#menu,#pause) input[type=checkbox]{width:14px;height:14px;border-color:#80724e}:is(#menu,#pause) input[type=checkbox]:before{width:8px;height:8px;background:var(--brass)}#menu button.menu-lab{font:10px var(--mono);letter-spacing:.08em;padding:4px 0;margin:0;background:none;border:0;color:#b7a783}#menu button.menu-lab:hover{color:var(--bone);background:none}#menu .controls{border-top:1px solid #9a85512e;padding-top:10px;margin:0;font:10px/1.9 var(--mono);letter-spacing:0;color:#a49c87;opacity:1}#menu .controls b{color:#d0bd8f;font-weight:400}#menu .menu-right{padding:0;gap:0;min-width:0;flex:1;max-width:800px}#menu .preview-wrap{height:clamp(210px,35vh,430px);min-height:0;border:1px solid #b99a585e;border-bottom:0;clip-path:none;background:radial-gradient(ellipse at 50% 60%,#a4854330,#10150e52 65%),linear-gradient(#10130f32,#10130f80)}#menu .preview-wrap:before,#menu .preview-wrap:after{content:"";position:absolute;width:13px;height:13px;border-color:#c1a467;pointer-events:none}#menu .preview-wrap:before{top:7px;left:7px;border-left:2px solid;border-top:2px solid}#menu .preview-wrap:after{top:7px;right:7px;border-right:2px solid;border-top:2px solid}#menu .preview-caption,#menu .preview-foot{position:absolute;left:20px;right:20px;text-align:center;font:9px var(--mono);letter-spacing:.2em;color:#b4a27e;pointer-events:none}#menu .preview-caption{top:17px}#menu .preview-foot{bottom:13px;font-size:8px;letter-spacing:.24em;opacity:.7}#menu #preview{padding:22px 0}#menu .wdetail{position:relative;padding:22px 25px;border:1px solid #b99a585e;background:var(--grain-wood);background-size:auto,160px;box-shadow:inset 0 1px #c3a66722}#menu .wtag{font:9px var(--mono);letter-spacing:.2em;color:var(--brass)}#menu .wdetail h2{font:bold 32px var(--carved);letter-spacing:-.02em;text-transform:none;margin:5px 0 9px;color:#eadbb5}#menu .wdetail p{font-size:14px;line-height:1.55;opacity:1;color:#bfb7a1;max-width:52ch;margin-bottom:19px}#menu #wstats{gap:8px 25px}#menu .stat{grid-template-columns:61px 1fr;font:9px var(--mono);letter-spacing:.12em;opacity:1;color:#a9a18c}#menu .stat .bar{gap:5px}#menu .stat .bar i{height:6px;background:#b99a5819;border:1px solid #9d87553b}#menu .stat .bar i.on{background:#b49b61;border-color:#d1bb85;box-shadow:none}#menu #wtraits{border-top:1px solid #b99a5833;padding-top:11px;gap:6px 13px;margin-top:17px}#menu #wtraits span{border:0;padding:0;background:none;font:9px var(--mono);color:#c4b58f;letter-spacing:.06em}#menu #wtraits span:before{content:"◆";font-size:6px;margin-right:6px;color:var(--brass)}:is(#menu,#pause,#dead) button.big{border:1px solid #d2b779;border-bottom:3px solid #6a502b;background:linear-gradient(#ae8c4cdc,#917038ec),url(../textures/wood.png);background-size:auto,128px;color:#181b12;box-shadow:inset 0 1px #f5dfa077,0 4px #0005;clip-path:none;font:bold 18px var(--carved);letter-spacing:.07em;padding:17px 20px;transition:filter .15s}#menu #startbtn{margin-top:16px;display:flex;justify-content:space-between;align-items:center}:is(#menu,#pause,#dead) button.big span{font:10px var(--mono);opacity:.8;letter-spacing:.05em}:is(#menu,#pause,#dead) button.big:hover{transform:none;filter:brightness(1.15)}#upgrade{background:radial-gradient(ellipse at 50% 35%,#1e2619a6,#090d09ed);-webkit-backdrop-filter:none;backdrop-filter:none;overflow-y:auto;padding:35px 24px;align-items:safe center}#upgrade .up-wrap{width:min(100%,970px)}#upgrade .up-title small{font:10px var(--mono);color:var(--brass);letter-spacing:.16em}#upgrade .up-title small span{margin:0 12px;color:#827453}#upgrade .up-title h2{font:bold clamp(30px,4vw,49px) var(--carved);letter-spacing:.045em;padding:0;margin:10px 0 8px;color:var(--bone);text-shadow:0 3px #0008}#upgrade .up-title p{font:italic 16px var(--carved);color:#aaa58d;margin:0 0 32px}#upgrade #cards{gap:22px;align-items:stretch}#upgrade .card{width:290px;min-width:0;min-height:386px;padding:18px 22px 16px;gap:0;background:var(--grain-paper);background-size:auto,128px;color:#302b1d;border:1px solid #e0cca1;border-bottom:4px solid #776345;box-shadow:inset 0 0 0 5px #b49b6b,inset 0 0 0 6px #655c3e7a,3px 6px #0005;clip-path:polygon(0 0,96% 0,100% 3%,100% 97%,97% 100%,3% 100%,0 97%);transition:transform .14s,filter .14s}#upgrade .card:before{content:"";position:absolute;inset:12px;border:1px solid #6d614531;pointer-events:none}#upgrade .card:hover,#upgrade .card:focus-visible{transform:translateY(-7px);filter:brightness(1.08);box-shadow:inset 0 0 0 5px #c6ac77,inset 0 0 0 6px #655c3eaa,3px 10px #0005}#upgrade .card-top{width:100%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #65583a60;padding-bottom:11px}#upgrade .card .key{position:static;display:grid;place-items:center;width:21px;height:21px;border:1px solid #6f62489c;font:11px var(--mono);opacity:1}#upgrade .card .rar{margin:0;font:bold 10px var(--mono);letter-spacing:.16em;color:var(--rc)}#upgrade .rarity-mark{color:var(--rc);font:bold 13px var(--carved);letter-spacing:2px;width:21px}#upgrade .card .ico{display:grid;place-items:center;width:88px;height:88px;margin:19px 0 16px;color:var(--rc);filter:none;background:repeating-linear-gradient(135deg,transparent 0 5px,#5b513619 5px 6px);border:1px solid #65583a55;border-radius:50%;box-shadow:0 0 0 5px #cbb68b,0 0 0 6px #65583a33}#upgrade .ico .ui-mark{width:64px;height:64px;stroke-width:2.2;filter:drop-shadow(1px 1px 0 #f4e4ba66)}#upgrade .card h3{font:bold 25px/1.08 var(--carved);letter-spacing:-.02em;text-transform:none;margin-bottom:12px}#upgrade .card p{font-size:14px;line-height:1.45;opacity:1;color:#4f4632;margin-bottom:16px}#upgrade .boon-changes{width:100%;margin:auto 0 12px;padding:9px 0;border-top:1px solid #65583a45;border-bottom:1px solid #65583a45;display:grid;gap:8px}#upgrade .boon-changes dt{font:9px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#63583e}#upgrade .boon-changes dd{margin:3px 0 0;font:12px var(--mono);color:#64573b}#upgrade .boon-changes dd span{padding:0 3px}#upgrade .boon-changes strong{color:#302b1d}#upgrade .card .stk{margin-top:0;font:9px var(--mono);letter-spacing:.08em;color:#63583e;opacity:1;padding-top:0}#upgrade .card-choose{display:flex;justify-content:space-between;width:100%;border-top:1px solid #65583a60;margin-top:14px;padding-top:10px;font:bold 9px var(--mono);letter-spacing:.12em;color:var(--rc)}#upgrade .up-hint{font:10px var(--mono);color:#bbb196;letter-spacing:.1em;opacity:1;margin-top:26px}#upgrade .up-hint b{border-color:#b99a5877;color:var(--bone)}#hud{text-shadow:1px 2px 0 #080b08,0 0 5px #080b08}#hud #xpbar{top:20px;left:50%;right:auto;width:min(34%,480px);transform:translate(-50%);height:7px;background:#11170ee0;border:1px solid #9a855c8c;box-shadow:0 2px #0008}#hud #xpbar:before,#hud #xpbar:after{content:"";position:absolute;top:-3px;width:9px;height:9px;background:#b19b68;transform:rotate(45deg);border:2px solid #292d1b}#hud #xpbar:before{left:-7px}#hud #xpbar:after{right:-7px}#hud #xpfill{background:#8a9a63;box-shadow:inset 0 1px #c3d09866}#hud #lvl{top:14px;color:#dbceaa;font:11px var(--mono);letter-spacing:.14em;white-space:nowrap}#hud #topleft{top:22px;left:26px;padding:0 0 0 13px;border-left:2px solid #b99a5877}#hud .hud-caption{font:8px var(--mono);letter-spacing:.14em;color:#c4b996}#hud #timer{font:bold 34px/1.25 var(--carved);font-variant-numeric:tabular-nums;letter-spacing:.02em}#hud #kills{font:17px var(--mono);color:#c7b27b;margin-top:2px}#hud #kills small,#hud #combo small{font:8px var(--mono);letter-spacing:.14em;color:#c9bfa4;opacity:1}#hud #combo{top:25px;right:26px}#hud #combo b{font:bold 39px/1 var(--carved);color:#cda561}#hud #healthbox{left:26px;bottom:26px;width:265px;padding:12px 15px 15px;background:var(--grain-wood);background-size:auto,128px;border:1px solid #917b4f80;box-shadow:inset 0 0 0 3px #080e0960,0 3px #0008}#hud #healthbox:after{content:"";position:absolute;width:5px;height:5px;right:9px;top:9px;background:#a18b5c;box-shadow:0 1px #000;transform:rotate(45deg)}#hud #healthbox .label{font:9px var(--mono);letter-spacing:.18em;color:#c7b58f;opacity:1;margin-bottom:8px}#hud #hpbar{height:22px;border:1px solid #766244;clip-path:none;background:#140e0b}#hud #hpfill{background:repeating-linear-gradient(90deg,transparent 0 22px,#23110e4d 22px 24px),linear-gradient(#9d4937,#6f3029);box-shadow:inset 0 1px #db9b624d}#hud #hpghost{background:#bc9864}#hud #hptext{font:12px/20px var(--mono);color:#ffecd0;left:8px}#hud #healthbox.low{border-color:#c26745}#hud #ammobox{right:26px;bottom:26px;padding:11px 15px 13px;min-width:190px;border-bottom:2px solid #9d8650;background:linear-gradient(90deg,transparent,#13180de6 25%)}#hud #wname{font:bold 15px var(--carved);letter-spacing:.05em;color:#d8c79e;margin-bottom:9px;opacity:1}#hud #ammo{gap:5px;min-height:26px}#hud #ammo .pip{width:12px;height:25px;background:linear-gradient(90deg,#94774a 0 25%,#cfb87d 25% 70%,#a38955 70%);border:1px solid #dac89b;border-bottom:4px solid #7c6842;clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 4px,100% 100%,0 100%,0 4px)}#hud #ammo .pip.empty{opacity:.25;transform:none}#hud #ammo .inf{font:32px/.8 var(--carved);color:#d8c79e}#hud #mods{right:26px;bottom:112px;max-width:min(360px,38%);gap:3px}#hud #mods .mod{font:8px var(--mono);letter-spacing:.04em;color:#cbbd9b;border:0;border-left:2px solid #9a8c68;background:#12160dcf;padding:4px 6px}#hud #mods .mod.rare{border-color:#709d8d;color:#bbd1bc}#hud #mods .mod.epic{border-color:#ba806a;color:#dfb492}#hud #banner h2{font:bold clamp(26px,4vw,48px) var(--carved);letter-spacing:.08em;padding:0;color:#d5ac71;text-shadow:0 3px #161209,0 0 20px #000}#hud #banner p{font:10px var(--mono);letter-spacing:.2em;color:#e0d4b5;opacity:1}:is(#pause,#dead){background:#0c110bba;-webkit-backdrop-filter:none;backdrop-filter:none;padding:24px;overflow-y:auto;align-items:safe center}:is(#pause,#dead) .panel{position:relative;background:var(--grain-wood);background-size:auto,160px;border:1px solid #9f8955;box-shadow:inset 0 0 0 5px #10150d,inset 0 0 0 6px #786b454f,0 18px 60px #0007;clip-path:none;min-width:min(420px,100%);max-width:680px;padding:38px 44px}:is(#pause,#dead) .panel h2{font:bold 37px var(--carved);letter-spacing:.025em;padding:0;color:var(--bone);text-shadow:none}:is(#pause,#dead) .panel p{font:italic 16px var(--carved);letter-spacing:.01em;color:#b8ad91;opacity:1;margin:10px 0 26px}#pause .opts{font:11px var(--mono);color:#bcb093;letter-spacing:.05em}#pause input[type=range]{accent-color:var(--brass)}:is(#pause,#dead) button:not(.big){border-color:#82734d;background:#191e14;color:#c1b695;font:10px var(--mono);letter-spacing:.05em}:is(#pause,#dead) button:not(.big):hover{background:#303323}#dead .panel>small{font:10px var(--mono);letter-spacing:.17em;color:#ba8266}#dead .panel h2{color:#cfb58d;margin-top:12px}#dead #deadstats{gap:18px 30px}#dead #deadstats small{font:9px var(--mono);color:#aca184;opacity:1}#dead #deadstats b{display:block;margin-top:6px;font:23px var(--carved);color:var(--bone)}#dead #deadstats div{border-color:#84724755}#loading{background:#11160f}#loading h1{font:bold clamp(30px,6vw,64px) var(--carved);letter-spacing:.04em;color:var(--bone);text-shadow:2px 3px #403723}#loading .bar i{background:var(--brass)}@media(min-width:1700px)and (min-height:900px){#menu .menu-left{gap:20px}#menu .wbtn{min-height:68px}#menu .wbtn .tg{font-size:10px}#menu .wdetail{padding:28px}}@media(max-height:740px){#menu{padding-top:24px;padding-bottom:24px}#menu .menu-left{gap:10px}#menu .logo{padding-bottom:0}#menu .logo h1{font-size:54px}#menu .logo p{margin-top:8px;font-size:13px}#menu .logo small{margin-bottom:9px}#menu .wbtn{min-height:49px;padding-top:5px;padding-bottom:5px}#menu .preview-wrap{height:30vh}#menu .wdetail{padding:17px 20px}#menu .wdetail p{font-size:13px;margin-bottom:13px}#menu .wdetail h2{font-size:28px}#menu #wtraits{margin-top:12px}#menu #startbtn{margin-top:12px;padding:14px 17px}#upgrade .card{min-height:340px}#upgrade .up-title p{margin-bottom:22px}#upgrade .card .ico{width:62px;height:62px;margin:15px 0 13px}#upgrade .ico .ui-mark{width:48px;height:48px}#upgrade .card p{font-size:13px;margin-bottom:12px}#upgrade .card h3{font-size:23px;margin-bottom:9px}#upgrade .up-hint{margin-top:18px}}@media(max-width:950px){#menu{gap:24px;padding-left:26px;padding-right:26px}#menu .menu-left{width:44%}#menu .menu-crest{opacity:.35;right:0}#menu .wbtn{gap:8px;grid-template-columns:19px 28px 1fr 8px;padding-left:9px;padding-right:9px}#menu .wbtn .ui-mark{width:28px;height:28px}#menu .wbtn .tg{font-size:8px;letter-spacing:.03em}#menu #wstats{column-gap:15px}#menu #startbtn{font-size:15px}#upgrade #cards{gap:12px}#upgrade .card{padding-left:17px;padding-right:17px}#upgrade .card h3{font-size:22px}}@media(max-width:650px){#menu{display:block;padding:30px 24px}#menu .menu-left,#menu .menu-right{width:100%;max-width:none}#menu .menu-left{margin-bottom:26px}#menu .logo h1{font-size:62px}#menu .menu-crest{opacity:.7}#menu .menu-crest svg{width:100px}#menu .preview-wrap{height:230px}#menu .wbtn .nm{font-size:19px}#menu .wbtn .tg{font-size:9px}#upgrade{align-items:flex-start}#upgrade #cards{flex-direction:column;align-items:center}#upgrade .card{width:min(100%,350px);min-height:330px}#hud #healthbox{left:14px;bottom:14px;width:185px;padding:10px}#hud #ammobox{right:14px;bottom:14px;min-width:140px;padding:10px}#hud #wname{font-size:12px}#hud #topleft{left:14px}#hud .hud-caption{display:none}#hud #timer{font-size:28px}#hud #combo{right:14px}#hud #mods{right:14px;bottom:105px}:is(#pause,#dead) .panel{padding:28px 23px;width:100%}#dead .panel .row{flex-direction:column}}@media(prefers-reduced-motion:reduce){#upgrade .card,:is(#menu,#pause,#dead) button{animation:none;transition:none}}
