:root{--p: var(--green);--dark: #021006;--panel-bg: rgba(2, 10, 6, .78);--p8: color-mix(in srgb, var(--p) 8%, transparent);--p16: color-mix(in srgb, var(--p) 16%, transparent);--p25: color-mix(in srgb, var(--p) 25%, transparent);--p28: color-mix(in srgb, var(--p) 28%, transparent);--p30: color-mix(in srgb, var(--p) 30%, transparent);--p40: color-mix(in srgb, var(--p) 40%, transparent);--p45: color-mix(in srgb, var(--p) 45%, transparent);--p55: color-mix(in srgb, var(--p) 55%, transparent);--p65: color-mix(in srgb, var(--p) 65%, transparent);--p80: color-mix(in srgb, var(--p) 80%, transparent);--glow: calc(6px * var(--bloom, 1));--ls-label: .18em;--ls-text: .06em}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(hover:none){.ui-key{display:none}}body:has(.dlg,.smap,.game-popup,.go) :is(.status-hud,.sh-foes,.sys-panel,.foe-status,.fight-hud,.chip){visibility:hidden}.amber{--p: var(--amber)}.red{--p: var(--red)}.ui-glow,.ui-btn,.ui-hd,.ui-title{text-shadow:0 0 var(--glow) var(--p65)}.ui-title{margin:0;font:400 var(--fs-l) var(--font);letter-spacing:var(--ls-label);color:var(--p);text-transform:uppercase}.ui-label{font-size:var(--fs-s);letter-spacing:var(--ls-label);color:var(--p80);text-transform:uppercase}.ui-text{font-size:var(--fs-m);letter-spacing:var(--ls-text);line-height:1.4;color:var(--p)}.ui-small{font-size:var(--fs-s);letter-spacing:var(--ls-text);color:var(--p80)}.ui-num{font-variant-numeric:tabular-nums}.ui-panel{position:relative;isolation:isolate;box-sizing:border-box;color:var(--p);font-family:var(--font);border:1px solid var(--p28);background:var(--panel-bg);padding:18px 20px;--br: 14px}.ui-panel:before{content:"";position:absolute;inset:-1px;pointer-events:none;z-index:6;background:linear-gradient(var(--p),var(--p)) left top / var(--br) 2px no-repeat,linear-gradient(var(--p),var(--p)) left top / 2px var(--br) no-repeat,linear-gradient(var(--p),var(--p)) right bottom / var(--br) 2px no-repeat,linear-gradient(var(--p),var(--p)) right bottom / 2px var(--br) no-repeat}.ui-panel:after,.ui-glassy:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;background:var(--ui-scan);box-shadow:inset 0 0 var(--ui-edge, 22px) #0000008c,inset 0 0 calc(10px * var(--bloom, 1)) var(--p8)}html.glass-on .ui-panel:after,html.glass-on .ui-glassy:after{background:var(--ui-glare),var(--ui-grain),var(--ui-scan)}html.glass-on .ui-panel.solid:after{background:var(--ui-roll),var(--ui-glare),var(--ui-grain),var(--ui-scan);background-size:100% 300%,auto,160px 160px,auto;background-repeat:no-repeat,no-repeat,repeat,repeat;animation:ui-roll 7s linear infinite}.ui-panel.tight{padding:4px 8px;--br: 8px;--ui-edge: 12px}.ui-panel.solid{background:#020805f0;box-shadow:0 0 calc(24px * var(--bloom, 1)) var(--p16);--ui-edge: 60px}.ui-glassy{position:relative;isolation:isolate;--ui-edge: 10px}.ui-panel .ui-glassy:after{display:none}:root{--ui-scan: repeating-linear-gradient(0deg, rgba(0, 0, 0, .24) 0 1px, transparent 1px 3px);--ui-glare: linear-gradient(118deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, .02) 22%, transparent 40%);--ui-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.6  0 0 0 0 1  0 0 0 0 0.75  0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--ui-roll: linear-gradient(180deg, transparent 0%, transparent 40%, color-mix(in srgb, var(--p) 5%, transparent) 47%, rgba(255, 255, 255, .035) 50%, color-mix(in srgb, var(--p) 4%, transparent) 53%, transparent 60%, transparent 100%)}@keyframes ui-roll{0%{background-position:0 100%,0 0,0 0,0 0}to{background-position:0 0%,0 0,0 0,0 0}}.ui-hd{display:flex;align-items:center;gap:10px;min-height:24px;margin:0;color:var(--p);font:400 var(--fs-m) var(--font);letter-spacing:.2em;white-space:nowrap;text-transform:uppercase}.ui-hd:after{content:"";flex:1 1 0;min-width:16px;height:1px;background:var(--p30)}.ui-hd .x{order:2;font-size:var(--fs-s);opacity:.7;letter-spacing:.1em}.ui-hd svg,.ui-ico{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;filter:drop-shadow(0 0 calc(3px * var(--bloom, 1)) var(--p55))}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;min-height:48px;padding:0 18px;margin:0;border-radius:0;cursor:pointer;text-decoration:none;text-align:center;font:400 var(--fs-m) var(--font);letter-spacing:var(--ls-label);text-transform:uppercase;line-height:1.15;color:var(--p);background:var(--panel-bg);border:3px solid var(--p45);-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;isolation:isolate;--ui-edge: 10px}.ui-btn:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;background:var(--ui-scan);box-shadow:inset 0 0 var(--ui-edge) #00000073}html.glass-on .ui-btn:after{background:var(--ui-glare),var(--ui-scan)}.ui-panel .ui-btn:after{display:none}.ui-btn.s{font-size:var(--fs-s);padding:0 12px}.ui-btn.act{min-height:56px;padding:0 26px}.ui-btn.wide{display:flex;width:100%}.ui-btn.left{justify-content:flex-start;text-align:left}@media(hover:hover){.ui-btn:hover:not(.locked):not(:disabled):not(.dis){border-color:var(--p);box-shadow:0 0 calc(12px * var(--bloom, 1)) var(--p30)}}.ui-btn:active:not(.locked):not(:disabled):not(.dis){background:var(--p16)}.ui-btn:focus{outline:none}.ui-btn:focus-visible{outline:1px dashed var(--p);outline-offset:3px}.ui-btn.primary{border-color:var(--p);background:var(--p);color:var(--dark);text-shadow:none;box-shadow:0 0 calc(24px * var(--bloom, 1)) var(--p45)}.ui-btn.primary:active{filter:brightness(1.3)}.ui-btn.sel{border-color:var(--p);background:var(--p);color:var(--dark);text-shadow:none;box-shadow:0 0 calc(16px * var(--bloom, 1)) var(--p45)}.ui-btn.on{border-color:var(--p);background:color-mix(in srgb,var(--p) 16%,#020a06);box-shadow:0 0 calc(14px * var(--bloom, 1)) var(--p30)}.ui-btn.locked,.ui-btn.dis,.ui-btn:disabled{border-style:dashed;border-color:var(--p25);background:transparent;color:var(--p40);text-shadow:none;box-shadow:none;cursor:not-allowed}.ui-sq{width:48px;min-width:48px;padding:0}.ui-sq svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}.ui-key{opacity:.65}.ui-in{box-sizing:border-box;height:48px;min-width:0;padding:0 14px;border-radius:0;outline:none;border:3px solid var(--p40);background:#000603b3;color:var(--p);font:400 var(--fs-m) var(--font);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 var(--glow) var(--p65);-webkit-user-select:text;user-select:text}.ui-in::placeholder{color:color-mix(in srgb,var(--p) 38%,transparent);text-shadow:none}.ui-in:focus{border-color:var(--p);box-shadow:0 0 calc(12px * var(--bloom, 1)) var(--p30)}.ui-info{margin:0;padding:6px 12px;border-left:2px solid var(--p);color:var(--p);display:flex;flex-direction:column;justify-content:center;gap:4px;letter-spacing:var(--ls-text);font-size:var(--fs-m);background:linear-gradient(90deg,var(--p8),transparent 70%)}.ui-info .t2{font-size:var(--fs-s);opacity:.75}.ui-info.dim{border-left-color:var(--p30);background:none}.ui-info.bad{--p: var(--red);animation:ui-glitch .3s steps(2) 3}.ui-pips{display:inline-flex;gap:2px}.ui-pips i{width:6px;height:14px;box-sizing:border-box;border:1px solid var(--p30)}.ui-pips i.on{background:var(--p);border-color:var(--p);box-shadow:0 0 calc(4px * var(--bloom, 1)) var(--p55)}.ui-pips i.dmg{background:var(--red);border-color:var(--red)}.ui-meter{height:4px;background:var(--p16)}.ui-meter>i{display:block;height:100%;background:var(--p);box-shadow:0 0 calc(4px * var(--bloom, 1)) var(--p55)}.ui-tag{display:inline-block;padding:2px 8px;border:1px solid var(--p40);font-size:var(--fs-s);letter-spacing:.12em;color:var(--p)}.ui-err{--p: var(--red);border-color:var(--red)!important;border-style:solid!important;color:var(--red)!important;box-shadow:0 0 calc(18px * var(--bloom, 1)) #ff4a3a73!important;animation:ui-shake .45s ease-in-out,ui-errfl .7s steps(1) forwards}.ui-errscreen{position:fixed;inset:0;pointer-events:none;z-index:90;display:none;background-image:repeating-linear-gradient(0deg,rgba(255,74,58,.06) 0 2px,transparent 2px 5px)}.ui-errscreen.on{display:block;animation:ui-escr .6s steps(1) forwards}.ui-denied{position:fixed;left:50%;top:calc(max(8px,env(safe-area-inset-top)) + 64px);z-index:91;pointer-events:none;transform:translate(-50%);max-width:calc(100% - 32px);box-sizing:border-box;--p: var(--red);background:#0a0202eb;font-family:var(--font);text-transform:uppercase}.ui-denied[hidden]{display:none}.ui-crton{animation:ui-crton .5s linear both}.ui-crtoff{animation:ui-crtoff .5s ease-in forwards;pointer-events:none}.ui-gin{animation:ui-gin .34s linear both}.ui-glass{position:absolute;inset:0;pointer-events:none;z-index:3;background:repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.6) 100%);box-shadow:inset 0 0 120px #00000080,inset 0 0 calc(24px * var(--bloom, 1)) var(--p8)}.ui-glass:after{content:"";position:absolute;inset:0;background:linear-gradient(118deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,.015) 18%,transparent 34%)}html:not(.glass-on) .ui-glass:after{display:none}.ui-scrim{position:fixed;inset:0;background:#010403b8}@keyframes ui-shake{0%,to{transform:translate(0)}12%{transform:translate(-8px)}26%{transform:translate(7px)}40%{transform:translate(-6px)}54%{transform:translate(4px)}68%{transform:translate(-2px)}82%{transform:translate(1px)}}@keyframes ui-errfl{0%,30%,60%{background-color:#ff4a3a52}15%,45%,to{background-color:#ff4a3a0f}}@keyframes ui-escr{0%{background-color:#ff281e24}10%{background-color:transparent}20%{background-color:#ff281e1a}35%,to{background-color:transparent}}@keyframes ui-glitch{20%{transform:translate(-4px,1px);clip-path:inset(10% 0 45% 0)}40%{transform:translate(4px,-1px);clip-path:inset(55% 0 5% 0)}60%{transform:translate(-2px);clip-path:inset(0 0 60% 0)}80%{transform:translate(2px,1px);clip-path:inset(30% 0 20% 0)}}@keyframes ui-crton{0%{transform:scaleY(.004) scaleX(.6);filter:brightness(4)}12%{transform:scaleY(.004) scaleX(1);filter:brightness(3)}26%{transform:scaleY(1) scaleX(1);filter:brightness(.3)}38%{filter:brightness(1.7)}52%{filter:brightness(.6)}68%{filter:brightness(1.3)}84%{filter:brightness(.9)}to{transform:none;filter:brightness(1)}}@keyframes ui-crtoff{0%{transform:none;filter:brightness(1)}14%{filter:brightness(2.4)}46%{transform:scaleY(.006) scaleX(1);filter:brightness(3.5)}78%{transform:scaleY(.006) scaleX(.015);filter:brightness(5)}to{transform:scaleY(.004) scaleX(0);filter:brightness(0);opacity:0}}@keyframes ui-gin{0%{opacity:0;transform:translate(-10px);clip-path:inset(45% 0 40% 0)}12%{opacity:1;transform:translate(7px);clip-path:inset(0 0 65% 0)}22%{opacity:.1}34%{opacity:1;transform:translate(-4px) skew(-6deg);clip-path:inset(30% 0 10% 0)}46%{opacity:.35;transform:translate(3px)}60%{opacity:1;transform:translate(-1px);clip-path:inset(0 0 25% 0)}74%{opacity:.6;clip-path:inset(0)}to{opacity:1;transform:none;clip-path:none}}@media(prefers-reduced-motion:reduce){.ui-err,.ui-info.bad,.ui-gin{animation:none}}:root{--bg: #030806;--green: #1aff80;--green-dim: #0d6b3a;--amber: #ffb43a;--red: #ff4a3a;--font: "Share Tech Mono", monospace;--fs-l: 24px;--fs-m: 18px;--fs-s: 15px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--green);font-family:var(--font);font-size:var(--fs-m);overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#game{position:fixed;inset:0}.menu{position:absolute;z-index:35;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:6px}.menu-toggle{min-height:44px}@media(hover:none){.menu-toggle .ui-key{display:none}}.menu-items{display:none;flex-direction:column;align-items:stretch;gap:6px;width:min(300px,calc(100vw - 16px));max-height:calc(100vh - 80px);overflow-y:auto;padding:12px}.menu.open .menu-items{display:flex}.menu-title{font-size:var(--fs-s);margin-bottom:2px}.menu-items .ui-btn{min-height:44px}.btn{font-family:var(--font);font-size:var(--fs-s);color:var(--green);border:3px solid var(--p45);background:var(--panel-bg);padding:6px 12px;letter-spacing:var(--ls-label);cursor:pointer;text-decoration:none;text-align:center;text-shadow:0 0 var(--glow) var(--p65)}.btn:active{background:var(--p16)}.chip{position:absolute;left:max(8px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));max-width:calc(100% - 16px);padding:6px 10px;font-size:var(--fs-s);letter-spacing:.08em;text-shadow:0 0 var(--glow) var(--p65)}.chip:empty{display:none}#crt{position:fixed;inset:0;pointer-events:none;z-index:3;background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.55) 100%)}#game.greyscale{filter:grayscale(1)}.psx-canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;z-index:1}.psx-canvas[hidden]{display:none}.psx-on>canvas:not(.psx-canvas){opacity:0}.chip.toast{bottom:auto;top:64px}.share-box{position:fixed;inset:64px 16px 16px;z-index:30;display:flex;flex-direction:column;gap:8px;background:var(--bg);border:3px solid var(--green);padding:8px;pointer-events:auto}.share-box textarea{flex:1;background:var(--bg);color:var(--green);border:0;font-family:var(--font);font-size:var(--fs-s)}.g{text-shadow:0 0 var(--glow) var(--p65)}.pn{position:relative;box-sizing:border-box;border:1px solid var(--p28);background:var(--panel-bg)}.pn:before,.pn:after{content:"";position:absolute;width:8px;height:8px;border:0 solid var(--p);pointer-events:none}.pn:before{left:-1px;top:-1px;border-width:2px 0 0 2px}.pn:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}.status-hud{position:absolute;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));display:flex;flex-direction:column;gap:6px;pointer-events:none;color:var(--p);font-family:var(--font)}.status-hud .sh-row{display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 150px)}.status-hud .ui-panel{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;min-height:36px}.sh-stat{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-s);letter-spacing:.1em}.sh-stat b{font-weight:400}.sh-stat .ui-ico{width:18px;height:18px}.sh-shield{display:inline-flex;flex-direction:column;gap:3px}.sh-shield .pips{display:inline-flex;gap:3px}.sh-shield .pips i{width:10px;height:10px;border-radius:50%;border:1px solid var(--p55);box-sizing:border-box}.sh-shield .pips i.on{background:var(--p);box-shadow:0 0 calc(5px * var(--bloom, 1)) var(--p)}.sh-shield .charge{height:2px;background:var(--p16)}.sh-shield .charge i{display:block;height:100%;background:var(--p)}.sh-crew{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;pointer-events:auto}.sh-face{position:relative;display:flex;flex-direction:column;align-items:stretch;width:64px;padding:0;overflow:hidden;box-sizing:border-box;border:3px solid var(--p40);background:var(--panel-bg);color:var(--p);font-family:var(--font);cursor:pointer;border-radius:0;-webkit-tap-highlight-color:transparent}.sh-face.captain{width:78px}.sh-face.on{border-color:var(--p);box-shadow:0 0 calc(12px * var(--bloom, 1)) var(--p45)}.sh-face .face{width:100%;aspect-ratio:1;display:block;object-fit:cover;background:radial-gradient(circle at 50% 40%,#12301f,#040b07)}.sh-face .nm{font-size:var(--fs-s);letter-spacing:.04em;text-align:center;padding:1px 2px;min-width:0;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 0 var(--glow) var(--p65)}.sh-face .hp{height:4px}.sh-face.ko .face{filter:grayscale(1) brightness(.45)}.sh-face .ko-tag{position:absolute;left:0;right:0;top:30%;text-align:center;font-size:var(--fs-s);color:var(--p);text-shadow:0 0 4px #000,0 0 2px #000;pointer-events:none}@media(max-width:600px){.sh-face{width:52px}.sh-face.captain{width:60px}.sh-face .nm{display:none}}.sh-face .badge{position:absolute;right:3px;top:3px;width:10px;height:10px;border:1px solid #000}.boot-screen{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 16px 24px;box-sizing:border-box;overflow-y:auto;background:radial-gradient(ellipse at center,#07160e,#020805 70%,#010302);color:var(--green);font-family:var(--font)}.boot-screen.hidden{display:none}.boot-power{width:240px;height:56px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;border:3px solid color-mix(in srgb,var(--green) 60%,transparent);background:transparent;color:var(--green);font-family:var(--font);font-size:var(--fs-m);letter-spacing:.18em;cursor:pointer;box-shadow:0 0 calc(14px * var(--bloom, 1)) color-mix(in srgb,var(--green) 25%,transparent)}.boot-cap{font-size:var(--fs-s);letter-spacing:.3em;opacity:.5;margin-top:8px}.boot-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.boot-tog{min-height:48px;padding:0 18px;box-sizing:border-box;border:3px solid color-mix(in srgb,var(--green) 35%,transparent);background:transparent;color:color-mix(in srgb,var(--green) 70%,transparent);font-family:var(--font);font-size:var(--fs-s);letter-spacing:.15em;cursor:pointer}.boot-tog.on{border-color:var(--green);color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent);box-shadow:0 0 calc(12px * var(--bloom, 1)) color-mix(in srgb,var(--green) 35%,transparent);text-shadow:0 0 calc(6px * var(--bloom, 1)) color-mix(in srgb,var(--green) 65%,transparent)}.boot-tog.dim{opacity:.75}.boot-bloom{display:flex;align-items:center;gap:14px;font-size:var(--fs-s);letter-spacing:.15em;width:min(460px,100%)}.boot-bloom input{flex:1;accent-color:var(--green);min-width:80px}.boot-bloom b{font-weight:400;min-width:64px;text-align:right}.boot-extra{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(1180px,100%)}.boot-extra:empty{display:none}.status-hud.with-foes .sh-crew{max-width:calc(100% - 80px)}.sh-foes{position:absolute;top:calc(max(8px,env(safe-area-inset-top)) + 56px);right:max(8px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:6px}.sh-foes:empty{display:none}.sh-foes-hd{--p: var(--amber);color:var(--p);text-shadow:0 0 4px #000}.sh-face.amber .face{background:radial-gradient(circle at 50% 40%,#3a2a0c,#0b0703)}.sh-more{--p: var(--amber);color:var(--p)}.title-screen{position:absolute;inset:0;z-index:10;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:18px;padding:calc(max(16px,env(safe-area-inset-top)) + 8px) 16px calc(max(16px,env(safe-area-inset-bottom)) + 8px);background:radial-gradient(ellipse at 50% 30%,transparent 30%,rgba(3,8,6,.55) 100%);pointer-events:auto}.ts-logo{position:relative;text-align:center;margin-top:2vh}.ts-menu .ts-btn{background:#030806e6}.ts-atom{position:absolute;left:50%;top:46%;width:min(92vw,520px);height:auto;transform:translate(-50%,-50%) rotate(-12deg);opacity:.55;z-index:-1}.ts-atom g{stroke:#e9d8a6;filter:drop-shadow(0 0 6px rgba(233,216,166,.5))}.ts-atom .ts-core{fill:#6cff6a;filter:drop-shadow(0 0 10px #6cff6a);animation:ts-pulse 1.7s ease-in-out infinite}@keyframes ts-pulse{50%{opacity:.55}}.ts-logo h1{margin:0;font-family:Bungee,Share Tech Mono,Impact,sans-serif;font-weight:400;line-height:.92;display:flex;flex-direction:column;align-items:center}.ts-logo h1 span{background:linear-gradient(180deg,#fffbe9,#f3d27a 38%,#c56a2b 52%,#f6e3a6 64%,#9a4b1e);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(3px 3px 0 #2a1408) drop-shadow(0 0 14px rgba(255,190,90,.35))}.ts-logo .ts-w0{font-size:clamp(30px,10vw,64px);letter-spacing:.18em;transform:skew(-8deg)}.ts-logo .ts-w1{font-size:clamp(44px,15vw,104px);letter-spacing:.04em;transform:skew(-8deg)}.ts-tag{margin:10px 0 0;font-family:var(--font);font-size:15px;letter-spacing:3px;color:#e9d8a6;text-shadow:0 0 6px #000,0 0 2px #000}.ts-menu,.ts-panel{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:10px;width:min(100%,380px)}.ts-menu[hidden],.ts-panel[hidden]{display:none}.ts-panel{padding:16px;max-height:calc(100vh - 32px);overflow-y:auto}.ts-list{display:flex;flex-direction:column;gap:8px}.ts-scenes{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}.ts-menu .ui-btn{background:#020805e6}.ts-menu .ui-btn.primary{background:var(--p)}.ui-btn.steam{--p: #e9d8a6}.ts-note{margin:0;width:min(100%,380px)}.ts-note[hidden]{display:none}@media(hover:none){.title-screen .ui-key{display:none}}@media(min-aspect-ratio:4/3){.ts-menu{flex-direction:row;flex-wrap:wrap;justify-content:center;width:min(100%,1000px)}.ts-menu .ui-btn{flex:1 1 170px}}.dlg{position:fixed;inset:0;z-index:40;pointer-events:auto;display:flex;align-items:flex-end;justify-content:center;padding:16px;box-sizing:border-box;animation:il-in .35s ease-out;background:linear-gradient(to bottom,#01040333,#01040373 40%,#010403d9)}.dlg.closing{animation:il-out .26s ease-in forwards}@keyframes il-in{0%{opacity:0}}@keyframes il-out{to{opacity:0;transform:scaleY(.02)}}.dlg-col{display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:min(100%,680px);max-height:80%}.dlg-panel{width:100%;max-height:100%;overflow-y:auto;padding:16px 16px 14px}.dlg-skip{min-height:44px;flex:none}.dlg-who{display:flex;align-items:flex-start;gap:14px}.dlg-name{flex:1;min-width:0;padding-top:4px}@media(max-width:600px){.dlg-face{width:64px!important;height:64px!important}.dlg-who{gap:10px}.dlg-panel{padding:12px!important}}.dlg~.fight-hud{display:none}.dlg-title{margin:2px 0 0}.dlg-dot{display:inline-block;width:9px;height:9px;margin-right:8px;background:var(--amber);border-radius:50%;animation:ts-pulse 1s steps(2) infinite}.dlg-face{flex:0 0 auto;width:88px;height:88px;border:1px solid var(--p40);overflow:hidden;background:#06140d;position:relative}.dlg-face img{width:100%;height:100%;object-fit:cover;display:block}.dlg-face.silhouette{background:radial-gradient(circle at 50% 40%,#1aff808c,#1aff801f 55%,#030806 80%)}.dlg-face.silhouette img{filter:brightness(0) drop-shadow(0 0 3px rgba(26,255,128,.8))}.dlg-face:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.25) 0 2px,transparent 2px 4px);pointer-events:none}.dlg-line{margin:14px 0 12px;min-height:2.7em}.dlg-line.typing:after{content:"_";animation:ts-pulse .6s steps(2) infinite}.dlg-options{list-style:none;margin:0;padding:10px 0 0;border-top:1px solid var(--p30);display:flex;flex-direction:column;gap:8px;opacity:0;transition:opacity .25s}.dlg-options.shown{opacity:1}.dlg-opt{padding:9px 12px;letter-spacing:var(--ls-text);text-transform:none;line-height:1.3;gap:8px;align-items:baseline}.dlg-opt .n{opacity:.65}.fight-hud{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:8px;width:min(calc(100% - 32px),560px);pointer-events:none;font-family:var(--font)}.fh-hint{margin:0;padding:6px 12px;font-size:var(--fs-s);letter-spacing:.1em;text-align:center;color:var(--p);text-shadow:0 0 var(--glow) var(--p65)}.fh-hint.red{animation:ts-pulse .5s steps(2) infinite}.fh-hint[hidden],.fh-pause[hidden],.fh-map[hidden],.pause-frame[hidden]{display:none}.fh-pause,.fh-map{pointer-events:auto;min-width:240px}@media(hover:none){.fight-hud .ui-key{display:none}}.fh-vehicles{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.fh-vehicles:empty{display:none}.fh-vehicles .ui-btn{pointer-events:auto}#game.paused canvas{filter:saturate(.25) sepia(.35) hue-rotate(60deg) brightness(.9)}.pause-frame{position:fixed;inset:0;z-index:25;pointer-events:none;border:4px solid var(--amber);box-shadow:inset 0 0 40px color-mix(in srgb,var(--amber) 35%,transparent)}.sys-panel{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:28;display:flex;align-items:flex-end;gap:6px;padding:8px 10px;pointer-events:auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.sp-col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:38px;padding:4px 3px;background:none;border:3px solid var(--p25);color:inherit;font:inherit;cursor:pointer;border-radius:0}@media(hover:hover){.sp-sys:not(.sub):hover{border-color:var(--p);box-shadow:0 0 calc(10px * var(--bloom, 1)) var(--p30)}}.sp-sys:not(.sub):active{background:var(--p16)}.sp-sys.sub{cursor:default;border-color:transparent;opacity:.75}.sp-reactor{cursor:default;border-color:transparent}.sp-bars{display:flex;flex-direction:column-reverse;gap:2px}.sp-bars i{display:block;width:22px;height:7px;border:1px solid var(--p30);box-sizing:border-box}.sp-bars i.on{background:var(--p);border-color:var(--p);box-shadow:0 0 calc(5px * var(--bloom, 1)) var(--p55)}.sp-bars i.dmg{background:var(--red);border-color:var(--red)}.sp-reactor .sp-bars{flex-wrap:wrap;height:68px;width:22px;align-content:flex-start}.sp-reactor .sp-bars i{width:10px;height:5px}.sp-num{font-weight:400;font-size:var(--fs-m);text-shadow:0 0 var(--glow) var(--p65)}.sp-lbl{display:block;line-height:0;color:var(--p)}.sp-ico{width:24px;height:24px;filter:drop-shadow(0 0 calc(3px * var(--bloom, 1)) var(--p55))}.sp-col,.sp-gun{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.sp-sys.broken{border-color:color-mix(in srgb,var(--red) 55%,transparent)}.sp-sys.broken .sp-lbl{color:var(--red)}.sp-sys.sub .sp-lbl{color:var(--p65)}.sp-guns{display:flex;flex-direction:column;gap:6px;margin-left:6px}.sp-gun{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-width:176px;min-height:44px;padding:4px 8px;font:inherit;font-size:var(--fs-s);letter-spacing:.08em;color:var(--p55);background:var(--panel-bg);border:3px solid var(--p40);cursor:pointer;border-radius:0;touch-action:none}.sp-gun.on{color:var(--p);border-color:var(--p);text-shadow:0 0 var(--glow) var(--p65)}.sp-gun.ready{--p: var(--amber)}.sp-gun.aim{--p: var(--amber);color:var(--dark);background:var(--p);border-color:var(--p);text-shadow:none;animation:sp-aim .6s steps(2) infinite}@keyframes sp-aim{50%{background:#ffd890}}.sp-charge{position:relative;height:8px;min-width:50px;background:var(--p16)}.sp-charge i{position:absolute;left:0;top:0;bottom:0;width:0;background:currentColor}.sp-gstate{min-width:3.4em;text-align:right}@media(max-width:759px){.sys-panel{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));gap:2px;padding:4px 6px;overflow-x:auto;align-items:center}.sp-col{min-width:30px;padding:2px 1px;gap:2px}.sp-bars i{width:18px;height:5px}.sp-reactor .sp-bars{display:none}.sp-guns{flex-direction:row;margin-left:auto;gap:4px}.sp-gun{min-width:0;width:58px;display:flex;flex-direction:column;align-items:stretch;gap:3px;min-height:44px;padding:3px 5px}.sp-gun .sp-charge{min-width:0}.sp-gun .sp-gstate{display:none}body.has-sys .fight-hud{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 76px)}}.foe-status{position:fixed;top:calc(max(8px,env(safe-area-inset-top)) + 56px);right:max(8px,env(safe-area-inset-right));z-index:27;display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:6px 10px;pointer-events:none}.foe-status[hidden]{display:none}.fs-hull,.fs-shield{display:flex;gap:2px}.fs-shield b{width:12px;height:12px;border-radius:50%;border:2px solid var(--p55);box-sizing:border-box}.fs-shield b.on{background:var(--p);box-shadow:0 0 calc(5px * var(--bloom, 1)) var(--p)}body:has(.sh-foes:not(:empty)) .foe-status{top:auto;bottom:200px}.smap{position:fixed;inset:0;z-index:42;display:flex;flex-direction:column;gap:8px;padding:12px 16px;box-sizing:border-box;background:var(--bg);font-family:var(--font);color:var(--p);pointer-events:auto;animation:ui-crton .5s linear both}.smap-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-right:0}.smap-hd p{margin:4px 0 0}.smap .red{color:var(--red)}.smap-close,.smap-jump{white-space:nowrap;flex-shrink:0}.smap-jump{min-width:200px}.smap-area{flex:1;min-height:0;border:1px solid var(--p28);background:repeating-linear-gradient(0deg,var(--p8) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,var(--p8) 0 1px,transparent 1px 40px)}.smap-svg{width:100%;height:100%;display:block}.smap-ft{display:flex;align-items:center;justify-content:space-between;gap:12px}.smap-info{flex:1;min-height:48px;font-size:var(--fs-s);line-height:1.4}.smap-info b{font-weight:400;color:var(--amber);margin-right:6px}@media(hover:none){.smap .ui-key{display:none}}.smap-svg .wall{fill:#ff4a3a2e;stroke:var(--red);stroke-width:3}.smap-svg .wall-next{fill:none;stroke:var(--red);stroke-width:2;stroke-dasharray:10 10;opacity:.6}.smap-svg .wall-lbl{fill:var(--red);font-size:22px;letter-spacing:6px;text-anchor:middle;opacity:.8}.smap-svg .links line{stroke:var(--green-dim);stroke-width:3}.smap-svg .links line.hot{stroke:var(--green);stroke-dasharray:10 8}.smap-svg .wp{cursor:pointer}.smap-svg .wp .hit{fill:transparent}.smap-svg .wp .ring{fill:#06140d;stroke:var(--green-dim);stroke-width:3}.smap-svg .wp text{fill:var(--green-dim);font-size:24px;text-anchor:middle;font-family:var(--font)}.smap-svg .wp .lbl{fill:var(--green);font-size:20px;letter-spacing:3px}.smap-svg .wp.reach .ring{stroke:var(--green);stroke-width:4}.smap-svg .wp.reach text{fill:var(--green)}.smap-svg .wp.k-fight .ring{stroke:var(--amber)}.smap-svg .wp.k-fight text{fill:var(--amber)}.smap-svg .wp.k-event text{fill:var(--amber)}.smap-svg .wp.k-ruin .ring{stroke:var(--amber);stroke-width:4}.smap-svg .wp .tower{fill:var(--amber);fill-rule:evenodd}.smap-svg .wp.k-ruin .lbl{fill:var(--amber)}.smap-svg .wp.k-ruin.visited .tower{opacity:.4}.smap-svg .wp.k-exit .ring{stroke:var(--green);stroke-width:5;fill:#1aff8026}.smap-svg .wp.visited .ring{fill:#12241a}.smap-svg .wp.caught .ring{fill:#ff4a3a59;stroke:var(--red)}.smap-svg .wp.sel .ring{stroke:var(--amber);stroke-width:6}.smap-svg .wp .pulse{fill:none;stroke:var(--green);stroke-width:2;animation:smap-pulse 1.4s ease-out infinite;transform-origin:center}.smap-svg .wp .ship{fill:var(--green)}@keyframes smap-pulse{0%{opacity:1;r:20}to{opacity:0;r:44}}@media(max-width:759px){.smap{padding:10px}.smap-hd h2{font-size:var(--fs-m)}.smap-ft{flex-direction:column;align-items:stretch}.smap-jump{width:100%}}.jump-flash{position:fixed;inset:0;z-index:41;pointer-events:none;background:radial-gradient(circle,#f4ffe8,#8aff3c 35%,#03080600 75%);animation:jump-flash .9s ease-out forwards}@keyframes jump-flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}.travel-toast{position:fixed;left:50%;top:30%;transform:translate(-50%);z-index:39;padding:12px 20px;font-size:var(--fs-m);letter-spacing:var(--ls-label);pointer-events:none;animation:toast 2.8s ease forwards;text-align:center}@keyframes toast{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}.dlg-face:empty{display:none}body.has-sys .chip{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 160px)}@media(max-width:759px){body.has-sys .chip{bottom:auto;top:calc(max(8px,env(safe-area-inset-top)) + 196px);max-width:calc(100% - 140px)}}.zoo-bar{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:20;display:grid;grid-template-columns:repeat(6,auto);gap:6px;width:max-content;max-width:calc(100% - 32px)}@media(max-width:560px){.zoo-bar{grid-template-columns:repeat(3,1fr);width:calc(100% - 32px)}}.game-popup{position:fixed;inset:0;z-index:44;display:flex;align-items:center;justify-content:center;background:#01060480;pointer-events:auto;font-family:var(--font);animation:il-in .25s ease-out}.game-popup section{width:min(calc(100% - 32px),460px);text-align:center;display:flex;flex-direction:column;gap:8px}.game-popup p{margin:0;font-size:var(--fs-m);letter-spacing:var(--ls-text)}.game-popup p+p{font-size:var(--fs-s);opacity:.8}.gp-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}.gp-btns .ui-btn{flex:1 1 140px}.go{position:fixed;inset:0;z-index:60;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;background:radial-gradient(ellipse at 50% 30%,#2804028c,#010302e0 75%);font-family:var(--font);padding:max(16px,env(safe-area-inset-top)) 12px max(24px,env(safe-area-inset-bottom));box-sizing:border-box}.go-col{width:min(560px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px;padding-bottom:8px}.go-col section[hidden],.go-actions[hidden],.go-skip[hidden]{display:none}.go-death{display:flex;flex-direction:column;gap:10px;text-align:center}.go-death p{margin:0}.go-title{animation:ui-glitch .3s steps(2) 4}.go-cause{min-height:1.4em}.go-after{min-height:1.2em;opacity:.85}.go-typing:after{content:"_";animation:ts-pulse .6s steps(2) infinite}.go-score{display:flex;flex-direction:column;gap:12px}.go-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.go-line{display:grid;grid-template-columns:1fr auto minmax(64px,auto);gap:4px 12px;align-items:baseline;padding:4px 0;border-bottom:1px dashed var(--p25)}.go-line .go-c{opacity:.75;white-space:nowrap}.go-line .go-p{text-align:right}.go-mult{border-bottom-style:solid}.go-foot{position:sticky;bottom:-1px;z-index:1;display:flex;flex-direction:column;gap:8px;margin:0 -20px -18px;padding:10px 20px 14px;background:#020805f7;border-top:1px solid var(--p28)}.go-total{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:4px}.go-num{display:inline-block;transform-origin:right center}.go-final .go-num{animation:go-slam .45s cubic-bezier(.2,1.6,.4,1);text-shadow:0 0 calc(18px * var(--bloom, 1)) var(--p),0 0 calc(40px * var(--bloom, 1)) var(--p45)}.go-final .go-total-label{color:var(--p)}.go-meter{height:6px}.go-meter>i{transition:width .08s linear}.go-pulse{animation:go-pulse .38s ease-out}.go-kick{animation:ui-shake .4s ease-in-out}.go-pop{position:absolute;right:0;top:-6px;pointer-events:none;animation:go-pop .9s ease-out forwards}.go-pop.big{color:var(--p)}.go-flash{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:0}.go-flash.on{animation:go-flash .6s ease-out;background:var(--p25)}.go-flash.red{animation:go-flash .9s ease-out;background:#ff4a3a73}.go-board{display:flex;flex-direction:column;gap:10px}.go-board.go-best{--p: var(--amber)}.go-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.go-row{display:grid;grid-template-columns:32px 1fr auto auto;gap:10px;align-items:baseline;padding:4px 8px;font-size:var(--fs-m);letter-spacing:var(--ls-label);color:var(--p80)}.go-row .go-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.go-row b{font-weight:400;color:var(--p)}.go-row.me{background:var(--p);color:var(--dark);text-shadow:none}.go-row.me b,.go-row.me .go-diff{color:var(--dark)}.go-note{margin:0}.go-actions{display:flex;gap:12px}.go-actions .ui-btn{flex:1}.go-skip{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:3}@media(max-width:420px){.go-line{grid-template-columns:1fr minmax(56px,auto)}.go-line .go-c{grid-column:1;grid-row:2}.go-line .go-p{grid-row:1 / span 2;grid-column:2;align-self:center}.go-row .go-diff{display:none}.go-row{grid-template-columns:32px 1fr auto}}@keyframes go-pulse{0%{transform:scale(1.35);filter:brightness(2)}to{transform:none;filter:none}}@keyframes go-slam{0%{transform:scale(2.4);opacity:0;filter:brightness(3)}60%{transform:scale(.92);opacity:1}to{transform:none;filter:none}}@keyframes go-pop{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}to{opacity:0;transform:translateY(-26px)}}@keyframes go-flash{0%{opacity:1}to{opacity:0}}
