:root{--ink:#0d1b1e;--paper:#f7fbf5;--accent:#ffd93d;--accent-2:#ff7a45;--panel:#0c1a188c;--stroke:#ffffff2e;--font:"Inter", "SF Pro Display", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{height:100%;font-family:var(--font);color:var(--paper);-webkit-font-smoothing:antialiased;background:#8fd3ff;margin:0;overflow:hidden}#scene{width:100%;height:100%;display:block}.hidden{display:none!important}#hud{pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.hud-top{justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:22px;left:24px;right:24px}.panel{background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;padding:10px 16px;box-shadow:0 10px 30px #0000002e}#score-panel{flex-direction:column;gap:2px;display:flex}.label{letter-spacing:.18em;text-transform:uppercase;opacity:.66;font-size:10px}.value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1}.timer{text-align:center;min-width:96px}.timer .value{font-size:34px}.timer.warn .value{color:var(--accent)}.timer.crit .value{color:#ff5a5a;animation:.7s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}#crosshair{filter:drop-shadow(0 0 2px #000000d9);width:30px;height:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair i{background:#fff;border-radius:1px;position:absolute}#crosshair i:first-child{width:2px;height:9px;top:0;left:50%;transform:translate(-50%)}#crosshair i:nth-child(2){width:9px;height:2px;top:50%;left:0;transform:translateY(-50%)}#crosshair:before,#crosshair:after{content:"";background:#fff;border-radius:1px;position:absolute}#crosshair:before{width:2px;height:9px;bottom:0;left:50%;transform:translate(-50%)}#crosshair:after{width:9px;height:2px;top:50%;right:0;transform:translateY(-50%)}#crosshair i:nth-child(3){display:none}#hitmarker{opacity:0;clip-path:polygon(0 0,35% 0,50% 40%,65% 0,100% 0,60% 50%,100% 100%,65% 100%,50% 60%,35% 100%,0 100%,40% 50%);border:3px solid #fff;border-radius:3px;width:42px;height:42px;transition:opacity 90ms ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}#hitmarker.on{opacity:1}#legend{flex-direction:column;gap:7px;padding:14px 16px;display:flex;position:absolute;bottom:24px;left:24px}.legend-row{align-items:center;gap:9px;font-size:13px;display:flex}.legend-dot{border-radius:50% 50% 45% 45%;width:11px;height:13px;box-shadow:inset -2px -2px 3px #00000040}.legend-row b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:14px}#popups{position:absolute;inset:0;overflow:hidden}.popup{letter-spacing:-.02em;text-shadow:0 2px 10px #00000073;font-size:22px;font-weight:800;animation:.9s cubic-bezier(.22,1,.36,1) forwards rise;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,-30%)scale(.7)}18%{opacity:1;transform:translate(-50%,-60%)scale(1.08)}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}#vignette{background:radial-gradient(circle,#0000 45%,#0814126b 100%);position:absolute;inset:0}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:radial-gradient(circle at 50% 30%,#10242052,#060e0dad);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.card{background:linear-gradient(160deg,#ffffff1c,#ffffff0a);border:1px solid #fff3;border-radius:26px;width:min(560px,100%);padding:34px 34px 30px;box-shadow:0 30px 80px #00000059}.card.small{width:min(380px,100%)}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:11px}h1{letter-spacing:-.04em;margin:0 0 14px;font-size:clamp(30px,4.8vw,46px);font-weight:900;line-height:.95}h1 span{color:var(--accent)}h2{letter-spacing:-.03em;margin:0 0 12px;font-size:34px}.lead{color:#f7fbf5d1;margin:0 0 22px;font-size:15px;line-height:1.55}.keys{color:#f7fbf5cc;grid-template-columns:1fr 1fr;gap:10px 18px;margin:0 0 26px;padding:0;font-size:13px;list-style:none;display:grid}.keys b{min-width:82px;color:var(--paper);font-weight:700;display:inline-block}button.primary{appearance:none;cursor:pointer;letter-spacing:.01em;color:#221a00;background:linear-gradient(180deg, #ffe86b, var(--accent));border:0;border-radius:14px;width:100%;padding:16px 24px;font-family:inherit;font-size:16px;font-weight:800;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 12px 26px #ffd93d47}button.primary:hover{filter:brightness(1.05);transform:translateY(-2px)}button.primary:active{transform:translateY(0)}.hint{text-align:center;color:#f7fbf58c;min-height:16px;margin:14px 0 0;font-size:12px}.result{grid-template-columns:repeat(3,1fr);gap:12px;margin:6px 0 22px;display:grid}.result>div{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.big{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:28px;font-weight:800}#weapon-panel{flex-direction:column;gap:7px;min-width:196px;padding:13px 15px;display:flex;position:absolute;bottom:24px;right:24px}.weapon-row{opacity:.42;align-items:center;gap:10px;font-size:13px;transition:opacity .16s,transform .16s;display:flex}.weapon-row.active{opacity:1;transform:translate(-3px)}.weapon-row .key{color:#f7fbf5cc;border:1px solid #ffffff47;border-radius:5px;place-items:center;width:17px;height:17px;font-size:10px;font-weight:700;display:inline-grid}.weapon-row .wname{flex:1}.weapon-row .ammo{font-variant-numeric:tabular-nums;color:#f7fbf5bf;font-weight:800}.weapon-row.active .ammo{color:var(--accent)}.weapon-row.empty .ammo{color:#ff6b6b}@media (height<=620px){#legend{gap:4px;padding:10px 12px}.legend-row{font-size:11px}#weapon-panel{min-width:170px;padding:9px 12px}.weapon-row{font-size:12px}}.menu-actions{align-items:stretch;gap:10px;display:flex}.menu-actions .primary{flex:1}button.ghost{appearance:none;cursor:pointer;color:#f7fbf5e6;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff3d;border-radius:14px;padding:14px 18px;font-family:inherit;font-size:14px;font-weight:700;transition:background .13s,transform .13s}button.ghost:hover{background:#ffffff29;transform:translateY(-1px)}button.ghost:disabled{opacity:.5;cursor:default;transform:none}.rank-entry{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.rank-input-row{gap:8px;display:flex}#rank-name{min-width:0;color:var(--paper);background:#0000004d;border:1px solid #ffffff38;border-radius:12px;outline:none;flex:1;padding:12px 14px;font-family:inherit;font-size:15px;font-weight:600;transition:border-color .13s,box-shadow .13s}#rank-name::placeholder{color:#f7fbf56b}#rank-name:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ffd93d2e}button.primary.compact{width:auto;box-shadow:none;padding:12px 18px;font-size:14px}.rank-list{flex-direction:column;gap:4px;max-height:236px;margin:2px 0 10px;display:flex;overflow:auto}.rank-row{background:#ffffff0d;border-radius:10px;align-items:center;gap:12px;padding:7px 10px;font-size:14px;display:flex}.rank-row.mine{background:#ffd93d29;box-shadow:inset 0 0 0 1px #ffd93d6b}.rank-pos{opacity:.55;font-variant-numeric:tabular-nums;width:20px;font-size:12px;font-weight:700}.rank-row:first-child .rank-pos{color:var(--accent);opacity:1}.rank-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rank-score{font-variant-numeric:tabular-nums;font-weight:800}.rank-empty{opacity:.6;margin:6px 0 12px;font-size:13px}.rank-note{color:#f7fbf59e;min-height:16px;margin:0 0 14px;font-size:12px}.card{max-height:92vh;overflow:auto}
