@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=Barlow:wght@400;500;600&display=swap');
:root{color-scheme:dark;--amber:#efad69;--lilac:#b8a9e9;--blue:#87c6f5;--ink:#060b15;--muted:#a5b3c7;--line:#9bb3d42b;--left:208px;--right:210px;--edge:16px;--console:124px;--command-bottom:154px}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:#edf4ff;font-family:Barlow,Arial,sans-serif}button,input,select{font:inherit}button{border:1px solid #72869e50;background:#182337;color:inherit;border-radius:5px;padding:9px 10px;cursor:pointer;transition:background .15s}button:hover{background:#2b3c54}button:active{filter:brightness(1.2)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid white;outline-offset:3px}button:disabled{opacity:.42;cursor:not-allowed}kbd{font:10px Barlow,sans-serif;opacity:.7;padding:1px 3px;border:1px solid currentColor;border-radius:3px;margin-left:4px}[hidden]{display:none!important}select{background:#17283c;border:1px solid #617b974a;border-radius:4px;padding:6px;color:#e3edfa;min-width:0}
#sim{position:relative;height:100dvh;min-height:650px;overflow:hidden}#space,.vignette,#damageFlash,#labels{position:absolute;inset:0}#space canvas{display:block;touch-action:none}.vignette{pointer-events:none;background:linear-gradient(180deg,#02050ca8,transparent 32%,transparent 65%,#03060ddb)}#damageFlash{pointer-events:none;box-shadow:inset 0 0 130px #f34345;opacity:0}#labels{pointer-events:none;overflow:hidden}.world-label{position:absolute;left:0;top:0;transform:translate(-50%,0);pointer-events:auto;font-size:11px;padding:5px 9px;background:#07111dc9;border:1px solid #91c8f04d;white-space:nowrap;color:#bfe9ff;max-width:200px;overflow:hidden;text-overflow:ellipsis}.world-label.hostile{border-color:#ff87659c;color:#ffc6ad}.world-label.selected{background:#2c221ee6;border-color:#ffbd81}.world-label::before{content:'';position:absolute;height:7px;width:1px;background:#9cc7e580;bottom:100%;left:50%}
header{position:absolute;left:var(--edge);right:var(--edge);top:10px;height:88px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;z-index:3;pointer-events:none}.identity{display:flex;align-items:center;gap:7px;width:var(--left);min-width:0}.identity>div{min-width:0}.identity .eyebrow{letter-spacing:1.3px;margin-bottom:4px}.delta{display:block;width:36px;height:44px;flex:0 0 36px;filter:drop-shadow(0 1px 1px #0008)}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:600;color:var(--muted);margin:0 0 8px}h1{font:500 29px 'Barlow Condensed',Arial,sans-serif;line-height:1.05;letter-spacing:.7px;margin:0}h1 span{font:11px Barlow,sans-serif;color:var(--amber);letter-spacing:2px;margin:3px 0 0;display:block}.header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;align-items:center;width:var(--right);pointer-events:auto}.header-actions button{font-size:12px;background:#101929bb;height:28px;padding:4px 7px}.header-actions kbd{display:none}#sound[aria-pressed=true]{background:#a8d8ed;color:#0a2130;border-color:#c5ecff}#sound[aria-pressed=false]{background:#101929bb;color:#a5b3c7}.scorebox{flex-basis:100%;display:flex;justify-content:flex-end;align-items:center;gap:8px;height:27px;margin:0 0 2px;text-align:right}.scorebox small{display:block;font-size:9px;letter-spacing:1.5px;color:var(--muted)}.scorebox b{font:500 25px 'Barlow Condensed',sans-serif;letter-spacing:3px;font-variant-numeric:tabular-nums}h2{font:500 28px 'Barlow Condensed',Arial,sans-serif;margin:0}
/* Fixed geometry: changing notices, selections and ranges never move the controls. */
.alert-banner{position:absolute;top:108px;left:var(--edge);width:var(--left);height:42px;display:flex;flex-direction:column;justify-content:center;gap:4px;border:1px solid #769eb73b;background:#0b1829d9;padding:5px 8px;border-radius:5px;pointer-events:none}.alert-banner strong{font-size:11px;letter-spacing:2px;color:#a7c9de}.alert-banner span{font-size:10px;color:#9fb5cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.red-alert .alert-banner{border-color:#f4726594;background:#501b20e6}.red-alert .alert-banner strong{color:#ffb4a4}.red-alert .alert-banner span{color:#ffcabb}.mission{position:absolute;top:164px;left:var(--edge);width:var(--left);border-left:3px solid var(--amber);padding-left:8px;pointer-events:none}.mission .eyebrow{color:var(--amber);height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mission h2{height:33px;font-size:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#message{font-size:13px;line-height:19px;color:#bac9dc;height:76px;overflow:hidden;margin:0 0 6px;pointer-events:auto}.mission-badges{height:26px;display:flex;gap:4px;font-size:10px;color:#d5e4f7;white-space:nowrap}.mission-badges span{height:24px;background:#142136d9;padding:4px 5px;border:1px solid var(--line);border-radius:3px}.ship-status{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:8px}.ship-status label{display:flex;justify-content:space-between;font-size:12px;color:#c4d3e4}.ship-status b{font-weight:500;color:var(--blue);font-variant-numeric:tabular-nums}.meter{height:4px;background:#39465a;margin-top:7px}.meter i{height:100%;display:block;background:var(--blue);width:100%}.meter.hull i{background:var(--lilac)}.shield-controls{pointer-events:auto;margin-top:10px;padding:7px;background:#0b182ae8;border:1px solid #6ba7d33b;border-radius:6px}.shield-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.8px;color:#9fb5d0;margin-bottom:6px}.shield-heading strong{color:#9dd6ff}.shield-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.shield-modes button{padding:5px;font-size:12px}.shield-modes button.active{background:#95c6ed;color:#0d1b2c}#shieldBoost{display:block;text-align:left;width:100%;font-size:11px;padding:6px 0 0;background:transparent;border:0;color:#c9dceb}#shieldBoost small{display:block;margin-top:2px;font-size:9px;color:#93a6bf}
.target-console{position:absolute;top:10px;left:calc(var(--edge) + var(--left) + 14px);right:calc(var(--edge) + var(--right) + 14px);height:144px;z-index:3;background:#0a1523ed;border:1px solid #68839e55;border-top:3px solid var(--amber);border-radius:6px;padding:7px 10px;display:grid;grid-template-rows:60px 28px 28px;gap:4px}.target-summary{min-width:0;overflow:hidden}.target-heading{height:23px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}.target-heading .eyebrow{color:var(--amber);font-size:10px;margin:0;white-space:nowrap}#targetRange{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;font-variant-numeric:tabular-nums}#targetName{display:block;min-width:0;height:23px;font-size:18px;line-height:23px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health{height:2px;background:#364154;margin:2px 0 1px}.health i{display:block;background:var(--amber);height:100%;width:100%}#targetHint{margin:0;height:32px;font-size:12px;line-height:16px;color:#bbccdf;overflow:hidden}.target-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:28px;gap:4px}.target-actions button{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:3px 5px}#transport{color:#abe6ff}.target-actions button[aria-pressed=true]{border-color:#a3d9ff;background:#345670}.tractor-controls{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.tractor-heading{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;font-size:9px;letter-spacing:1px;color:#84d2f2}.tractor-heading strong{font-size:10px;font-weight:500;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tractor-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.tractor-actions button{height:28px;font-size:12px;padding:3px 5px;overflow:hidden;text-overflow:ellipsis}.tractor-actions button[aria-pressed=true]{background:#2d7185;border-color:#7ddcff}
.sensors{position:absolute;top:108px;bottom:84px;right:var(--edge);width:var(--right);z-index:2;padding-left:7px;border-left:1px solid var(--line);background:linear-gradient(90deg,transparent,#07101ba8);display:flex;flex-direction:column;overflow:hidden}.sensor-title{height:19px;flex:none;display:flex;justify-content:space-between;align-items:center}.sensor-title button{font-size:18px;padding:0 7px;background:transparent;border:0}.sensor-title .eyebrow{font-size:10px;margin:0;letter-spacing:1px}#sensorBody{min-height:0;display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable}.sensor-help{font-size:10px;line-height:14px;color:#acbcd0;margin:3px 0 5px;flex:none}.auto-target{width:100%;display:flex;align-items:center;gap:7px;font-size:12px;text-align:left;padding:7px 9px;background:#21354b;border-color:#a6c7dd3b;height:28px;flex:none}.auto-target strong{font-size:11px;margin-left:auto;color:#a8e3ff;letter-spacing:1px}.auto-target[aria-pressed=false]{background:#151d2a;color:#9faabc}.contact-filter{display:flex;margin:5px 0 4px;gap:4px;flex:none}.contact-filter button{flex:1;font-size:11px;padding:4px;background:#102038b0;border:0;color:var(--muted)}.contact-filter button.active{background:#314565;color:#edf5ff}#contacts{min-height:120px;flex:none;overflow:visible}.contact{display:grid;grid-template-columns:6px minmax(0,1fr) max-content;gap:4px;align-items:center;width:100%;height:auto;min-height:31px;text-align:left;padding:5px 2px;background:transparent;border:0;border-left:2px solid transparent;border-bottom:1px solid #98b5e014;border-radius:0;font-size:12px;touch-action:manipulation}.contact.selected{background:#89613b35;border-left-color:#a4dcff}.contact .pip{height:5px;width:5px;transform:rotate(45deg);background:#7bbfeb}.contact.enemy .pip{background:#ffa16f}.contact small{font-size:10px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.contact>span:nth-child(2){overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.contact.attacking{background:#662f2799}.contact.attacking small{color:#ffc39e;font-size:8px}.contact.selected .pip{background:#cef0ff}.contact.selected.enemy .pip{background:#ffd6b4;box-shadow:0 0 8px #ff936580}.touch-helm{display:none}#routeMarker{position:absolute;z-index:2;transform:translate(-50%,-50%);border:0;background:#081523b0;color:#8ad9ee;font-size:10px;letter-spacing:1px;padding:6px 9px;max-width:190px}
#warpLabel{position:absolute;top:42%;left:50%;transform:translateX(-50%);text-align:center;opacity:0;pointer-events:none;white-space:nowrap}#warpLabel>span{font-size:12px;letter-spacing:5px;color:#b8d7ff}#warpLabel>strong{display:block;font:400 72px 'Barlow Condensed',sans-serif;letter-spacing:12px}#warpLabel b{font-weight:400}#warpLabel p{font-size:14px;letter-spacing:3px;color:#b6d4f3;margin:3px 0 11px}#warpLabel small{font-size:12px;color:#a6bdd6}.warping #warpLabel{opacity:1}.warping .sensors{opacity:.3}.warping #labels{display:none}.warp-flare{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at center,#c7eeff77,transparent 65%);opacity:0}.warping .warp-flare{animation:warp-entry 1.1s ease-out}@keyframes warp-entry{0%{opacity:0}18%{opacity:1}100%{opacity:0}}#scanLabel{position:absolute;left:50%;top:48%;transform:translateX(-50%);font-size:16px;letter-spacing:3px;color:#98e5ff;padding:16px;border:1px solid #83d1ff66;background:#101e36cc;pointer-events:none}#reticle{display:none;position:absolute;left:50%;top:48%;font:32px Arial;color:#b2ddfa70;pointer-events:none}.forward #reticle{display:block}
#transportPanel{position:absolute;z-index:4;left:50%;top:29%;transform:translateX(-50%);width:min(560px,92vw);padding:16px 18px;background:linear-gradient(150deg,#10293bf5,#050f1cf8 58%,#14273bf8);border:1px solid #84d6ff80;border-top:3px solid #a8edff;border-radius:12px;box-shadow:0 14px 70px #0009,0 0 34px #3191bf35,inset 0 1px 25px #75c9fa0c;pointer-events:none}
.transport-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;letter-spacing:1.5px;color:#a1c3d5}.transport-heading b{font-size:14px;letter-spacing:.7px;color:#e3faff;text-shadow:0 0 14px #74dfff77}#transportSubject{color:#e0eff5;font-size:17px;text-align:center;margin:12px 0 0}#transportView canvas{display:block;width:100%;height:auto}.transport-endpoints{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);align-items:center;gap:10px}.transport-endpoints div{display:flex;flex-direction:column;gap:4px;min-width:0;text-align:center}.transport-endpoints small{font-size:12px;letter-spacing:1.5px;color:#93acbc}.transport-endpoints span{font-size:14px;line-height:1.35;color:#c9edff;overflow-wrap:anywhere}.transport-endpoints div:first-child span{color:#f2d5a5}.transport-link{text-align:center}.transport-meter{height:5px;border-radius:4px;background:#294155;margin:16px 0 9px;overflow:hidden}.transport-meter i{height:100%;width:0;display:block;background:linear-gradient(90deg,#ddb778,#9ceaff 65%,#e9ffff);box-shadow:0 0 14px #a2f0ff;transition:width .1s linear}.transport-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;font-size:14px;color:#92a8ba;text-align:center}.transport-stages span[data-state="active"]{color:#e6faff;text-shadow:0 0 9px #80dcff}.transport-stages span[data-state="done"]{color:#9bd4d5}.transport-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;border-top:1px solid #82b9d329;padding-top:10px;font-size:14px;line-height:1.4;color:#a5c9dd}.transport-footer b{font-variant-numeric:tabular-nums;color:#ddfaff}#transportPanel[data-status="complete"]{border-color:#9ce3cd}#transportPanel[data-status="interrupted"]{border-color:#e1ad78}#transportPanel[data-status="interrupted"] .transport-heading b{color:#f5c791}
@media(max-width:700px){#transportPanel{top:35%;padding:12px}.transport-heading{font-size:12px;letter-spacing:.3px;flex-wrap:wrap}.transport-heading b{font-size:14px}.transport-stages{font-size:14px;gap:1px;overflow-wrap:anywhere}.transport-footer{font-size:14px}.transport-endpoints{gap:4px}}
@media(prefers-reduced-motion:reduce){.transport-meter i{transition:none}}

dialog{color:#edf4ff;background:#101c2e;border:1px solid #8a9dbd;border-top:4px solid var(--amber);border-radius:10px;padding:26px;width:550px;max-width:calc(100% - 28px);max-height:calc(100dvh - 50px);overflow:auto;box-shadow:0 25px 100px #000}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}dialog p{font-size:14px;line-height:1.6;color:#c0cde0}dialog dl{display:grid;grid-template-columns:1fr 1.1fr;gap:12px;font-size:14px}dialog dt{color:var(--amber)}dialog dd{margin:0}dialog>button{width:100%;background:var(--lilac);color:#13192b}#error,#pause,#gameover{position:absolute;top:40%;left:50%;transform:translateX(-50%);padding:30px;background:#101d31f5;border:1px solid #829dbd;border-top:4px solid var(--amber);border-radius:10px;z-index:6;max-width:90%;text-align:center;min-width:320px}#gameover button,#pause button{background:var(--lilac);color:#121528}#gameover p,#pause p{font-size:16px;color:#bacde3}

@media(max-width:1200px){:root{--left:194px;--right:194px;--edge:12px}.identity .delta{display:none}.target-heading{grid-template-columns:minmax(0,1fr) auto}.target-heading .eyebrow{display:none}.target-actions kbd{display:none}.tractor-controls{grid-template-columns:155px minmax(0,1fr)}}
@media(max-width:1000px) and (min-width:701px){:root{--left:178px;--right:182px;--console:142px}.identity .eyebrow{letter-spacing:.5px}.header-actions{gap:3px}.header-actions button{padding:4px 5px}.mission-badges{gap:2px}.mission-badges span{padding:4px 2px}.mission h2{font-size:27px}.shield-heading{letter-spacing:0}.shield-modes button{padding:5px 3px}.sensor-title .eyebrow{letter-spacing:.4px}.sensors{padding-left:5px}.contact{grid-template-columns:5px minmax(0,1fr) max-content;gap:3px}.target-console{left:calc(var(--edge) + var(--left) + 10px);right:calc(var(--edge) + var(--right) + 10px)}#targetRange{max-width:190px}.tractor-controls{grid-template-columns:125px minmax(0,1fr);gap:4px}.tractor-heading strong{white-space:normal;line-height:10px}}
@media(max-width:850px) and (min-width:701px){:root{--command-bottom:184px}.target-console{height:174px;grid-template-rows:60px 58px 28px}.target-actions{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:27px 27px}.target-heading{grid-template-columns:minmax(0,1fr) 130px}#targetRange{max-width:130px}.tractor-controls{grid-template-columns:95px minmax(0,1fr)}.tractor-heading{letter-spacing:0}.tractor-actions{gap:2px}.tractor-actions button{padding:3px 1px}.contact small{display:none}.contact{grid-template-columns:5px minmax(0,1fr)}}
@media(max-width:700px){:root{--console:218px;--edge:10px;--command-bottom:243px}#sim{min-height:920px}header{height:52px;top:8px}.identity{width:185px;gap:5px}.identity .delta{display:none}.identity .eyebrow{font-size:9px;letter-spacing:.7px;margin-bottom:2px}h1{font-size:24px}h1 span{font-size:10px;letter-spacing:1px;margin:1px 0 0}.header-actions{width:150px;gap:3px}.scorebox{height:19px;margin:0}.scorebox small{font-size:9px}.scorebox b{font-size:19px}.header-actions button{height:26px;font-size:11px;padding:3px 5px}.header-actions kbd,#fullscreen{display:none}.target-console{top:69px;left:10px;right:10px;height:174px;padding:7px 8px;grid-template-rows:60px 58px 28px}.target-heading{grid-template-columns:minmax(0,1fr) 145px}#targetName{font-size:18px}#targetRange{max-width:145px}.target-heading .eyebrow{display:none}.target-actions{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:27px 27px}.target-actions kbd{display:none}.tractor-controls{grid-template-columns:105px minmax(0,1fr);gap:4px}.tractor-heading{letter-spacing:0}.tractor-heading strong{white-space:normal;line-height:10px}.tractor-actions{gap:3px}.tractor-actions button{padding:3px 1px;font-size:12px}.alert-banner{top:255px;width:calc(50% - 18px);height:38px;padding:4px 6px}.alert-banner strong{font-size:10px;letter-spacing:1px}.alert-banner span{font-size:9px}.mission{top:303px;width:calc(50% - 18px);padding-left:6px}.mission .eyebrow{font-size:10px;letter-spacing:.5px}.mission h2{font-size:24px;height:30px}#message{font-size:12px;line-height:17px;height:68px;margin-bottom:4px}.mission-badges{gap:3px;height:48px;flex-direction:column}.mission-badges span{width:max-content;height:22px;padding:3px 4px}.ship-status{gap:7px;margin-top:6px}.ship-status label{font-size:11px}.shield-controls{padding:5px;margin-top:8px}.shield-heading{letter-spacing:0;font-size:8px}.shield-modes button{font-size:12px;padding:4px 1px}#shieldBoost{font-size:11px}#shieldBoost small{font-size:9px}.sensors{top:255px;bottom:112px;width:calc(50% - 18px);padding-left:5px}.sensor-title .eyebrow{font-size:10px;letter-spacing:0}.sensor-help{font-size:10px}.auto-target{font-size:12px}.auto-target kbd{display:none}.contact{grid-template-columns:5px minmax(0,1fr);font-size:12px}.contact small{display:none}.contact-filter button{font-size:11px;padding:4px 2px}.touch-helm{position:absolute;bottom:calc(var(--console) + 66px);left:90px;display:grid;grid-template-columns:repeat(3,28px);grid-template-rows:28px 28px;gap:3px}.touch-helm button{padding:0;touch-action:none;background:#102236cc;font-size:12px}.touch-helm button:first-child{grid-column:2}.touch-helm button:nth-child(2){grid-column:1}.world-label{font-size:11px;max-width:160px}#transportPanel{top:35%;width:94vw}#warpLabel{top:50%}#warpLabel>strong{font-size:50px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.warp-flare{animation:none!important}}

/* Dossiers reuse the contact heading; no additional permanent viewscreen panel. */
#targetName.contact-info{position:relative;width:100%;padding:0 20px 0 0;text-align:left;border:0;border-radius:2px;background:transparent;color:inherit;font:600 18px/23px Barlow,Arial,sans-serif;overflow:hidden;text-overflow:ellipsis}#targetName.contact-info::after{content:'ⓘ';position:absolute;right:1px;top:0;font-size:14px;color:var(--blue)}#targetName.contact-info:hover{color:#bfe6ff;background:#20344b55}.tractor-actions button.recommended{border-color:#81ccde;color:#c3f3ff}#dossierPanel{width:640px}#dossierPanel h2{font-size:28px}#dossierClass{margin-top:5px;color:#9bd5f6}#dossierPanel dl{grid-template-columns:145px minmax(0,1fr);font-size:14px;line-height:1.45;gap:10px 15px}#dossierPanel dd{overflow-wrap:anywhere}.dossier-reading{padding:12px;background:#192e42;border-left:3px solid #88d2ef}.dossier-reading>span{font-size:11px;letter-spacing:1px;color:#b8e2fb}.dossier-reading p{margin:5px 0 0}#dossierPanel h3{font-size:16px;font-weight:600;margin:20px 0 8px}#dossierPanel .dossier-notes{font-size:12px;line-height:1.4;color:#9aafc3}@media(max-width:480px){#dossierPanel dl{grid-template-columns:110px minmax(0,1fr);gap:8px}}

.dossier-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;background:#101c2e}.dossier-bar .eyebrow{margin:0}.dossier-bar button{flex:none;padding:6px 10px;font-size:14px}#cargoPanel{width:660px}#cargoPanel h2{font-size:28px;margin:8px 0 12px}.cargo-totals{display:flex;justify-content:space-between;gap:12px;font-size:16px;margin-bottom:8px;color:#9ce2d0}#cargoMessage{min-height:44px;font-size:14px;line-height:1.5;color:#c2d6e6;margin:12px 0}.logistics-section{border-top:1px solid #819dbd35;padding:12px 0}.logistics-section h3{font-size:15px;margin:0 0 6px;color:#ebbc83}.logistics-section p{font-size:13px;line-height:1.5;margin:6px 0 10px;color:#abc2d4}.logistics-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.logistics-actions button,.upgrade-row button,#cargoOutpost{font-size:14px;padding:7px 10px}#cargoOutpost{margin-top:8px;width:100%}.upgrade-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:10px}.upgrade-row strong{display:block;font-size:14px}.upgrade-row span{display:block;font-size:12px;color:#aec5d8;margin-top:3px}.upgrade-row button{flex:none;min-width:122px}#cargoPanel .dossier-notes{font-size:12px;line-height:1.45;color:#9aafc3}@media(max-width:700px){.cargo-totals{font-size:14px}.upgrade-row button{min-width:105px;padding:6px}.logistics-actions button{padding:7px 5px;font-size:13px}}#faceTarget[aria-pressed=true]{background:#29465b;border-color:#8bcfeb;color:#d6f4ff}.resource-log{padding-left:20px;margin:0;max-height:190px;overflow-y:auto;color:#bed4e2;font-size:13px;line-height:1.5}.resource-log li{padding:4px 0;border-bottom:1px solid #819dbd20}

.proximity-readout{height:65px;margin:0 0 8px;padding:6px 8px;border-left:2px solid #89cafa;background:#0c1c2bcc;display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:16px;overflow:hidden}.proximity-readout strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proximity-readout span{font-variant-numeric:tabular-nums}.proximity-readout span:last-child{color:#a7c8dd}.target-actions{grid-template-columns:repeat(7,minmax(0,1fr))}#hail.incoming{border-color:#9fd7ed;color:#b5f0ff;background:#1a364a}.log-actions{display:flex;gap:8px}#flightLogStatus{font-size:13px;color:#a6c2d6}#commsPanel{width:750px}#commsPanel h2{font-size:28px;margin:12px 0}#commsPanel h3{font-size:17px;margin:12px 0 8px}#commsPanel label{font-size:14px;display:block;margin-bottom:5px}#commsPanel select{width:100%;font-size:15px;padding:7px}.channel-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:15px}.channel-header span{color:#90ccea;font-size:14px}#commsBrief{font-size:16px;line-height:1.55;margin:12px 0}.encounter-objective{border-left:3px solid #eeb56e;padding:9px 12px;background:#162638;display:flex;flex-direction:column;gap:5px;font-size:15px;margin-bottom:10px}.encounter-objective span{color:#b9d8ed}.comms-actions{display:flex;flex-wrap:wrap;gap:7px}.comms-actions button{font-size:14px;padding:8px 11px;flex:1;min-width:125px}.fleet-orders{border-top:1px solid #8ea5be55;margin-top:16px;padding-top:3px}.fleet-orders select{margin-bottom:9px}#fleetOrderHint{font-size:13px;color:#a8d4e7;min-height:20px}#commsTranscript{max-height:165px;overflow-y:auto;border-top:1px solid #8ea5be44}#commsTranscript p{font-size:14px;line-height:1.5;margin:10px 0}#commsTranscript strong{color:#eab980}.fleet-orders button:first-child{border-color:#e7ae6d}@media(max-width:850px){.target-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.proximity-readout{height:62px;padding:5px;font-size:12px}.proximity-readout strong{font-size:13px}}

.contact.priority .pip{color:#f5ce7d}.contact.priority{border-left:2px solid #d99f59}@media(max-height:800px) and (min-width:701px){#message{height:38px}.mission h2{margin:8px 0}.mission .eyebrow{margin-bottom:6px}.proximity-readout{height:58px}.shield-controls{margin-top:6px}}

/* Keep new fleet controls inside the sensor rail; the viewscreen stays full size. */
.fleet-strip{flex:none;margin:6px 0 2px;border-top:1px solid #a5c7de33;padding-top:6px}.fleet-buttons{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:4px}.fleet-buttons button{padding:5px 3px;font-size:12px;height:30px;white-space:nowrap}.fleet-buttons button[aria-pressed=true]{background:#653c2c;border-color:#ffc18a}#fleetStatus{height:34px;font-size:12px;line-height:16px;margin:4px 0 0;color:#aad3e7;overflow:hidden;font-variant-numeric:tabular-nums}#orbitPanel{width:580px}.orbit-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.orbit-choices button{font-size:16px;padding:12px 8px}.orbit-choices button[aria-pressed=true]{background:#746299;border-color:#c5b3f5}#commsPanel{width:760px}.channel-guide{padding:9px 12px;border-left:3px solid #88cce9;background:#182b3e;font-size:14px!important;line-height:1.5!important}#commsNextStep{color:#e9c695}#fleetRoster p{margin:6px 0;font-size:13px;line-height:1.5}#fleetRoster strong{color:#acdcf2}#commsPanel details{margin-top:14px}dialog summary{cursor:pointer;font-size:16px;font-weight:600;color:#e5c399;padding:10px 0}dialog details{border-top:1px solid #8ea5be44;margin:12px 0}#helpPanel{width:760px}#helpPanel p{font-size:15px;line-height:1.55}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.guide-grid>div{background:#172a3e;border:1px solid #6789a344;border-radius:6px;padding:12px}.guide-grid strong{font-size:16px;color:#b8dcf3}.guide-grid p{margin:6px 0 0}#commsPanel .dossier-bar,#helpPanel .dossier-bar,#orbitPanel .dossier-bar{top:-26px;padding:10px 0}.contact.ally[title]{cursor:pointer}@media(max-width:700px){.guide-grid{grid-template-columns:1fr}.orbit-choices{grid-template-columns:1fr}.fleet-buttons{grid-template-columns:1fr 51px}.fleet-buttons button{font-size:11px}#fleetStatus{font-size:11px}}

.tractor-actions{grid-template-columns:repeat(3,minmax(0,.8fr)) .7fr 1.2fr}.tractor-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#tractorTow[aria-pressed=true]{background:#245d59;border-color:#8ffff0}#towOutpost{color:#9df2df}
@media(max-width:1000px){.tractor-controls{grid-template-columns:1fr}.tractor-heading{display:flex;gap:8px;align-items:center}.tractor-heading strong{flex:1;min-width:0}.tractor-actions button{padding-inline:3px}}

@media(max-width:1000px) and (min-width:851px){:root{--command-bottom:174px}.target-console{height:164px;grid-template-rows:60px 28px 46px}}
@media(max-width:850px) and (min-width:701px){:root{--command-bottom:204px}.target-console{height:194px;grid-template-rows:60px 58px 46px}}
@media(max-width:700px){:root{--command-bottom:263px}.target-console{height:194px;grid-template-rows:60px 58px 46px}.alert-banner,.sensors{top:275px}.mission{top:323px}.tractor-heading{flex-direction:row}}
@media(max-width:1000px){.tractor-heading{flex-direction:row;height:14px;line-height:14px}.tractor-controls{grid-template-rows:14px 28px;gap:4px}}

/* Fixed-size status slots protect the viewscreen from a changing battle feed. */
.posture-control{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:12px;height:28px;color:#b9d4e5}.posture-control select{min-width:0;flex:1;height:28px;padding:3px 5px;font-size:12px}.wave-status{height:28px;flex:none;line-height:14px;font-size:11px;color:#aad3e7;margin:3px 0;overflow:hidden;font-variant-numeric:tabular-nums}.wave-status[data-phase=Incoming]{color:#ffcc88}.wave-status[data-phase=Engaging]{color:#ffa791}

#shipPanel{width:640px}#shipPanel select{font:inherit;padding:6px;max-width:100%;background:#1a2a3e;color:#e8f2ff;border:1px solid #66839e;border-radius:5px}#shipPanel label{display:flex;align-items:center;justify-content:space-between;gap:12px}#shipPanel .dossier-bar{position:sticky;top:-26px;background:#101c2e;padding:8px 0;z-index:1}#sectorIntegrity{font-variant-numeric:tabular-nums;color:#a4d9ff}

.command-feedback{color:#ffceab;border-left:3px solid #e9a060;padding:8px 12px;background:#40282055}

.rescue-case{padding:16px 0;border-top:1px solid #789ab44d}.rescue-case h3{font-size:17px;line-height:1.4;margin:0 0 8px}.rescue-case p,.rescue-case li{font-size:14px;line-height:1.6}.rescue-case ol{padding-left:22px}.rescue-case li{margin-bottom:10px}.rescue-consequence{color:#a9e2d7}.rescue-case button{font-size:14px;padding:8px 14px}

.contact.fleet-target small{color:#9fdbff;white-space:normal}.fleet-buttons button{white-space:normal;line-height:1.3}

.mission-briefing{position:absolute;z-index:20;top:96px;left:50%;transform:translateX(-50%);width:min(490px,calc(100% - 28px));padding:14px 18px;border-left:3px solid #f7ba7c;border-radius:4px;background:rgba(7,15,27,.94);color:#e6effa;pointer-events:none;box-sizing:border-box;font-size:14px;line-height:1.5}
.mission-briefing[hidden]{display:none}.mission-briefing strong{font-size:13px;color:#ffd29b;letter-spacing:.08em}.mission-briefing p{margin:6px 0 0}.briefing-highlight{outline:2px solid #ffd29b;outline-offset:2px;box-shadow:0 0 18px #f6bd7155}
html.crew-mode .mission-briefing{top:116px;width:calc(100% - 28px);font-size:14px}

#briefingOrders{display:flex;gap:10px;margin-top:10px;pointer-events:auto}#briefingOrders[hidden]{display:none}#briefingOrders button{min-height:40px;flex:1;font-size:14px}

/* Section awareness shares the sensor pane and scene's existing render pass. */
.saucer-locator{flex-shrink:0;display:flex;gap:6px;align-items:center;border:1px solid #84cce0;border-radius:7px;padding:5px 7px;background:#08212acc;font-size:12px;line-height:1.3}
.saucer-locator[hidden],.saucer-bearing[hidden]{display:none}
.saucer-locator button{font-size:12px;padding:4px 6px;flex-shrink:0}
.saucer-bearing{position:absolute;z-index:12;display:flex;gap:5px;align-items:center;max-width:190px;font-size:11px;line-height:1.15;padding:5px 7px;border-color:#86d8e8;background:#08212add;transform:translate(-50%,-50%)}
#saucerBearingArrow{display:inline-block;font-size:17px;color:#9be9f5}
