:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e6e6e6;background:#15171c;font-family:system-ui,sans-serif}body{margin:0}.page{max-width:560px;margin:40px auto;padding:0 16px}h1{margin-bottom:4px}h2,h3{margin:0}h3{margin-top:20px;font-size:16px}.sub,.muted{color:#9aa0aa}.card{background:#1d2027;border:1px solid #2c3039;border-radius:8px;flex-direction:column;gap:10px;padding:20px;display:flex}.row{align-items:center;gap:8px;display:flex}.row.spread{justify-content:space-between}input{min-width:0;color:inherit;background:#22252c;border:1px solid #3a3f48;border-radius:4px;flex:1;padding:8px 10px;font-size:15px}button{color:#15171c;cursor:pointer;background:#e0b04c;border:0;border-radius:4px;padding:8px 16px;font-size:15px}#copy-btn{color:inherit;background:#2f343e}button:disabled{opacity:.5;cursor:default}.notice{background:#3a2326;border:1px solid #6b3a40;border-radius:6px;padding:10px 14px}.players{margin:0;padding:0;list-style:none}.players li{border-bottom:1px solid #2c3039;padding:6px 0}.players li.off{color:#6e737c}.tag{background:#2f343e;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:12px}body.in-game .page{max-width:1100px;margin-top:16px}body.in-game .sub{display:none}.game-wrap{position:relative}#canvas{aspect-ratio:16/10;cursor:crosshair;background:#0e1014;border:1px solid #2c3039;border-radius:6px;width:100%;max-height:78vh;display:block}.hud{pointer-events:none;text-shadow:0 1px 2px #000;justify-content:space-between;font-size:14px;display:flex;position:absolute;top:8px;left:12px;right:12px}#hud-time{font-variant-numeric:tabular-nums;font-size:18px}.hud-sub{color:#c9ced6;margin-left:10px;font-size:14px}.feed{pointer-events:none;text-shadow:0 1px 2px #000;margin:0;padding:0;font-size:13px;list-style:none;position:absolute;top:36px;left:12px}.feed li{margin-bottom:2px}.feed li.bad{color:#ef9a9a}.feed li.wave{color:#f2d28a}.countdown{color:#f2d28a;text-shadow:0 2px 8px #000;pointer-events:none;place-items:center;font-size:96px;font-weight:700;display:grid;position:absolute;inset:0}.banner{pointer-events:none;background:#14161cd9;border-radius:4px;padding:6px 12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.help{font-size:13px}.menu{grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;display:grid}.menu-btn{text-align:left;flex-direction:column;gap:4px;padding:16px 14px;font-size:17px;font-weight:700;display:flex}.menu-btn small{opacity:.75;font-size:12px;font-weight:400}.menu-btn.secondary,button.ghost{color:#e6e6e6;background:#2f343e}button.ghost{align-self:flex-start}@media (width<=480px){.menu{grid-template-columns:1fr}}.codex-map{flex-direction:column;gap:10px;display:flex}.codex-map canvas{width:100%;height:auto;image-rendering:pixelated;border:1px solid #2c3039;border-radius:4px}.legend{flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.legend i{vertical-align:-2px;border-radius:2px;width:12px;height:12px;margin-right:4px;display:inline-block}.zombie-cards{grid-template-columns:1fr;gap:10px;display:grid}.zombie-card{background:#22252c;border:1px solid #2c3039;border-radius:6px;grid-template-columns:96px 1fr;gap:12px;padding:12px;display:grid}.zombie-card canvas{background:#1a1d23;border-radius:6px;width:96px;height:96px}.zombie-card h3{margin:0 0 4px}.zombie-card p{margin:0 0 8px;font-size:14px}.stats{color:#c9ced6;flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.small{font-size:13px}.guns{gap:6px;display:flex}.gun{text-align:left;color:#e6e6e6;cursor:pointer;background:#1e2128d9;border:1px solid #3a3f48;border-radius:4px;min-width:96px;padding:6px 10px;font-size:13px}.gun .key{color:#9aa0aa;margin-right:4px}.gun .price{color:#f2d28a;font-size:12px;display:block}.gun.owned .price{color:#9aa0aa}.gun.selected{border-color:#e0b04c;box-shadow:inset 0 0 0 1px #e0b04c}.gun.locked{opacity:.55}.hud-bottom{justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:10px;left:12px;right:12px}.vitals{text-shadow:0 1px 2px #000;pointer-events:none;flex-direction:column;gap:2px;display:flex}.hp{letter-spacing:2px;color:#e5484d;font-size:20px}.ammo{font-variant-numeric:tabular-nums;font-size:16px}.ammo.empty{color:#e5484d}.difficulty{gap:6px;display:flex}.difficulty button{color:#e6e6e6;background:#2f343e;border:1px solid #3a3f48}.difficulty button.selected{color:#15171c;background:#e0b04c;border-color:#e0b04c}.difficulty button:disabled.selected{opacity:1}.credits{color:#f2d28a;font-size:14px}.hurt{pointer-events:none;opacity:0;border-radius:6px;transition:opacity .35s ease-out;position:absolute;inset:0;box-shadow:inset 0 0 80px #dc1e1ebf}.hurt.on{opacity:1;transition:none}.center-msg{color:#eafff0;pointer-events:none;background:#145a32d9;border-radius:6px;padding:10px 18px;font-size:20px;font-weight:700;position:absolute;top:30%;left:50%;transform:translate(-50%)}.result{background:#14161cf0;border:1px solid #3a3f48;border-radius:8px;min-width:320px;padding:18px 22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.result h2{margin-bottom:10px}.result table{border-collapse:collapse;width:100%;font-size:14px}.result th,.result td{text-align:left;border-bottom:1px solid #2c3039;padding:4px 6px}.tag.host{color:#f2d28a;background:#5a4718}
