nav{display:flex;gap:8px}nav button{font-size:10px}.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:#020711c9;backdrop-filter:blur(9px);padding:24px;overflow:auto}.modal[hidden],#jumpEffect[hidden]{display:none!important}.auth-card{width:min(510px,100%);background:linear-gradient(135deg,#102839f5,#06101cf5);border:1px solid #5898a466;padding:38px 44px;box-shadow:0 30px 100px #0009}.auth-card h2{font:40px/1.1 Arial;margin:22px 0}.auth-card p{line-height:1.8;color:#8caab9}.auth-card small{display:block;font-size:10px;color:#83a2ad;line-height:1.6}.tabs{display:flex;margin:24px 0 18px}.tabs button{flex:1;border-bottom:2px solid #294a58}.tabs .active{border-bottom-color:#8ae7ce;color:#8ae7ce}.auth-card input{display:block;width:100%;background:#020d18;color:#e3f4f7;border:1px solid #31515f;padding:13px;font:14px Consolas;margin-top:7px;outline:none}.auth-card input:focus{border-color:#8ae7ce}.primary{background:#8ae7ce!important;color:#092028!important;border:0!important;font-weight:bold!important}.auth-card .primary{width:100%;margin-top:23px;padding:15px}#authError{color:#ffad92;min-height:18px;font-size:11px}#authAbout{margin-top:20px;width:100%}.map-shell{width:min(1400px,100%);height:min(850px,92vh);background:#061320;border:1px solid #376274;display:flex;flex-direction:column}.map-header{display:flex;justify-content:space-between;align-items:center;padding:18px 25px;border-bottom:1px solid #284655}.map-header h2{font:25px Arial;margin:8px 0}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:0;flex:1}#map{width:100%;height:100%;min-width:0;min-height:0;background:radial-gradient(ellipse at center,#102334,#030b15)}aside{padding:20px;overflow:auto;border-left:1px solid #284655}aside p{color:#819dac;line-height:1.7}aside h3{font-size:17px;color:#daefee}#objectList{margin-top:20px;display:flex;flex-direction:column;gap:6px}#objectList button{text-align:left;font-size:10px;line-height:1.6}#route{color:#efc37f;line-height:1.8;margin-top:18px;font-size:11px}.about-card{max-width:820px;max-height:90vh;overflow:auto;padding:36px;background:#091c2b;border:1px solid #376274;line-height:1.8;color:#a5bdc8}.about-card h2{font:30px Arial;color:#def3ed}.about-card h3{margin-top:25px;color:#8fe0d1}.about-card a{color:#89d9f4}.about-card>button{float:right}.about-card li{margin-bottom:14px}.dialog{width:min(600px,100%)}#notice{bottom:228px}#targetInfo{font-size:13px;max-width:260px}#jumpEffect{position:fixed;inset:0;background:#030e26;z-index:30;display:grid;place-items:center;overflow:hidden}.tunnel{position:absolute;width:200vmax;height:200vmax;border-radius:50%;background:repeating-conic-gradient(from 0deg,#0a1438 0deg 4deg,#247ba3 5deg,#7af0e9 5.1deg,#0a1438 5.5deg 12deg);animation:tunnelSpin 3s linear infinite;mask-image:radial-gradient(circle,transparent 1%,#000 12%,#000 30%,transparent 65%)}.jump-label{z-index:1;text-align:center;background:#031026a6;padding:32px}.jump-label h2{font:38px Arial;color:#defcff}.jump-label p{color:#8baabe}@keyframes tunnelSpin{from{transform:rotate(0) scale(.7)}to{transform:rotate(75deg) scale(1.5)}}
@media(max-width:850px){header{gap:10px;align-items:flex-start}.brand{font-size:10px;letter-spacing:1px}nav{flex-wrap:wrap;justify-content:flex-end;max-width:220px}nav button{padding:7px;font-size:9px}.map-layout{grid-template-columns:minmax(0,1fr) 190px}.mission{top:115px}.mission h1{font-size:19px}#target{top:190px}.modal{padding:12px}.auth-card{padding:28px}.map-header{padding:12px}.map-header h2{font-size:18px}.radar-panel{width:165px;padding:10px}.radar-panel canvas{width:140px}.telemetry{width:190px;padding:13px}.radar-head{display:block}.bottom{gap:8px}#notice{font-size:10px;bottom:220px}.speed strong{font-size:31px}}
@media(max-width:480px){.radar-panel{display:none}.bottom{right:auto}.telemetry{width:185px}.mission{top:105px}.mission .kills{margin-top:10px}#target{top:185px;right:16px}#targetInfo{font-size:11px;max-width:160px}.auth-card h2{font-size:32px}.map-layout{display:flex;flex-direction:column}#map{flex:1;height:50%;min-height:240px}.map-layout aside{max-height:210px;border-left:0;border-top:1px solid #284655;padding:12px}.map-header{gap:7px}.map-header button{padding:7px;font-size:9px}.map-header h2{font-size:16px}#objectList{display:grid;grid-template-columns:1fr 1fr}.about-card{padding:22px}}

#autopilot{position:fixed;z-index:11;left:50%;top:85px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 24px);padding:13px 18px;background:#082c35f5;border:1px solid #8ae7ce;box-shadow:0 0 24px #56dcca30;color:#8ae7ce}#autopilot[hidden]{display:none}#autopilot strong{letter-spacing:1px}#autopilot span{font-size:10px;color:#badbdc}#autopilot button{border-color:#8ae7ce}@media(max-width:850px){#autopilot{top:85px;gap:7px;padding:10px;font-size:10px}}

#map{touch-action:none;cursor:grab}#map:active{cursor:grabbing}@media(max-width:480px){.bottom{right:12px;left:12px;justify-content:space-between}.radar-panel{display:block;width:112px;padding:5px;align-self:flex-end}.radar-panel canvas{width:100px;height:78px}.radar-head .eyebrow{font-size:8px}.radar-head b{font-size:7px}.telemetry{width:170px}.speed small{font-size:7px}}

#radar{max-width:100%;height:auto;display:block}@media(max-width:480px){.radar-head b{display:block;margin-top:3px}}

#menuText:empty{display:none}.controls-help table{width:100%;border-collapse:collapse;text-align:left}.controls-help th,.controls-help td{padding:9px 12px;border-bottom:1px solid #294756;vertical-align:top}.controls-help th{color:#8ae7ce;white-space:nowrap}.controls-help h2{margin-top:0}.controls-help #controlsClose{float:none;margin-top:16px}@media(max-width:480px){.controls-help th,.controls-help td{padding:7px 5px;font-size:10px}.controls-help th{white-space:normal}}

.pirate-stat{display:flex;align-items:center;gap:12px;margin-top:12px}.pirate-stat strong{font-size:28px;font-weight:400;color:#ff9c8c}.pirate-stat span{font-size:9px;letter-spacing:1px;color:#b9928d}#piratePresence{position:absolute;right:34px;top:225px;font-size:11px;color:#c4a89d;letter-spacing:1px}#piratePresence.hostile{color:#ff7564;text-shadow:0 0 12px #f54b3c}#enemyTarget{position:absolute;top:calc(50% + 48px);left:50%;transform:translateX(-50%);font-size:10px;color:#ffac89;text-align:center;background:#150b09aa;padding:7px 12px}#enemyTarget b{display:block;margin-top:6px;font-size:9px;font-weight:400;color:#f1c2a8}.hull i{background:#75bce0}@media(max-width:850px){#piratePresence{right:18px;top:255px;font-size:9px}.pirate-stat{margin-top:5px}.pirate-stat strong{font-size:22px}.pirate-stat span{font-size:8px}}@media(max-width:480px){#piratePresence{top:255px;right:16px;font-size:8px}.pirate-stat{gap:8px}.pirate-stat strong{font-size:21px}}

#enemyTarget{width:max-content;max-width:calc(100% - 32px)}@media(max-width:480px){#piratePresence{top:280px}}

#threatMarkers{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}#threatMarkers[hidden]{display:none}.threat-marker{position:absolute;transform:translate(-50%,-50%);color:#ff4f48;pointer-events:none}.threat-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--target-size);height:var(--target-size);border:2px solid #ff514b;border-radius:50%;box-shadow:0 0 12px #ff2f3280,inset 0 0 8px #ff2f3226}.threat-ring:after{content:'';position:absolute;inset:-6px;border:1px solid #ff766880;border-radius:50%;clip-path:polygon(0 0,35% 0,35% 15%,15% 15%,15% 35%,0 35%,0 0,100% 0,100% 35%,85% 35%,85% 15%,65% 15%,65% 0,100% 0,100% 100%,65% 100%,65% 85%,85% 85%,85% 65%,100% 65%,100% 100%,0 100%,0 65%,15% 65%,15% 85%,35% 85%,35% 100%,0 100%)}.threat-label{position:absolute;left:50%;top:calc(var(--target-size)/2 + 8px);transform:translateX(-50%);font:10px Consolas,monospace;white-space:nowrap;padding:3px 5px;background:#160807cf;color:#ff9e92;text-shadow:0 1px 2px #000}.threat-arrow{display:none}.threat-marker.offscreen .threat-ring{display:none}.threat-marker.offscreen .threat-arrow{display:block;width:24px;height:24px;transform:rotate(var(--bearing));filter:drop-shadow(0 0 5px #ff3e38)}.threat-arrow:before{content:'';position:absolute;inset:3px 0;background:#ff514b;clip-path:polygon(0 30%,55% 30%,55% 0,100% 50%,55% 100%,55% 70%,0 70%)}.threat-marker.offscreen .threat-label{top:22px;font-size:9px}
/* Ship-relative, interactive inclined radar. */
#radarPanel{pointer-events:auto;width:250px;padding:12px 14px;position:relative}#radarPanel .radar-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px}#radarRange{font:12px Consolas;color:#baffee;white-space:nowrap}#radarPanel .radar-head b{flex-basis:100%;font-size:9px;margin-top:0}.radar-toolbar{display:flex;align-items:center;gap:4px;margin:8px 0 0}.radar-toolbar button{padding:4px 8px;min-width:25px;font-size:11px;line-height:1.2}.radar-toolbar .active{color:#052019;background:#8ae7ce}.radar-toolbar button:disabled{opacity:.35;cursor:default}#radarExpand{margin-left:auto}#radar{width:100%!important;max-width:100%;height:auto;aspect-ratio:300/220;pointer-events:auto;cursor:crosshair;touch-action:none}#radarInfo{white-space:pre-line;min-height:30px;font:10px/1.45 Consolas;color:#9dc3ce;padding:4px 0}#radarClear{padding:4px 8px;font-size:9px;width:100%;margin-top:3px}#radarPanel.expanded{position:fixed;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(850px,calc(100vw - 28px));max-height:94vh;overflow:auto;z-index:12;background:#061725f5;box-shadow:0 0 0 100vmax #010710c9;padding:22px}#radarPanel.expanded #radar{max-height:65vh;aspect-ratio:1.65}#radarPanel.expanded #radarInfo{font-size:13px;min-height:40px}#radarPanel.expanded .radar-toolbar button{font-size:14px;padding:8px 13px}.radar-world-target{position:absolute;z-index:4;pointer-events:none}.radar-world-target[hidden]{display:none}.radar-world-target .threat-ring{border-color:#8affe0;border-style:dashed;box-shadow:0 0 12px #55ffd65c}.radar-world-target .threat-ring:after{border-color:#8affe0}.radar-world-target .threat-arrow:before{background:#8affe0}.radar-world-target .threat-arrow{filter:drop-shadow(0 0 5px #69ffd2)}.radar-world-target .threat-label{color:#b3ffe8;background:#031c19df;max-width:230px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:850px){#radarPanel{width:205px;padding:8px 10px}#radarInfo{font-size:9px}.radar-toolbar button{padding:4px 6px;font-size:10px}}
@media(max-width:480px){.bottom{left:12px;right:12px;gap:8px}.telemetry{width:128px;padding:10px}.speed{gap:4px}.speed strong{font-size:25px}.speed span{font-size:8px}.speed small{font-size:6px;max-width:42px;margin-left:0}#radarPanel{width:155px;padding:6px;flex-shrink:0}.radar-toolbar{gap:3px;margin-top:6px}.radar-toolbar button{font-size:9px;padding:4px 5px;min-width:22px}#radarRange{font-size:10px}#radarInfo{font-size:8px;min-height:32px}#radarPanel .radar-head b{font-size:7px}#radarPanel.expanded{width:calc(100vw - 20px);padding:14px}#radarPanel.expanded #radar{aspect-ratio:1.3;max-height:58vh}}

.faction-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.faction-card{padding:24px;border:1px solid currentColor;background:#0c1b2e}.faction-card strong{display:block;font-size:64px;line-height:1.3}.faction-card small{display:block}.empire{color:#508cff}.republic{color:#55df88}.war-settings{max-height:90vh;overflow:auto}.war-settings h2{font-size:32px}.war-settings .hostile{color:#ff5547}#factionStatus{font:11px Consolas;letter-spacing:2px}@media(max-width:540px){.faction-cards{gap:8px}.faction-card{padding:12px}.faction-card strong{font-size:44px}.faction-card span,.faction-card small{font-size:10px}}

#weaponHud{position:absolute;inset:0;pointer-events:none;overflow:hidden}#weaponSector{position:absolute;inset:0;width:100%;height:100%}#weaponCone{stroke:#68e7d0;stroke-width:1;stroke-dasharray:5 8}#weaponReticle{position:absolute;width:36px;height:36px;transform:translate(-50%,-50%);color:#8ff8e5;display:grid;place-items:center;filter:drop-shadow(0 0 3px #063d36)}#weaponReticle i{position:absolute;inset:2px;border:1px solid currentColor;border-radius:50%}#weaponReticle b{font:18px Consolas}#weaponReticle span{position:absolute;top:40px;width:200px;text-align:center;font:9px Consolas;letter-spacing:1px;text-shadow:0 1px 3px #000}#weaponReticle.locked{color:#ffcd6b}#weaponReticle.locked i{border:2px solid currentColor}#weaponReticle.limited{color:#ff9c6e}#weaponMode{position:absolute;bottom:215px;width:100%;text-align:center;color:#8ebfb8;font:9px Consolas;letter-spacing:1px}@media(max-width:480px){#weaponMode{bottom:235px;font-size:8px}}

.reticle[hidden]{display:none!important}

.weapon-capture #space{cursor:none}.weapon-capture #hud button,.weapon-capture #radarPanel{pointer-events:none!important}
/* Combat instruments remain separate from camera aiming and the navigation radar. */
#combatOverlay{position:fixed;inset:0;pointer-events:none;z-index:6}#selectedMarker{position:absolute;transform:translate(-50%,-50%);width:52px;height:52px;border:2px solid #ffe59a;border-radius:8px;box-shadow:0 0 12px #ffe59a30}#selectedMarker span{position:absolute;top:-20px;width:90px;left:-19px;text-align:center;color:#ffe59a;font-size:10px;letter-spacing:2px}#selectedMarker.offscreen{width:22px;height:22px;border:0;box-shadow:none}#selectedMarker.offscreen i{display:block;width:16px;height:16px;border-top:3px solid #ffe59a;border-right:3px solid #ffe59a;transform:rotate(calc(var(--bearing) + 45deg))}#leadMarker{position:absolute;transform:translate(-50%,-50%);color:#9affde;font-size:29px;text-shadow:0 0 8px #000}#leadMarker small{position:absolute;left:50%;top:32px;transform:translateX(-50%);font-size:8px;letter-spacing:1px}#leadMarker.inactive{color:#8a94a8;opacity:.6}#hitConfirm{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);font-size:32px;color:#ffb68d}#hitConfirm.shield{color:#7bdcff}#damageFlash{position:absolute;inset:0;box-shadow:inset 0 0 70px #54aaff70}#damageFlash.hull{box-shadow:inset 0 0 90px #ff4e4060}#damageDirections{position:absolute;left:50%;top:50%}#damageDirections i{position:absolute;width:28px;height:7px;background:#ff795b;border-radius:3px}#missileWarning{position:absolute;left:50%;top:20%;transform:translateX(-50%);color:#ffd0be;background:#5e191bdd;border:1px solid #ff866e;padding:10px 20px;text-align:center;letter-spacing:1px;font-size:12px;max-width:80vw}#combatControls{position:fixed;left:50%;bottom:65px;transform:translateX(-50%);text-align:center;z-index:8;max-width:calc(100vw - 40px);color:#94afc1;font:10px/1.8 monospace;pointer-events:auto}.combat-buttons{display:flex;gap:4px;justify-content:center;margin-bottom:7px}.combat-buttons button{font-size:10px;padding:5px 8px;white-space:nowrap;background:#07121ede}.combat-buttons button:disabled{opacity:.45}.ready{color:#8eeed4!important}.lock-track{height:3px;width:170px;margin:4px auto;background:#31505b}#lockBar{display:block;height:100%;width:0;background:#88e1c9}.bar.boost i{background:#8ee0e6}#maneuverStatus{display:block;color:#7591a5;font:9px monospace;letter-spacing:.4px;margin:6px 0 12px}#maneuverStatus.sweet{color:#9cf1c7}@media(max-width:900px){#combatControls{bottom:245px;width:350px}.combat-buttons{flex-wrap:wrap}#enemyTarget{top:100px;max-width:55vw;font-size:10px}#missileWarning{top:28%;font-size:10px;padding:6px 10px}.telemetry .bar{height:3px}}

#targetCourse{position:absolute;left:26px;top:16px;transform-origin:0 50%;color:#a7e8ed;font-size:19px;font-weight:400;padding-left:20px;line-height:18px;text-shadow:0 0 4px #000}#selectedMarker.offscreen #targetCourse{display:none}

#mouseStickGuide{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}#mouseStickLine{stroke:#8fe5d0;stroke-width:1;stroke-dasharray:3 5;opacity:.32}#mouseStickCenter{stroke:#8fe5d0;stroke-width:1;fill:none;opacity:.55}#mouseStickHandle{stroke:#a6ffe7;stroke-width:1;fill:#062c2c;opacity:.65}

#mouseStickGuide svg{display:block;width:100%;height:100%}
/* Live system contacts occupy the space between the navigation hint and radar. */
#shipContacts{position:fixed;z-index:7;pointer-events:auto;padding:10px 11px 9px;display:flex;flex-direction:column;min-height:120px;overflow:hidden;background:#071523ed;backdrop-filter:blur(8px)}.ship-contact-head{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:5px}.ship-contact-head .eyebrow{font-size:9px;letter-spacing:1px}#shipContactCount{color:#bcf6df;font-size:10px}#shipContactCursor{display:block;color:#e3bd81;font-size:9px;margin-bottom:4px}.ship-contact-columns,.ship-contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr) auto;gap:5px;align-items:center}.ship-contact-columns{font-size:8px;color:#7e9da9;padding:3px 4px 6px;border-bottom:1px solid #294652}#shipContactList{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:30px;scrollbar-width:thin;scrollbar-color:#48747d #0b1e29}.ship-contact{width:100%;padding:7px 4px;border:0;border-bottom:1px solid #24404a77;background:transparent;text-align:left;font-size:10px;line-height:1.3;color:#d2eaf0}.ship-contact span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-distance{text-align:right;color:#a6c8cf;font-size:9px}.ship-contact:hover{background:#163844}.ship-contact.selected{background:#214c52;box-shadow:inset 2px 0 #8ce9ce}.ship-contact.following .contact-type:before{content:'➜ ';color:#9affdf}.ship-contact:focus-visible{outline:1px solid #9ceacf;outline-offset:-2px}#shipContactEmpty{color:#7f9eaa;font-size:10px;margin:8px 0}.ship-contact-footer{padding-top:7px;border-top:1px solid #31505d;margin-top:4px}#shipContactSelection{font-size:9px;line-height:1.3;color:#a9c9cb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.ship-contact-actions{display:flex;gap:5px}.ship-contact-actions button{font-size:9px;padding:6px 4px;flex:1;min-width:0}.ship-contact-actions button:disabled{opacity:.45;cursor:default}#shipFollowStop{flex:0 0 42px;border-color:#b77c67;color:#ffbf9d}@media(max-width:850px){#shipContacts{padding:7px}.ship-contact-head .eyebrow{font-size:8px;letter-spacing:.4px}.ship-contact-columns{font-size:7px}.ship-contact{font-size:9px;padding:6px 3px;gap:3px}.contact-distance{font-size:8px}.ship-contact-actions button{font-size:8px}#shipFollowStop{flex-basis:32px}}@media(max-width:480px){#shipContacts{padding:6px}.ship-contact-head .eyebrow{font-size:7px}.ship-contact-columns{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) auto;font-size:6px;padding-left:2px;padding-right:2px;gap:2px}.ship-contact{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) auto;font-size:8px;gap:2px}.contact-distance{font-size:7px}#shipContactSelection{font-size:8px}.ship-contact-actions{flex-wrap:wrap}#shipFollowStop{flex:1 0 100%}}
#shipContacts[hidden],#shipContacts [hidden]{display:none!important}
