:root{--ink:#fff;--dark:#0a0e1eb8;--shield:#3fb2ff;--health:#5ee35b;--gold:#ffc83a;--title:"Luckiest Guy", "Arial Black", sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;background:#0b1020;margin:0;font-family:Nunito,system-ui,sans-serif;font-weight:800;overflow:hidden}#view{width:100%;height:100%;display:block;position:fixed;inset:0}[hidden]{display:none!important}.btn{font:400 22px var(--title);letter-spacing:1px;color:#1b1300;cursor:pointer;background:linear-gradient(#ffe066,#ffb21a);border:0;border-radius:12px;padding:12px 26px;transition:transform 80ms;box-shadow:0 5px #b86e00,0 8px 18px #00000059}.btn:hover{transform:translateY(-2px)scale(1.03)}.btn:active{transform:translateY(3px);box-shadow:0 2px #b86e00}.btn.big{padding:16px 34px;font-size:30px}.btn.boss{color:#fff;background:linear-gradient(#ff8a7a,#e8344a);box-shadow:0 5px #8a1020,0 8px 18px #00000059}.btn.ghost{color:#fff;box-shadow:none;background:#ffffff24}.btn:disabled{opacity:.5;cursor:default;transform:none}#hud{pointer-events:none;position:fixed;inset:0}#goal{background:var(--dark);border-radius:10px;padding:8px 14px;font-size:20px;position:absolute;top:16px;left:18px}#wallet{gap:10px;font-size:20px;display:flex;position:absolute;top:16px;right:200px}#wallet span{background:var(--dark);border-radius:10px;padding:8px 14px}#boss{text-align:center;width:min(620px,70vw);position:absolute;top:64px;left:50%;transform:translate(-50%)}.boss-name{font:400 28px var(--title);letter-spacing:2px;text-shadow:0 3px #000;color:var(--gold)}#boss .bar{background:#0009;border:3px solid #fff;border-radius:10px;height:20px;overflow:hidden}#boss-fill{background:linear-gradient(#ff6a5a,#c8102e);height:100%;transition:width .15s;display:block}#cross{width:0;height:0;position:absolute;top:50%;left:50%}#cross i{background:#fff;position:absolute;box-shadow:0 0 2px #000}#cross i:first-child,#cross i:nth-child(2){width:2px;height:9px;left:-1px}#cross i:first-child{top:-16px}#cross i:nth-child(2){top:7px}#cross i:nth-child(3),#cross i:nth-child(4){width:9px;height:2px;top:-1px}#cross i:nth-child(3){left:-16px}#cross i:nth-child(4){left:7px}#cross.aim i:first-child{top:-11px}#cross.aim i:nth-child(2){top:2px}#cross.aim i:nth-child(3){left:-11px}#cross.aim i:nth-child(4){left:2px}#hitmark{opacity:0;width:26px;height:26px;margin:-13px;position:absolute;top:50%;left:50%}#hitmark:before,#hitmark:after{content:"";background:#fff;width:3px;height:30px;position:absolute;top:-2px;left:12px;transform:rotate(45deg)}#hitmark:after{transform:rotate(-45deg)}#hitmark.on{opacity:1}#hitmark.crit:before,#hitmark.crit:after{background:var(--gold)}#prompt{background:var(--dark);white-space:nowrap;border-radius:10px;padding:10px 18px;font-size:20px;position:absolute;top:62%;left:50%;transform:translate(-50%)}#prompt b{color:#000;background:#fff;border-radius:6px;margin-right:6px;padding:0 8px;display:inline-block}#banner{text-align:center;opacity:0;transition:opacity .25s,transform .25s cubic-bezier(.3,1.6,.5,1);position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)scale(.6)}#banner.show{opacity:1;transform:translate(-50%,-50%)scale(1)}#banner img{filter:drop-shadow(0 6px 10px #00000080);height:150px}#banner .big{font:400 72px var(--title);letter-spacing:2px;color:#fff;text-shadow:0 5px #c86a00,0 8px 18px #0009;white-space:nowrap}#banner .small{font:400 30px var(--title);color:var(--gold);text-shadow:0 3px #000}#vitals{gap:6px;width:min(340px,40vw);display:grid;position:absolute;bottom:18px;left:18px}#vitals .bar{background:#0000008c;border-radius:6px;height:24px;position:relative;overflow:hidden;transform:skew(-12deg)}#vitals .bar i{height:100%;transition:width .12s;display:block}#vitals .shield i{background:linear-gradient(#8ad6ff, var(--shield))}#vitals .health i{background:linear-gradient(#a6ff8a, var(--health))}#vitals .bar span{text-shadow:0 1px 2px #000;font-size:17px;font-weight:900;line-height:24px;position:absolute;top:0;left:10px;transform:skew(12deg)}#hotbar{align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:18px;right:18px}.slot{background:linear-gradient(160deg, var(--r,#555) 0%, #000000a6 85%);border:2px solid #ffffff40;border-radius:10px;flex-direction:column;justify-content:flex-end;align-items:center;width:74px;height:74px;padding:4px;font-size:14px;display:flex;position:relative}.slot.on{box-shadow:0 0 14px var(--r);border:3px solid #fff;transform:translateY(-8px)}.slot.empty{background:#0000004d}.slot .key{opacity:.85;font-size:12px;position:absolute;top:3px;left:6px}.slot b{font-size:15px}.slot small{opacity:.9;font-size:12px}.slot.item{background:#0000008c;width:66px;height:66px}.slot.item i{margin-bottom:2px;font-size:26px;font-style:normal}.slot.item.none{opacity:.45}.gap{width:10px}#help{background:var(--dark);text-align:center;opacity:0;border-radius:10px;max-width:92vw;padding:10px 16px;font-size:15px;font-weight:700;transition:opacity .6s;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}#help.show{opacity:1}#help b{color:var(--gold)}#hurt{opacity:0;background:radial-gradient(#0000 50%,#ff00008c 100%);position:absolute;inset:0}#floaters{position:absolute;inset:0;overflow:hidden}.floater{font:400 30px var(--title);color:#fff;text-shadow:0 3px #000,0 0 8px #0009;white-space:nowrap;position:absolute;top:0;left:0}.floater.crit{color:var(--gold);font-size:38px}.floater.loot{color:#9ff;font-size:22px}.floater.warn{color:#ff8a8a;font-size:22px}.floater.bonk{color:#ffd23a;font-size:34px}.screen{place-items:center;display:grid;position:fixed;inset:0}#title{background:url(/art/title.jpg) 50%/cover}.title-card{text-align:center;margin-top:auto;margin-bottom:4vh;padding:0 16px}#title h1{font:400 clamp(64px, 11vw, 140px) / .85 var(--title);color:#a6ff4a;text-shadow:0 6px #2a5a00,0 12px 30px #0009;margin:0;transform:rotate(-3deg)}.tag{text-shadow:0 2px 4px #000;margin:12px 0 18px;font-size:20px}.name{background:var(--dark);border-radius:12px;align-items:center;gap:10px;padding:8px 14px;font-size:18px;display:inline-flex}.name input{border:0;border-radius:8px;width:min(300px,50vw);padding:8px 12px;font:800 18px Nunito,sans-serif}.title-btns{flex-wrap:wrap;justify-content:center;gap:18px;margin:18px 0;display:flex}.controls{background:var(--dark);border-radius:12px;padding:10px 16px;font-size:15px;font-weight:700;line-height:1.6;display:inline-block}.controls b{color:var(--gold)}#pause,#end{background:#05081499}.menu{background:var(--dark);text-align:center;border-radius:18px;gap:14px;min-width:min(420px,90vw);padding:28px 36px;display:grid}.menu h2{font:400 56px var(--title);color:var(--gold);text-shadow:0 4px #000;margin:0}.menu p{max-width:460px;margin:0 0 6px;font-size:18px}#camp{background:linear-gradient(#0a0a1e59,#0a0a1ebf),url(/art/camp.jpg) 50%/cover;place-items:stretch stretch;padding:22px;display:block;overflow:auto}.camp-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-right:190px;display:flex}.camp-top h1{font:400 56px var(--title);color:var(--gold);text-shadow:0 4px #000;margin:0}.wallet{gap:10px;font-size:22px;display:flex}.wallet span{background:var(--dark);border-radius:10px;padding:8px 14px}.camp-cols{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:16px;display:grid}.camp-cols section{background:var(--dark);border-radius:16px;padding:16px}.camp-cols h2{font:400 30px var(--title);letter-spacing:1px;margin:0 0 10px}.hint{opacity:.85;margin:0 0 10px;font-size:14px}.deals,.guns{gap:10px;display:grid}.deal{text-align:left;color:#fff;cursor:pointer;background:#ffffff14;border:2px solid #fff3;border-radius:12px;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 14px;font:800 15px Nunito,sans-serif;display:grid}.deal:hover:not(:disabled){border-color:var(--gold);background:#ffffff2e}.deal:disabled{opacity:.4;cursor:default}.deal b{font-size:18px}.deal small{opacity:.85;grid-column:1}.deal .price{color:var(--gold);grid-area:1/2/span 2;align-self:center;font-size:17px}.gun{background:linear-gradient(150deg, var(--r) 0%, #0006 70%);border-radius:12px;gap:8px;padding:10px;display:grid}.gun-name{font:400 22px var(--title);letter-spacing:1px;text-shadow:0 2px #000}.maxed{color:var(--gold);font-size:15px}.sell{color:#fff;opacity:.7;cursor:pointer;background:0 0;border:0;justify-self:start;font:700 13px Nunito,sans-serif;text-decoration:underline}.camp-go{text-align:center;margin:22px 0 10px}.camp-go .hint{margin-top:10px}#feedback-tab{z-index:20;font:400 20px var(--title);letter-spacing:1px;color:#fff;cursor:pointer;background:#7a3cff;border:0;border-radius:12px;padding:10px 16px;position:fixed;top:14px;right:14px;box-shadow:0 4px #3e1a99}#feedback-tab small{vertical-align:middle;background:#ffffff40;border-radius:4px;margin-left:4px;padding:1px 5px;font:800 12px Nunito,sans-serif}.feedback{z-index:30;background:#050814b3;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.feedback .panel{background:#1c2140;border-radius:18px;gap:12px;width:min(640px,100%);padding:20px;display:grid}.feedback h2{font:400 40px var(--title);color:var(--gold);margin:0}.feedback img{object-fit:cover;border-radius:10px;width:100%;max-height:220px}.kinds{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.kinds button{color:#fff;cursor:pointer;background:#ffffff1a;border:3px solid #0000;border-radius:12px;justify-items:center;gap:4px;padding:10px 4px;font-size:34px;display:grid}.kinds button span{font:800 13px Nunito,sans-serif}.kinds button.on{border-color:var(--gold);background:#ffc83a33}.mic{font:400 24px var(--title);color:#fff;cursor:pointer;touch-action:none;background:#ff4a6a;border:0;border-radius:14px;padding:16px}.mic.rec{background:#ff1a3a;animation:.8s infinite alternate pulse}@keyframes pulse{to{box-shadow:0 0 0 10px #ff1a3a4d}}.feedback audio{width:100%}.feedback textarea{resize:vertical;border:0;border-radius:10px;padding:10px;font:700 16px Nunito,sans-serif}.feedback .actions{justify-content:space-between;gap:10px;display:flex}.feedback .status{min-height:1.2em;margin:0}#loading{font:400 40px var(--title);z-index:40;background:#0b1020;place-items:center;display:grid;position:fixed;inset:0}@media (width<=700px){#wallet{top:64px;right:14px}#banner .big{font-size:44px}.kinds{grid-template-columns:repeat(3,1fr)}}
