@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{font-family:Noto Sans KR,sans-serif;color:#e5e9e6;background:#0d2029;font-synthesis:none;font-weight:400;--gold:#d9b77a;--muted:#9caeb5;--line:rgba(198,218,222,.16);--panel:rgba(12,27,35,.87)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.48}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{border:0;background:none;transition:background .18s,color .18s,opacity .18s}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}button:hover{color:var(--gold)}#viewport,#viewport canvas{position:fixed;inset:0;width:100%;height:100%;display:block}#viewport canvas{touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,15,23,.65),transparent 26%,transparent 67%,rgba(5,18,25,.8)),linear-gradient(90deg,rgba(8,23,31,.24),transparent 38%)}#app{position:fixed;inset:0;pointer-events:none}#app button,#app input,#app aside,#app nav,#app a{pointer-events:auto}.masthead{height:100px;margin:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px}.brand-mark{font-family:Barlow Condensed,sans-serif;font-size:36px;letter-spacing:-5px;display:flex;align-items:center;color:var(--gold);position:relative;padding-right:8px}.brand-mark span{font:14px IBM Plex Mono;margin:0 4px 0 5px;align-self:flex-start;letter-spacing:0}.brand h1{font:600 25px Barlow Condensed,sans-serif;letter-spacing:5px;margin:0}.brand p{font:8px IBM Plex Mono,monospace;letter-spacing:2px;margin:5px 0 0;color:#a6b6bc}.session{display:flex;align-items:center;gap:11px;color:#bdcbd0;font-size:11px}.session i{width:1px;height:12px;background:var(--line);margin:0 7px}.mono{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.7px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#91bfa9;box-shadow:0 0 10px #94cbb655}.top-actions{display:flex;gap:10px}.icon-button{height:34px;width:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);font:500 15px IBM Plex Mono;border-radius:3px}.icon-button:hover{background:#bdcedb18}.vessel-title{position:absolute;left:44px;top:139px}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:2px;color:var(--gold);display:flex;align-items:center;gap:10px}.gold-line{width:24px;height:1px;background:var(--gold)}.vessel-title h2{font-size:clamp(27px,2.55vw,40px);font-weight:500;line-height:1.5;letter-spacing:-1.6px;margin:18px 0 10px;text-shadow:0 2px 30px #13232c88}.vessel-title h2 em{font-style:normal;color:#d3c3a3}.vessel-title p{font-size:10px;letter-spacing:.7px;color:#bec9cc;margin:0}.vessel-facts{display:flex;gap:26px;margin-top:23px}.vessel-facts>div{display:flex;flex-direction:column;gap:7px}.vessel-facts b{font:500 20px Barlow Condensed,sans-serif;letter-spacing:1px}.vessel-facts b span{font-size:10px;color:#abbac1}.vessel-facts>div>span{font-size:8px;color:#9fb0b7}.fire-control{position:absolute;right:36px;top:128px;width:286px;background:var(--panel);border:1px solid rgba(163,190,201,.23);border-top:2px solid var(--gold);padding:22px 22px 15px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 15px 45px #0002}.panel-title,.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-title .eyebrow{font-size:8px;letter-spacing:1.8px}.panel-number{font:9px IBM Plex Mono;color:#778e9a}.panel-heading{margin:11px 0 20px}.panel-heading h3{font-size:19px;letter-spacing:-.4px;font-weight:500;margin:0}.status-pill{font:8px IBM Plex Mono;letter-spacing:1px;color:#a4c7b2;border:1px solid #a4c7b23a;padding:5px 7px;background:#a4c7b20a}.status-pill.busy{color:var(--gold);border-color:#d9b77a44}.turret-picker{display:flex;border:1px solid var(--line);height:35px}.turret-picker button{flex:1;font:11px IBM Plex Mono;border-right:1px solid var(--line)}.turret-picker button:first-child{flex:2.2;font-family:inherit;font-size:10px}.turret-picker button:last-child{border:0}.turret-picker small{font-size:8px;margin-left:3px;opacity:.6}.turret-picker button.active{color:var(--gold);background:#d9b77a16}.gun-status{display:flex;gap:8px;margin:12px 0 21px}.gun-bank{display:flex;flex:1;gap:3px;position:relative}.gun-cell{height:3px;flex:1;background:#9fbdad;position:relative;overflow:hidden}.gun-cell.charging{background:#31444e}.gun-cell.charging:after{content:"";height:100%;background:var(--gold);width:var(--progress);display:block}.gun-cell.blocked{background:#7d5b4d}.gun-bank.dim{opacity:.23}.control-field{margin-top:17px}.field-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.field-heading label{font-size:10px;color:#c0cbd0}.field-heading output{font:500 18px IBM Plex Mono;letter-spacing:-.7px;color:#e1e7e7}.field-heading output>span:last-child{font-size:11px;opacity:.6;margin-left:3px}.field-heading output#elevation-value>span,.field-heading output#bearing-value>span{font-size:12px}.field-heading output small{font-size:10px;color:var(--muted)}input[type=range]{appearance:none;width:100%;height:3px;margin:5px 0 7px;display:block;outline:none;border-radius:0;background:linear-gradient(90deg,#bda275 var(--fill,50%),#41505a var(--fill,50%));cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:9px;height:11px;border:1px solid #dac79f;background:#dfc393;border-radius:0;box-shadow:0 0 0 3px #0f202a}input[type=range]::-moz-range-thumb{width:8px;height:11px;border:1px solid #dac79f;background:#dfc393;border-radius:0}.range-labels{display:flex;justify-content:space-between;font:8px IBM Plex Mono;color:#7e929c;margin-top:8px}.solution{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:28px;padding:14px 0;margin:20px 0 16px}.solution>div{display:flex;flex-direction:column;gap:8px}.solution span{font-size:9px;color:#8ea4af}.solution b{font:400 21px Barlow Condensed,sans-serif;letter-spacing:.8px}.solution small{font:9px IBM Plex Mono;color:#9fb0b5}.target-heading{margin-bottom:6px}.target-heading output{font-size:12px}.target-heading #target-value{font-size:12px;opacity:1}.outline-button{display:flex;align-items:center;gap:7px;width:100%;border:1px solid #778c983c;padding:10px;margin:15px 0 17px;font-size:9px;color:#b2c3ca}.outline-button svg{width:14px;height:14px}.outline-button>span{margin-left:auto;color:var(--gold)}.outline-button:hover{border-color:var(--gold);background:#d9b77a0d}.fire-button{display:flex;align-items:center;justify-content:space-between;width:100%;height:47px;background:#d8b479;color:#17262b;padding:0 14px;font-weight:700;font-size:13px;box-shadow:0 0 24px #d9b77a0b}.fire-button:hover:not(:disabled){background:#ecd09c;color:#17262b;box-shadow:0 0 30px #d9b77a33}.fire-button:active:not(:disabled){transform:translateY(1px)}.fire-button kbd{font:8px IBM Plex Mono;border:1px solid #17262b40;padding:3px 5px;color:#37433f}.fire-cross{font-size:24px;font-weight:400;line-height:1}.fire-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:8px;color:#8ca0a9;margin:12px 0 0}.fire-note .live-dot{width:3px;height:3px}.scene-caption{position:absolute;left:40%;top:115px;display:flex;align-items:center;gap:9px;font:8px IBM Plex Mono,sans-serif;letter-spacing:.6px;color:#b5c6ce}.scene-caption .corner{width:5px;height:5px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}.caption-rule{height:1px;width:25px;background:#9db4be55}#scene-state{color:#b6c5c9;font-family:Noto Sans KR;font-size:8px}.telemetry{position:absolute;left:44px;bottom:141px;width:219px}.telemetry .eyebrow{font-size:8px;letter-spacing:1.8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:10px}.telemetry-row{display:flex;align-items:center;justify-content:space-between;margin:10px 0;font-size:9px}.telemetry-row>span{color:#9fb1ba}.telemetry-row b{font:9px IBM Plex Mono;color:#c9d3d4}.telemetry-row b span{margin-left:5px;color:#9db2b6;font-size:8px}.shot-line{border-top:1px solid var(--line);padding-top:11px;display:flex;align-items:center;gap:8px;font-size:8px;color:#b5c6ca;margin-top:14px}.tiny-cross{color:var(--gold);font:14px IBM Plex Mono}.command-deck{position:absolute;bottom:48px;left:42px;right:42px;height:66px;background:#0a1921d4;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:0 18px}.camera-controls{display:flex;align-items:center;gap:17px}.footer-label{font-size:9px;color:#8299a5}.camera-buttons{display:flex;gap:7px}.camera-buttons button{font-size:10px;padding:10px 9px;color:#a6b9c3;display:flex;gap:7px;align-items:center}.camera-buttons button.active{background:#d9b77a12;color:var(--gold)}kbd{font:8px IBM Plex Mono;padding:2px 4px;border:1px solid #8097a137;color:#a7b5bc}.camera-buttons button.active kbd{color:var(--gold);border-color:#d9b77a40}.playback{display:flex;align-items:center;gap:9px}.playback .icon-button{width:29px;height:29px;border:none}.playback svg{height:15px;width:15px}.speed-button{font:11px IBM Plex Mono;min-width:25px;color:#d3dcdc}.divider{height:20px;width:1px;background:var(--line);margin:0 6px}.setting-button{font-size:9px;color:#96abb5;padding:7px 9px;border:1px solid var(--line)}.setting-button.active{color:var(--gold);border-color:#d9b77a40;background:#d9b77a0a}.bottom-meta{position:absolute;bottom:21px;left:44px;right:44px;display:flex;justify-content:space-between;color:#758e9c;font-size:8px}.bottom-meta b{font-weight:400;color:#a6b7be;margin-left:4px}.bottom-meta i{font-style:normal;margin:0 9px;color:#687e89}.bottom-meta kbd{font-size:7px}.bottom-meta .legal a{color:#a6b7be;text-decoration:none}.bottom-meta .legal a:hover{color:#e3ceaa;text-decoration:underline}.gold{color:var(--gold);font-size:5px;margin-left:8px}#shot-toast{position:absolute;bottom:137px;left:50%;transform:translate(-50%) translateY(10px);font-size:11px;letter-spacing:.8px;background:#122832d9;border:1px solid #d9b77a55;border-left:2px solid var(--gold);padding:13px 23px;opacity:0;transition:opacity .25s,transform .25s;white-space:nowrap;color:#dcc6a0}#shot-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}#target-label{position:absolute;display:none;align-items:center;flex-direction:column;gap:3px;transform:translate(-50%,-100%);font-size:8px;color:#d9b77a;letter-spacing:.5px;text-shadow:0 1px 5px #000}#target-label b{font-weight:400}#target-label>span:last-child{font:8px IBM Plex Mono}.target-bracket{width:19px;height:19px;border:1px solid #d9b77a88;transform:rotate(45deg);margin-bottom:6px}#loading{position:fixed;inset:0;background:#10212a;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s;pointer-events:none}#loading.done{opacity:0}.loader-mark{font:60px Barlow Condensed;color:var(--gold);letter-spacing:-7px}.loader-mark span{font:22px IBM Plex Mono;vertical-align:top;padding-left:12px}#loading p{font:22px Barlow Condensed;letter-spacing:6px}#loading small{font-size:10px;color:#9cb0bb}.load-track{width:170px;height:1px;background:#ffffff18;margin-top:25px;overflow:hidden}.load-track i{display:block;width:40%;height:100%;background:var(--gold);animation:loading 1.5s ease-in-out infinite}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(350%)}}dialog{color:#d5e0e3;border:1px solid #b8cbd33c;border-top:2px solid var(--gold);background:#10232df5;width:min(740px,90vw);max-height:87vh;padding:36px 38px;box-shadow:0 30px 120px #0008;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px)}dialog::backdrop{background:#020c14a6;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}dialog h2{font-size:25px;font-weight:500;letter-spacing:-1px;margin:18px 0}dialog p{font-size:11px;line-height:2;color:#a9bec7}dialog h3{font-size:12px;font-weight:500;color:var(--gold);margin-top:25px}.dialog-close{position:absolute;right:20px;top:16px;font:26px IBM Plex Mono;color:#9aadb7}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.guide-grid p kbd{line-height:2.4}.guide-sources{border-top:1px solid var(--line);padding-top:21px;margin-top:20px;display:flex;flex-direction:column;gap:9px;font-size:10px}.guide-sources span{font:8px IBM Plex Mono;color:var(--gold);letter-spacing:2px}.guide-sources a{color:#bccbd1;text-decoration:none}.guide-sources a:hover{color:var(--gold)}dialog .guide-footnote{font-size:9px;margin-bottom:0;color:#839ca9}#show-ui{position:absolute;right:22px;bottom:22px;background:#132731ad;border:1px solid var(--line);padding:10px 15px;font-size:10px}.ui-hidden .masthead,.ui-hidden .vessel-title,.ui-hidden .fire-control,.ui-hidden .command-deck,.ui-hidden .telemetry,.ui-hidden .scene-caption,.ui-hidden .bottom-meta,.ui-hidden #target-label{display:none!important}.fire-control{max-height:calc(100dvh - 254px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#778e9a var(--panel)}@media(min-width:1650px){.masthead{height:112px;margin:0 54px}.vessel-title{left:56px;top:155px}.fire-control{right:48px;top:148px;width:310px;padding:24px;max-height:calc(100dvh - 290px)}.control-field{margin-top:22px}.solution{margin-top:25px;padding:17px 0}.fire-button{height:52px}.scene-caption{top:128px}.telemetry{left:56px;bottom:158px}.command-deck{left:54px;right:54px;bottom:57px;height:73px}.bottom-meta{left:56px;right:56px;bottom:26px}.camera-buttons button{padding:12px 14px}}@media(max-height:820px)and (min-width:901px){.masthead{height:78px}.vessel-title{top:109px}.vessel-title h2{font-size:30px;margin-top:12px}.vessel-facts{margin-top:18px}.fire-control{top:96px;padding:17px 20px 12px;width:268px}.panel-heading{margin:8px 0 13px}.gun-status{margin-bottom:15px}.control-field{margin-top:13px}.solution{margin:14px 0 11px;padding:10px 0}.outline-button{margin:11px 0 12px;padding:8px}.fire-button{height:41px}.fire-note{margin-top:9px}.scene-caption{top:91px}.command-deck{height:57px;bottom:38px}.bottom-meta{bottom:14px}.telemetry{bottom:116px}.vessel-title p{font-size:9px}.vessel-facts b{font-size:18px}}@media(max-width:1100px){.session{display:none}.masthead{margin:0 25px}.vessel-title{left:27px}.fire-control{right:22px;width:250px;padding-left:17px;padding-right:17px}.telemetry{left:27px;width:190px}.command-deck{left:25px;right:25px;padding:0 10px}.footer-label{display:none}.camera-buttons{gap:2px}.camera-buttons button{font-size:9px;padding:9px 7px}.playback{gap:3px}.setting-button{font-size:8px;padding:7px}.bottom-meta{left:27px;right:27px}.bottom-meta>span:last-child{display:none}.scene-caption{left:39%}}@media(max-width:900px){.masthead{height:75px;margin:0 20px}.brand h1{font-size:22px}.brand p{font-size:7px}.brand-mark{font-size:30px}.vessel-title{top:97px;left:23px}.vessel-title h2{font-size:26px;line-height:1.4;margin-top:12px}.vessel-title p{font-size:9px}.vessel-facts{gap:20px;margin-top:17px}.vessel-facts b{font-size:18px}.vessel-facts>div>span{font-size:7px}.fire-control{top:94px;right:18px;width:233px;padding:15px}.panel-heading h3{font-size:17px}.panel-heading{margin-bottom:12px}.gun-status{margin-bottom:11px}.control-field{margin-top:12px}.field-heading output{font-size:16px}.solution{margin:14px 0 12px;padding:12px 0}.outline-button{margin:12px 0}.scene-caption{display:none}.telemetry{left:23px;bottom:145px;width:180px}.command-deck{height:auto;min-height:85px;bottom:35px;left:20px;right:20px;flex-wrap:wrap;gap:3px;padding:7px 10px;justify-content:center}.camera-buttons button{padding:8px 12px}.bottom-meta{bottom:12px;left:23px}.playback{justify-content:center;width:100%}.divider{margin:0 12px}.playback .icon-button{height:24px}#shot-toast{bottom:136px;font-size:9px;padding:10px;max-width:90vw;white-space:normal;text-align:center}}@media(max-width:600px){.masthead{margin:0 15px;height:66px}.brand{gap:9px}.brand h1{font-size:19px;letter-spacing:3px}.brand p{letter-spacing:1px;font-size:6px}.brand-mark{font-size:27px}.top-actions{gap:5px}.icon-button{width:29px;height:29px}.vessel-title{top:87px;left:18px}.vessel-title h2{font-size:23px;margin:10px 0 8px}.vessel-title .eyebrow{font-size:7px;letter-spacing:1px}.vessel-facts{display:none}.vessel-title p{font-size:8px}.fire-control{right:14px;top:auto;bottom:133px;width:198px;padding:12px;background:#10232de8}.panel-title,.panel-heading,.gun-status,.range-labels,.target-heading,#target-distance{display:none}.turret-picker{height:29px}.turret-picker button{font-size:10px}.turret-picker button:first-child{font-size:9px}.control-field{margin-top:10px}.field-heading{margin-bottom:5px}.field-heading label{font-size:9px}.field-heading output{font-size:14px}.solution{margin:12px 0 8px;padding:9px 0;gap:20px}.solution span{font-size:8px}.solution b{font-size:17px}.solution>div{gap:4px}.outline-button{font-size:8px;margin:8px 0;padding:7px}.fire-button{height:38px;font-size:11px;padding:0 10px}.fire-button kbd{font-size:7px}.fire-note{font-size:7px;margin-top:8px}.telemetry{left:18px;bottom:148px;width:140px}.telemetry .eyebrow{font-size:6px;letter-spacing:1px}.telemetry-row{font-size:8px}.telemetry-row b{font-size:7px}.telemetry-row b span{font-size:6px;margin-left:2px}.shot-line{font-size:7px;line-height:1.8}.command-deck{left:14px;right:14px;bottom:31px;padding:6px}.camera-buttons button{font-size:8px;padding:8px 6px;gap:4px}.camera-buttons kbd{font-size:7px;padding:1px 3px}.bottom-meta{font-size:7px;left:18px;bottom:10px}.bottom-meta i{margin:0 5px}.setting-button{font-size:8px}.playback .divider{margin:0 6px}#shot-toast{bottom:440px;width:90%;font-size:9px}.guide-grid{grid-template-columns:1fr;gap:0}dialog{padding:28px 24px}dialog h2{font-size:21px}dialog p{font-size:10px}}@media(max-height:820px)and (min-width:901px){.fire-control{max-height:calc(100dvh - 203px);padding-top:13px;padding-bottom:10px}.fire-control .control-field{margin-top:8px}.fire-control .field-heading{margin-bottom:6px}.fire-control .range-labels{margin-top:5px}.fire-control .gun-status{margin:10px 0}.fire-control .panel-heading{margin:8px 0 11px}.fire-control .solution{margin:10px 0 8px;padding:8px 0}.fire-control .outline-button{margin:9px 0 10px}.fire-control input[type=range]{margin:4px 0 5px}}@media(max-width:900px){.fire-control{max-height:calc(100dvh - 226px)}}@media(max-width:600px){.fire-control{max-height:calc(100dvh - 212px)}}.fire-button:disabled{background:#3c4f59;color:#d5e0e3;opacity:1;box-shadow:none}.fire-button:disabled kbd{color:inherit;border-color:#8097a166}#app:not(.compact-ui) .fire-control{display:flex;flex-direction:column;overflow:hidden}#app:not(.compact-ui) #control-settings{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#778e9a var(--panel)}#app:not(.compact-ui) .fire-actions{flex:none}#app .brand{pointer-events:auto;min-height:44px;color:inherit;text-decoration:none;touch-action:manipulation}.brand p{display:flex;align-items:center;gap:6px;font:500 11px/16px IBM Plex Mono,monospace;letter-spacing:1.2px;margin-top:4px;color:var(--gold)}.brand:hover p{text-decoration:underline;text-underline-offset:3px;color:#f0d8ad}.brand:focus-visible{outline-offset:3px;border-radius:3px}.mobile-only{display:none}.outline-button>.desktop-only{margin-left:0;color:inherit}[hidden]{display:none!important}.compact-ui{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--edge-left:max(12px,env(safe-area-inset-left,0px));--edge-right:max(12px,env(safe-area-inset-right,0px))}.compact-ui .mobile-only{display:block}.compact-ui .desktop-only,.compact-ui kbd,.compact-ui .vessel-title,.compact-ui .session,.compact-ui .bottom-meta,.compact-ui .scene-caption{display:none}.compact-ui .masthead{height:calc(56px + var(--safe-top));padding-top:var(--safe-top);margin:0 var(--edge-right) 0 var(--edge-left);gap:8px}.compact-ui .brand-mark{display:none}.compact-ui .brand h1{font-size:21px;line-height:23px;letter-spacing:3px;white-space:nowrap}.compact-ui .brand p{font-size:10px;line-height:14px;letter-spacing:1px;margin-top:2px}.compact-ui .top-actions{gap:4px}.compact-ui button{touch-action:manipulation;min-height:44px}.compact-ui .icon-button{width:44px;height:44px;flex-shrink:0}.compact-ui #hide-ui{position:absolute;right:var(--edge-right);top:calc(64px + var(--safe-top));padding:0 12px;font-size:11px;background:#10232de8;border:1px solid var(--line)}.compact-ui .mobile-hint{position:absolute;left:var(--edge-left);top:calc(74px + var(--safe-top));font-size:10px;color:#bdcbd0;max-width:calc(100% - 120px)}.compact-ui.ui-hidden #hide-ui,.compact-ui.ui-hidden .mobile-hint{display:none}.compact-ui #show-ui{min-height:44px;font-size:12px;right:var(--edge-right);bottom:calc(12px + var(--safe-bottom))}.compact-ui .fire-control{display:flex;flex-direction:column;top:auto;bottom:calc(120px + var(--safe-bottom));left:var(--edge-left);right:var(--edge-right);width:auto;padding:0;max-height:calc(100dvh - 272px - var(--safe-top) - var(--safe-bottom));overflow:visible;background:#10232df5;border-radius:6px}.compact-ui #toggle-controls{display:flex;align-items:center;justify-content:space-between;flex:none;width:100%;padding:0 12px;font-size:13px;text-align:left;border-bottom:1px solid var(--line)}.compact-ui #controls-toggle-label{color:var(--gold);font-size:11px}.compact-ui #control-settings{min-height:0;max-height:320px;overflow:auto;overscroll-behavior:contain;padding:12px;scroll-padding:12px;scrollbar-width:thin}.compact-ui .panel-title,.compact-ui .panel-heading{display:none}.compact-ui .turret-picker{height:44px;min-height:44px}.compact-ui .turret-picker button{min-width:44px;font-size:13px}.compact-ui .turret-picker button:first-child{font-size:12px}.compact-ui .turret-picker small{font-size:10px}.compact-ui .gun-status{display:flex;margin:10px 0 14px}.compact-ui .control-field{margin-top:14px}.compact-ui .field-heading{display:flex;margin-bottom:0}.compact-ui .field-heading label{font-size:12px}.compact-ui .field-heading output{font-size:17px}.compact-ui .target-heading output,.compact-ui .target-heading #target-value{font-size:16px}.compact-ui input[type=range]{display:block;height:44px;min-height:44px;margin:0;background:transparent;border:0;touch-action:pan-y}.compact-ui #target-distance{display:block}.compact-ui input[type=range]::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,#bda275 var(--fill,50%),#41505a var(--fill,50%));border-radius:2px}.compact-ui input[type=range]::-webkit-slider-thumb{width:28px;height:28px;margin-top:-12px;border:2px solid #f0d8ad;border-radius:50%;box-shadow:0 1px 4px #0008}.compact-ui input[type=range]::-moz-range-track{height:4px;background:linear-gradient(90deg,#bda275 var(--fill,50%),#41505a var(--fill,50%));border-radius:2px}.compact-ui input[type=range]::-moz-range-thumb{width:26px;height:26px;border:2px solid #f0d8ad;border-radius:50%}.compact-ui input[type=range]:focus-visible{outline:2px solid var(--gold);outline-offset:0}.compact-ui .range-labels{display:flex;font-size:10px;margin-top:0;color:#a9bbc3}.compact-ui .solution{margin:14px 0;padding:12px 0;justify-content:space-between;gap:12px}.compact-ui .solution span{font-size:11px}.compact-ui .solution b{font-size:22px}.compact-ui .solution small{font-size:11px}.compact-ui #mobile-telemetry{margin-top:14px;border-top:1px solid var(--line)}.compact-ui #mobile-telemetry summary{min-height:44px;padding:12px 0;font-size:12px;cursor:pointer;touch-action:manipulation}.compact-ui .telemetry{position:static;width:auto;margin:0;padding:0 0 4px}.compact-ui .telemetry .eyebrow{display:none}.compact-ui .telemetry-row{font-size:11px;margin:12px 0;gap:8px}.compact-ui .telemetry-row b,.compact-ui .telemetry-row b span{font-size:11px}.compact-ui .shot-line{font-size:11px;line-height:1.6}.compact-ui .fire-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px;padding:10px 12px;flex:none;border-top:1px solid var(--line)}.compact-ui .fire-actions .outline-button{height:44px;margin:0;padding:0 6px;gap:4px;font-size:12px;justify-content:center;white-space:nowrap}.compact-ui .fire-actions .outline-button svg{flex-shrink:0}.compact-ui .outline-button>.mobile-only{margin:0;color:inherit}.compact-ui .aim-arrow{display:none}.compact-ui .fire-button{height:44px;padding:0 12px;font-size:13px;justify-content:center;gap:8px}.compact-ui .fire-note{grid-column:1/-1;font-size:10px;margin:0;min-height:16px;line-height:16px}.compact-ui .command-deck{left:var(--edge-left);right:var(--edge-right);bottom:calc(8px + var(--safe-bottom));height:104px;min-height:0;padding:5px;display:flex;flex-direction:column;gap:4px;flex-wrap:nowrap;border-radius:6px;background:#0a1921f2}.compact-ui .camera-controls{width:100%;min-width:0;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.compact-ui .camera-controls::-webkit-scrollbar{display:none}.compact-ui .footer-label{display:none}.compact-ui .camera-buttons{display:flex;gap:0;width:100%;min-width:264px}.compact-ui .camera-buttons button{min-width:44px;min-height:44px;flex:1;padding:0 2px;justify-content:center;font-size:11px;white-space:nowrap}.compact-ui .playback{width:100%;display:flex;gap:4px;justify-content:center;flex:none}.compact-ui .playback .icon-button{width:44px;height:44px}.compact-ui .playback .divider{display:none}.compact-ui .speed-button{min-width:44px;font-size:13px}.compact-ui .setting-button{font-size:11px;min-width:64px;padding:0 6px}.compact-ui #shot-toast{top:calc(114px + var(--safe-top));bottom:auto;left:var(--edge-left);right:var(--edge-right);width:auto;max-width:none;transform:translateY(-6px);font-size:12px;white-space:normal;text-align:center;padding:10px;z-index:5}.compact-ui #shot-toast.visible{transform:translateY(0)}@media(orientation:landscape){.compact-ui .masthead{height:calc(48px + var(--safe-top))}.compact-ui .fire-control{left:auto;right:var(--edge-right);width:clamp(240px,38vw,320px);bottom:calc(64px + var(--safe-bottom));max-height:calc(100dvh - 120px - var(--safe-top) - var(--safe-bottom))}.compact-ui.controls-open .fire-control{height:calc(100dvh - 120px - var(--safe-top) - var(--safe-bottom))}.compact-ui #control-settings{flex:1;max-height:none;padding:0 12px}.compact-ui #hide-ui{right:calc(var(--edge-right) + clamp(240px,38vw,320px) + 8px);top:calc(56px + var(--safe-top))}.compact-ui .mobile-hint{top:calc(66px + var(--safe-top));max-width:calc(100% - clamp(240px,38vw,320px) - 120px);font-size:10px}.compact-ui .command-deck{height:48px;padding:1px 5px;flex-direction:row;gap:8px;justify-content:space-between}.compact-ui .camera-controls{flex:1}.compact-ui .playback{width:auto;gap:0}.compact-ui #shot-toast{top:calc(114px + var(--safe-top));right:calc(var(--edge-right) + clamp(240px,38vw,320px) + 8px)}}@media(max-width:700px),(max-height:600px)and (max-width:1100px),(pointer:coarse)and (max-width:1100px){#guide{width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:24px;overscroll-behavior:contain}#guide .dialog-close{position:sticky;display:block;top:0;margin:-12px -12px 0 auto;width:44px;height:44px;background:#10232d;z-index:1}#guide h2{font-size:22px}#guide p{font-size:13px;line-height:1.8}#guide h3{font-size:14px}#guide .guide-grid{grid-template-columns:1fr;gap:0}#guide .guide-sources a{font-size:12px;min-height:44px;display:flex;align-items:center}}@media(max-width:374px){.compact-ui .brand{gap:0;min-width:0}.compact-ui .brand h1{font-size:16px;letter-spacing:1.5px}.compact-ui .brand p{display:none}.compact-ui .top-actions{gap:2px}.compact-ui .icon-button{width:36px}.compact-ui #battle-mode{min-width:48px;padding:0 4px}.compact-ui #multiplayer-mode{min-width:48px;padding:0 3px}}.helm-control{display:none}.compact-ui .helm-control{display:flex;position:absolute;left:var(--edge-left);bottom:var(--helm-bottom,264px);flex-direction:column;align-items:center;gap:7px;width:132px;pointer-events:none}.helm-readout{display:flex;gap:10px;color:#e7d6b7;font:10px IBM Plex Mono,monospace;text-shadow:0 1px 4px #081820}#app #helm-pad{position:relative;display:block;width:124px;height:124px;min-height:0;border-radius:50%;border:1px solid #d9b77a70;background:radial-gradient(circle,#142c3690 30%,#11252ba8 70%);box-shadow:inset 0 0 20px #9db4be10,0 4px 20px #0002;touch-action:none;user-select:none;-webkit-user-select:none;color:#cfba91;pointer-events:auto;cursor:grab}#helm-pad.active{border-color:var(--gold);cursor:grabbing}#helm-pad>span:not(#helm-thumb){position:absolute;font-size:10px;pointer-events:none;line-height:1}.helm-up{top:9px;left:50%;transform:translate(-50%)}.helm-down{bottom:9px;left:50%;transform:translate(-50%)}.helm-left{left:9px;top:50%;transform:translateY(-50%)}.helm-right{right:9px;top:50%;transform:translateY(-50%)}#helm-thumb{position:absolute;left:calc(50% - 22px);top:calc(50% - 22px);width:44px;height:44px;border:1px solid #e6c891;border-radius:50%;background:#bba27170;box-shadow:0 3px 12px #0005;pointer-events:none}.compact-ui #helm-stop{min-height:44px;min-width:88px;padding:4px 12px;font-size:11px;border:1px solid #b8cbd34a;border-radius:4px;background:#10232dd9}.compact-ui.ui-hidden .helm-control{display:none}@media(orientation:portrait){.compact-ui.controls-open .helm-control{display:none}}@media(orientation:landscape){.compact-ui .helm-control{bottom:calc(68px + var(--safe-bottom))}}@media(orientation:landscape)and (max-height:400px){#app.compact-ui #helm-pad{width:100px;height:100px}.compact-ui .helm-readout{font-size:9px}}@media(pointer:coarse)and (min-width:1101px){.helm-control{display:flex;position:absolute;left:280px;bottom:140px;flex-direction:column;align-items:center;gap:7px}#helm-stop{height:44px;padding:0 16px;background:#10232dd9;border:1px solid var(--line)}.ui-hidden .helm-control{display:none}}#battle-hud{display:none}#battle-mode{font-size:11px;border:1px solid #b8cbd34a;padding:0 14px;min-height:34px;color:#e3ceaa}body.mission-mode #battle-hud{display:block}body.mission-mode .vessel-title,body.mission-mode .fire-control,body.mission-mode .telemetry,body.mission-mode .scene-caption,body.mission-mode .command-deck,body.mission-mode .bottom-meta,body.mission-mode .session,body.mission-mode #target-label,body.mission-mode .mobile-hint,body.mission-mode #hide-ui{display:none!important}body.mission-mode .masthead{height:78px;margin:0 32px;border:0}body.mission-mode .brand h1{font-size:21px}body.mission-mode .brand-mark{font-size:30px}body.mission-mode .brand p{font-size:9px}body.mission-mode .vignette{background:linear-gradient(180deg,#06151eaa,transparent 28%,transparent 66%,#06151ed9)}body.mission-mode #viewport{cursor:crosshair}body.mission-mode #shot-toast{inset:auto auto 210px 50%;width:max-content;max-width:90vw;height:auto;transform:translate(-50%);z-index:6}body.mission-mode #shot-toast.visible{transform:translate(-50%)}body.mission-mode .helm-control{left:28px;bottom:210px!important;transform:scale(.85);transform-origin:left bottom}body.mission-mode #app.ui-hidden #battle-hud{display:none}.mission-heading{position:absolute;left:34px;top:106px}.mission-eyebrow{font:10px IBM Plex Mono,monospace;letter-spacing:2px;color:#c9ba98;display:flex;justify-content:space-between;gap:30px}.mission-eyebrow span{color:#a7c4c9}.mission-heading h2{font-size:26px;letter-spacing:-1px;margin:12px 0 8px;font-weight:500;text-shadow:0 2px 10px #00131b}.mission-heading p{font-size:11px;color:#b2c7ce;margin:0}#stage-progress{display:flex;gap:5px;margin-top:18px}#stage-progress i{width:16px;height:4px;background:#91a5aa44}#stage-progress i.sunk{background:#8fe2d0}#stage-progress i.boss{background:#dfac6d;width:25px}.mission-score{position:absolute;right:34px;top:106px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:10px;color:#b8cbd1}.mission-score b{font:40px Barlow Condensed,sans-serif;color:#e7ece9}.mission-score small{font-size:21px;color:#90a9b3}.mission-score>span:first-child{letter-spacing:3px;color:#d2c19d}#boss-banner{position:absolute;top:93px;left:50%;transform:translate(-50%);width:340px;text-align:center;color:#ffb49a;font-size:10px;letter-spacing:2px}#boss-banner b{display:block;font-size:17px;letter-spacing:0;margin:7px 0 10px}.health-track{height:4px;background:#b9ced329;overflow:hidden}.health-track i{height:100%;display:block;background:#86d9c3;transition:width .2s}#boss-health{background:#ed906e}#scope-mask{position:absolute;inset:0;display:none;background:radial-gradient(ellipse 71% 91% at 50% 50%,transparent 45%,#00131b18 67%,#00101bba 100%);box-shadow:inset 0 0 0 1px #cce0df44}.scope-mode #scope-mask{display:block}#scope-reticle{position:absolute;left:50%;top:50%;width:460px;height:1px;transform:translate(-50%);color:#e5dfbd;text-shadow:0 1px 3px #00202e;font:10px IBM Plex Mono,monospace}.scope-ruler{display:flex;align-items:center;justify-content:space-between;height:1px;background:#e6e7c187}.scope-ruler i{display:block;height:7px;width:1px;background:#e6e7c1a0;position:relative}.scope-ruler i.major{height:14px}.scope-ruler i span{position:absolute;top:17px;left:50%;transform:translate(-50%);font:8px IBM Plex Mono,monospace}.scope-cross{position:absolute;left:50%;top:-19px;width:1px;height:38px;background:#e6e7c1a0}#aim-dot{position:absolute;left:50%;top:0;width:10px;height:10px;border:1px solid #eac483;border-radius:50%;transform:translate(-50%,-50%);background:#a981371a;box-shadow:0 0 8px #0005}#aim-dot.ready{border-color:#a9ffcf;background:#a9ffcf44}.scope-topline{position:absolute;left:0;right:0;top:-72px;display:flex;justify-content:space-between;letter-spacing:2px;font-size:9px;color:#c4d3cb88}.scope-data{display:flex;justify-content:center;gap:50px;margin-top:40px;font-size:12px}#aim-status{text-align:center;margin-top:13px;font:10px Noto Sans KR,sans-serif;letter-spacing:1px;color:#b8ddcb}.danger{color:#ff9c7b!important}#lead-marker{position:absolute;color:#bdf4d6b0;transform:translate(-50%,-50%);font-size:23px;text-shadow:0 1px 3px #000}#lead-marker:after{content:"보정 탄착점";font-size:8px;display:block;position:absolute;white-space:nowrap;left:50%;transform:translate(-50%);top:25px}#hit-feedback{position:absolute;left:50%;top:calc(50% + 108px);transform:translate(-50%);color:#f5d8a7;font-size:16px;text-shadow:0 2px 5px #001924;opacity:0;transition:opacity .2s}#hit-feedback.visible{opacity:1}.enemy-label{position:absolute;width:130px;transform:translate(-50%,-100%);text-align:center;text-shadow:0 1px 5px #000;color:#ffb0a0}.enemy-label .enemy-type{display:block;font:8px IBM Plex Mono,monospace;letter-spacing:1px;color:#efb4a180}.enemy-label b{display:block;font-size:12px;margin:4px 0 7px;font-weight:500}.enemy-label .health-track{width:82px;margin:auto;height:3px}.enemy-label .health-track i{background:#f68c75}.enemy-label small{font:9px IBM Plex Mono,monospace;display:block;margin-top:7px}.enemy-label.selected b{color:#ffddbc}.enemy-label.selected:after{content:"";position:absolute;inset:-7px 22px -8px;border-left:1px solid #f5b28b77;border-right:1px solid #f5b28b77}.battle-player{position:absolute;left:34px;bottom:48px;width:230px}.battle-player>b{font:28px Barlow Condensed,sans-serif;display:block;margin:13px 0 10px}.battle-player>b small{font-size:15px;color:#8ba5ad}.player-detail{display:flex;justify-content:space-between;font:10px IBM Plex Mono,monospace;margin:10px 0;color:#b3ccd2}.player-detail>span:last-child{font-family:Noto Sans KR,sans-serif;font-size:9px}#battle-repair{display:flex;width:100%;align-items:center;gap:10px;border:1px solid #abcac33b;padding:10px 12px;font-size:10px;background:#0a232780}#battle-repair span{margin-left:auto;color:#8ce6cb}.battle-actions{position:absolute;bottom:43px;left:50%;transform:translate(-50%);width:450px}#battle-guns{display:flex;gap:4px;justify-content:center;margin:0 0 15px}#battle-guns i{width:23px;height:5px;background:linear-gradient(to right,#dac08b var(--load),#758d9450 var(--load))}#battle-guns i:nth-child(3n){margin-right:10px}#battle-guns i.ready{background:#9cdcc3}.battle-buttons{display:flex;gap:7px}.battle-buttons button{height:46px;border:1px solid #c1cfd13b;background:#0b222bba;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font-size:11px}.battle-buttons button.active{border-color:#d7b77a;background:#c6ac7121;color:#f1d7a5}#battle-fire{background:#d3b580;color:#142730;border-color:#e5c58d;flex:1;font-weight:700}#battle-fire:disabled{background:#3c535d;color:#c4d3d4;border-color:#6e8a9355;opacity:1}#battle-reload{text-align:center;font:10px Noto Sans KR,sans-serif;letter-spacing:1px;color:#b3c8cb;margin:11px 0 0}.battle-map{position:absolute;right:34px;bottom:45px;width:190px;background:#071b2599;border:1px solid #b7c9c22b;padding:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.battle-map .mission-eyebrow{font-size:8px;letter-spacing:1px;gap:5px}.battle-map canvas{display:block;width:100%;height:auto;margin:10px 0 5px}.battle-map>div:last-child{font-size:8px;color:#9fb9c3;display:flex;align-items:center;gap:5px}.battle-map>div:last-child i{width:4px;height:4px;background:#80e1cc}.battle-map>div:last-child i:nth-of-type(2){background:#ee907e;margin-left:7px}.battle-map>div:last-child span{margin-left:auto}.battle-help{position:absolute;bottom:16px;left:34px;color:#a0b8c3;font-size:9px;letter-spacing:.5px}.battle-help span{margin-left:20px;color:#819da7}.battle-tools{position:absolute;right:34px;top:245px;display:flex;gap:8px}.battle-tools button{font-size:9px;padding:9px 10px;background:#08232b66;border:1px solid #96b9c035}#damage-vignette{position:absolute;inset:0;box-shadow:inset 0 0 110px #eb5033;opacity:0;pointer-events:none}#mission-overlay{position:absolute;inset:0;background:#071824b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:12}#mission-overlay[hidden],#battle-hud [hidden]{display:none!important}.briefing{width:min(630px,calc(100vw - 44px));padding:38px;background:linear-gradient(145deg,#17323eea,#0d202bed);border:1px solid #9dbac142;border-top:2px solid #d0b47f;box-shadow:0 20px 100px #0005}.briefing h2{font-size:35px;font-weight:500;letter-spacing:-1.6px;margin:18px 0}.briefing>p{font-size:12px;line-height:1.9;color:#aec6d0;margin-bottom:25px}.briefing-stages{display:flex;border-top:1px solid #b9cbd12b;border-bottom:1px solid #b9cbd12b;padding:20px 0;gap:23px}.briefing-stages>div{flex:1;display:flex;flex-direction:column;gap:8px}.briefing-stages span{font:20px Barlow Condensed,sans-serif;color:#d3b982}.briefing-stages b{font-size:12px;font-weight:500}.briefing-stages small{font:7px IBM Plex Mono,monospace;letter-spacing:.3px;color:#90aab4}.briefing-controls{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;font-size:10px;color:#a8bfc7;margin:24px 0}.briefing-controls kbd{margin-right:4px}#mission-continue{width:100%;height:49px;background:#d6b981;color:#152c34;padding:0 18px;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px}#mission-continue:hover{background:#e8cc98}#mission-training{display:block;margin:14px auto 0;font-size:10px;color:#9db7c2}#battle-hud button:focus-visible{outline:2px solid #b8f3e2;outline-offset:4px}@media(max-width:1100px){.battle-actions{width:375px}.battle-buttons button{font-size:10px;padding:0 9px}.battle-map{width:155px;right:22px}.battle-player{width:185px;left:24px}.mission-heading{left:24px}.mission-score,.battle-tools{right:24px}#scope-reticle{width:370px}}@media(max-width:700px){body.mission-mode .masthead{height:65px;margin:0 16px}body.mission-mode .brand h1{font-size:17px}body.mission-mode .brand-mark{display:none}body.mission-mode .brand p{font-size:8px}#battle-mode{font-size:9px;padding:0 9px;min-height:32px}.mission-heading{left:18px;top:86px}.mission-heading h2{font-size:21px;margin:8px 0}.mission-heading p{font-size:8px}.mission-eyebrow{font-size:8px;gap:15px}#stage-progress{margin-top:12px;gap:4px}#stage-progress i{width:12px}.mission-score{right:18px;top:86px;font-size:8px}.mission-score b{font-size:32px}.mission-score small{font-size:17px}.battle-tools{top:185px;right:18px;flex-direction:column;gap:6px}.battle-tools button{font-size:8px;padding:8px}.battle-tools kbd{display:none}#scope-reticle{width:270px}.scope-topline{font-size:7px;top:-65px}.scope-data{font-size:10px}.battle-player{left:18px;bottom:135px;width:158px}.battle-player>b{font-size:22px;margin:9px 0}.battle-player>b small{font-size:12px}#battle-repair{font-size:9px;padding:8px 9px;min-height:40px}.battle-map{width:121px;right:18px;bottom:135px;padding:8px}.battle-map .mission-eyebrow{font-size:6px;letter-spacing:.5px}.battle-map canvas{margin:6px 0}.battle-map>div:last-child{font-size:6px}.battle-actions{bottom:37px;width:calc(100% - 36px)}.battle-buttons button{min-height:44px;font-size:10px;flex:1;padding:0 8px}.battle-buttons kbd{display:none}#battle-guns{margin-bottom:9px}#battle-reload{font-size:8px;margin-top:9px}.battle-help{left:18px;bottom:13px;font-size:7px}.battle-help span{margin-left:10px}body.mission-mode .helm-control{left:15px;bottom:289px!important;transform:scale(.72)}body.mission-mode #shot-toast{bottom:310px;font-size:10px}#boss-banner{top:205px;width:210px;font-size:8px}#boss-banner b{font-size:13px}.enemy-label{width:112px}.enemy-label b{font-size:10px}.enemy-label .enemy-type{font-size:6px}#hit-feedback{font-size:13px}.briefing{padding:24px}.briefing h2{font-size:29px}.briefing>p{font-size:11px}.briefing-stages{gap:12px;padding:15px 0}.briefing-stages b{font-size:10px}.briefing-stages small{font-size:6px}.briefing-controls{font-size:8px;gap:13px;grid-template-columns:1fr 1.5fr}.briefing-controls kbd{font-size:7px}}@media(max-height:600px)and (min-width:600px){body.mission-mode .masthead{height:60px}.mission-heading{top:76px}.mission-heading h2{font-size:20px}.mission-heading p{display:none}.mission-score{top:76px}.mission-score b{font-size:28px}.battle-tools{top:172px}.battle-player{bottom:31px;width:160px}.battle-player>b{font-size:23px}.battle-actions{bottom:28px;width:350px}.battle-map{bottom:30px;width:130px}.battle-buttons button{font-size:9px;padding:0 8px}.battle-buttons kbd{display:none}.battle-help{bottom:8px;font-size:7px}body.mission-mode .helm-control{bottom:182px!important;transform:scale(.6)}#scope-reticle{width:300px}.scope-topline{top:-55px}#boss-banner{top:63px;width:240px}body.mission-mode #shot-toast{bottom:150px}.briefing{padding:20px 30px;max-height:95dvh;overflow:auto}.briefing h2{font-size:26px;margin:10px 0}.briefing>p{margin-bottom:12px;font-size:10px}.briefing-stages{padding:12px 0}.briefing-controls{margin:15px 0}.briefing-stages small{font-size:6px}#mission-continue{height:42px}}.scope-topline{align-items:center}body.mission-mode:not(.scope-mode) #scope-reticle{display:none}#battle-mode{white-space:nowrap;flex:none}@media(max-width:360px){body.mission-mode #fullscreen{display:none}body.mission-mode .brand h1{font-size:15px}body.mission-mode .top-actions{gap:4px}}.scope-topline button{min-width:78px;min-height:36px;padding:0 9px;font:inherit;letter-spacing:1px;color:#d4e3db;background:#0b232c66;border:1px solid #b9d4d328;text-shadow:0 1px 3px #00171d}@media(pointer:coarse),(max-width:700px){.scope-topline button{min-height:44px;min-width:78px}}@media(max-width:700px)and (max-height:650px)and (orientation:portrait){.battle-player{bottom:125px;width:132px}.battle-player>.mission-eyebrow{display:none}.battle-player>b{font-size:19px;margin:5px 0 7px}.battle-player>b small{font-size:10px}.player-detail{font-size:8px;margin:6px 0}.player-detail>span:last-child{font-size:7px}.battle-map{bottom:125px;width:102px}.battle-map .mission-eyebrow{font-size:5px}.battle-map>div:last-child{font-size:5px}body.mission-mode .helm-control{bottom:239px!important;transform:scale(.65)}.mission-heading{top:77px}.mission-heading h2{font-size:18px}.mission-heading p{display:none}.mission-score{top:77px}.battle-tools{top:158px}.scope-data{margin-top:27px}#aim-status{margin-top:7px}#scope-reticle{width:240px}#hit-feedback{top:calc(50% + 68px);font-size:11px}body.mission-mode #shot-toast{bottom:116px;padding:6px 10px;font-size:8px}.briefing{max-height:94dvh;overflow:auto;padding:20px}.briefing h2{font-size:24px}.briefing-controls{font-size:8px;grid-template-columns:1fr;gap:9px;margin:15px 0}.briefing-stages small{font-size:5px}}#click-aim-marker{position:absolute;transform:translate(-50%,-50%);color:#b8f0ce;pointer-events:none;text-shadow:0 1px 4px #001923}#click-aim-marker i{display:block;width:24px;height:24px;border:1px solid #b8f0ceaa;border-radius:50%;box-shadow:0 0 0 3px #071c2944}#click-aim-marker i:before,#click-aim-marker i:after{content:"";position:absolute;background:#d9ffe1;left:50%;top:50%;transform:translate(-50%,-50%)}#click-aim-marker i:before{width:34px;height:1px}#click-aim-marker i:after{height:34px;width:1px}#click-aim-marker span{position:absolute;top:33px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:10px}html[lang=en] #lead-marker:after{content:"Lead point"}#air-status{margin:8px 0 0;font-size:10px;color:#9ec4c7;letter-spacing:.02em}#air-status.danger{color:#ffbe79}#scope-magnification{min-width:78px;min-height:44px}body:not(.scope-mode) #scope-magnification{display:none}body.mission-mode .compact-ui{--battle-top:calc(64px + var(--safe-top))}body.mission-mode .compact-ui .masthead{height:calc(56px + var(--safe-top));margin:0 var(--edge-right) 0 var(--edge-left)}body.mission-mode .compact-ui .brand h1{font-size:17px}body.mission-mode .compact-ui .brand p{font-size:8px}.compact-ui #battle-mode{min-width:56px;min-height:44px;padding:0 6px;font-size:10px}.compact-ui #battle-hud button{min-height:44px}.compact-ui .battle-help{display:none}.compact-ui .battle-tools{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;left:var(--edge-left);right:var(--edge-right);top:calc(140px + var(--safe-top))}.compact-ui .battle-tools button{min-width:0;padding:0 4px;font-size:10px;line-height:1.2;white-space:normal;background:#10232de8}.compact-ui .battle-tools kbd,.compact-ui .scope-topline{display:none}.compact-ui #scope-magnification{min-width:0;font:10px IBM Plex Mono,monospace}.compact-ui .mission-heading{left:var(--edge-left);top:var(--battle-top)}.compact-ui .mission-heading h2{font-size:20px;margin:6px 0}.compact-ui .mission-heading p{display:none}.compact-ui .mission-score{right:var(--edge-right);top:var(--battle-top);font-size:8px}.compact-ui .mission-score b{font-size:28px}.compact-ui .mission-score small{font-size:14px}.compact-ui .mission-eyebrow{font-size:8px;gap:12px}.compact-ui #stage-progress{margin-top:8px;gap:4px}.compact-ui #stage-progress i{width:12px}.compact-ui #stage-progress i.boss{width:20px}.compact-ui .battle-actions{left:var(--edge-left);right:var(--edge-right);bottom:calc(8px + var(--safe-bottom));width:auto;transform:none}.compact-ui .battle-buttons{gap:6px}.compact-ui .battle-buttons button{min-width:0;height:46px;flex:1;padding:0 6px;font-size:11px}.compact-ui #battle-guns{margin-bottom:7px}.compact-ui #battle-reload{font-size:9px;letter-spacing:0;margin:7px 0 0}.compact-ui .battle-player{left:var(--edge-left);bottom:calc(106px + var(--safe-bottom));width:150px}.compact-ui .battle-player>b{font-size:22px;margin:6px 0}.compact-ui .battle-player>b small{font-size:11px}.compact-ui .player-detail{font-size:9px;gap:4px;margin:7px 0}.compact-ui .player-detail>span:last-child{font-size:8px}.compact-ui #battle-repair{min-height:44px;padding:0 8px;font-size:10px}.compact-ui .battle-map{right:var(--edge-right);bottom:calc(106px + var(--safe-bottom));width:112px;padding:8px}.compact-ui .battle-map .mission-eyebrow{font-size:6px;letter-spacing:0;gap:3px}.compact-ui .battle-map canvas{margin:6px 0}.compact-ui .battle-map>div:last-child{font-size:7px}body.mission-mode .compact-ui:not(.ui-hidden) .helm-control{display:flex}body.mission-mode .compact-ui .helm-control{left:var(--edge-left);bottom:calc(260px + var(--safe-bottom))!important;width:108px;gap:6px;transform:none}body.mission-mode #app.compact-ui #helm-pad{width:96px;height:96px}body.mission-mode .compact-ui .helm-readout{font-size:8px;gap:5px;white-space:nowrap}body.mission-mode .compact-ui #shot-toast{bottom:calc(190px + var(--safe-bottom));max-width:calc(100% - 24px);font-size:10px;white-space:normal;text-align:center}.compact-ui #boss-banner{top:var(--battle-top);left:var(--edge-left);right:calc(var(--edge-right) + 92px);width:auto;transform:none;font-size:8px}.compact-ui #boss-banner b{font-size:15px;margin:5px 0 8px}.compact-ui #battle-hud:has(#boss-banner:not([hidden])) .mission-heading{visibility:hidden}.compact-ui #mission-overlay{padding:calc(12px + var(--safe-top)) var(--edge-right) calc(12px + var(--safe-bottom)) var(--edge-left)}.compact-ui .briefing{width:min(630px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:20px;pointer-events:auto;touch-action:pan-y}.compact-ui .briefing h2{font-size:26px;margin:12px 0}.compact-ui .briefing>p{font-size:11px;margin-bottom:16px}.compact-ui .briefing-stages{padding:12px 0;gap:12px}.compact-ui .briefing-stages b{font-size:11px}.compact-ui .briefing-stages small{font-size:6px;overflow-wrap:anywhere}.compact-ui .briefing-controls{font-size:10px;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.compact-ui #mission-continue{min-height:48px}.compact-ui #mission-training{min-height:44px;font-size:12px;margin-top:10px}@media(orientation:portrait){.compact-ui #scope-reticle{width:clamp(116px,calc(100% - 232px),270px)}}@media(orientation:portrait)and (max-height:650px){.compact-ui .mission-heading h2{font-size:18px}.compact-ui .battle-player{width:136px;bottom:calc(100px + var(--safe-bottom))}.compact-ui .battle-player>.mission-eyebrow{display:none}.compact-ui .battle-player>b{font-size:20px}.compact-ui .player-detail{font-size:8px;margin:5px 0}.compact-ui .player-detail>span:last-child{font-size:7px}.compact-ui .battle-map{width:102px;bottom:calc(100px + var(--safe-bottom))}body.mission-mode .compact-ui .helm-control{bottom:calc(216px + var(--safe-bottom))!important;width:96px}body.mission-mode #app.compact-ui #helm-pad{width:80px;height:80px}.compact-ui .scope-data,.compact-ui #aim-status{position:relative;left:calc(50% + 50px);width:calc(100vw - 124px);transform:translate(-50%)}.compact-ui .scope-data{margin-top:27px;gap:18px}.compact-ui #aim-status{margin-top:7px;font-size:9px;letter-spacing:0}body.mission-mode .compact-ui #shot-toast{bottom:calc(92px + var(--safe-bottom));font-size:9px;padding:6px 10px}}@media(orientation:landscape){body.mission-mode .compact-ui{--battle-side:112px;--battle-center-left:calc(var(--edge-left) + var(--battle-side) + 12px);--battle-center-right:calc(var(--edge-right) + var(--battle-side) + 12px);--battle-top:calc(56px + var(--safe-top))}body.mission-mode .compact-ui .masthead{height:calc(48px + var(--safe-top))}.compact-ui .mission-heading{left:var(--battle-center-left);right:var(--battle-center-right);top:var(--battle-top)}.compact-ui .mission-heading h2{font-size:18px;margin:4px 0}.compact-ui #stage-progress{margin-top:5px}.compact-ui .mission-score{top:var(--battle-top);width:var(--battle-side);gap:3px}.compact-ui .mission-score>span:first-child{display:none}.compact-ui .mission-score b{font-size:25px}.compact-ui .battle-tools{left:var(--battle-center-left);right:var(--battle-center-right);top:calc(112px + var(--safe-top));gap:5px}.compact-ui .battle-tools button,.compact-ui #scope-magnification{font-size:9px}.compact-ui .battle-player{top:var(--battle-top);bottom:auto;width:var(--battle-side)}.compact-ui .battle-player>.mission-eyebrow,.compact-ui .player-detail{display:none}.compact-ui .battle-player>b{font-size:22px;margin:0 0 6px}.compact-ui .battle-player>b small{font-size:10px}.compact-ui #battle-repair{margin-top:8px}body.mission-mode .compact-ui .helm-control{bottom:calc(8px + var(--safe-bottom))!important;width:var(--battle-side)}body.mission-mode #app.compact-ui #helm-pad{width:88px;height:88px}.compact-ui .battle-map{bottom:calc(8px + var(--safe-bottom));width:var(--battle-side)}.compact-ui .battle-actions{left:var(--battle-center-left);right:var(--battle-center-right);bottom:calc(8px + var(--safe-bottom))}.compact-ui .battle-buttons button{height:44px;font-size:10px;padding:0 3px}.compact-ui #battle-guns{margin-bottom:5px;gap:3px}.compact-ui #battle-guns i{width:18px}.compact-ui #battle-guns i:nth-child(3n){margin-right:5px}.compact-ui #battle-reload{margin-top:5px;font-size:8px}.compact-ui #scope-reticle{width:min(270px,calc(100% - var(--battle-center-left) - var(--battle-center-right)))}.compact-ui .scope-data{font-size:10px;margin-top:26px;gap:35px}.compact-ui #aim-status{font-size:9px;margin-top:7px;letter-spacing:0}.compact-ui #hit-feedback{top:calc(50% + 66px);font-size:11px}.compact-ui #boss-banner{left:var(--battle-center-left);right:var(--battle-center-right);top:var(--battle-top)}body.mission-mode .compact-ui #shot-toast{left:var(--battle-center-left);right:var(--battle-center-right);bottom:calc(88px + var(--safe-bottom));width:auto;transform:none;font-size:9px;padding:6px 8px}.compact-ui .briefing{padding:16px 22px}.compact-ui .briefing h2{font-size:24px}}@media(orientation:landscape)and (min-width:760px){body.mission-mode .compact-ui{--battle-side:132px}}@media(orientation:landscape)and (max-height:360px){.compact-ui .mission-heading h2{font-size:16px;margin:3px 0}.compact-ui .battle-tools{top:calc(106px + var(--safe-top))}.compact-ui .battle-player>b{font-size:20px;line-height:22px;margin-bottom:2px}.compact-ui #battle-repair{margin-top:4px}}.scope-data{width:max-content;max-width:100vw;margin-left:auto;margin-right:auto;padding:6px 12px;border:1px solid #b6d7df55;background:#081e29ed;border-radius:3px;color:#f4f5e7;text-shadow:none}#aim-status{width:max-content;max-width:300px;margin-left:auto;margin-right:auto;padding:5px 10px;border-radius:3px;background:#081e29ed;color:#caffdf;text-shadow:none}.enemy-label b,.enemy-label small{width:max-content;max-width:100%;margin-left:auto;margin-right:auto;padding:2px 5px;background:#10232dde;border-radius:2px}.compact-ui .scope-data{font-size:14px;line-height:20px;gap:20px}.compact-ui #aim-status{font-size:12px;line-height:17px;letter-spacing:0}.compact-ui .enemy-label b{font-size:12px}.compact-ui .enemy-label small{font-size:11px;line-height:15px}.compact-ui .enemy-label .enemy-type{display:none}.compact-ui #lead-marker:after{font-size:10px;padding:2px 4px;background:#10232de8;border-radius:2px}#boss-banner{padding:6px 10px;background:#10232de8;border:1px solid #efb18b55;border-radius:3px}#boss-guidance{display:block;margin-top:6px;font-size:11px;line-height:16px;letter-spacing:0;color:#ffe3a0}.compact-ui #boss-banner{padding:3px 5px;font-size:9px;line-height:12px;letter-spacing:0}.compact-ui #boss-banner b{font-size:14px;line-height:17px;margin:2px 0 3px}.compact-ui #boss-guidance{font-size:11px;line-height:14px;margin-top:3px}.compact-ui #boss-banner .health-track{height:3px}#checkpoint-note{font-size:11px;line-height:1.7;color:#c7d9df;margin:12px 0}#mission-new{display:block;width:100%;min-height:44px;margin-top:8px;border:1px solid #9eb8c14a;font-size:12px;color:#c8d7dd}@media(orientation:portrait)and (max-height:650px){.compact-ui .scope-data{width:max-content;max-width:calc(100vw - 124px);margin-left:0;margin-right:0;gap:12px;padding:5px 7px}.compact-ui #aim-status{width:max-content;max-width:calc(100vw - 124px);margin-left:0;margin-right:0;padding:4px 7px;font-size:11px}}@media(orientation:landscape){.compact-ui .scope-data{margin-top:21px;padding:3px 10px;line-height:18px}.compact-ui #aim-status{margin-top:4px;padding:3px 8px;line-height:16px}.compact-ui #boss-guidance{font-size:10px;line-height:12px}}#boss-defeat-cue{display:none;position:absolute;left:50%;bottom:8%;transform:translate(-50%);max-width:calc(100vw - 32px);padding:12px 24px;text-align:center;background:#081e29d9;border:1px solid #e0bf7b77;color:#f2d4a0}#boss-defeat-cue span{display:block;font-size:11px;letter-spacing:2px}#boss-defeat-cue strong{display:block;font-size:23px;font-weight:500;margin-top:5px;white-space:nowrap}.boss-defeat #boss-defeat-cue{display:block}.boss-defeat #battle-hud>:not(#boss-defeat-cue):not(.battle-tools):not(#mission-overlay),.boss-defeat .helm-control,.boss-defeat #shot-toast{visibility:hidden}.boss-defeat .battle-tools{top:90px;left:auto;right:24px;display:block}.boss-defeat .battle-tools button:not(#battle-pause){display:none}.boss-defeat #battle-pause{min-height:44px;background:#10232de8}.boss-defeat .compact-ui .battle-tools{top:calc(60px + var(--safe-top));right:var(--edge-right)}.boss-defeat .compact-ui #boss-defeat-cue{padding:8px 16px;bottom:calc(12px + var(--safe-bottom))}.boss-defeat .compact-ui #boss-defeat-cue strong{font-size:18px}#player-defeat-cue{display:none;position:absolute;left:50%;bottom:8%;transform:translate(-50%);padding:10px 22px;background:#081e29de;border:1px solid #e0bf7b77;color:#f2d4a0;font-size:20px;white-space:nowrap}.player-defeat #player-defeat-cue{display:block}.player-defeat #battle-hud>:not(#player-defeat-cue):not(#arena-respawn):not(#mission-overlay),.player-defeat .helm-control,.player-defeat #shot-toast{visibility:hidden}.player-defeat.multiplayer-mode #player-defeat-cue{display:none}.player-defeat #arena-respawn{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translate(-50%);padding:9px 14px;font-size:12px;max-width:calc(100vw - 24px);width:max-content}#campaign-cinematic[hidden],#campaign-objectives[hidden]{display:none!important}#objective-toggle,#objective-close{display:none}#campaign-cinematic{position:absolute;inset:0;z-index:14;pointer-events:auto;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(#04151bc9,transparent 26%,transparent 60%,#04151bed);color:#f2e6ca}.cinematic-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:28px 34px}.cinematic-top p{font:10px IBM Plex Mono,monospace;letter-spacing:3px;color:#d4b983;margin:0 0 10px}.cinematic-top h2{font-size:28px;font-weight:500;margin:0}.cinematic-top small{display:block;color:#b9cbd1;margin-top:8px;font-size:11px}.cinematic-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cinematic-controls button{min-height:44px;padding:0 16px;border:1px solid #d7c69c66;background:#0b212adc;font-size:12px;white-space:nowrap}.cinematic-caption{align-self:center;text-align:center;width:min(800px,calc(100% - 48px));padding:24px 24px 30px;box-sizing:border-box}.cinematic-caption strong{font-size:12px;letter-spacing:2px;color:#e0bb78}.cinematic-caption p{font-size:20px;line-height:1.8;text-shadow:0 2px 5px #000;margin:14px 0 22px;min-height:3.6em;word-break:keep-all;overflow-wrap:anywhere}.cinematic-progress{height:2px;background:#c1c6bb33}.cinematic-progress i{display:block;height:100%;background:#d7bc88;transform-origin:left;transition:width .1s linear}body.campaign-cutscene #battle-hud>:not(#campaign-cinematic),body.campaign-cutscene .masthead,body.campaign-cutscene .helm-control,body.campaign-cutscene #shot-toast{visibility:hidden}body.campaign-cutscene #campaign-cinematic{visibility:visible}#campaign-objectives{position:absolute;left:34px;top:219px;width:250px;pointer-events:auto;padding:12px;background:#071e29d9;border:1px solid #adc6bd38;box-sizing:border-box}#campaign-objectives header{font-size:10px;color:#d8c18d;letter-spacing:1px;margin-bottom:8px;display:flex;justify-content:space-between}.objective-row{display:flex;align-items:center;width:100%;gap:8px;padding:8px 0;text-align:left;font-size:11px;color:#e3d1aa;border-top:1px solid #b2c4b01f;min-height:44px}.objective-row>i{font-style:normal;color:#e4ad6c}.objective-row>span{flex:1}.objective-row small{display:block;color:#96b1bc;font-size:9px;margin-top:4px}.objective-row.done{color:#7dc9ad}.objective-row:disabled{opacity:.8;cursor:default}.objective-label{color:#f0c889}.objective-label .health-track i{background:#e3be72}.mission-heading p{max-width:260px;line-height:1.65}#campaign-order{font-size:10px;color:#dfc591;line-height:1.6;margin:8px 0 0}body.mission-mode .briefing{max-height:90dvh;overflow:auto}.briefing-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.briefing-stages small{line-height:1.5}.briefing-stages .current{color:#ffe1a6}.briefing-stages .current span{color:#9ff0d4}@media(max-width:1100px){#campaign-objectives{left:24px;width:220px;top:223px}.mission-heading p{max-width:220px}}@media(max-width:700px){.cinematic-top{padding:18px 16px;gap:10px}.cinematic-top h2{font-size:21px}.cinematic-top p{font-size:8px;letter-spacing:2px}.cinematic-top small{font-size:10px}.cinematic-controls{max-width:108px}.cinematic-controls button{font-size:10px;padding:0 10px;min-width:98px}.cinematic-caption{width:calc(100% - 24px);padding:14px 10px 24px}.cinematic-caption p{font-size:16px;line-height:1.7;margin:12px 0 18px}.cinematic-caption strong{font-size:11px}#campaign-objectives{left:16px;top:170px;width:calc(100% - 125px);max-width:250px;padding:8px}.objective-row{font-size:10px;padding:4px 0;min-height:38px}.objective-row small{font-size:8px;margin-top:3px}#campaign-objectives header{font-size:9px;margin-bottom:3px}#campaign-order{font-size:9px}body.mission-mode .mission-heading p{display:none}.briefing-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.briefing-stages small{font-size:7px}.briefing-stages b{font-size:10px}}@media(max-height:600px)and (orientation:landscape){.cinematic-top{padding:14px 22px}.cinematic-top h2{font-size:20px}.cinematic-top small{margin-top:4px}.cinematic-controls{max-width:none}.cinematic-caption{width:min(760px,calc(100% - 40px));padding:8px 16px 14px}.cinematic-caption p{font-size:14px;line-height:1.6;margin:7px 0 12px;min-height:0}.cinematic-caption strong{font-size:10px}#campaign-objectives{left:50%;transform:translate(-50%);top:72px;width:310px;max-width:38vw;padding:7px;max-height:130px;overflow:auto}.objective-row{min-height:34px;padding:3px 0}.objective-row small{display:inline;margin-left:6px}#campaign-order{margin-top:3px;font-size:9px}}.compact-ui #objective-toggle{display:block}.compact-ui #campaign-objectives{display:none;z-index:11;max-width:calc(100% - 24px);background:#102732f5;box-shadow:0 12px 40px #0008;border-color:#d6b87588;overflow:auto;overscroll-behavior:contain}.compact-ui .objectives-open #campaign-objectives{display:block}.compact-ui #campaign-objectives header{align-items:center;margin-bottom:4px;gap:8px}.compact-ui #campaign-objectives header b{margin-left:auto}.compact-ui #objective-close{display:block;min-width:44px;min-height:44px;font-size:23px;color:#eed5a2}.compact-ui .objective-label{display:none}.multiplayer-mode #objective-toggle,.multiplayer-mode #campaign-objectives{display:none!important}@media(orientation:portrait){.compact-ui #campaign-objectives{left:var(--edge-left);top:calc(192px + var(--safe-top));width:300px;max-height:calc(100dvh - 300px);transform:none;padding:8px 12px}}@media(orientation:landscape){.compact-ui #campaign-objectives{left:50%;top:calc(54px + var(--safe-top));transform:translate(-50%);width:360px;max-height:calc(100dvh - 72px);padding:8px 12px}}#multiplayer-mode{min-height:44px;padding:0 12px;border:1px solid #d4b98288;color:#f2d8a4;font-size:11px;white-space:nowrap;background:#18303bc9}#arena-lobby{width:min(780px,calc(100vw - 24px));padding:30px;max-height:calc(100dvh - 24px);overscroll-behavior:contain;touch-action:pan-y}#arena-lobby .arena-eyebrow{color:#dfc390;font:10px IBM Plex Mono,monospace;letter-spacing:2px;margin:0}#arena-lobby h2{font-size:30px;margin:12px 0}#arena-lobby>p{font-size:12px;line-height:1.8}#arena-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.arena-room{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:100px;padding:16px;text-align:left;border:1px solid #acc9d14d;background:linear-gradient(135deg,#29424d,#10232d)}.arena-room:hover,.arena-room:focus-visible{border-color:#e4c78e;background:#304854}.arena-room b{font-size:16px;color:#f2dfb9}.arena-room span{font-size:10px;color:#a6c3cf;line-height:1.7}.arena-ranking-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #b8cbd32c;margin-top:18px;padding-top:8px}.arena-ranking-heading h3{margin:10px 0}.arena-ranking-heading span{font-size:10px;color:#9ab3bf}.arena-scores{list-style:none;margin:0;padding:0}.arena-scores li{display:flex;align-items:center;gap:10px;min-height:27px;font-size:11px;border-bottom:1px solid #a3b4ba18}.arena-scores li>span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.arena-scores b{color:#e6d0a6;font:12px IBM Plex Mono,monospace;white-space:nowrap}.arena-scores small{width:64px;text-align:right;color:#9bbbc7}.arena-scores li.self{color:#a6ffe2;background:#74e0cf14}#arena-lobby .arena-fine{font-size:10px;color:#8ba7b5}#arena-lobby .arena-fine a{color:#d5c39b;white-space:nowrap}#arena-campaign,#arena-leave,#mission-multiplayer{min-height:44px;border:1px solid #9cb7c24a;color:#e0cfad;width:100%;margin-top:8px;font-size:12px}#arena-leave{border-color:#c2776166}#arena-close{min-width:44px;min-height:44px;top:4px;right:6px}#arena-panel{position:absolute;right:28px;top:102px;width:215px;padding:12px;background:#081e29ed;border:1px solid #8faeb14d;border-top:2px solid #cfb379;z-index:8;pointer-events:auto;border-radius:3px}#arena-panel[hidden],#arena-respawn[hidden]{display:none}.arena-panel-title{display:flex;align-items:center;justify-content:space-between;color:#d6bc8b;font-size:11px;letter-spacing:.5px}#arena-rankings{min-width:44px;min-height:44px;font-size:10px;color:#cad9dd}#arena-self{font-size:11px;color:#92e5cf;border-top:1px solid #aac6cc33;padding-top:9px;margin:8px 0}#arena-status{font-size:10px;line-height:1.5;color:#b4c6cc;margin:0}#arena-feed{font-size:10px;line-height:1.6;color:#efc795;margin:7px 0 0}#arena-feed:empty{display:none}#arena-respawn{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);max-width:calc(100vw - 28px);padding:16px 22px;background:#061923ed;border:1px solid #dfb88088;color:#ffe0aa;text-align:center;font-size:15px;z-index:9}.multiplayer-mode .mission-score,.multiplayer-mode #stage-progress,.multiplayer-mode #battle-repair,.multiplayer-mode #battle-pause,.multiplayer-mode #battle-restart{display:none!important}.multiplayer-mode .battle-tools{right:260px;top:104px}.multiplayer-mode .mission-heading .mission-eyebrow{font-size:0}.multiplayer-mode #stage-number{font-size:10px;color:#91dfcf}.multiplayer-mode .mission-heading{max-width:calc(100vw - 300px)}@media(max-width:700px){#arena-lobby{padding:24px 18px}#arena-lobby h2{font-size:24px}#arena-lobby>p{font-size:11px}#arena-rooms{grid-template-columns:1fr;gap:7px}.arena-room{min-height:64px;padding:10px 13px;gap:5px}.arena-room b{font-size:14px}.arena-room span{font-size:11px}#multiplayer-mode{font-size:10px;padding:0 6px}.top-actions{gap:4px}.multiplayer-mode .brand p{display:none}}.compact-ui #multiplayer-mode{font-size:10px;padding:0 5px;min-width:58px}.multiplayer-mode .compact-ui #arena-panel{right:var(--edge-right);top:var(--battle-top);width:142px;padding:6px 8px}.multiplayer-mode .compact-ui .arena-panel-title{font-size:9px;letter-spacing:0}.multiplayer-mode .compact-ui #arena-rankings{min-width:44px;min-height:44px;font-size:9px}.multiplayer-mode .compact-ui #arena-scores li{font-size:10px;min-height:20px;gap:4px}.multiplayer-mode .compact-ui #arena-scores li:nth-child(n+4){display:none}.multiplayer-mode .compact-ui #arena-self{font-size:10px;margin:5px 0;padding-top:5px}.multiplayer-mode .compact-ui #arena-status{font-size:9px}.multiplayer-mode .compact-ui #arena-feed{display:none}.multiplayer-mode .compact-ui .mission-heading{max-width:calc(100vw - 180px)}.multiplayer-mode .compact-ui .battle-tools{left:var(--edge-left);right:auto;top:calc(115px + var(--safe-top));display:flex;flex-direction:column;width:110px}.multiplayer-mode .compact-ui .battle-tools button{min-height:44px}@media(orientation:landscape){.multiplayer-mode .compact-ui #arena-panel{width:var(--battle-side);top:var(--battle-top);padding:3px 5px}.multiplayer-mode .compact-ui #arena-status{display:none}.multiplayer-mode .compact-ui #arena-self{font-size:9px}.multiplayer-mode .compact-ui .battle-tools{left:var(--battle-center-left);top:calc(101px + var(--safe-top));flex-direction:row;width:auto}.multiplayer-mode .compact-ui .mission-heading{max-width:calc(100vw - 300px)}}@media(max-width:400px){body.mission-mode .brand h1{font-size:14px;letter-spacing:2px}.brand-mark,.top-actions #fullscreen{display:none}body.mission-mode .top-actions{gap:3px}.compact-ui #multiplayer-mode{min-width:54px;font-size:9px}.compact-ui #battle-mode{font-size:9px;min-width:50px}.multiplayer-mode .compact-ui .mission-heading h2{font-size:17px}}@media(orientation:landscape)and (max-height:360px){.multiplayer-mode .compact-ui #arena-scores li:nth-child(n+3){display:none}.multiplayer-mode .compact-ui #arena-self{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#arena-lobby .dialog-language{position:absolute;right:58px;top:19px;min-width:40px;height:32px;padding:0 8px;border:1px solid #b8cbd355;background:transparent;color:#d5e0e3;font:600 11px IBM Plex Mono,monospace;letter-spacing:1px;cursor:pointer}#arena-lobby .dialog-language:hover,#arena-lobby .dialog-language:focus-visible{border-color:#dfc390;color:#dfc390}#viewport canvas:focus:not(:focus-visible){outline:none}#viewport canvas:focus-visible{outline:2px solid #e3ceaa;outline-offset:-3px}.graphics-settings{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid #9bbac242;background:#081c27;margin:20px 0}.graphics-settings label{font-size:13px;color:#e8d5ab}#graphics-quality{font:inherit;font-size:13px;color:#e5ecec;background:#173341;border:1px solid #a0c1cc66;border-radius:3px;min-height:44px;padding:8px 12px;max-width:100%}#graphics-quality:focus-visible{outline:2px solid #d9b77a;outline-offset:3px}#graphics-status{flex-basis:100%;font-size:11px;line-height:1.7;color:#bcd1d9}.graphics-settings p{flex-basis:100%;font-size:11px;line-height:1.7;margin:0}
