html,body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;color:#fff;background:#000;height:100%;margin:0;font-family:system-ui,sans-serif;overflow:hidden}canvas{width:100vw;height:100vh;display:block}.hidden{display:none!important}.hud{--top:calc(10px + var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px));--left:calc(16px + var(--tg-safe-area-inset-left,0px));--right:calc(16px + var(--tg-safe-area-inset-right,0px));--bottom:calc(16px + var(--tg-safe-area-inset-bottom,0px));pointer-events:none;text-shadow:0 1px 3px #000;position:fixed;inset:0}.hud button,.hud .settings{pointer-events:auto}.hud button{color:#fff;font:inherit;text-shadow:none;background:#00000059;border:2px solid #ffffffb3;border-radius:50%;position:absolute}.reticle{stroke:#ff3b30;stroke-width:1.5px;fill:none;width:1px;height:1px;position:absolute;top:50%;left:50%;overflow:visible}.reticle .ring{stroke-width:1px;stroke-dasharray:4 3;opacity:.85}.reticle .dot{fill:#ff3b30}.reticle text{fill:#ff3b30;stroke:none;font-size:10px}.scope{background:radial-gradient(circle,#0000 0 calc(50vmin - 3px),#000 calc(50vmin - 1px));position:absolute;inset:0}.hp{left:var(--left);top:var(--top);align-items:center;gap:6px;font-size:13px;display:flex;position:absolute}.hp-track{background:#0006;border:1px solid #ffffffb3;border-radius:5px;width:120px;height:10px;overflow:hidden}.hp-fill{background:#34c759;width:100%;height:100%;transition:width .2s}.hp-fill.low{background:#ff3b30}.pause{left:var(--left);top:calc(var(--top) + 24px);width:40px;height:40px;font-size:16px}.compass{top:var(--top);border-bottom:1px solid #ffffff80;width:264px;height:22px;margin-left:-132px;font-size:12px;position:absolute;left:50%;overflow:hidden}.compass .tick{text-align:center;width:20px;height:14px;margin-left:-10px;line-height:14px;position:absolute;bottom:0;left:50%}.compass .tick:after{content:"";background:#fff;width:1px;height:4px;position:absolute;bottom:0;left:50%}.compass .tick.major{color:#ffd60a;font-weight:700}.compass .tick.major:after{display:none}.compass-marker{background:#ff3b30cc;width:2px;height:22px;margin-left:-1px;position:absolute;top:0;left:50%}.score{top:calc(var(--top) + 26px);font-size:20px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.wave{top:var(--top);right:calc(var(--right) + 54px);font-size:15px;font-weight:700;line-height:44px;position:absolute}.settings-toggle{right:var(--right);top:var(--top);width:44px;height:44px;font-size:22px}.settings{right:var(--right);top:calc(var(--top) + 52px);text-shadow:none;background:#000000bf;border-radius:12px;gap:8px;padding:12px;display:grid;position:absolute}.setting{grid-template-columns:130px 150px 36px;align-items:center;gap:8px;font-size:14px;display:grid}.setting select{font:inherit;grid-column:span 2;padding:2px 4px}.threat{clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);background:#ff3b30;width:24px;height:24px;margin:-12px 0 0 -12px;position:absolute;top:50%;left:50%}.banner{white-space:nowrap;font-size:32px;font-weight:800;position:absolute;top:30%;left:50%;transform:translate(-50%)}.message{top:calc(var(--top) + 96px);white-space:nowrap;background:#0009;border-radius:8px;padding:8px 14px;font-size:14px;position:absolute;left:50%;transform:translate(-50%)}.recenter{left:var(--left);bottom:var(--bottom);width:56px;height:56px;font-size:26px}.fire{right:var(--right);bottom:var(--bottom);width:96px;height:96px;font-weight:700}.fire.active{background:#ff3b3099}.zoom{right:var(--right);bottom:calc(var(--bottom) + 110px);width:56px;height:56px;font-size:18px;font-weight:700}.reload{right:calc(var(--right) + 110px);bottom:var(--bottom);width:56px;height:56px;font-size:24px}.ammo{right:var(--right);top:calc(var(--top) + 50px);white-space:nowrap;font-size:18px;font-weight:700;position:absolute}.ammo.low,.ammo.reloading{color:#ffd60a}.reload-status{color:#ffd60a;white-space:nowrap;font-size:18px;font-weight:800;position:absolute;top:calc(50% + 70px);left:50%;transform:translate(-50%)}.alert{top:calc(var(--top) + 56px);color:#ffd0cc;white-space:nowrap;background:#7800008c;border-radius:6px;padding:4px 12px;font-size:16px;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.target-id,.course-arrow{position:absolute;top:50%;left:50%}.target-id{color:#ffd60a;white-space:nowrap;background:#00000073;border:1px solid #ffd60acc;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:700}.course-arrow{clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);background:#ffd60a;width:22px;height:22px;margin:-11px 0 0 -11px}.course{right:calc(var(--right) + 66px);bottom:calc(var(--bottom) + 110px);width:56px;height:56px;font-size:22px}.course.active{background:#ffd60a73;border-color:#ffd60a}.searchlight{right:var(--right);bottom:calc(var(--bottom) + 176px);width:56px;height:56px;font-size:24px}.thermal-btn{right:calc(var(--right) + 66px);bottom:calc(var(--bottom) + 176px);width:56px;height:56px;font-size:14px;font-weight:800}.searchlight.active,.thermal-btn.active{background:#ffd60a73;border-color:#ffd60a}.thermal-frame{pointer-events:none;border:2px solid #78ff8c99;border-radius:8px;position:absolute;inset:12px}.thermal-label{color:#78ff8ce6;letter-spacing:2px;font-weight:800;position:absolute;top:6px;left:50%;transform:translate(-50%)}.night-note{color:#9fb4ff}.lost{color:#ff6b5b;font-weight:700}.badge{color:#78ff8ce6;vertical-align:middle;border:1px solid #78ff8cb3;border-radius:4px;margin-left:6px;padding:0 5px;font-size:11px;display:inline-block}.radar{left:var(--left);bottom:calc(var(--bottom) + 68px);width:120px;height:120px;position:absolute}.rotate-hint{display:none}@media (orientation:portrait) and (pointer:coarse){.rotate-hint{text-align:center;pointer-events:auto;background:#000000e6;justify-content:center;align-items:center;padding:24px;font-size:24px;display:flex;position:absolute;inset:0}}.screen{padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-user-select:text;user-select:text;background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.panel{text-align:center;flex-direction:column;gap:10px;width:min(420px,100%);min-height:0;max-height:100%;display:flex}.panel.wide{width:min(760px,100%)}.panel-body{overscroll-behavior:contain;touch-action:pan-y;align-content:start;gap:10px;min-height:0;display:grid;overflow-y:auto}.panel-footer{flex:none;gap:10px;display:flex}.panel-footer>*{flex:1}.menu-buttons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.menu-buttons.stack{grid-template-columns:1fr}.menu-buttons .primary{grid-column:1/-1}.panel h1,.panel h2,.panel p{margin:0}.muted{color:#b0b4ba;font-size:14px}.error{color:#ff6b61;font-size:14px}.defeat{color:#ff3b30}.cause{color:#ffb3ad;font-size:15px}.result{font-size:20px;font-weight:700}.login{gap:10px;display:grid}.login input{font:inherit;color:#fff;background:#1c1c1e;border:1px solid #555;border-radius:8px;padding:10px 12px;font-size:16px}.field{display:grid;position:relative}.field input{padding-right:44px}.field:has(.field-btn+.field-btn) input{padding-right:84px}.field-actions{gap:4px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.field-btn{width:36px;height:36px;font:inherit;color:#b0b4ba;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0;font-size:16px;line-height:1}.field-btn:hover,.field-btn.active{color:#fff;background:#ffffff1f}.btn{font:inherit;color:#fff;background:#ffffff14;border:1px solid #ffffff80;border-radius:8px;padding:10px 16px;font-size:16px}.btn.primary{background:#ff3b30;border-color:#ff3b30;font-weight:700}.btn:disabled{opacity:.5}.leaderboard{border-collapse:collapse;width:100%;font-size:14px}.leaderboard th,.leaderboard td{border-bottom:1px solid #ffffff26;padding:4px 6px}.leaderboard td:nth-child(2){text-align:left}.help-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:8px 20px;display:grid}.help th,.help td{text-align:left}.help{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.help th{color:#ffd60a;padding:6px 6px 2px}.help td{padding:2px 6px}.help td.key{white-space:nowrap;width:40%;font-weight:700}.leaderboard tr.me{color:#ffd60a;font-weight:700}.tagline{color:#ffd60a;font-size:15px;font-weight:600}.language{color:#b0b4ba;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.language select{font:inherit;border-radius:6px;padding:4px 8px}.sound{left:calc(var(--left) + 48px);top:calc(var(--top) + 24px);width:40px;height:40px;font-size:16px}.credits{right:var(--right);top:calc(var(--top) + 74px);color:#9be58a;font-size:16px;font-weight:700;position:absolute}.balance{color:#9be58a;font-weight:700}.picture{aspect-ratio:16/9;background:#2a3440;border-radius:8px;overflow:hidden}.picture svg{width:100%;height:100%;display:block}.rows{gap:8px;display:grid}.row{font:inherit;color:inherit;text-align:left;cursor:pointer;background:#ffffff0d;border:1px solid #fff3;border-radius:10px;grid-template-columns:104px 1fr auto;align-items:center;gap:10px;padding:8px;display:grid}.row.selected{background:#9be58a14;border-color:#9be58a}.row h3{margin:0;font-size:16px}.row-text{gap:2px;min-width:0;display:grid}.row-text .muted{font-size:13px}.row-desc{color:#d0d3d8;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.status{white-space:nowrap;color:#ffd60a;font-size:13px;font-weight:700}.status.selected,.status.owned{color:#9be58a}.detail{text-align:left;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:12px;display:grid}.detail-text{gap:6px;display:grid}.detail-text h2,.detail-text h3{margin:0}.handbook .panel-body{flex-direction:column;display:flex}.carousel{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;flex:auto;min-height:0;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.slide{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;overscroll-behavior:contain;flex:0 0 100%;padding:0 2px;overflow-y:auto}.carousel-nav{justify-content:center;align-items:center;gap:12px;display:flex}.btn.arrow{width:44px;padding:4px 0;font-size:22px;line-height:1}.dots{gap:8px;display:flex}.dot{background:#ffffff4d;border-radius:50%;width:8px;height:8px}.dot.active{background:#ffd60a}.modal{touch-action:pan-y;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.dialog{text-align:center;background:#141618;border:1px solid #fff3;border-radius:12px;gap:10px;width:min(360px,100%);margin:auto;padding:16px;display:grid}.modal-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.modal-head h2{margin:0;font-size:20px}.btn.close{padding:4px 10px}@media (height<=520px){.panel,.panel-body{gap:6px}.panel h1{font-size:24px}.panel h2{font-size:19px}.btn{padding:7px 12px;font-size:15px}.tagline,.muted{font-size:13px}.menu-buttons{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}.panel:has(.menu-buttons){width:min(560px,100%)}.row{grid-template-columns:80px 1fr auto;padding:6px}.row-desc{-webkit-line-clamp:1}.detail{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.stats{font-size:12px}}.stats{border-collapse:collapse;width:100%;font-size:13px}.stats td{border-bottom:1px solid #ffffff14;padding:2px 0}.stats td.value{text-align:right;font-weight:700}.corner-btn{top:max(12px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));font:inherit;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#00000073;border:1px solid #ffffff59;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600;position:fixed}.corner-btn:hover{background:#ffffff1f}.corner-btn.logout{color:#ffb3ad;border-color:#ff3b3099}.corner-btn.logout:hover{background:#ff3b3033}.tabs{gap:8px;margin:4px 0 10px;display:flex}.tabs .tab{flex:1}.slots{gap:10px;margin-top:4px;font-size:12px;display:flex}.slot{color:#78ff8ce6}.slot.empty{color:#fff6}.equipment{border:1px solid #ffffff26;border-radius:8px;margin:10px 0;padding:8px 12px}.equipment h3{margin:0 0 6px}.slot-row{align-items:center;gap:10px;padding:6px 0;display:flex}.slot-row+.slot-row{border-top:1px solid #ffffff1a}.slot-name{min-width:110px}.slot-value{flex:1;font-weight:700}.slot-value.empty{color:#ffffff73;font-weight:400}.storage-item{border:1px solid #ffffff26;border-radius:8px;margin:8px 0;padding:8px 12px}.storage-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.storage-head h3{margin:0}.soon{opacity:.5}
