:root{color-scheme:dark;--space:#101f2c;--panel:#192f40;--ink:#213c4b;--mist:#a8bfcc;--paper:#e4e9e9;--brass:#d5ae68;--muted:#69818e;--red:#ecaa99;--line:#ffffff18;font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--space);color:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #ffffff30;background:#ffffff06;border-radius:5px;padding:8px 12px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#ffffff12;border-color:var(--brass)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brass);outline-offset:3px}button.primary{background:var(--brass);color:var(--space);border-color:var(--brass);font-weight:650}button.primary:hover:not(:disabled){background:#e9c589}button.text{border:0;background:none;padding:3px 0;text-decoration:underline;text-underline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15}h1{font-size:31px}h2{font-size:29px}h3{font-size:21px}small,.small{font-size:12px}.muted{color:var(--mist)}.eyebrow{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--brass)}header{display:flex;align-items:center;gap:22px;padding:18px 28px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;margin-right:auto}.brand img{width:43px;height:43px}.brand p{color:var(--mist);font-size:11px;margin-top:4px}.header-value{font-size:21px;font-variant-numeric:tabular-nums}.header-metric{text-align:right;border-left:1px solid var(--line);padding-left:24px}.layout{display:grid;grid-template-columns:205px minmax(460px,1fr) 430px;min-height:calc(100vh - 121px)}aside{padding:25px 20px;background:#192f4070;border-right:1px solid var(--line)}aside h2{font-size:21px}.ship{width:100%;height:112px;margin:15px 0}.gauge{margin-top:18px}.gauge-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.track{height:4px;background:#ffffff18;border-radius:6px;overflow:hidden}.track span{display:block;background:var(--brass);height:100%}.side-section{border-top:1px solid var(--line);margin-top:24px;padding-top:21px}.side-section p{margin-top:8px;font-size:12px;color:var(--mist)}.side-section button{margin-top:10px}.main{min-width:0}.chart{padding:25px 28px 20px;background:radial-gradient(ellipse at 10% 0,#30424b77,transparent 60%),radial-gradient(ellipse at 90% 70%,#26405244,transparent 60%);border-bottom:1px solid var(--line)}.chart-heading{display:flex;justify-content:space-between;align-items:start;gap:18px}.chart-heading p{font-size:11px;margin-top:5px}.systems{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin:26px 0 21px;position:relative}.systems:before{content:'';position:absolute;left:0;right:0;top:24px;height:1px;background:linear-gradient(90deg,#d5ae68aa,#ffffff10)}.system{position:relative;border:0;padding:4px 0;background:none;text-align:center;border-radius:0;font-size:10px;min-width:0}.system:hover:not(:disabled){background:none}.orb{display:block;width:25px;height:25px;margin:7px auto 14px;border-radius:50%;background:var(--body);box-shadow:inset -7px -3px 10px #0008,inset 2px 2px 4px #fff5,0 0 0 7px var(--space);transition:transform .2s}.system.active .orb{box-shadow:inset -7px -3px 10px #0008,inset 2px 2px 4px #fff5,0 0 0 5px var(--space),0 0 0 6px var(--brass)}.system.active{color:var(--brass)}.system em{font-size:8px;font-style:normal;color:var(--mist)}.ports{display:flex;flex-wrap:wrap;gap:7px;min-height:64px;align-content:start}.port{display:flex;gap:8px;align-items:center;text-align:left;font-size:12px;padding:7px 10px}.port.selected{border-color:var(--brass);background:#d5ae6810}.port .dot{width:7px;height:7px;border-radius:50%;background:var(--body)}.port small{font-size:10px;color:var(--mist)}.schematic{font-size:10px;color:var(--mist);margin-top:12px}.flight{padding:25px 28px}.flight-title{display:flex;justify-content:space-between;align-items:center}.flight-title p{font-size:12px;color:var(--mist);margin-top:6px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:23px 0}.metric span{display:block;font-size:24px;font-weight:300;font-variant-numeric:tabular-nums}.metric small{font-size:10px;color:var(--mist)}.route-note{border-left:2px solid var(--brass);padding-left:12px;font-size:12px;color:var(--mist);line-height:1.65}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px;align-items:center}.warning{color:var(--red);font-size:12px;margin-top:11px}.success{color:#90c7ac}.recent{padding:0 28px 25px}.recent p{font-size:12px;padding:7px 0;border-bottom:1px solid var(--line);color:var(--mist)}.recent time{font-variant-numeric:tabular-nums;color:var(--brass);margin-right:8px}.station{background:var(--paper);color:var(--ink);min-width:0;color-scheme:light;border-left:1px solid #0002}.station-head{padding:25px 23px 19px}.station-head .eyebrow{color:#6f633f}.station-head h2{font-size:27px;margin:7px 0}.station-head p{font-size:11px;color:#526d7a}.tabs{display:flex;overflow-x:auto;border-block:1px solid #213c4b25;padding:0 12px}.tabs button{border:0;border-radius:0;font-size:11px;padding:12px 9px;white-space:nowrap;color:#526d7a}.tabs button.active{border-bottom:2px solid var(--ink);color:var(--ink);font-weight:700}.station-content{padding:21px 23px;max-height:calc(100vh - 280px);overflow:auto;min-height:450px}.station .muted{color:#526d7a}.station button{border-color:#213c4b40;background:#fff4}.station button:hover:not(:disabled){background:#fff9;border-color:var(--ink)}.station button.primary{background:var(--ink);color:white}.station .text{background:none;border:0}.station input,.station select{border:1px solid #213c4b50;color:var(--ink);background:#fffa}.station h3{margin-bottom:10px}.station p{font-size:12px}.lot{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.market-good{padding:14px 0;border-top:1px solid #213c4b22}.good-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.good-head strong{font-size:14px}.market-good p{font-size:10px;color:#526d7a;margin:6px 0 10px}.good-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.good-actions button{font-size:11px;padding:7px}.card{padding:16px;background:#fff6;border:1px solid #213c4b22;border-radius:7px;margin-bottom:14px}.card p{margin:7px 0 11px}.card h3{font-size:20px}.card button{font-size:12px}.stack{display:flex;flex-direction:column;gap:10px}.service{padding-bottom:19px;margin-bottom:19px;border-bottom:1px solid #213c4b22}.service p{margin:7px 0 10px}.service button{font-size:12px}.log-entry{font-size:12px;padding:10px 0;border-bottom:1px solid #213c4b22}.log-entry time{display:block;color:#526d7a;font-size:10px;margin-bottom:4px}.conversation{padding:13px 0;border-bottom:1px solid #213c4b22}.conversation .speaker{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#526d7a}.conversation p{font-size:13px;line-height:1.7;margin:7px 0}.conversation.captain{padding-left:15px;border-left:2px solid #213c4b44}.talk-actions{margin-top:16px;display:flex;flex-direction:column;gap:7px}.talk-actions button{text-align:left;font-size:12px}.skill{margin:15px 0}.skill .track{background:#213c4b20}.skill .track span{background:#487d87}.evolution{font-size:12px;line-height:1.7}.decision{font-size:11px;border-top:1px solid #213c4b22;padding:8px 0}.save-slot{display:flex;gap:7px;align-items:center;padding:10px 0;border-bottom:1px solid #213c4b22}.save-slot span{flex:1}.save-slot button{font-size:11px}.save-state{font-size:10px}#save-state.error{color:var(--red)}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:560px;background:var(--paper);color:var(--ink);padding:12px 20px;border-radius:6px;box-shadow:0 4px 25px #0006;z-index:10;display:none}#toast.visible{display:block}dialog{background:var(--space);color:var(--paper);border:1px solid #ffffff30;border-radius:12px;padding:30px;max-width:min(680px,calc(100vw - 30px));max-height:90vh;width:650px;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#08131de0;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.dialog-head h2{font-size:28px}dialog p{font-size:13px;line-height:1.75;margin:12px 0}dialog label{display:block;font-size:12px;margin:18px 0 6px}input,select{padding:8px;border-radius:4px;background:#ffffff0b;border:1px solid #ffffff40;color:var(--paper)}dialog input{width:100%}dialog select{width:100%;background:var(--panel)}.option{display:block;width:100%;margin-top:11px;padding:15px;text-align:left}.option strong{display:block}.option small{display:block;margin-top:6px;color:var(--mist)}.dialog-error{color:var(--red);font-size:12px}.info-section{margin-top:22px}.info-section h3{font-size:20px}a{color:var(--brass)}.loading{margin:60px}.skip{position:absolute;top:-100px;left:10px;padding:10px;background:var(--panel);z-index:100}.skip:focus{top:10px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.stat-grid div{padding:10px;background:#213c4b0a;font-size:11px}.stat-grid strong{display:block;font-size:21px;font-weight:400}.pilot-tag{font-size:10px;color:var(--brass);margin-top:5px}.light-note{padding:10px 12px;background:#213c4b0a;font-size:11px;margin:12px 0}.alert-banner{background:#623b32;color:white;padding:12px 25px}.danger{border-color:#e9958466;color:var(--red)}@media(min-width:1500px){.layout{grid-template-columns:220px minmax(560px,1fr) 470px}.chart{padding-top:35px}.systems{margin:38px 0}.orb{width:34px;height:34px}.system{font-size:12px}}@media(max-width:1150px){.layout{grid-template-columns:180px minmax(380px,1fr) 360px}.station-head,.station-content{padding-inline:17px}.chart,.flight{padding-inline:20px}.system{font-size:9px}.header-metric{padding-left:12px}}@media(max-width:960px){.layout{grid-template-columns:170px 1fr}.station{grid-column:2}.main{grid-column:2}aside{grid-row:1/3}.station-content{max-height:none;min-height:0}.header-metric{display:none}.systems{gap:5px}.system{font-size:11px}.station-head{padding:20px}.station-content{padding:20px}.tabs button{font-size:13px;padding:12px 16px}.recent{display:none}}@media(max-width:600px){header{padding:14px 16px;gap:10px}h1{font-size:26px}.brand p{font-size:9px}.brand img{width:33px;height:33px}.layout{display:block}aside{padding:14px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}aside .ship,aside .side-section,aside .ship-title,aside .gauge,aside .spares,aside .captain-role{display:none}aside h2{font-size:19px}aside .pilot-tag{margin:0}aside .captain-link{margin-left:auto}.systems{grid-template-columns:repeat(5,1fr);row-gap:15px}.systems:before{display:none}.chart{padding:20px}.orb{width:28px;height:28px;margin-bottom:10px}.system em{font-size:9px}.chart-heading h2{font-size:25px}.chart-heading .eyebrow{font-size:9px}.flight{padding:22px 20px}.metrics{gap:12px;grid-template-columns:repeat(3,1fr)}.metric span{font-size:21px}.flight-title h2{font-size:25px}.metric small{font-size:9px}.station-content{min-height:350px}.tabs button{font-size:11px;padding:12px 9px}.ports{min-height:0}.actions button{flex:1}.station-head h2{font-size:26px}dialog{padding:22px}.dialog-head h2{font-size:24px}}
/* Fleet registry and tactical plot share the freighter's existing instrument palette. */
.fleet-roster{margin-top:16px}.fleet-row{padding:15px 0;border-bottom:1px solid #213c4b28}.fleet-row p{margin-top:5px;color:#526d7a}.fleet-row .actions{margin-top:8px}.fleet-row button{font-size:11px}.fleet-tag{display:inline-block;margin-left:6px;padding:1px 6px;font-size:9px;background:#213c4b16;border-radius:3px}.station #outfit-vessel{width:100%;margin-top:7px;font-size:12px}.upgrade-row{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #213c4b22}.upgrade-row>div{flex:1}.upgrade-row small,.ship-offer small,.battle-report small{display:block;color:#526d7a;font-size:10px}.upgrade-row p{font-size:10px;color:#526d7a;margin-top:5px}.upgrade-row button{font-size:10px;white-space:nowrap;padding:7px}.transfer-controls{display:flex;gap:8px;margin:10px 0}.transfer-controls select{min-width:0}.ship-offer{padding:16px 0;border-bottom:1px solid #213c4b22}.ship-offer p{margin:5px 0 9px}.ship-offer button{font-size:12px}.raid-offer>small{font-size:10px;color:#526d7a}.raid-offer h3{margin-top:8px}.battle-report{border-bottom:1px solid #213c4b22;padding:14px 0}.battle-report p{margin-top:6px}.battle-dialog{width:920px;max-width:calc(100vw - 26px);padding:24px;background:#101f2c}.battle-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}.battle-heading h2{font-size:26px}.battle-heading>div:last-child{text-align:right;font-size:12px}.battle-heading small{font-size:10px;color:var(--mist)}.battle-field{display:grid;grid-template-columns:1fr 1fr;gap:30px;position:relative;margin:16px 0;background:radial-gradient(ellipse at center,#263e5044,transparent 65%);padding:16px;border:1px solid #ffffff18}.battle-field:before{content:'';position:absolute;left:50%;top:20px;bottom:20px;border-left:1px dashed #ffffff20}.battle-field h3{font-size:17px;margin-bottom:12px;color:var(--mist)}.battle-vessel{display:flex;width:100%;gap:12px;align-items:center;text-align:left;margin:9px 0;padding:12px;background:#192f4080;border:1px solid #ffffff1f}.battle-vessel.selected{border-color:var(--brass);background:#d5ae680c}.battle-vessel.targeted{border-color:#bd6455;background:#bd64550c}.battle-vessel>span:last-child{flex:1;min-width:0}.vessel-mark{font-family:Georgia,serif;font-size:39px;line-height:1;color:var(--brass);padding:0 4px}.battle-field section:last-child .vessel-mark{color:#d28c7f}.battle-vessel strong{font-size:12px}.battle-vessel small{display:block;color:var(--mist);font-size:10px;margin:4px 0}.battle-hull{height:4px;background:#ffffff16;display:block;margin-top:9px}.battle-hull>span{display:block;height:100%;background:#7dafba}.battle-field section:last-child .battle-hull>span{background:#bd6455}.battle-console{padding:15px;background:#192f4070;border:1px solid #ffffff18}.battle-console strong{font-size:13px}.battle-console small{display:block;font-size:10px;color:var(--mist);margin-top:4px}.battle-orders{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.battle-orders button{font-size:11px}.battle-transmissions{height:116px;overflow:auto;margin:15px 0;padding:4px 14px;border-left:2px solid #d5ae6855;background:#ffffff03}.battle-transmissions p{font-size:11px;line-height:1.5;margin:6px 0;color:var(--mist)}.battle-exit{display:flex;align-items:start;gap:8px;flex-wrap:wrap}.battle-exit button{font-size:11px}.battle-exit small{flex:1;min-width:180px;font-size:9px;line-height:1.6;color:var(--mist)}.tabs{scrollbar-width:thin}.tabs button{padding-inline:8px}@media(max-width:600px){.battle-field{gap:15px;padding:9px}.battle-vessel{padding:9px;gap:4px}.vessel-mark{font-size:24px;padding:0 2px}.battle-vessel strong{font-size:11px}.battle-vessel small{font-size:9px}.battle-heading{align-items:start}.battle-heading h2{font-size:22px}.battle-dialog{padding:16px}.battle-heading>div:last-child{min-width:86px}.battle-console{padding:12px}.battle-orders button{font-size:10px;flex:1}.upgrade-row{gap:8px}.fleet-row .actions button{flex:0 1 auto}}

/* Voyage playback: local vector scene, no external assets or network. */
dialog.journey-dialog{width:min(960px,94vw);max-width:960px;padding:30px;background:#101f2c;color:#e4e9e9;border:1px solid #69818e66}
.journey-heading{display:flex;justify-content:space-between;gap:20px}.journey-heading h2{font-size:32px;margin:8px 0}.journey-heading p{color:#a8bfcc}.journey-scale{font-size:10px;letter-spacing:1px;color:#d5ae68;text-align:right;line-height:1.8;padding-top:8px}.journey-dialog #journey-chart{width:100%;display:block;background:#0d1924;border-radius:6px;margin:18px 0}.journey-label{fill:#a8bfcc;font:14px system-ui,sans-serif;letter-spacing:.6px}.journey-readout{display:flex;justify-content:space-between;gap:20px;align-items:center}.journey-readout strong{font-size:22px;font-weight:400;font-variant-numeric:tabular-nums}.journey-readout p{margin:5px 0;color:#a8bfcc}.journey-manifest{display:flex;flex-direction:column;text-align:right;gap:5px;color:#a8bfcc;font-size:12px}.journey-manifest strong{font-size:16px;color:#d5ae68}.journey-dialog progress{width:100%;height:4px;margin:18px 0 8px;accent-color:#d5ae68;border:0;background:#192f40}.journey-dialog progress::-webkit-progress-bar{background:#192f40}.journey-dialog progress::-webkit-progress-value{background:#d5ae68}.journey-caption{font-size:11px;color:#a8bfcc;line-height:1.7}.journey-controls{display:flex;align-items:center;gap:10px;margin-top:22px}.journey-controls span{flex:1;color:#a8bfcc;font-size:11px}.journey-dialog button{color:#e4e9e9;border-color:#69818e80}.journey-dialog button.primary{color:#101f2c}.journey-dialog .eyebrow{color:#d5ae68}.journey-dialog button:focus-visible{outline:2px solid #d5ae68;outline-offset:4px}@media(max-width:620px){dialog.journey-dialog{padding:18px}.journey-heading h2{font-size:24px}.journey-scale{display:none}.journey-readout{align-items:flex-start}.journey-readout strong{font-size:17px}.journey-manifest{max-width:48%}.journey-controls{flex-wrap:wrap}.journey-controls span{flex-basis:100%;order:4}}@media(prefers-reduced-motion:reduce){.journey-dialog *{animation:none!important;transition:none!important}}

dialog.journey-dialog{padding:24px}.journey-dialog #journey-chart{height:clamp(150px,30vh,310px);margin:12px 0}.journey-heading h2{font-size:28px;margin:6px 0}.journey-heading p{margin:4px 0}.journey-controls{margin-top:16px}

dialog.drive-dialog{width:min(760px,94vw)}.drive-subtitle{font:21px Georgia,serif;color:#6f633f;margin:6px 0 26px}.drive-archive{max-width:64ch}.drive-archive article{padding:0 0 22px 22px;border-left:2px solid #d5ae6866}.drive-archive h3{font:20px Georgia,serif;color:#213c4b;margin:0 0 10px}.drive-archive p{line-height:1.8;color:#213c4b;margin:0}.drive-boundary{font-size:12px;line-height:1.7;padding-top:18px;border-top:1px solid #69818e55;color:#566e7d}
dialog.drive-dialog{background:#e4e9e9;color:#213c4b}.drive-dialog button{color:#213c4b;border-color:#69818e80}.drive-dialog h2{color:#213c4b}.drive-dialog button:focus-visible{outline:2px solid #213c4b;outline-offset:3px}
/* Three decks share the ship's instruments; station interiors use the light service palette. */
.game-shell{display:grid;grid-template-columns:185px minmax(0,1fr);min-height:calc(100dvh - var(--shell-offset))}.game-shell aside{padding:22px 18px}.screen-main{min-width:0;padding:24px}.navigation-deck{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px}.orbital-view{min-width:0}.map-heading h2{font:28px Georgia;margin:0}.map-heading p,.map-note{font-size:11px;color:var(--mist)}.map-heading .actions{gap:6px;flex-wrap:wrap;margin-top:14px}.map-heading button{font-size:11px}.map-heading button[aria-pressed=true],.system-picker button[aria-pressed=true]{border-color:var(--brass);color:var(--brass)}.solar-map{display:block;width:100%;max-height:60vh;min-height:320px;background:#0d1924;border:1px solid #69818e33;border-radius:7px;margin-top:15px}.solar-map text,.combat-plot text{font:12px system-ui}.solar-map [role=button]{cursor:pointer}.solar-map [role=button]:focus{outline:none;filter:drop-shadow(0 0 5px #d5ae68)}.system-picker{display:flex;flex-wrap:wrap;gap:5px}.system-picker button{font-size:10px;padding:5px 8px}.orbital-view .ports{padding:12px 0;display:flex;flex-direction:column}.orbital-view .ports button{font-size:11px;text-align:left}.route-column .flight{padding:0;border:0}.route-column .metrics{grid-template-columns:repeat(2,1fr)}.route-column .metric{margin-bottom:10px}.route-column h2{font-size:26px}.belt-note{font-size:12px;line-height:1.7;padding:14px;border-left:2px solid #d5ae68;color:#d5ae68}.station-arrival{display:flex;align-items:center;gap:28px;padding:15px 0 24px}.station-arrival h2{font:32px Georgia;margin:5px 0 10px}.station-arrival p{max-width:75ch;color:var(--mist);font-size:12px}.station-orbit{position:relative;width:180px;height:125px;flex-shrink:0;border:1px solid #69818e66;border-radius:50%;transform:rotate(-13deg);background:radial-gradient(ellipse,var(--station-tint) -170%,transparent 70%)}.station-core{position:absolute;left:75px;top:36px;width:30px;height:50px;border:5px solid var(--station-tint);border-radius:9px;background:#192f40}.station-wing{position:absolute;width:58px;height:25px;top:48px;border:2px solid var(--station-tint);background:repeating-linear-gradient(90deg,#69818e44 0 2px,transparent 2px 8px)}.station-wing.left{left:12px}.station-wing.right{right:12px}.venue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.venue{display:flex;gap:10px;align-items:center;padding:12px 9px;text-align:left}.venue strong{font-size:12px;font-weight:500;display:block}.venue small{display:block;color:var(--mist);font-size:10px;margin-top:4px}.venue.selected{border-color:var(--brass);background:#d5ae6812}.portrait{flex-shrink:0}.station-interior{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(400px,1.2fr);gap:24px;margin-top:24px}.venue-host{padding:20px;background:#192f40;border-radius:8px}.host-profile{display:flex;align-items:center;gap:15px;margin-bottom:22px}.host-profile h2{font:24px Georgia}.host-profile p,.venue-host>p{font-size:12px;color:var(--mist);line-height:1.7}.venue-host h3{font:21px Georgia}.host-dialogue{border-left:2px solid var(--brass);padding-left:15px;max-height:300px;overflow:auto;font-size:13px;line-height:1.8;margin:20px 0}.venue-host .actions{display:flex;flex-direction:column;align-items:stretch}.services-room{border-radius:8px;overflow:hidden}.services-room .tabs{flex-wrap:wrap}.combat-deck{display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,1fr);gap:24px}.combat-view{position:sticky;top:12px;align-self:start}.combat-view h2{font:30px Georgia;margin:0 0 16px}.combat-plot{width:100%;background:#0d1924;border:1px solid #69818e33;border-radius:8px}.combat-caption{font-size:12px;color:var(--mist);line-height:1.7}.battle-controls{min-width:0}.battle-controls h2{font:25px Georgia}.battle-controls .battle-field{gap:12px}.battle-controls .battle-vessel{padding:10px}.battle-controls .battle-orders{grid-template-columns:repeat(2,1fr)}.battle-controls .battle-exit{flex-wrap:wrap}.combat-empty{min-height:380px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--mist);padding:50px;background:#0d1924}.combat-empty span{font-size:80px;color:var(--brass)}.combat-drift{animation:combat-drift 3s ease-in-out infinite alternate}.combat-shot{stroke-dasharray:20 750;animation:combat-shot .6s linear 2 forwards}.combat-impact{animation:combat-impact 1.2s ease-out forwards}.combat-guard{animation:combat-guard 1.8s ease-in-out infinite alternate}@keyframes combat-drift{from{transform:translateY(-3px)}to{transform:translateY(3px)}}@keyframes combat-shot{0%{stroke-dashoffset:750;opacity:0}10%{opacity:1}85%{opacity:1}100%{stroke-dashoffset:-750;opacity:0}}@keyframes combat-impact{0%,30%{opacity:0;stroke-width:1}45%{opacity:1;stroke-width:8}100%{opacity:0;stroke-width:1}}@keyframes combat-guard{from{opacity:.3}to{opacity:1}}@media(max-width:1100px){.game-shell{grid-template-columns:150px minmax(0,1fr)}.navigation-deck{grid-template-columns:1fr}.route-column .metrics{grid-template-columns:repeat(3,1fr)}.venue-grid{grid-template-columns:repeat(2,1fr)}.combat-deck{grid-template-columns:1fr}.combat-view{position:static}.combat-plot{max-height:380px}.station-interior{grid-template-columns:1fr}}@media(max-width:650px){.game-shell{display:block}.game-shell aside{display:none}.screen-main{padding:16px}.station-orbit{display:none}.station-arrival h2{font-size:25px}.venue-grid{grid-template-columns:1fr}.solar-map{min-height:250px}.route-column .metrics{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.combat-drift,.combat-shot,.combat-impact,.combat-guard{animation:none!important}.combat-shot,.combat-impact{display:none}}
.solar-map text{font-size:14px}

.combat-guard{animation:combat-guard-fade 1.4s ease-out forwards}.combat-repair{animation:combat-guard-fade 1.4s ease-out forwards}.combat-evade{animation:combat-evade 1.2s ease-out forwards}@keyframes combat-guard-fade{0%{opacity:.2}35%{opacity:1}100%{opacity:0}}@keyframes combat-evade{0%{transform:translate(0,0)}40%{transform:translate(20px,-18px)}100%{transform:translate(0,0)}}@media(prefers-reduced-motion:reduce){.combat-evade,.combat-repair{animation:none!important}}

/* Destination charters remain inspectable before they are earned. */
.charter-access{margin:16px 0;padding:14px;background:#101f2c;border-left:3px solid #d5ae68;border-radius:4px;color:#e4e9e9}
.charter-access h3{font:18px Georgia,serif;margin:0 0 7px;color:#d5ae68}.charter-access p{font-size:12px;color:#a8bfcc;margin:7px 0;line-height:1.55}.charter-access summary{cursor:pointer;color:#d5ae68;font-size:13px;padding:8px 0}.charter-access article{padding:14px 0;border-top:1px solid #69818e55}.charter-access h4{font-size:14px;margin:0}.charter-requirements{list-style:none;padding:0;margin:10px 0}.charter-requirements li{display:flex;justify-content:space-between;gap:14px;font-size:12px;color:#a8bfcc;padding:4px 0}.charter-requirements li.met{color:#d5ae68}.charter-requirements strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}

.ship-illustration{display:block;width:100%;height:auto;background:radial-gradient(ellipse at 55% 40%,#294456,#101f2c 72%);border-radius:7px}.sidebar-fleet .ship-illustration{background:none;max-height:125px}.fleet-miniatures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.fleet-miniatures small{font-size:8px;display:block;text-align:center;color:#a8bfcc}.fleet-miniatures svg{max-height:56px}.fleet-ship-render{width:100%;grid-column:1/-1}.fleet-row{flex-wrap:wrap}.fleet-row>.fleet-ship-render{flex-basis:100%}.fleet-ship-render svg{max-height:180px}.character-portrait{object-fit:cover;border-radius:7px;box-shadow:inset 0 0 0 1px #a8bfcc55}.host-profile .character-portrait{width:140px;height:175px;max-width:35%}.venue .character-portrait{width:44px;height:55px;flex-shrink:0}.bank-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:17px 0}.bank-balances strong,.bank-balances span{display:block}.bank-balances strong{font-size:19px}.bank-balances span{font-size:11px;color:#526c78;margin-top:5px}.bank-account{padding:12px 0;border-bottom:1px solid #69818e44}.bank-actions{margin:12px 0}#bank-amount{width:100%;margin:8px 0;padding:10px;border:1px solid #80929b;border-radius:4px;font:inherit}.host-dialogue{max-height:420px;overflow:auto}.venue-host>.actions{flex-wrap:wrap}

.combat-laser{animation:laser-pulse 1.4s ease-out both;filter:drop-shadow(0 0 3px #8de5ee)}@keyframes laser-pulse{0%,15%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.combat-laser{animation:none;opacity:0}}

.licence-offer{padding:18px 0;border-bottom:1px solid #69818e55}.licence-offer h3{font:20px Georgia,serif;margin:0 0 9px}.licence-offer p{font-size:12px;line-height:1.6}.licence-offer.selected{border-left:3px solid #a78345;padding-left:13px}

/* Licence checks remain readable on the light authority panel. */
.licence-offer .success{color:#285e4b}.licence-offer .muted{color:#526977}

.ship-offer .ship-illustration{display:block;width:100%;height:auto;max-height:290px;background:radial-gradient(ellipse at center,#294456,#101f2c);border-radius:6px;margin:8px 0 14px}.ship-offer p{margin:9px 0;max-width:66ch}.ship-illustration image{image-rendering:auto}

.station-interior>.services-room{grid-column:auto;grid-row:auto;min-width:0}.station-interior>*{min-width:0}.ship-offer{min-width:0}

.service.ship-trade-offer{display:block}.ship-trade-offer .ship-illustration{max-height:260px;margin-bottom:12px}.ship-trade-offer p{margin:9px 0}

.host-profile .portrait-enlarge{width:160px;max-width:42%;padding:0;border:0;background:none;flex-shrink:0;cursor:zoom-in}.host-profile .portrait-enlarge .character-portrait{width:100%;height:auto;max-width:none}.portrait-detail{max-width:440px}.portrait-detail>.character-portrait{display:block;width:min(100%,336px);height:auto;margin:18px auto}.portrait-detail h3{font-size:18px}.portrait-detail p{font-size:13px;line-height:1.6;margin-top:9px}.portrait-detail .actions{justify-content:space-between;align-items:start}.portrait-detail .actions h2{font-size:26px}

.market-heading,.market-item-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.market-heading{margin-bottom:14px}.market-note{margin:12px 0 16px}.market-commodity{display:block;padding:16px 0}.supply-state{font-size:11px;color:#546d79;margin:5px 0}.unit-prices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:10px 0}.unit-prices small{display:block;font-size:10px;color:#546d79}.unit-prices strong{font-size:17px;font-weight:500;font-variant-numeric:tabular-nums}.market-commodity .actions{gap:8px}.market-commodity .actions button{min-width:78px}

.map-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0 12px}.map-breadcrumb button{font-size:11px}.map-breadcrumb button[aria-pressed="true"]{border-color:#d5ae68;color:#e4c385}.map-search{position:relative;margin-bottom:14px}.map-search input{width:100%;padding:11px 13px;background:#192d3a;color:#e4e9e9;border:1px solid #69818e80;border-radius:6px}.map-search-results{position:absolute;z-index:5;top:100%;left:0;right:0;padding:8px;background:#142936;border:1px solid #69818e;border-radius:5px;max-height:330px;overflow:auto;box-shadow:0 12px 30px #0005}.map-search-results[hidden]{display:none}.map-search-results .navigation-port{width:100%;margin-bottom:5px}.navigation-map{background:radial-gradient(ellipse at 50% 50%,#1a2e3b,#0c1722 75%);border:1px solid #69818e2a;border-radius:9px}.map-node{cursor:pointer}.map-node:hover>circle,.map-node:focus>circle{stroke:#e4c385;stroke-width:1.2}.map-node:focus{outline:none}.map-node text{pointer-events:none}.map-guidance{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:10px;font-size:11px;color:#a8bfcc}.map-guidance button{font-size:10px}.navigation-ports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;min-height:0}.navigation-port{display:flex;align-items:center;gap:9px;padding:10px;text-align:left}.navigation-port strong{display:block;font-size:12px;font-weight:500}.navigation-port small{display:block;font-size:9px;color:#a8bfcc;margin-top:3px}.navigation-port[aria-pressed="true"]{border-color:#d5ae68;background:#d5ae6812}.destination-dot{display:block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.navigation-ports{grid-template-columns:1fr}.map-heading{align-items:center}.map-guidance{flex-wrap:wrap}}

.contact-picker{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.contact-picker button{font-size:11px}.contact-picker button[aria-pressed="true"]{border-color:var(--brass);color:var(--brass)}.identity-fields{display:grid;gap:10px;margin:12px 0}.identity-fields label{display:block;font-size:12px}.identity-fields select{display:block;width:100%;margin-top:5px}

.station-illustration{display:block;width:100%;height:auto;background:radial-gradient(ellipse at 55% 45%,#294454,#0b1823 75%);border-radius:8px}.station-hero-art{flex:0 1 390px;min-width:230px;max-height:245px}.destination-station-art{margin-bottom:17px;max-height:200px}.station-arrival>div:last-child{min-width:0;flex:1}.station-arrival{gap:24px}@media(max-width:800px){.station-arrival{align-items:flex-start;flex-direction:column}.station-hero-art{flex:auto;width:100%;max-height:250px;min-width:0}.destination-station-art{max-height:235px}}

.station-inspect{position:relative;display:block;padding:0;overflow:hidden;border:1px solid #69818e55;border-radius:8px;background:#0b1823;text-align:left;cursor:zoom-in}.station-inspect>span{position:absolute;right:11px;bottom:9px;font-size:10px;color:#dae5e6;background:#0b1823d9;padding:5px 8px;border-radius:4px}.station-inspect:hover{border-color:var(--brass);background:#0b1823}.station-inspect:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.station-inspect .station-illustration{height:100%;max-height:inherit;object-fit:contain}.station-detail-dialog{width:980px;max-width:calc(100vw - 30px);padding:25px}.station-detail-dialog .dialog-head{margin-bottom:5px}.station-detail-dialog .station-design{color:var(--mist);margin:5px 0 15px}.station-view-controls{display:flex;gap:8px;margin:10px 0 15px}.station-view-controls button[aria-pressed=true]{border-color:var(--brass);color:var(--brass);background:#d5ae6815}.station-detail-dialog .station-illustration{max-height:58vh}.station-features{display:flex;flex-wrap:wrap;gap:10px 28px;padding-left:18px;color:var(--mist);font-size:11px;line-height:1.6}.station-detail-dialog p{font-size:12px}.station-hero-art{aspect-ratio:400/245}.destination-station-art{width:100%;aspect-ratio:400/245}

/* Visits: the directory stays quiet while a selected venue owns its services. */
.directory-heading{margin:12px 0 22px}.directory-heading h2{font:25px Georgia;margin:0 0 8px}.directory-heading p{font-size:12px;color:var(--mist)}.venue-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}.venue-door{display:flex;align-items:flex-start;gap:15px;padding:17px;text-align:left;background:var(--panel);border-color:transparent;min-height:145px}.venue-door>span:nth-child(2){flex:1;min-width:0}.venue-door strong{display:block;font-size:15px;font-weight:500;line-height:1.4}.venue-door small{display:block;color:var(--brass);font-size:11px;line-height:1.6;margin:7px 0}.venue-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--mist);font-size:11px;line-height:1.65}.door-arrow{color:var(--mist)}.venue-door:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.establishment-dialog{width:1160px;max-width:calc(100vw - 24px);padding:0;overflow:hidden}.visit-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px;background:var(--space);border-bottom:1px solid var(--line)}.visit-header h2{font:27px Georgia;margin:0}.visit-header p{margin:7px 0 0;color:var(--mist);font-size:12px}.visit-header button{flex-shrink:0}.establishment-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.visit-people,.visit-services{max-height:calc(90vh - 115px);overflow-y:auto;min-width:0;padding:24px}.visit-people{background:var(--panel)}.visit-people .host-profile{margin-bottom:18px;gap:17px}.visit-people .host-profile h2{font:23px Georgia}.visit-people .host-profile p{font-size:12px;line-height:1.8;color:var(--mist)}.visit-people .host-business{font-size:12px;color:var(--mist);line-height:1.75}.visit-people .host-dialogue{max-height:235px;overflow:auto;background:var(--space);border:0;border-radius:6px;padding:15px;margin:18px 0}.visit-line{margin:0 0 16px}.visit-line:last-child{margin-bottom:0}.visit-line>span{font-size:10px;color:var(--brass)}.visit-line p{font-size:12px;line-height:1.8;margin:7px 0}.visit-line.captain{border-left:2px solid var(--muted);padding-left:12px}.question-heading{font:14px system-ui;margin:18px 0 12px}.visit-questions{display:flex;flex-direction:column;gap:8px}.visit-questions button{text-align:left;font-size:11px;line-height:1.6;white-space:normal}.local-condition{margin-bottom:16px}.station.visit-services .local-condition h3{font:600 12px system-ui;margin:0 0 7px}.local-condition p{font-size:11px;line-height:1.8;margin:0;color:#526d7a}.venue-service-features{border-top:1px solid #213c4b22;padding-top:20px}.venue-service-features h3{font-size:23px}.venue-service-features p{line-height:1.75}.utility-content{padding:22px;border:0;border-radius:6px}.utility-dialog .utility-content h3{font-size:23px}.visit-services select{max-width:100%}#toast{z-index:1000;pointer-events:none}@media(max-width:760px){.establishment-layout{display:block;max-height:calc(90vh - 130px);overflow:auto}.visit-people,.visit-services{max-height:none;overflow:visible;padding:20px}.visit-header{padding:18px;gap:12px}.visit-header h2{font-size:23px}.visit-header button{max-width:110px;font-size:11px}.venue-directory{grid-template-columns:1fr}.visit-people .host-profile{align-items:center}.visit-people .host-profile h2{font-size:22px}.visit-people .host-profile .portrait{width:100px;height:125px}.visit-header p{font-size:11px}.visit-services{border:0}}

.station-facilities{margin:10px 0 28px}.station-facilities p{font-size:12px;color:var(--mist);margin-top:13px}.station-facilities .actions{flex-wrap:wrap}.supplier-entry{padding:18px 0;border-bottom:1px solid #213c4b33}.supplier-entry h4{font:18px Georgia;margin-bottom:9px}.supplier-entry p{font-size:12px;line-height:1.8}.visit-services input[type=number]{display:block;width:150px;margin:8px 0 14px}.visit-services h3:not(:first-child){margin-top:24px}.game-shell aside>.side-section button{display:block;margin:7px 0;text-align:left;font-size:11px}

.large-fleet-roster .fleet-row{grid-template-columns:minmax(0,1fr);padding:12px}.large-fleet-roster .fleet-row .actions{margin-top:7px}.sidebar-fleet>button{font-size:10px;text-align:left;margin:6px 0}

.large-fleet-disclosure{margin:16px 0}.large-fleet-disclosure summary{cursor:pointer;padding:12px;border:1px solid #213c4b33;border-radius:5px;font-size:12px}.large-fleet-disclosure[open] summary{margin-bottom:12px}

.large-battle-roster{max-height:245px;overflow-y:auto;scrollbar-width:thin;padding-right:5px;overscroll-behavior:contain}.large-battle-roster:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

.finance-sidebar{display:flex;flex-direction:column;align-items:start;gap:7px;margin-top:10px}.finance-sidebar button{font-size:11px;text-align:left}.finance-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.finance-summary button{display:flex;flex-direction:column;align-items:start;text-align:left;gap:6px;background:#213c4b0c;color:#213c4b;border:1px solid #213c4b33;padding:13px;min-width:0}.finance-summary span{font-size:11px}.finance-summary strong{font-size:17px;font-variant-numeric:tabular-nums}.finance-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.finance-tabs button{font-size:12px}.finance-tabs [aria-pressed=true]{background:#213c4b;color:#fff}.finance-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:12px}.finance-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}.finance-account{padding:14px 12px;border:1px solid #213c4b33;border-radius:6px;margin:12px 0;background:#213c4b06}.finance-account summary{cursor:pointer;font-size:13px;line-height:1.7}.finance-account p,.financial-content>p{font-size:12px;line-height:1.7}.finance-account p{margin-top:10px}.finance-account summary:focus-visible{outline:2px solid #9b763e;outline-offset:4px}.finance-links{flex-direction:column;align-items:stretch}.finance-links button{text-align:left}.financial-content hr{border:0;border-top:1px solid #213c4b33;margin:10px 0}@media(max-width:500px){.finance-summary strong{font-size:14px}.finance-tabs button{font-size:11px;padding:7px}}

.host-personality{font-size:12px;line-height:1.7;color:var(--mist);padding:12px 14px;border-left:2px solid #d5ae6855;background:#ffffff04;margin:0 0 16px}

.trade-margin{font-size:12px;line-height:1.6;margin:10px 0 13px;padding:8px 10px;border-left:3px solid #69818e;background:#213c4b06;color:#546d79}.trade-margin strong{display:block;font-weight:600}.trade-margin small{display:block;font-size:10px;color:#546d79}.trade-margin.profit{color:#22634d;border-color:#397866;background:#3978660c}.trade-margin.loss{color:#a33931;border-color:#a33931;background:#a3393109}.trade-margin.even{color:#546d79}

.canteen-rumour{border:1px solid #213c4b25;border-radius:6px;padding:15px;margin:14px 0;background:#ffffff66}.canteen-rumour small{color:#546d79;font-size:10px}.canteen-rumour h4{font:18px Georgia,serif;margin:10px 0}.canteen-rumour div{font-size:12px;line-height:1.8}.canteen-rumour button{margin-top:12px}

/* Clear, compact save controls; older save points remain available below. */
.save-current{padding:18px;border:1px solid #39786640;border-radius:8px;background:#3978660b}.save-current h3{color:#397866}.save-checkpoint{padding:8px 0 18px}.save-current p,.save-checkpoint p{line-height:1.6}.save-more{border-top:1px solid #69818e40;padding:14px 0}.save-more summary{cursor:pointer;font-size:14px;font-weight:600}.save-more .save-slot{gap:12px}.save-more .save-slot span{flex:1}.save-new{margin-top:18px;border-top:1px solid #69818e40;padding-top:14px}

.station .save-checkpoint button.primary{background:#213c4b;color:#fff;border-color:#213c4b}.station .save-checkpoint button.primary:hover:not(:disabled){background:#345869;color:#fff}

/* Give every destination its own lane and the local station its own portrait. */
.navigation-map.solar-map{min-height:300px;max-height:none;aspect-ratio:760/460;height:auto;width:100%}
.orbital-view .ports.navigation-ports{display:block;padding:0;margin-top:18px}
.planet-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.planet-index button{min-height:38px;text-align:center;font-size:12px}
.station-gallery-heading{font:21px Georgia,serif;margin:20px 0 14px}
.station-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.navigation-station{min-width:0;background:#192f40;border:1px solid #69818e44;border-radius:7px;overflow:hidden}
.navigation-station.selected{border-color:#d5ae68}
.station-destination{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;text-align:left}
.station-destination:hover{background:#294454}
.station-destination:focus-visible{outline:2px solid #d5ae68;outline-offset:-3px}
.station-destination .station-illustration{width:100%;height:auto;aspect-ratio:400/245;border-radius:0;object-fit:contain}
.station-destination>span{display:block;padding:12px 13px 5px}
.station-destination strong{display:block;font-size:13px;font-weight:500;line-height:1.5;white-space:normal}
.station-destination small{display:block;font-size:11px;color:#a8bfcc;margin-top:4px}
.station-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 13px 12px}
.station-card-bottom small{font-size:10px;color:#a8bfcc}
.orbital-view .navigation-ports .station-card-bottom button{font-size:11px;padding:4px 0;text-align:right}
@media(max-width:650px){.navigation-map.solar-map{min-height:270px}.planet-index{grid-template-columns:repeat(3,minmax(0,1fr))}.station-gallery{gap:9px}.station-card-bottom{flex-wrap:wrap;padding:7px 10px 10px}.station-destination>span{padding:10px 10px 4px}.station-destination strong{font-size:12px}}
@media(max-width:380px){.station-gallery{grid-template-columns:1fr}}

.map-control-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:10px;min-width:0;max-width:100%}
.orbital-view .map-control-row .map-breadcrumb{margin:0;min-width:0;flex-shrink:1}.orbital-view .map-search{margin-bottom:10px}
.navigation-map.solar-map{margin-top:0}.orbital-view .ports.navigation-ports{margin-top:0;margin-bottom:18px}
.station-gallery-heading{margin-top:2px}.station-gallery+.navigation-map{margin-top:16px}

.navigation-map.solar-map{max-height:max(300px,calc(100vh - 350px))}.navigation-map text{font-size:15px}

/* The whole tile header is a disclosure target, including the empty space. */
.finance-account{padding:0}
.finance-account>summary{padding:14px 12px;min-height:44px;box-sizing:border-box}
.finance-account>p,.finance-account>.finance-row{margin-left:12px;margin-right:12px}
.save-more{padding:0}
.save-more>summary{padding:14px 0;min-height:46px;box-sizing:border-box}
.save-more[open]{padding-bottom:14px}
summary{user-select:none}
summary:hover{background:#69818e12}
summary:focus-visible{outline:2px solid #b18b4e;outline-offset:2px;border-radius:4px}

/* Readable charter ledger: full objectives, clear amounts and generous targets. */
@media(min-width:651px){.game-shell{grid-template-columns:240px minmax(0,1fr)}}
.game-shell .charter-summary h3{font-size:22px}
.game-shell .charter-summary .charter-objective{font-size:13px;line-height:1.7;color:var(--paper);margin-top:12px}
.game-shell .charter-summary .charter-progress{font-size:13px;font-weight:600;line-height:1.6;color:var(--brass);margin-top:14px}
.charter-finances{margin-top:14px}
.game-shell .charter-summary .charter-finance{display:block;width:100%;margin:0;padding:11px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;background:transparent}
.game-shell .charter-summary .charter-finance:last-child{border-bottom:0}
.game-shell .charter-summary .charter-finance:hover{background:#ffffff09}
.charter-finance-label,.charter-finance-value{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.charter-finance-label{font-size:13px;color:var(--mist);line-height:1.5}
.charter-finance-label small{font-size:11px;white-space:normal}
.charter-finance-value{margin-top:4px;color:var(--brass)}
.charter-finance-value strong{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--paper);overflow-wrap:anywhere}

.freight-offer{margin-top:20px}.freight-offer>p{margin:10px 0}.freight-terms{margin:14px 0;padding:12px 14px;background:#213c4b08;border-left:3px solid #69818e66}.freight-terms p{font-size:12px;line-height:1.8;margin:0 0 10px}.freight-terms p:last-child{margin-bottom:0}.freight-suspension,.freight-history{margin:18px 0;padding:14px;border:1px solid #bd645544;border-radius:6px;background:#bd64550b}.freight-suspension h4,.freight-history h4{font-size:14px;margin:0 0 8px}.freight-suspension p,.freight-history p,.freight-space{font-size:12px;line-height:1.8}.freight-space{color:#a33931}

/* Station services use one clear ledger of cost, time and outcome. */
.coordinator-services>p,.clinic-services>p{font-size:13px;line-height:1.8;margin:12px 0}.service-calendar{border-left:3px solid #b18b4e;padding:10px 12px;background:#d5ae6812;color:#5f573f}.service-card{margin:20px 0;padding:17px;background:#ffffff65;border:1px solid #213c4b22;border-radius:7px}.service-card h4{font:600 15px/1.5 system-ui;margin:0 0 10px}.service-card p,.service-details p{font-size:12px;line-height:1.8;margin:10px 0}.service-card button{margin-top:8px;white-space:normal;text-align:left}.service-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.service-metrics div{min-width:0}.service-metrics dt{font-size:11px;color:#526d7a}.service-metrics dd{margin:4px 0 0;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.service-ready{color:#286650;font-weight:600}.service-warning{color:#a33931;font-weight:600}.service-choice{border-top:1px solid #213c4b22;padding-top:14px;margin-top:18px}.service-details{border:1px solid #213c4b33;border-radius:6px;margin:20px 0}.service-details>summary{padding:14px;cursor:pointer;font-size:14px;font-weight:600}.service-details>p{margin:12px 14px}.crew-readiness{width:100%;height:10px;accent-color:#397866}.coordinator-services>label{display:block;font-size:13px;margin-top:20px}.coordinator-services>select{margin:8px 0 0;width:100%;max-width:100%}

/* Planet atlas first; the selected flight plan sits below the full-width map. */
.navigation-deck{grid-template-columns:minmax(0,1fr);gap:24px}
.route-column .flight{padding-top:22px;border-top:1px solid #69818e44}
.route-column .metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.map-viewport{overflow-x:auto;border-radius:9px}

.navigation-map text{font-family:system-ui;font-size:16px}


.map-node.locked{cursor:default}
.map-node.locked:hover>circle{stroke:#d5dfd8;stroke-width:.5}
.map-node.locked{opacity:.65}
.station-map-node:not(.locked):hover .map-station-hit,.station-map-node:focus-visible .map-station-hit{stroke:#e4c385;stroke-width:2}
.station-map-node:not(.locked){cursor:pointer}
@media(max-width:800px){.route-column .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:500px){.route-column .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.map-tools{display:flex;align-items:center;gap:16px;margin:10px 0}
.map-tools .map-breadcrumb{margin:0;flex-shrink:0}
.map-tools .map-search{margin:0 0 0 auto;max-width:350px;flex:1}

@media(max-width:800px){.map-tools{flex-wrap:wrap}.map-tools .map-search{max-width:none;min-width:210px}}

/* A single flagship portrait, followed by a plain-text escort register. */
.sidebar-fleet .flagship-preview{display:block;width:100%;border:0;padding:0;background:transparent}
.sidebar-fleet .flagship-preview:hover{background:#294454}
.sidebar-fleet .flagship-preview:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.sidebar-fleet .ship-title{margin:6px 0 14px}.sidebar-fleet .ship-title h2{font-size:24px}



.sidebar-fleet .sidebar-berths{font-size:12px;text-align:left;margin-top:9px;white-space:normal}
.fleet-status>p{font-size:13px;line-height:1.7}.fleet-status h3{margin-top:24px}
.fleet-status-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}
.fleet-status-metrics>div{min-width:0;padding:12px;background:#203c4b0a;border:1px solid #203c4b20;border-radius:5px}
.fleet-status-metrics dt{font-size:12px;color:#405968}.fleet-status-metrics dd{margin:7px 0 5px;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.fleet-status-metrics small{font-size:11px;color:#405968}
.fleet-status-vessel{margin:10px 0;background:#ffffff44;border:1px solid #203c4b30;border-radius:6px;overflow:hidden}
.fleet-status-vessel>summary{padding:14px;display:flex;gap:12px;align-items:center;cursor:pointer;list-style:none}
.fleet-status-vessel>summary:before{content:'›';font-size:20px}.fleet-status-vessel[open]>summary:before{transform:rotate(90deg)}
.fleet-status-vessel>summary>span:first-of-type{flex:1;min-width:0}.fleet-status-vessel>summary strong{display:block;font-size:14px;overflow-wrap:anywhere}.fleet-status-vessel>summary small{display:block;font-size:11px;margin-top:5px;color:#405968}.fleet-status-vessel>summary>span:last-child{font-size:12px;white-space:nowrap}
.fleet-vessel-body{padding:0 14px 14px}.fleet-vessel-body h4{font-size:14px;margin:19px 0 8px}.fleet-upgrade-list{list-style:none;padding:0}.fleet-upgrade-list li{padding:8px 0;border-bottom:1px solid #203c4b18;font-size:12px}.fleet-upgrade-list span{display:block;font-size:11px;line-height:1.6;color:#405968;margin-top:4px}
.fleet-manifest{list-style:none;padding:0}.fleet-manifest li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px;border-bottom:1px solid #203c4b18}.fleet-berth-group{margin:16px 0 22px}.fleet-berth-group>h4{font-size:16px;margin:0 0 8px}
@media(max-width:500px){.fleet-status-metrics{gap:8px}.fleet-status-metrics dd{font-size:15px}.fleet-status-vessel>summary{padding:11px;gap:8px}.fleet-status-vessel>summary>span:last-child{white-space:normal;text-align:right}.fleet-manifest li{flex-wrap:wrap}}

.fleet-status-vessel>summary .warning{color:#805014}.fleet-status-vessel>summary .loss,.fleet-vessel-body>.loss{color:#9b3630}

/* Dialogue trees use one exchange and clearly separated reply choices. */
.visit-questions button strong{display:block;font-size:12px;font-weight:500}.visit-questions button small{display:block;font-size:10px;color:var(--mist);margin-top:5px;line-height:1.6}.dialogue-instruction{font-size:11px;color:var(--mist);margin:0 0 12px}.dialogue-outcome{font-size:12px;color:var(--brass);line-height:1.7;padding:10px 12px;background:#d5ae6812;border-radius:5px}.visit-people .host-dialogue{max-height:320px;min-height:100px;scroll-behavior:auto}.dialogue-discovery,.dialogue-commission{padding:17px;background:#ffffff88;border:1px solid #213c4b22;border-radius:7px;margin-bottom:18px}.dialogue-commission .eyebrow{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#526d7a}.dialogue-commission h3,.dialogue-discovery h3{font:22px Georgia!important;margin:8px 0 12px}.dialogue-commission p,.dialogue-discovery p{font-size:12px;line-height:1.8}.commission-prompt{font-weight:600}

.home-reputation{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-reputation p{margin:8px 0}.home-reputation small,.home-reputation strong{display:block}.home-reputation strong{font-size:18px;margin-top:6px}.home-base button{margin:5px 8px 5px 0}.host-reception{font-size:12px;line-height:1.7;color:var(--brass)}

/* Navigation atlas: navy field, ivory labels, gold route, blue dock marker.
   Georgia headings / system-ui chart labels. Keep body longitude, move labels.
   The wider vertical field separates conjunctions without falsifying angles. */

.navigation-map .map-body-name{font:600 16px system-ui}
.navigation-map .map-station-name{font:12px system-ui}
.navigation-map .map-orbit-caption{font:11px system-ui}
.navigation-map .map-frame-label{font:13px system-ui}
.navigation-map .map-center-label{font:15px system-ui}
.navigation-map .map-node.locked{opacity:1}
.navigation-map .map-node:hover .map-label-plate,.navigation-map .map-node:focus-visible .map-label-plate{stroke:#e4c385;stroke-width:1.8}
.navigation-map .map-node.locked:hover .map-label-plate{stroke:#526976;stroke-width:.8}
.navigation-map .map-node:focus-visible{filter:drop-shadow(0 0 3px #d5ae68)}
.map-label-link,.map-card-link{pointer-events:none}
.map-astronomy{margin-top:15px;border-top:1px solid #35505a;padding-top:12px;color:#b6c7d0;font-size:12px;line-height:1.65}
.map-astronomy summary{cursor:pointer;color:#e0e8e4;padding:6px 0;font-size:13px}
.map-astronomy summary:focus-visible{outline:2px solid #d0b57d;outline-offset:3px}
.map-astronomy p{max-width:78ch}
.map-motion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:15px 0}
.map-motion-list strong,.map-motion-list span{display:block}
.map-motion-list strong{color:#e0e8e4;font-weight:600}
@media(max-width:650px){.map-motion-list{grid-template-columns:1fr}.map-viewport{border:1px solid #35505a}.map-tools .map-search{min-width:100%}}
/* Keep the complete atlas in view on a desktop, with readable chart typography. */

.navigation-map .map-body-name{font-size:18px}
.navigation-map .map-station-name{font-size:14px}
.navigation-map .map-orbit-caption{font-size:12px}


.navigation-map .map-station-name{font-size:16px}
.navigation-map .map-orbit-caption{font-size:13px}

.map-viewport .navigation-map.solar-map{width:100%;min-width:800px;min-height:0;max-height:none;aspect-ratio:1000/600;height:clamp(450px,calc(100vh - 310px),660px);margin:0}
.navigation-map .station-map-node text.map-orbit-caption{font:13px system-ui}
@media(max-width:800px){.map-viewport .navigation-map.solar-map{height:560px}}

.local-navigation-map .map-center-label{font:600 13px system-ui;fill:#edf0e9;paint-order:stroke;stroke:#10202d;stroke-width:3px;stroke-linejoin:round}
@media(max-width:650px){#app>header{flex-wrap:wrap}#app>header .brand{flex-basis:100%;min-width:0}#app>header>button{flex:1 1 auto;padding-inline:9px}}

.navigation-map:not(.local-navigation-map) .map-center-label{font:700 13px system-ui;fill:#172d3b}

/* Shared navigation lives in one game menu, leaving the flight instruments clear. */
.game-menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
dialog.game-menu-dialog{width:min(600px,94vw);max-width:600px;padding:24px;background:var(--space);color:var(--paper)}
.game-menu-dialog .dialog-head{margin-bottom:18px}.game-menu-dialog .dialog-head h2{margin:0}
.game-menu-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:min(100%,340px);margin:0 auto}
.game-menu-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;min-width:0;min-height:52px;margin:0;padding:9px 14px}
.checkpoint-slots{display:grid;gap:12px}.checkpoint-slot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #718b963b}.checkpoint-slot h3{font-size:20px;margin:0 0 6px}.checkpoint-slot p{font-size:13px;line-height:1.6;margin:0}.checkpoint-content>.actions{margin-top:20px}.checkpoint-slot button{min-width:94px}
.game-menu-item strong{font-size:14px;font-weight:600}.game-menu-item small{font-size:11px;color:var(--mist);white-space:normal}
.game-menu-finances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 0;margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.game-menu-finances .charter-finance{display:block;min-width:0;padding:10px;text-align:left;background:var(--panel);border-color:transparent}
.game-menu-finances .charter-finance-label{flex-direction:column;align-items:flex-start;gap:2px}.game-menu-finances .charter-finance-value{gap:5px}
.game-menu-finances .charter-finance-value strong{font-size:16px}.game-menu-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:16px}
.game-menu-footer .game-menu-item{flex:1}.game-menu-new{color:var(--red);white-space:nowrap}
@media(max-width:480px){dialog.game-menu-dialog{padding:18px}.game-menu-grid{gap:8px}.game-menu-item{padding:11px}.game-menu-finances{gap:6px}.game-menu-finances .charter-finance{padding:8px}.game-menu-finances .charter-finance-value strong{font-size:14px}.game-menu-footer{align-items:stretch;flex-direction:column}.game-menu-new{padding:12px}}

/* Departure controls share the map toolbar, outside the map scroll area. */
.map-flight-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.map-flight-warning{margin:8px 0 0;font-size:12px}

/* Fleet previews share the cached ship renderer and draw only on interaction. */
.fleet-ship-preview{margin:14px 0 18px;padding:12px;background:#101f2c;border-radius:7px;color:#e4ebe7}
.fleet-ship-preview canvas{display:block;width:100%;height:auto;aspect-ratio:400/245;background:radial-gradient(ellipse at 55% 40%,#294456,#101f2c 72%);border-radius:5px;cursor:grab;touch-action:none}
.fleet-ship-preview canvas:active{cursor:grabbing}.fleet-ship-preview canvas:focus-visible{outline:2px solid #d5ae68;outline-offset:3px}
.fleet-ship-preview [hidden]{display:none}.fleet-preview-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px}.fleet-preview-controls button{min-width:36px;min-height:34px;padding:5px 10px;border-color:#69818e77;color:#e4ebe7;background:#1c3444}.fleet-preview-controls button:hover{border-color:#d5ae68;background:#294456}
.fleet-preview-hint{margin:8px 0 0!important;text-align:center;color:#b4c7d2;font-size:11px!important}.fleet-armament-list{list-style:none;padding:0;margin:12px 0}.fleet-armament-list li{padding:10px 0;border-bottom:1px solid #203c4b22}.fleet-armament-list strong,.fleet-armament-list span{display:block;font-size:12px}.fleet-armament-list span{color:#405968;font-size:11px;line-height:1.7;margin-top:5px}

.fleet-vessel-inspection{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.fleet-vessel-inspection>div{min-width:0}.fleet-vessel-inspection .fleet-ship-preview{margin-top:12px}.fleet-vessel-inspection .fleet-status-metrics{gap:8px}.fleet-vessel-inspection .fleet-status-metrics>div{padding:9px}.fleet-vessel-inspection .fleet-status-metrics dd{font-size:16px}
@media(max-width:760px){.fleet-vessel-inspection{grid-template-columns:1fr;gap:0}.fleet-vessel-inspection .fleet-ship-preview{margin-bottom:5px}}

dialog.fleet-overview-dialog{width:min(1000px,94vw);max-width:1000px}.fleet-overview-dialog .utility-content{padding:18px}.fleet-overview-dialog .fleet-vessel-inspection .fleet-status-metrics dd{font-size:18px}

/* Primary navigation uses consistent button dimensions. */



.sidebar-menu{width:100%;justify-content:flex-start;margin-top:18px}.dialog-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
@media(max-width:650px){.game-shell aside{display:block;padding:0}.game-shell aside>:not(.sidebar-menu){display:none}.game-shell aside>.sidebar-menu{width:auto;margin:12px 16px 0}}

/* Every popout owns its scrolling, including nested establishment panels. */
html:has(#modal[open]){overflow:hidden;overscroll-behavior:none;scrollbar-gutter:stable}
body:has(#modal[open]){overflow:hidden;overscroll-behavior:none}
#modal,#modal *{overscroll-behavior:contain}
#modal::backdrop{overscroll-behavior:none}

/* Establishment doors: type, host, then role; business descriptions stay inside. */
.venue-door{min-height:116px}.venue-door .venue-labels{min-width:0;overflow-wrap:anywhere}.venue-door .venue-host-name{margin:8px 0 0;font-size:12px;color:var(--brass)}.venue-door .venue-host-role{margin:4px 0 0;font-size:11px;color:var(--mist);line-height:1.6}

/* Cash stays with the fleet controls, directly above Menu. */
.sidebar-funds{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.sidebar-funds+.sidebar-menu{margin-top:12px}
@media(max-width:650px){.game-shell aside>.sidebar-funds{display:block;margin:12px 16px 0;padding-top:0;border:0}.game-shell aside>.sidebar-funds+.sidebar-menu{margin-top:10px}}

/* Exchanges begin directly with the trade controls. */
.visit-services.exchange-services{padding-top:16px}
.exchange-services>.venue-service-features:first-child{border-top:0;padding-top:0}

/* Station identity: name, orbital location, then the local story. */
.station-arrival .station-location{margin:0 0 12px;font-size:12px}
.station-arrival .station-description{margin:0;font-size:13px;line-height:1.75;max-width:75ch}

/* Establishment title and location stay above independently scrolling content. */
.establishment-dialog[open]{display:flex;flex-direction:column;height:calc(var(--modal-area-height) - 24px);max-height:calc(var(--modal-area-height) - 24px)}
.establishment-dialog .visit-header{flex:0 0 auto;max-height:50%;overflow-y:auto}
.visit-header>div{min-width:0}
.establishment-dialog .establishment-layout{flex:1 1 0px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden}
.establishment-dialog .visit-people,.establishment-dialog .visit-services{min-height:0;max-height:none}
@media(max-width:760px){.establishment-dialog .establishment-layout{overflow:auto}.establishment-dialog .visit-people,.establishment-dialog .visit-services{overflow:visible}}

/* Portrait review: centered artwork and details, with a persistent close control. */
.portrait-dialog[open]{display:flex;flex-direction:column;width:min(840px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:min(820px,90vh);max-height:90vh;padding:0;overflow:hidden}
.portrait-dialog .portrait-header{flex:0 0 auto;align-items:flex-start;justify-content:space-between;padding:20px 24px;gap:18px;background:var(--space)}
.portrait-header>div{min-width:0}.portrait-header h2{font-size:26px;overflow-wrap:anywhere}.portrait-header p{font-size:12px;color:var(--mist);margin:6px 0 0}.portrait-header button{flex-shrink:0}
.portrait-scroll{flex:1 1 0px;min-height:0;overflow:auto;padding:20px 24px}
.portrait-scroll .portrait-detail{max-width:440px;margin:0 auto}
.portrait-scroll .character-portrait{width:min(100%,336px);height:auto;margin:0 auto 18px}
.portrait-scroll .portrait-detail p{margin:12px 0 0;line-height:1.7}
@media(max-width:480px){.portrait-dialog .portrait-header{padding:16px 18px}.portrait-scroll{padding:18px}.portrait-header h2{font-size:23px}}

/* Keep compact establishment headings aligned with the return control. */
@media(max-width:760px){
 .establishment-dialog .visit-header{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:6px;align-items:start}
 .establishment-dialog .visit-header>div{display:contents}
 .establishment-dialog .visit-header h2{grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere}
 .establishment-dialog .visit-location{grid-column:1;grid-row:2;margin:0}
 .establishment-dialog .visit-header>button{grid-column:2;grid-row:1/span 2;align-self:start}
}

/* Compact host portraits leave more room for conversation choices. */
.visit-people .host-profile .portrait-enlarge{width:88px}
.visit-people .host-profile .portrait-enlarge .character-portrait{width:100%;height:auto}
@media(max-width:760px){.visit-people .host-profile .portrait-enlarge{width:88px}}

/* One readable response, followed by a compact set of at most four replies. */
.visit-people .host-dialogue{min-height:80px;max-height:none;overflow:visible;overflow-wrap:anywhere;margin:10px 0;padding:12px;line-height:1.6;font-size:12px}
.visit-people .host-dialogue p{font-size:12px;line-height:1.6;margin:0 0 8px}
.visit-people .host-dialogue p:last-child{margin-bottom:0}
.visit-people .visit-questions{gap:6px}
.visit-people .visit-questions button{min-height:40px;padding:8px 10px;font-size:12px;line-height:1.45;font-weight:400}

/* Exchange ledger: fewer rows, larger controls, explicit purchase destination. */
.market-products{display:grid;gap:0}.market-product{padding:10px 0;border-bottom:1px solid #213c4b2b;min-width:0}.market-product:first-child{padding-top:0}.market-product-title,.market-product-summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.market-product-title strong{font-size:15px;font-weight:650;color:#203a49}.market-supply{font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;color:#314e5d;white-space:nowrap}.market-product-summary{margin:3px 0 7px;font-size:11px}.market-onboard{color:#546d79}.market-unit-price{display:flex;gap:14px;font-size:11px}.market-unit-price strong{font-variant-numeric:tabular-nums;font-size:14px;color:#203a49;font-weight:650}.market-trade-controls{display:grid;grid-template-columns:154px minmax(0,1fr);gap:8px;align-items:center}.market-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:0}.market-stepper button{min-width:44px;min-height:44px;padding:0;font-size:21px;line-height:1;border-radius:4px;background:#f2f5f5;color:#203a49}.visit-services .market-stepper input[type=number]{display:block;width:100%;max-width:100%;min-width:0;min-height:44px;margin:0;padding:5px 2px;background:#fff;color:#203a49;border:1px solid #8fa2a780;border-radius:0;text-align:center;font-size:16px;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}.market-stepper input::-webkit-inner-spin-button,.market-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.market-stepper button:first-child{border-radius:4px 0 0 4px}.market-stepper button:last-child{border-radius:0 4px 4px 0}.market-stepper input[aria-invalid=true]{outline:2px solid #a44636}.market-order-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.market-order-buttons button{font-size:12px;min-height:44px;min-width:0;padding:7px 5px;white-space:nowrap}.market-order-buttons button:first-child{background:#203a49;color:#fff;border-color:#203a49}.market-order-buttons button:disabled,.market-stepper button:disabled{opacity:.43}.market-profit{margin-top:4px;font-size:10px;font-variant-numeric:tabular-nums;line-height:1.4}.market-profit:empty{display:none}.market-profit .profit{color:#2b7258}.market-profit .loss{color:#a44636}.market-profit .even,.market-profit .unknown{color:#536b75}.market-destination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 0 12px;margin-bottom:10px;border-bottom:1px solid #213c4b2b}.market-destination label{position:relative;display:flex;align-items:center;flex-direction:row;gap:9px;margin:0;color:#314e5d;font-size:12px;white-space:nowrap}.market-destination select{appearance:none;-webkit-appearance:none;display:block;width:auto;height:44px;min-height:44px;background:#f6f8f8;color:#203a49;border:1px solid #8fa2a780;border-radius:4px;max-width:260px;margin:0;padding:8px 30px 8px 10px;font-size:13px}.market-destination label::after{content:"";position:absolute;right:13px;top:17px;width:7px;height:7px;border-right:2px solid #546d79;border-bottom:2px solid #546d79;transform:rotate(45deg);pointer-events:none}.market-destination-capacity{text-align:right;font-size:12px;font-variant-numeric:tabular-nums;color:#314e5d}.market-destination-capacity small{display:block;font-size:10px;color:#536b75;margin-top:4px}.market-destination .market-get-storage{min-height:44px;font-size:12px}.discreet-products{margin-top:18px}.discreet-products>h3{font-size:21px}.discreet-products>p{margin:8px 0 12px}@media(min-width:761px) and (max-width:1050px){.market-order-buttons{grid-template-columns:1fr 1fr}}@media(max-width:600px){.market-order-buttons{grid-template-columns:1fr 1fr}.market-trade-controls{grid-template-columns:144px minmax(0,1fr)}.market-destination select{max-width:210px}}@media(max-width:430px){.market-product-summary{align-items:flex-start;flex-direction:column;gap:3px}.market-product-title strong{font-size:14px}.market-trade-controls{grid-template-columns:138px minmax(0,1fr);gap:7px}.market-destination select{max-width:180px}.market-order-buttons button{font-size:11px}}

/* Journal reports retain their original provenance and quotes. */
.trade-rumor-journal{margin-bottom:24px}.trade-rumor-journal>h3{margin-bottom:8px}.trade-rumor-entry{padding:16px 0;border-bottom:1px solid #213c4b2b;overflow-wrap:anywhere}.trade-rumor-entry h4{font-size:17px;margin:0 0 5px}.trade-rumor-entry p{margin:4px 0;font-size:12px}.trade-rumor-entry .trade-rumor-date{color:#536b75;font-variant-numeric:tabular-nums;margin:9px 0 4px}.trade-rumor-entry details{margin-top:10px}.trade-rumor-entry summary{padding:10px 0;font-size:12px;min-height:40px}.trade-rumor-report{font-size:12px;line-height:1.7;padding:2px 0 8px}.trade-rumor-report p{margin:8px 0}

/* Experience discoveries share the action ledger; notices remain visible inside open dialogs. */
.commodity-unlock-notice{position:fixed;z-index:1100;bottom:20px;left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));box-sizing:border-box;background:var(--paper);color:var(--ink);border:1px solid #c3a35f;border-left:4px solid #c3a35f;border-radius:8px;padding:14px 16px;box-shadow:0 8px 36px #0007;font:13px/1.5 system-ui;overflow-wrap:anywhere}.commodity-notice-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.commodity-unlock-notice p{font:13px/1.5 system-ui;margin:8px 0 12px}.commodity-unlock-notice button{color:var(--ink);border-color:#213c4b40;min-height:40px;font-size:12px;padding:8px 12px}.commodity-notice-heading button{min-height:40px;flex-shrink:0}.commodity-journal{margin-bottom:26px}.commodity-journal>h3{margin-bottom:8px}.commodity-journal>p{font-size:12px}.commodity-journal>details>summary{padding:12px 0;min-height:44px;box-sizing:border-box}.commodity-known{list-style:none;padding:0;margin:8px 0 14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 18px}.commodity-known li{padding:10px 0;border-bottom:1px solid #213c4b22;font-size:12px}.commodity-known small{display:block;color:#536b75;margin-top:3px}.commodity-discovery-history article{padding:12px 0;border-bottom:1px solid #213c4b22}.commodity-discovery-history h4{font-size:15px;margin:0 0 6px}.commodity-discovery-history p{font-size:12px;margin:4px 0;color:#536b75}

/* Commodity counterparties are limited to the captain's visited ports. */
.commodity-stations{margin-top:5px}.commodity-stations summary{font-size:12px;padding:9px 0;min-height:40px;box-sizing:border-box}.commodity-known .commodity-station-list{list-style:none;padding:0;margin:0 0 4px}.commodity-known .commodity-station-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 0;font-size:12px;border-bottom:1px solid #213c4b18}.commodity-known .commodity-station-row:last-child{border-bottom:0}.commodity-station-place{min-width:0;overflow-wrap:anywhere}.commodity-known .commodity-station-place small{font-size:11px;margin-top:3px}.commodity-trade-direction{flex-shrink:0;font-size:11px;color:#536b75;white-space:nowrap;padding-top:1px}

/* Audio preferences are device settings, independent of the voyage ledger. */
.game-menu-audio{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.game-menu-audio+ .game-menu-finances{margin-top:14px}
dialog.audio-dialog{width:min(540px,94vw);padding:24px;background:var(--space);color:var(--paper)}.audio-dialog .dialog-head h2{margin:0}.audio-settings label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;font-weight:600}.audio-settings output{color:var(--brass);font-variant-numeric:tabular-nums}.audio-settings input[type=range]{display:block;width:100%;height:44px;padding:4px 0;accent-color:var(--brass);cursor:pointer}.audio-settings .actions{margin:22px 0}.audio-settings #audio-status{min-height:22px;color:var(--mist)}

/* The flight sidebar remains in view; overlays belong to the main game pane. */
:root{--sidebar-width:240px;--modal-area-left:0px;--modal-area-top:0px;--modal-area-right:0px;--modal-area-bottom:0px;--modal-area-width:100vw;--modal-area-height:100dvh;--modal-center-x:50vw;--modal-center-y:50dvh;--shell-offset:0px}
.game-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.game-shell>aside{display:block;position:sticky;top:0;align-self:start;box-sizing:border-box;height:calc(100dvh - var(--shell-offset));max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:22px 18px;background:var(--panel);scrollbar-width:thin}
#modal{position:fixed;inset:auto;left:var(--modal-position-left,12px);top:var(--modal-position-top,12px);transform:none;margin:0;max-width:calc(var(--modal-area-width) - 24px);max-height:calc(var(--modal-area-height) - 24px);box-shadow:inset 0 0 0 1px #ffffff05}
#modal::backdrop{clip-path:inset(var(--modal-area-top) var(--modal-area-right) var(--modal-area-bottom) var(--modal-area-left));background:#08131de0;backdrop-filter:blur(6px)}
#modal.establishment-dialog{container-type:inline-size}
@container (max-width:660px){
 .establishment-layout{display:block}
 .establishment-dialog .establishment-layout{overflow:auto}
 .establishment-dialog .visit-people,.establishment-dialog .visit-services{overflow:visible;padding:18px}
 .visit-header{padding:18px;gap:12px}.visit-header h2{font-size:23px}.visit-header button{max-width:110px;font-size:11px}
 .visit-people .host-profile h2{font-size:21px}.visit-people .host-profile .portrait{width:88px;height:110px}
}
@media(max-width:960px){:root{--sidebar-width:180px}}
@media(max-width:600px){
 :root{--sidebar-width:140px}
 .game-shell>aside{padding:14px 10px;font-size:11px}
 .game-shell>aside>:not(.sidebar-menu){display:revert}
 .game-shell>aside h2{font-size:17px}.game-shell>aside .gauge{display:block}.game-shell>aside .captain-role,.game-shell>aside .spares{display:block}
 .game-shell>aside>.sidebar-funds{margin:16px 0 0}.game-shell>aside>.sidebar-menu{width:100%;margin:12px 0 0}
 .game-shell>aside .sidebar-fleet .ship-illustration{max-height:90px}
 .screen-main{padding:12px}
 #modal{max-width:calc(var(--modal-area-width) - 12px);max-height:calc(var(--modal-area-height) - 12px);padding:16px}
 #modal.establishment-dialog,#modal.portrait-dialog{padding:0}
 #modal .dialog-head{gap:8px}#modal .dialog-head h2{font-size:21px}
 .game-menu-grid{grid-template-columns:1fr}.game-menu-finances{grid-template-columns:1fr}
}
@media(max-height:800px){
 .game-shell>aside{padding-top:12px;padding-bottom:12px}
 .game-shell>aside .gauge{margin-top:10px}
 .game-shell>aside .sidebar-fleet .ship-illustration{max-height:90px}
 .game-shell>aside>.sidebar-funds{margin-top:12px;padding-top:10px}
 .game-shell>aside>.sidebar-menu{margin-top:10px}
}
/* Root scroll locking must not move a sticky sidebar above the viewport. */
.game-shell>.screen-main{grid-column:2;grid-row:1}
body:has(#modal[open]) .game-shell>aside{position:fixed;left:0;top:var(--shell-offset);width:var(--sidebar-width);height:calc(100dvh - var(--shell-offset))}
/* Preserve the visible main-pane height when the sidebar leaves grid flow. */
body:has(#modal[open]) .game-shell::before{content:"";grid-column:1;grid-row:1;height:calc(100dvh - var(--shell-offset));min-width:0;pointer-events:none}
@media(max-width:600px){.game-shell>aside .ship-title{display:block}.game-shell>aside .ship-title small{font-size:10px}.game-shell>aside>.sidebar-funds strong{font-size:20px}}
#modal.journey-dialog #journey-chart{height:clamp(120px,calc(var(--modal-area-height) * .28),280px)}

/* Compact navigation: route actions follow the planet-system selector. */


.screen-main:has(.navigation-deck){padding:14px 20px}
.navigation-deck{gap:12px}
.navigation-deck .map-tools{margin:0 0 8px;gap:8px;align-items:flex-start}
.navigation-deck .map-control-row{flex:1 1 auto;margin:0;gap:8px;align-items:center}
.navigation-deck .map-breadcrumb{gap:6px}
.navigation-deck .map-flight-actions{margin:0;gap:8px}
.navigation-deck .map-control-row button{min-height:36px;padding:8px 10px;font-size:11px;white-space:nowrap}
.navigation-deck .map-flight-warning{flex-basis:100%;margin:0;font-size:11px;line-height:1.4}
.navigation-deck .map-search{flex:0 1 230px;min-width:190px;max-width:270px;margin:0 0 0 auto}
.navigation-deck .map-search input{padding:8px 10px;min-height:36px;font-size:11px}
.navigation-deck .map-viewport .navigation-map.solar-map{min-width:680px;height:clamp(340px,calc(100dvh - 365px),540px)}
.navigation-deck .route-column .flight{padding-top:10px}
.navigation-deck .route-column .metrics{gap:8px;margin:0 0 10px}
.navigation-deck .route-column .metric{margin-bottom:0}
.navigation-deck .route-column .metric span{font-size:20px;line-height:1.3}
.navigation-deck .route-note{font-size:11px;line-height:1.45;padding-left:10px}
.navigation-deck .belt-note{margin-top:8px;font-size:11px;line-height:1.4}
@media(max-width:1050px){.navigation-deck .map-search{flex-basis:100%;max-width:none;margin:0}.navigation-deck .map-viewport .navigation-map.solar-map{height:clamp(340px,calc(100dvh - 400px),510px)}}
@media(max-width:650px){.screen-main:has(.navigation-deck){padding:12px}.navigation-deck .map-control-row{gap:6px}.navigation-deck .map-flight-actions{gap:6px}.navigation-deck .map-tools .map-search{min-width:100%}.navigation-deck .map-viewport .navigation-map.solar-map{height:340px}}
.game-shell:has(.navigation-deck){min-height:calc(100dvh - var(--shell-offset))}
.game-shell:has(.navigation-deck)>aside{height:calc(100dvh - var(--shell-offset))}
@media(max-width:1050px){.navigation-deck .map-tools{flex-wrap:wrap}.navigation-deck .map-control-row{flex-basis:100%}}
@media(min-width:900px){.navigation-deck .route-column .metrics{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* Offers and choices stay together inside the character's response, not above services. */
.conversation-exchange .conversation-offer-title{font-weight:650;color:inherit;margin:0 0 8px}
.conversation-exchange .conversation-offer-terms{font-weight:650;color:var(--brass);margin:10px 0 0}
.conversation-exchange .conversation-offer-progress,.conversation-exchange .conversation-offer-reason{margin:8px 0 0;font-size:11px}
.conversation-offer-details{margin:10px 0 0;font-size:11px}
.conversation-offer-details>summary{cursor:pointer;padding:5px 0;min-height:28px}
.conversation-offer-details .private-project-steps{margin:8px 0 0;padding-left:20px}
.conversation-offer-details .private-project-steps li{margin:8px 0;line-height:1.5}
.visit-questions button small{display:block;margin-top:3px;color:var(--mist);font-size:10px;line-height:1.35}
.station .conversation-offer-terms{color:var(--ink)}
/* Reserve the complete response layout while revealing only its visible ink. */
.response-speech{position:relative;overflow-wrap:anywhere}
.response-layout,.response-ink{display:flow-root}
.response-layout{visibility:hidden}
.response-ink{position:absolute;inset:0;pointer-events:none}
.response-speech[data-revealing]{cursor:pointer}
.response-speech:focus-visible{outline:2px solid var(--brass);outline-offset:4px;border-radius:3px}
.visit-people:has(.conversation-offer-title) .host-profile{margin-bottom:10px}
.visit-people:has(.conversation-offer-title) .host-dialogue{min-height:0;margin:10px 0;padding:12px;line-height:1.55}
.visit-people:has(.conversation-offer-title) .host-dialogue p{line-height:1.55}
.visit-people:has(.conversation-offer-title) .host-profile .portrait-enlarge{width:80px}
.visit-people:has(.conversation-offer-title) .visit-questions button.primary{background:var(--brass);color:var(--space);border-color:var(--brass)}
.visit-questions:has(>button[data-topic="tree-accept"]),.visit-questions:has(>button[data-topic="tree-patron-buy"]),.talk-actions:has(>button[data-action="secret-accept"]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.visit-questions>button[data-topic="tree-accept"],.visit-questions>button[data-topic="tree-patron-buy"],.talk-actions>button[data-action="secret-accept"]{grid-column:1/-1}
.visit-questions:has(>button[data-topic="tree-complete"]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.visit-questions>button[data-topic="tree-complete"]{grid-column:1/-1}

.visit-questions:has(>button[data-topic="tree-bounty-accept"]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.visit-questions>button[data-topic="tree-bounty-accept"]{grid-column:1/-1}

.creator-choice-description{font-size:12px;line-height:1.55;margin:7px 0 16px;min-height:38px;color:var(--mist)}
#character-form select{width:100%;max-width:100%;text-overflow:ellipsis}

#modal:has(#character-form){padding:24px}
#modal:has(#character-form) .dialog-head{margin-bottom:12px}
#modal:has(#character-form)>p{margin:10px 0;font-size:12px;line-height:1.55}
#modal:has(#character-form)>.light-note{padding:10px 12px;margin:10px 0 14px}
.creator-identity{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}
#character-form label{display:block;margin:10px 0 5px}
#character-form input,#character-form select{padding:9px 10px}
#character-form .creator-choice-description{margin:6px 0 8px;min-height:0}
#character-form>.muted{font-size:11px;margin:8px 0}
#character-form .dialog-error:empty{display:none}
#character-form>button{width:100%;margin-top:8px}
@media(max-width:480px){.creator-identity{grid-template-columns:1fr;gap:0}}

/* Freight starts with actionable deliveries, with the goal, fee and deadline kept together. */
.freight-services .venue-service-features{margin-top:0;padding-top:0;border-top:0}
.compact-freight-board .freight-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 8px}
.compact-freight-board .freight-list-heading h3{margin:0;font-size:21px}
.compact-freight-board .freight-list-heading>span{font-size:12px;white-space:nowrap;color:#526d7a}
.compact-freight-board>h3{font-size:21px;margin:0 0 8px}
.compact-freight-board .freight-offer{padding:12px 14px;margin:8px 0 12px}
.compact-freight-board .freight-offer h4{font-size:15px;line-height:1.4;margin:0 0 4px}
.compact-freight-board .freight-offer>p{font-size:12px;line-height:1.5;margin:5px 0}
.compact-freight-board .freight-offer-meta{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:3px;align-items:baseline}
.compact-freight-board .freight-offer-meta strong{font-size:14px}
.compact-freight-board .freight-offer button{padding:8px 10px;margin-top:7px;min-height:36px;font-size:12px}
.compact-freight-board .freight-offer .actions{gap:6px;margin-top:4px}
.compact-freight-board .freight-offer .actions button{margin-top:0}
.compact-freight-board .freight-progress{font-weight:600}
.compact-freight-board .freight-suspension{padding:10px 12px;margin:0 0 12px}

/* Shared ship-console controls: one restrained bevel, stable targets and clear intent. */
:root{--control-radius:6px;--control-focus:var(--brass)}
.game-button:not(:where(.portrait-enlarge,.station-inspect,.market-item-button,.flagship-preview,.text)),button[type=submit]{min-height:40px;border-radius:var(--control-radius);font-family:inherit;font-weight:550;box-shadow:inset 0 1px 0 #ffffff17,inset 0 -1px 0 #00000014;transition:background-color .12s,border-color .12s,box-shadow .12s}
.game-button:active:not(:disabled):not(:where(.portrait-enlarge,.station-inspect,.market-item-button,.flagship-preview,.text)){box-shadow:inset 0 2px 3px #00000025}
.game-button:disabled{box-shadow:none}
.game-button:focus-visible,button[type=submit]:focus-visible{outline:2px solid var(--control-focus);outline-offset:3px}
.station,.paper-panel{--control-focus:var(--ink)}
.station .game-button{color:var(--ink);border-color:#81969f}
button.game-button.primary,.station button.game-button.primary,button[type=submit].primary{background:var(--brass);border-color:#b9914b;color:var(--space);box-shadow:inset 0 1px 0 #fff5,inset 0 -2px 0 #8f6b3030;font-weight:650}
button.game-button.primary:hover:not(:disabled),.station button.game-button.primary:hover:not(:disabled){background:#e5bf7b;border-color:#a17b38;color:var(--space)}
.station button.game-button.danger{color:#8e382d;border-color:#a4463677;background:#a4463609}
.station button.game-button.danger:hover:not(:disabled){background:#a4463616;border-color:#8e382d}
@media(pointer:coarse){.game-button:not(:where(.portrait-enlarge,.station-inspect,.market-item-button,.flagship-preview,.text)),button[type=submit]{min-height:44px}}
@media(prefers-reduced-motion:reduce){.game-button,button[type=submit]{transition:none}}
/* Exchange and warehouse manifests share the establishment desk. */
.establishment-dialog .exchange-services{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:14px 18px}
.exchange-services .venue-service-features{display:flex;flex:1;flex-direction:column;min-height:0;border:0;padding:0;margin:0}
.exchange-console{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;height:100%;color:var(--ink)}
.exchange-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;flex:0 0 auto;padding-bottom:9px}
.exchange-mode{display:flex;border:1px solid #81969f;border-radius:7px;overflow:visible;gap:0;flex-shrink:0}
.exchange-mode button.game-button{min-width:64px;min-height:40px;margin:0;border:0;background:transparent;box-shadow:none;border-radius:0;font-size:13px}
.exchange-mode button:first-child{border-radius:6px 0 0 6px}.exchange-mode button:last-child{border-radius:0 6px 6px 0}
.exchange-mode button:only-child{border-radius:6px}
.exchange-mode button.game-button[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:inset 0 1px 0 #fff2}
.exchange-target{display:flex;align-items:center;gap:7px;min-width:0;margin:0;font-size:12px}
.exchange-source{flex-wrap:nowrap}.exchange-source>span{min-width:30px;text-align:right}.exchange-source-options{flex-wrap:nowrap}.exchange-source-options button.game-button{white-space:nowrap}
.exchange-allocation{justify-content:flex-end;flex:0 0 auto;padding:0 0 9px}
.visit-services .exchange-target select{height:40px;min-height:40px;width:auto;min-width:0;max-width:240px;margin:0;padding:7px 9px;color:var(--ink);background:#f5f7f7;border-color:#81969f;font-size:12px}
.exchange-list{flex:1 1 auto;min-height:88px;overflow:auto;overscroll-behavior:contain;border-top:1px solid #718b963f;border-bottom:1px solid #718b963f;scrollbar-width:thin}
.exchange-list:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.market-ledger{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums}
.market-ledger .ledger-item-col{width:49%}.market-ledger .ledger-price-col{width:21%}.market-ledger .ledger-count-col{width:15%}
.market-ledger thead th{position:sticky;top:0;z-index:2;background:var(--paper);color:#526b76;font:550 10px/1.4 system-ui;padding:7px 6px;text-align:right;border-bottom:1px solid #718b9645;white-space:nowrap}
.market-ledger thead th:first-child{text-align:left;padding-left:5px}
.market-ledger .market-product{position:relative;padding:0;border:0;min-height:44px}
.market-ledger th,.market-ledger td{padding:0 6px;border-bottom:1px solid #718b962b;vertical-align:middle}
.market-ledger tbody th{padding-left:0;text-align:left;font-weight:550}
.market-ledger .market-item-button{display:flex;align-items:center;gap:9px;min-width:0;min-height:44px;width:100%;padding:7px 5px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink);font:550 12px/1.35 system-ui;text-align:left;overflow-wrap:anywhere}
.market-ledger .market-product{cursor:pointer}
.market-ledger .market-item-button:hover:not(:disabled){background:transparent;border:0}
.market-ledger .market-product:has(.market-item-button:hover){background:#d5ae6815}
.market-ledger .market-product.selected{background:#d5ae682b}
.market-ledger .market-product.selected>th{box-shadow:inset 3px 0 0 var(--brass)}
.market-ledger .market-product:focus-within{outline:2px solid var(--ink);outline-offset:-2px}
.market-ledger .market-item-button:focus-visible{outline:0}
.commodity-mark{flex:0 0 24px;color:#526d7a}
.market-ledger .market-ledger-price{font-size:13px;font-weight:650;text-align:right;white-space:nowrap}
.market-ledger .market-ledger-stock,.market-ledger .market-ledger-owned{font-size:11px;text-align:right}
.market-ledger .profit,.exchange-order .profit{color:#27664d}.market-ledger .loss,.exchange-order .loss{color:#983f32}
.market-ledger .exchange-section-row th{padding:10px 5px 6px;font-size:11px;color:#526d7a;background:#d5ae680b}
.exchange-closed-cargo{font-size:11px!important;line-height:1.4!important;margin:8px 5px!important}
.exchange-order{flex:0 0 auto;padding:10px 0 8px;min-width:0}
.exchange-order-caption{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px;min-width:0}
.exchange-order-caption>strong{font-size:12px;font-weight:650;overflow-wrap:anywhere}.exchange-order-caption>span{font-size:11px;white-space:nowrap;color:#526d7a}
.exchange-order-controls{display:grid;grid-template-columns:126px 44px minmax(64px,1fr) minmax(75px,auto);gap:7px;align-items:center}
.exchange-order .market-stepper{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:0}
.exchange-order .market-stepper button.game-button{height:40px;min-height:40px;min-width:38px;border-color:#81969f;background:#f3f6f6;color:var(--ink);font-size:20px;padding:0;border-radius:0}
.exchange-order .market-stepper button:first-child{border-radius:6px 0 0 6px}.exchange-order .market-stepper button:last-child{border-radius:0 6px 6px 0}
.visit-services .exchange-order .market-stepper input[type=number]{height:40px;min-height:40px;padding:5px 1px;font-size:15px;border-color:#81969f;border-inline:0}
.exchange-order .exchange-max{font-size:11px;min-width:0;padding:7px 4px;margin:0;height:40px}
.exchange-total{min-width:0;text-align:right;line-height:1.25;font-variant-numeric:tabular-nums}.exchange-total small{display:block;font-size:10px;color:#526d7a}.exchange-total strong{display:block;font-size:14px;overflow-wrap:anywhere}
.exchange-order .exchange-confirm{font-size:12px;padding:8px 12px;min-width:75px;height:40px;margin:0;white-space:nowrap}
.exchange-order .market-profit{font-size:11px;line-height:1.4;margin:6px 0 0}
.exchange-order-reason{font-size:11px!important;line-height:1.4!important;color:#526d7a;margin:6px 0 0!important}
@container(max-width:660px){.establishment-dialog .exchange-services{min-height:480px;overflow:visible}.exchange-services .venue-service-features{min-height:450px}.exchange-console{min-height:450px}.exchange-list{max-height:320px}.exchange-toolbar{flex-wrap:wrap}.visit-services .exchange-target select{max-width:230px}}
@media(pointer:coarse){.market-ledger .market-item-button{min-height:48px}.exchange-order .market-stepper button.game-button,.visit-services .exchange-order .market-stepper input[type=number],.exchange-order .exchange-max,.exchange-order .exchange-confirm,.exchange-mode button.game-button,.visit-services .exchange-target select{height:44px;min-height:44px}}

.exchange-order-reason:empty{display:none}
.market-ledger thead th{font-size:11px}

.combat-advisory{padding:10px 14px;border:1px solid #6e929b;border-left:3px solid var(--brass);border-radius:6px;background:#142d3b;color:#e0e9e8;font-size:13px;line-height:1.5}.combat-advisory.danger{border-color:#bc8270;background:#35282a}.combat-advisory p{margin:6px 0 0}

.battle-safety{position:sticky;top:0;z-index:3;display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:9px 0;background:var(--space)}.battle-safety small{font-size:11px;color:var(--muted)}

.captain-advantages{margin:14px 0;padding:14px;border-left:3px solid var(--brass);background:#d5ae6810}.captain-advantages p{margin-top:10px;font-size:13px;line-height:1.5}

/* Keep sidebar gauge nodes in place while a committed trade updates their values. */
[data-sidebar-gauge] .track>span{transition:width 180ms ease-out}
@media(prefers-reduced-motion:reduce){[data-sidebar-gauge] .track>span{transition:none}}

/* Arrival results belong to a focused popout; past inspections live in the Journal. */
#modal.inspection-dialog{width:min(620px,94vw);padding:24px;background:var(--space);color:var(--paper)}
.inspection-dialog .dialog-head h2{margin:0}.inspection-receipt{font-size:13px;line-height:1.65}.inspection-location{margin:18px 0 5px;font-weight:600}.inspection-result{margin:20px 0 10px;font:24px Georgia}.inspection-cleared{color:#8bc2a5}.inspection-seized{color:#f0a99b}.inspection-dialog .actions{margin:24px 0 0}.inspection-receipt li{margin:7px 0}.inspection-journal{margin-bottom:24px}.inspection-journal>details>summary{padding:12px 0;min-height:44px;box-sizing:border-box}.inspection-entry{padding:12px 0;border-bottom:1px solid #213c4b26}.inspection-entry .inspection-cleared{color:#27664d}.inspection-entry .inspection-seized{color:#983f32}.inspection-entry .inspection-result{font:18px Georgia;margin:10px 0}.inspection-entry .inspection-location{margin-top:0}

/* Cooperative transactions: one shared amount and four consistently aligned action pairs. */
.bank-controls{margin:18px 0 12px}.bank-controls>label{display:block;margin:0 0 8px;font-weight:600}.bank-amount-stepper{display:grid;grid-template-columns:88px minmax(0,1fr) 88px;gap:8px;align-items:stretch;margin-bottom:14px}.bank-amount-stepper>.game-button{min-height:44px;margin:0;padding:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.bank-controls #bank-amount{box-sizing:border-box;min-width:0;width:100%;margin:0;padding:10px 12px;min-height:44px;text-align:center;font-size:17px;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}.bank-controls #bank-amount::-webkit-inner-spin-button,.bank-controls #bank-amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bank-controls #bank-amount::placeholder{font-size:14px;color:#526c78;opacity:.85}.bank-operation-list{display:grid;gap:8px}.bank-operation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bank-operation>.game-button{width:100%;min-width:0;min-height:44px;margin:0;padding:10px 12px;line-height:1.35;overflow-wrap:anywhere}.bank-operation .bank-manual{text-align:left}.bank-operation .bank-maximum{text-align:right;font-variant-numeric:tabular-nums}.bank-operation .game-button:focus-visible,.bank-amount-stepper .game-button:focus-visible,.bank-controls #bank-amount:focus-visible{outline:2px solid var(--brass);outline-offset:3px}@media(max-width:480px){.bank-amount-stepper{grid-template-columns:76px minmax(0,1fr) 76px;gap:6px}.bank-operation{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.bank-operation>.game-button{padding:10px 8px;font-size:12px}}

/* Compact local banking summary; account details live in the Guide. */
.bank-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid #69818e44}.bank-summary>div{min-width:0}.bank-summary span,.bank-summary strong,.bank-summary small{display:block}.bank-summary span{font-size:12px;color:#526c78;margin-bottom:7px}.bank-summary strong{font-size:20px;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bank-summary small{font-size:11px;line-height:1.5;color:#526c78;margin-top:7px}@media(max-width:620px){.bank-summary{gap:10px}.bank-summary strong{font-size:17px}}

/* Dry dock: stable transaction rows, with recipient and service clearly separated. */
.dock-console .dock-section{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #69818e44}.dock-console h3{margin:0 0 12px}.dock-console label{display:block;font-size:12px;margin:0 0 6px}.dock-console select,.dock-console #dock-tonnes{width:100%;min-height:44px;margin:0;padding:10px 12px;border:1px solid #80929b;border-radius:5px;background:#f6f8f8;color:#213c4b;font:inherit}.dock-console .dock-status{margin:8px 0 14px;font-size:12px;font-variant-numeric:tabular-nums}.dock-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.dock-action{min-width:0}.dock-action>button{width:100%;min-height:44px;white-space:normal;text-align:center}.dock-action>small{display:block;min-height:20px;margin-top:5px;text-align:center;font-size:11px;color:#526c78;font-variant-numeric:tabular-nums}.dock-vessel{display:flex;align-items:center;gap:14px;padding:8px 0}.dock-vessel .ship-illustration{width:120px;max-height:74px;background:none;flex:none}.dock-vessel p{margin:0;font-size:12px;line-height:1.9}.dock-details{margin:12px 0 0}.dock-details>summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:600}.dock-details .ammo-supply{padding:10px 0;border-top:1px solid #69818e33}.dock-details .ammo-supply h4{margin:0 0 6px}.dock-details .ammo-supply p{font-size:12px;margin:0 0 8px}.dock-details .ammo-supply .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dock-details .ammo-supply button{min-height:44px;margin:0}.dock-console :is(input,select):focus-visible{outline:2px solid var(--brass);outline-offset:2px}@media(max-width:520px){.dock-vessel{gap:8px}.dock-vessel .ship-illustration{width:95px}.dock-action-row{gap:8px}}

.dock-fuel-fields{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px}.dock-console .dock-fuel-fields .dock-status{margin:6px 0 0}.dock-console .dock-section h3{font-size:23px;margin:0 0 10px}.dock-console .dock-vessel .ship-illustration{height:52px;max-height:52px}.dock-console .dock-section{padding-bottom:14px;margin-bottom:14px}.dock-console .dock-vessel{padding:6px 0}.dock-console .dock-details>summary{padding:10px 0}.dock-console .dock-details{margin-top:6px}@media(max-width:520px){.dock-fuel-fields{grid-template-columns:1fr;gap:10px}}
/* WebKit's native select ignores minimum height; draw a simple dock selector. */
.dock-console select{appearance:none;-webkit-appearance:none;height:44px;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,#526c78 50%),linear-gradient(135deg,#526c78 50%,transparent 50%);background-position:right 17px center,right 12px center;background-size:5px 5px;background-repeat:no-repeat}

/* Main-screen navigation belongs with the captain; the header carries only identity and date. */
#app>header{padding:10px 20px;gap:16px;min-height:56px;flex-wrap:nowrap}
#app>header .brand{flex-basis:auto;gap:10px;min-width:0}
#app>header .brand img{width:34px;height:34px}
#app>header .brand h1{font-size:27px}
#app>header .header-metric{padding-left:16px;flex-shrink:0}
#app>header .header-value{font-size:18px;line-height:1.2}
#app>header .header-metric small{display:block;font-size:11px;line-height:1.4}
.sidebar-content>.sidebar-navigation{position:sticky;top:0;z-index:2;background:var(--panel);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.sidebar-navigation>button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:8px 4px;font-size:12px;line-height:1.25;text-align:center}
.sidebar-navigation>button.active,.sidebar-navigation>button.active:hover{background:var(--brass);color:var(--space);border-color:var(--brass)}
.sidebar-navigation>button:nth-child(3){grid-column:1/-1}
@media(max-width:960px){.sidebar-navigation>button{font-size:11px}}
@media(max-width:600px){
 #app>header{padding:8px 12px;gap:10px;min-height:50px}
 #app>header .brand{gap:8px}#app>header .brand img{width:28px;height:28px}#app>header .brand h1{font-size:22px}
 #app>header .header-metric{padding-left:10px}#app>header .header-value{font-size:15px}#app>header .header-metric small{font-size:10px}
 .sidebar-content>.sidebar-navigation{margin-bottom:12px;padding-bottom:12px}
}

.sidebar-fleet-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 8px;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line)}
.sidebar-fleet-links>.text,.sidebar-fleet .sidebar-fleet-links>.sidebar-berths{font-size:11px;min-height:32px;margin:0;padding:5px 0;text-align:left}
.fleet-membership-actions{margin:0 0 14px}.fleet-berth-group>.actions{margin:10px 0 14px}

/* Keep the character and evolving reply list in their independently scrolling pane. */
.establishment-dialog .visit-header{padding:16px 20px;gap:14px;align-items:center}
.establishment-dialog .visit-header h2{font-size:25px}
.establishment-dialog .visit-header p{margin-top:5px}
.establishment-dialog .visit-people,.establishment-dialog .visit-services{padding:18px}
.visit-people .host-profile{gap:14px;margin-bottom:10px}
.visit-people .host-profile h2{font-size:22px;margin:0;overflow-wrap:anywhere}
.visit-people .host-profile p{margin:6px 0 0;line-height:1.5}
.visit-people .host-business{margin:8px 0;line-height:1.5}
.visit-people .contact-picker{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:11px;color:var(--mist)}
.contact-picker span{flex-shrink:0}
.contact-picker select{flex:1;min-width:0;width:100%;min-height:40px;margin:0;padding:8px 10px;background:var(--space);color:var(--paper);border:1px solid var(--muted);border-radius:5px;font:inherit;font-size:12px}
.contact-picker select:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.visit-services>.venue-service-features{border:0;padding-top:0}
.visit-services>.venue-service-features>:first-child{margin-top:0}
@media(pointer:coarse){.visit-people .visit-questions button,.contact-picker select{min-height:44px}}
@container(max-width:760px){.establishment-dialog .visit-header{padding:14px 18px}.establishment-dialog .visit-header h2{font-size:23px}}

/* Full portraits retain their large artwork, with the biography alongside. */
#modal.portrait-dialog{container-type:inline-size}
.portrait-scroll .portrait-detail{display:grid;grid-template-columns:minmax(0,336px) minmax(0,1fr);align-items:start;gap:24px;max-width:none}
.portrait-scroll .character-portrait{width:min(100%,336px,calc((90dvh - 140px)*.8));margin:0 auto}
.portrait-description{min-width:0;overflow-wrap:anywhere}
.portrait-description h3{margin:0 0 12px;font-size:20px}
.portrait-scroll .portrait-description p{font-size:13px;line-height:1.6;margin:12px 0 0}
@container(max-width:660px){.portrait-scroll .portrait-detail{display:block}.portrait-scroll .character-portrait{margin-bottom:18px}}

/* Fleet registers: one ship list and one inspection, with a fixed close control. */
#modal.fleet-overview-dialog[open]{display:flex;flex-direction:column;width:1160px;max-width:calc(var(--modal-area-width) - 24px);height:calc(var(--modal-area-height) - 24px);max-height:calc(var(--modal-area-height) - 24px);padding:0;overflow:hidden;container-type:inline-size}
.fleet-overview-dialog>.dialog-head{flex:0 0 auto;margin:0;padding:16px 20px;border-bottom:1px solid var(--line);gap:14px}
.fleet-overview-dialog>.dialog-head h2{font-size:25px}
.fleet-overview-dialog>.utility-content{display:flex;flex:1 1 0px;min-height:0;padding:0;overflow:hidden;border-radius:0}
.fleet-register{display:flex;flex-direction:column;flex:1 1 0px;min-height:0;min-width:0}
.fleet-register-totals{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:12px 28px;margin:0;padding:12px 18px;border-bottom:1px solid #213c4b26}
.fleet-register-totals>div{min-width:0}.fleet-register-totals dt{font-size:11px;color:#526d7a}.fleet-register-totals dd{margin:3px 0 0;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.fleet-register-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);flex:1 1 0px;min-height:0;overflow:hidden}
.fleet-register-list{min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:10px;background:#d9e2e5;border-right:1px solid #213c4b26}
.fleet-register-list .fleet-register-ship{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:64px;margin:5px 0;padding:10px;text-align:left;background:transparent;border-color:transparent}
.fleet-register-ship>span:first-child{min-width:0}.fleet-register-ship strong{display:block;font-size:13px;overflow-wrap:anywhere}.fleet-register-ship small{display:block;font-size:11px;color:#526d7a;margin-top:3px;line-height:1.4}.fleet-list-integrity{flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums}
.fleet-register-list .fleet-register-ship[aria-pressed=true]{background:#d5ae6826;border-color:#b18a46}
.fleet-register-detail{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:14px}
.fleet-register-detail>.fleet-status-vessel{margin:0;border:0;border-radius:0;background:none;overflow:visible}
.fleet-vessel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0;padding:0;background:none;border:0;color:var(--ink)}
.fleet-register-detail .fleet-vessel-heading h3{margin:0;font-size:24px}.fleet-vessel-heading p{margin:5px 0 0;font-size:12px;color:#526d7a}.fleet-vessel-heading>strong{flex-shrink:0;font-size:12px;margin-top:4px}
.fleet-vessel-position{margin:8px 0 0;font-size:12px;color:#526d7a}.fleet-register-detail .fleet-vessel-body{padding:0}
.fleet-register-detail .fleet-vessel-inspection{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;margin:14px 0}
.fleet-register-detail .fleet-ship-preview{margin:0;padding:8px;min-width:0}.fleet-register-detail .fleet-ship-preview canvas{height:clamp(120px,calc(var(--modal-area-height)*.2),190px);max-height:190px;aspect-ratio:400/245;object-fit:contain;touch-action:pan-y}
.fleet-register-detail .fleet-preview-controls{gap:5px;margin-top:8px}.fleet-register-detail .fleet-preview-controls button{min-width:40px;min-height:40px;padding:5px 9px}.fleet-register-detail .fleet-preview-hint{margin-top:6px!important;font-size:10px!important}
.fleet-register-detail .fleet-vessel-role{margin:0 0 8px;font-size:12px;color:#405968}
.fleet-register-detail .fleet-status-metrics{gap:8px;margin:0}.fleet-register-detail .fleet-status-metrics>div{padding:8px;background:none}.fleet-register-detail .fleet-status-metrics dt{font-size:11px}.fleet-overview-dialog .fleet-register-detail .fleet-status-metrics dd{margin:4px 0 0;font-size:15px}.fleet-register-detail .fleet-status-metrics small{font-size:10px}
.fleet-register-detail .fleet-membership-actions{margin:10px 0 0;gap:8px}.fleet-membership-actions button{min-height:40px;font-size:12px}
.fleet-detail-section{border-top:1px solid #213c4b26}.fleet-detail-section>summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:12px;font-weight:600}.fleet-detail-section>.fleet-status-metrics{margin:0 0 10px}.fleet-detail-section p{margin:8px 0;font-size:12px}
.fleet-register-empty{padding:24px;font-size:13px}
.fleet-register .warning{color:#805014}.fleet-register .loss{color:#9b3630}
@container(max-width:820px){.fleet-register-workspace{grid-template-columns:190px minmax(0,1fr)}.fleet-register-detail{padding:14px}.fleet-register-detail .fleet-vessel-inspection{grid-template-columns:1fr}.fleet-register-detail .fleet-ship-preview canvas{max-height:180px}.fleet-vessel-heading{flex-wrap:wrap;gap:4px}.fleet-register-detail .fleet-vessel-heading h3{font-size:22px}}
@container(max-width:480px){.fleet-register-workspace{grid-template-columns:1fr;grid-template-rows:minmax(100px,28%) minmax(0,1fr)}.fleet-register-list{border-right:0;border-bottom:1px solid #213c4b26}.fleet-register-list .fleet-register-ship{min-height:48px}.fleet-register-totals{gap:8px 18px;padding:10px 14px}.fleet-register-totals dd{font-size:15px}.fleet-overview-dialog>.dialog-head{padding:14px}.fleet-overview-dialog>.dialog-head h2{font-size:22px}}

/* Fleet registry: separate purchases, fittings and sales around one selected hull. */
.establishment-dialog .registry-services{display:flex;flex-direction:column;overflow:hidden;min-height:0}
.registry-services>.venue-service-features{display:flex;flex:1;min-height:0;margin:0;padding:0}
.registry-console{display:flex;flex-direction:column;min-height:0;flex:1;min-width:0;width:100%}
.registry-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-bottom:12px;border-bottom:1px solid #213c4b26;flex-shrink:0}
.registry-tabs button.game-button{min-height:42px;padding:8px 7px;font-size:12px;margin:0}
.registry-tabs button.game-button.active,.registry-tabs button.game-button.active:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.registry-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 6px 0 0;scrollbar-gutter:stable}
.registry-ships{margin:0 0 14px;min-width:0}.registry-ships h4{font-size:12px;margin:0 0 6px;color:var(--ink)}
.registry-list{display:grid;gap:4px;max-height:230px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px}
.visit-services button.registry-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:44px;margin:0;padding:7px 9px;text-align:left;border:1px solid #81969f55;border-radius:5px;color:var(--ink);background:#ffffff30;font-size:13px;line-height:1.35}
.registry-choice>span{min-width:0}.registry-choice>span strong,.registry-choice small{display:block;overflow-wrap:anywhere}.registry-choice small{font-size:11px;color:#526d7a;margin-top:2px}.registry-choice-price{white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}
.visit-services button.registry-choice.active{border-color:#b48a42;background:#d5ae6829}.registry-command .actions{margin-top:6px}
.registry-picker{display:block;margin:0 0 12px;font-size:12px;color:var(--ink)}
.registry-picker>span{display:block;margin-bottom:6px;font-weight:600}
.visit-services .registry-picker select{display:block;width:100%;margin:0;min-height:42px;padding:8px 10px;background:#f6f8f8;color:var(--ink);border:1px solid #81969f;font-size:13px}
.registry-inspection.fleet-status-vessel{margin:0;border:0;border-radius:0;background:transparent;overflow:visible}
.registry-inspection>header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;padding:0;border:0}
.registry-inspection h3{margin:0;font-size:24px}.registry-inspection header p{margin:4px 0 0;font-size:12px}.registry-inspection header>strong{font-size:12px;white-space:nowrap}
.registry-ship-facts{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:center;margin:12px 0}
.registry-ship-facts .fleet-ship-preview{margin:0;padding:6px;min-width:0}.registry-ship-facts .fleet-ship-preview canvas{height:clamp(105px,calc(var(--modal-area-height)*.18),155px);width:100%;aspect-ratio:400/245;touch-action:pan-y}
.registry-ship-facts .fleet-preview-controls{gap:4px;margin-top:6px}.registry-ship-facts .fleet-preview-controls button{min-width:32px;min-height:34px;padding:4px 7px}.registry-ship-facts .fleet-preview-hint{margin:5px 0 0;font-size:10px}
.registry-ship-facts dl{margin:0;display:grid;gap:9px}.registry-ship-facts dt{font-size:11px;color:#536b75}.registry-ship-facts dd{margin:2px 0 0;font-size:15px;font-weight:650}
.registry-fitting-summary{font-size:11px;margin:8px 0 12px;line-height:1.5;color:#536b75}
.registry-transaction{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #213c4b26}.registry-transaction small,.registry-transaction strong{display:block}.registry-transaction small{font-size:11px;color:#536b75}.registry-transaction strong{font-size:22px;font-variant-numeric:tabular-nums;margin-top:3px}.registry-transaction button{min-height:42px;margin:0}.registry-transaction+.small{margin:0 0 12px;font-size:12px}
.registry-valuation{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 12px}.registry-valuation dt{font-size:11px;color:#536b75}.registry-valuation dd{font-size:15px;margin:3px 0 0;font-variant-numeric:tabular-nums}
.registry-upgrade{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 0;border-top:1px solid #213c4b26}.registry-upgrade strong{font-size:13px}.registry-upgrade small{font-size:11px;margin-left:8px;color:#536b75}.registry-upgrade p{grid-column:1/-1;margin:0;font-size:11px;line-height:1.45;color:#536b75}.registry-upgrade button{font-size:12px;min-height:40px;min-width:120px;margin:0}
.registry-other{margin-top:14px;border-top:1px solid #213c4b26}.registry-other>summary{padding:12px 0;min-height:42px;font-size:12px;box-sizing:border-box}.registry-empty{padding:16px 0}
@container(max-width:660px){.establishment-dialog .registry-services{min-height:480px;overflow:visible}.registry-console{min-height:450px}.registry-content{overflow:visible}.registry-ship-facts{grid-template-columns:1fr 1fr}.registry-tabs button.game-button{font-size:11px}}
@media(pointer:coarse){.registry-tabs button.game-button,.registry-transaction button,.registry-upgrade button,.visit-services .registry-picker select{min-height:44px}}

/* One local ship selection controls every dry dock service. */
.establishment-dialog .dock-services{display:flex;flex-direction:column;overflow:hidden;min-height:0}
.dock-services>.venue-service-features{display:flex;flex:1;min-height:0;margin:0;padding:0}
.dock-services .dock-console{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1;width:100%}
.dock-selection{flex-shrink:0;padding:0 0 12px;border-bottom:1px solid #213c4b26}
.dock-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:8px 6px 0 0}
.dock-console .dock-section{margin:0 0 12px;padding:0 0 12px}
.dock-console .dock-section h3{font-size:22px;margin:0 0 8px}
.dock-selection-status{display:flex;align-items:center;gap:12px;min-height:35px;margin-bottom:10px}
.dock-selection-status>.ship-illustration{width:100px;height:54px;max-height:54px;flex-shrink:0;background:none}
.dock-selection-status p{display:flex;flex-wrap:wrap;gap:4px 7px;margin:0;font-size:12px;line-height:1.6}
.dock-selection-status p>span{margin-left:8px}
.dock-fuel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.dock-fuel-heading>small{font-size:12px;color:#526c78;font-variant-numeric:tabular-nums}
.dock-console .dock-tonnes-field{display:flex;align-items:center;gap:12px;margin:0;font-size:12px}.dock-tonnes-field>span{flex:1}.dock-console .dock-tonnes-field #dock-tonnes{flex:1;width:50%;max-width:230px;min-width:0}
.dock-console .dock-action-row{margin-top:8px;gap:10px}.dock-console .dock-action>small{margin-top:4px;min-height:16px;font-size:11px;line-height:1.4}.dock-console .dock-action>button{margin:0;min-height:42px;padding:8px 10px;font-size:13px}
.dock-ammo-row{padding:0 0 12px;margin:0 0 10px;border-bottom:1px solid #213c4b20}.dock-ammo-row:last-child{margin:0;padding:0;border:0}
.dock-ammo-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.dock-ammo-heading h4{font:600 13px/1.5 system-ui;margin:0}.dock-ammo-heading small{font-size:11px;color:#526c78;text-align:right;font-variant-numeric:tabular-nums}
@container(max-width:660px){.establishment-dialog .dock-services{min-height:520px;overflow:visible}.dock-services .dock-console{min-height:480px}.dock-content{overflow:visible}.dock-selection-status p>span{margin-left:0}.dock-fuel-heading,.dock-ammo-heading{flex-wrap:wrap;gap:0 8px}}
@media(pointer:coarse){.dock-console .dock-action>button{min-height:44px}}

/* Authority services share the standard character/service split and one reading order. */
.authority-workspace,.authority-civic{display:flex;flex-direction:column;gap:18px}
.authority-civic,.government-liaison,.liaison-missions{min-width:0}
.authority-services .authority-workspace h3{margin:0 0 12px;font-size:22px;line-height:1.2}
.authority-services .home-base-compact{padding:16px 0 0;margin:0;border-top:1px solid #213c4b2b;background:none}
.authority-services .home-base-compact h3{font-size:19px;margin-bottom:10px}
.authority-services .home-base-compact p{margin:6px 0;font-size:12px;line-height:1.5}
.home-address>strong,.home-address>span{display:block}.home-address>strong{font-size:13px}.home-address>span{color:#536b75;margin-top:3px}
.home-standing-scores{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 8px}.home-standing-scores dt{font-size:10px;color:#536b75}.home-standing-scores dd{font-size:20px;margin:4px 0 0;font-variant-numeric:tabular-nums}
.home-service-rate{color:#536b75}.home-compact-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.home-base-compact .home-compact-actions button{margin:0;min-height:40px;font-size:11px;padding:7px 9px;white-space:normal}.home-registration-reason{color:#536b75}
.authority-workspace .government-liaison{padding-bottom:16px;border-bottom:1px solid #213c4b26}
.authority-workspace .blockade-services{margin:0;padding:0;border:0}.authority-workspace .government-liaison .service-choice:last-child{border-bottom:0}
.liaison-missions{min-height:0}.liaison-empty{font-size:12px;color:#536b75;margin:0;padding:12px 0;line-height:1.6}
.authority-workspace .service-choice{padding:12px 0;margin:0;border:0;border-bottom:1px solid #213c4b26;border-radius:0;background:none}.authority-workspace .service-choice:first-child{padding-top:0}.authority-workspace .service-choice h4{font-size:19px;line-height:1.3;margin:0 0 9px}.authority-workspace .service-choice p{font-size:12px;margin:7px 0;line-height:1.6}
.authority-workspace button.game-button{max-width:100%;min-height:40px;white-space:normal;font-size:12px;padding:8px 10px}
.authority-workspace .licence-offer{padding:12px 0}.authority-services .licence-offer h4{font:19px Georgia,serif;margin:0 0 6px}.authority-workspace .licence-offer p{font-size:12px;margin:6px 0 10px;line-height:1.5}.authority-workspace .licence-offer.selected{padding-left:10px}
.authority-workspace .service-card{padding:12px;margin:12px 0}.authority-workspace .service-card h3{font-size:19px}
@media(pointer:coarse){.authority-workspace button.game-button{min-height:44px}}

/* Main-pane scrim blocks the covered screen while sidebar navigation stays live. */
#modal-shade{position:fixed;z-index:900;inset:var(--modal-area-top) var(--modal-area-right) var(--modal-area-bottom) var(--modal-area-left);background:#08131de0;backdrop-filter:blur(6px);overscroll-behavior:none;touch-action:none}
#modal-shade[hidden]{display:none}
#modal[open]{z-index:901}

/* Menu occupies its own footer row below the cockpit controls. */
.game-shell>aside{display:flex;flex-flow:column nowrap;align-items:stretch;gap:0;overflow:hidden;padding:0}
.game-shell>aside>.sidebar-content{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:16px 14px 12px}
.game-shell>aside>.sidebar-actions{display:block;flex:0 0 auto;background:var(--panel);padding:8px 14px 12px}
.sidebar-actions>.sidebar-menu{width:100%;min-height:36px;justify-content:center;text-align:center;margin:0;padding:6px 12px}
@media(max-width:600px){.game-shell>aside>.sidebar-content{padding:12px 10px}.game-shell>aside>.sidebar-actions{padding:8px 10px 10px}}



.fleet-register-ship .fleet-list-status{flex:0 0 auto;text-align:right;font-variant-numeric:tabular-nums}.fleet-register-ship .fleet-list-status>small{font-size:10px;white-space:nowrap}.fleet-register-ship .fleet-list-location{font-size:10px;line-height:1.4}.fleet-register-list .fleet-register-ship{gap:8px}.fleet-membership-actions{flex-wrap:wrap}

.sidebar-balances{display:grid;gap:9px;margin:0;font-variant-numeric:tabular-nums}.sidebar-balances>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px}.sidebar-balances dt{font-size:11px;line-height:1.4;color:var(--mist);min-width:0}.sidebar-balances dd{font-size:13px;line-height:1.4;font-weight:600;margin:0;text-align:right;white-space:nowrap;color:var(--paper)}@media(max-width:960px){.sidebar-balances dt{font-size:10px}.sidebar-balances dd{font-size:12px}}@media(max-width:600px){.sidebar-balances>div{display:block}.sidebar-balances dd{text-align:left;margin-top:2px;white-space:normal;overflow-wrap:anywhere}.sidebar-balances{gap:8px}}

/* Warehouse inventory shares the Exchange ledger and fixed transfer strip. */
.establishment-dialog .warehouse-services{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:14px 18px}
.warehouse-services>.venue-service-features{display:flex;flex:1;min-height:0;margin:0;padding:0}
.warehouse-console{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;height:100%;color:var(--ink)}
.warehouse-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #718b963f}
.warehouse-summary>div{flex:1;min-width:0}.warehouse-summary strong{font-size:14px;font-variant-numeric:tabular-nums}.warehouse-summary small{display:block;font-size:10px;line-height:1.5;color:#526d7a;margin-top:3px}.warehouse-summary progress{display:block;width:100%;height:5px;margin-top:5px;accent-color:var(--brass)}.warehouse-summary .warehouse-buy-bay{min-height:40px;font-size:11px;padding:7px 9px;white-space:nowrap;margin:0}
.warehouse-toolbar{gap:8px;flex-wrap:wrap}.warehouse-toolbar>.exchange-mode{width:100%;display:flex}.warehouse-toolbar>.exchange-mode button.game-button{flex:1;min-width:0;padding:8px;font-size:12px;white-space:normal}.warehouse-unavailable{display:block;color:#8c4335;font-size:10px;line-height:1.4;font-weight:400;margin-top:3px}.warehouse-order .exchange-confirm{white-space:normal;height:auto;min-height:40px;line-height:1.3}.warehouse-order .exchange-order-caption>span{text-align:right}.warehouse-ledger .warehouse-item-col{width:62%}.warehouse-ledger .warehouse-count-col{width:19%}.warehouse-empty{font-size:12px!important;line-height:1.6!important;padding:16px 5px;margin:0!important;color:#526d7a}
@container(max-width:660px){.establishment-dialog .warehouse-services{min-height:450px;overflow:visible}.warehouse-services>.venue-service-features{min-height:420px}.warehouse-console{min-height:420px}.warehouse-list{max-height:300px}.warehouse-toolbar{flex-wrap:wrap}.warehouse-summary{flex-wrap:wrap}.warehouse-summary>div{min-width:140px}.warehouse-order .exchange-order-controls{grid-template-columns:126px 44px minmax(60px,1fr) minmax(78px,auto)}}
@container(max-width:370px){.warehouse-order .exchange-order-controls{grid-template-columns:126px 44px minmax(0,1fr)}.warehouse-order .exchange-confirm{grid-column:1/-1;width:100%}.warehouse-order .exchange-order-caption{flex-wrap:wrap}}
@media(pointer:coarse){.warehouse-summary .warehouse-buy-bay{min-height:44px}}

/* Compact identity and assignment columns in both ship registers. */
.fleet-register-workspace{grid-template-columns:minmax(300px,31%) minmax(0,1fr)}
.fleet-register-list{padding:8px;scrollbar-gutter:auto}
.fleet-register-list .fleet-register-ship{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:8px;min-height:48px;min-width:0;width:100%;margin:1px 0;padding:4px 8px;text-align:left}
.fleet-register-ship small{margin:0;line-height:1.3}
.fleet-list-identity,.fleet-list-assignment{display:grid;gap:1px;min-width:0;line-height:1.2}
.fleet-register-ship .fleet-list-identity>strong{font-size:11.5px;line-height:1.2;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.fleet-register-ship .fleet-list-identity>.fleet-list-class{font-size:10px;line-height:1.1;color:#526d7a;white-space:nowrap}
.fleet-list-heading{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;min-width:0}
.fleet-register-ship .fleet-list-status{font-size:10.5px;line-height:1.2;white-space:nowrap;overflow-wrap:normal}
.fleet-register-ship .fleet-list-identity>.fleet-list-integrity{font-size:10px;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}
.fleet-register-ship .fleet-list-assignment>.fleet-list-description{font-size:10px;color:#526d7a;white-space:normal;overflow-wrap:normal;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-align:right}
.fleet-name-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.fleet-name-heading h3{overflow-wrap:anywhere;min-width:0}
@container(max-width:820px){.fleet-register-workspace{grid-template-columns:minmax(285px,37%) minmax(0,1fr)}}
@container(max-width:660px){.fleet-register-workspace{grid-template-columns:1fr;grid-template-rows:minmax(100px,30%) minmax(0,1fr)}.fleet-register-list{border-right:0;border-bottom:1px solid #213c4b26}.fleet-register-list .fleet-register-ship{min-height:48px}}
@media(pointer:coarse){.fleet-register-list .fleet-register-ship{min-height:48px}}

.fleet-register-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid #213c4b26;flex-wrap:wrap}
.fleet-register-header>.fleet-register-totals{border:0;padding:0;gap:10px 18px}
.fleet-register-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0;min-width:210px;flex:0 1 auto}
.fleet-register-filter button{min-width:0;min-height:36px;padding:6px 14px;font-size:12px;line-height:1.3;border:1px solid #81969f;border-radius:5px;background:#f5f7f7;color:var(--ink)}
.fleet-register-filter button[aria-pressed="true"],.fleet-register-filter button[aria-pressed="true"]:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
@container(max-width:660px){.fleet-register-header{padding:10px 14px;gap:10px}.fleet-register-header>.fleet-register-totals{gap:8px 16px}.fleet-register-filter{width:100%;min-width:0}}
@media(pointer:coarse){.fleet-register-filter button{min-height:44px}}


/* Open ship inspection: fitted hardware beside a compact exchange-style hold. */
.fleet-register-detail .fleet-detail-compact .fleet-vessel-inspection{grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:12px;margin:10px 0 12px}
.fleet-register-detail .fleet-detail-compact .fleet-ship-preview{padding:5px 7px}
.fleet-register-detail .fleet-detail-compact .fleet-ship-preview canvas{height:92px;max-height:92px;width:100%;aspect-ratio:400/245}
.fleet-register-detail .fleet-detail-compact .fleet-preview-controls{gap:4px;margin-top:3px}
.fleet-register-detail .fleet-detail-compact .fleet-preview-controls button{min-width:30px;min-height:32px;padding:4px 6px;font-size:11px}
.fleet-register-detail .fleet-detail-compact .fleet-preview-hint{margin:3px 0 0!important;font-size:9px!important}
.fleet-register-detail .fleet-detail-compact .fleet-status-metrics{gap:5px}
.fleet-register-detail .fleet-detail-compact .fleet-status-metrics>div{padding:5px 7px}
.fleet-register-detail .fleet-detail-compact .fleet-status-metrics dt{font-size:10px}
.fleet-overview-dialog .fleet-register-detail .fleet-detail-compact .fleet-status-metrics dd{font-size:13px;margin:3px 0 0}
.fleet-register-detail .fleet-detail-compact .fleet-status-metrics small{font-size:9px}
.fleet-detail-compact .fleet-membership-actions{margin-top:6px;gap:5px}
.fleet-detail-compact .fleet-membership-actions button{font-size:11px;min-height:34px;padding:5px 8px}
.fleet-loadout-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"weapons upgrades" "cargo upgrades";gap:10px 14px;align-items:start}
.fleet-weapons-block{grid-area:weapons}.fleet-upgrades-block{grid-area:upgrades}.fleet-cargo-block{grid-area:cargo}
.fleet-detail-block{min-width:0;border-top:1px solid #718b9645;padding-top:7px}
.fleet-detail-compact .fleet-detail-block h4{font:600 13px/1.4 system-ui;margin:0 0 6px;color:var(--ink)}
.fleet-detail-compact .fleet-defences{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 5px;font-size:10px;line-height:1.4;color:#526d7a}
.fleet-defences strong{color:var(--ink);font-weight:600}
.fleet-equipment-ledger{width:100%;border-collapse:collapse;table-layout:fixed;font:11px/1.35 system-ui;font-variant-numeric:tabular-nums}
.fleet-equipment-ledger th,.fleet-equipment-ledger td{padding:4px;border-bottom:1px solid #718b962b;vertical-align:top;text-align:right;overflow-wrap:anywhere}
.fleet-equipment-ledger thead th{color:#526d7a;font-size:10px;font-weight:550;white-space:nowrap}
.fleet-equipment-ledger th:first-child{text-align:left;padding-left:0}
.fleet-equipment-ledger tbody th{font-weight:550}
.fleet-equipment-ledger td{white-space:nowrap;overflow-wrap:normal}
.fleet-equipment-ledger .fleet-weapon-col{width:44%}.fleet-equipment-ledger .fleet-output-col{width:18%}.fleet-equipment-ledger .fleet-range-col{width:14%}.fleet-equipment-ledger .fleet-ammo-col{width:24%}
.fleet-energy{color:#526d7a;font-size:10px}.fleet-upgrades-ledger th:last-child,.fleet-upgrades-ledger td:last-child{width:34px}
.fleet-detail-compact .fleet-detail-empty{margin:3px 0 8px;font-size:11px;line-height:1.5;color:#526d7a}
.fleet-cargo-block{margin-top:0}
.fleet-cargo-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding:0;background:none;border:0;color:var(--ink)}
.fleet-cargo-heading>span{font-size:10px;color:#526d7a;font-variant-numeric:tabular-nums}
.fleet-cargo-ledger .fleet-cargo-item-col{width:68%}.fleet-cargo-ledger .fleet-cargo-quantity-col{width:12%}.fleet-cargo-ledger .fleet-cargo-mass-col{width:20%}
.fleet-cargo-ledger thead th{position:static;padding:5px 6px;font-size:10px;background:transparent}
.fleet-cargo-ledger tbody th,.fleet-cargo-ledger tbody td{padding:6px;font-size:11px;line-height:1.35}
.fleet-cargo-ledger tbody th{padding-left:4px}.fleet-cargo-ledger tbody td{text-align:right;white-space:nowrap}
.fleet-cargo-item{display:flex;align-items:center;gap:7px;min-width:0}
.fleet-cargo-item .commodity-mark{width:20px;height:20px;flex:0 0 20px;color:#647f8b}
.fleet-cargo-item small{display:block;margin-top:2px;color:#526d7a;font-size:10px;font-weight:400}
.fleet-detail-compact .fleet-cargo-note{font-size:10px;line-height:1.4;margin:6px 0;color:#526d7a}
@container(max-width:820px){.fleet-loadout-grid{grid-template-columns:1fr;grid-template-areas:"weapons" "upgrades" "cargo";gap:10px}.fleet-register-detail .fleet-detail-compact .fleet-vessel-inspection{grid-template-columns:minmax(115px,.8fr) minmax(0,1.2fr);gap:8px}.fleet-equipment-ledger .fleet-weapon-col{width:47%}.fleet-equipment-ledger .fleet-ammo-col{width:24%}}
@container(max-width:420px){.fleet-register-detail .fleet-detail-compact .fleet-vessel-inspection{grid-template-columns:1fr}.fleet-register-detail .fleet-detail-compact .fleet-ship-preview canvas{height:85px}.fleet-detail-compact .fleet-vessel-heading{flex-wrap:wrap}.fleet-cargo-ledger .fleet-cargo-item-col{width:60%}.fleet-cargo-ledger .fleet-cargo-quantity-col{width:15%}.fleet-cargo-ledger .fleet-cargo-mass-col{width:25%}}
@media(pointer:coarse){.fleet-register-detail .fleet-detail-compact .fleet-preview-controls button,.fleet-detail-compact .fleet-membership-actions button{min-height:44px;min-width:40px}}

.fleet-register-detail .fleet-detail-compact .fleet-vessel-heading h3{line-height:1.15}
.fleet-detail-compact .fleet-vessel-heading p{margin-top:3px;font-size:11px;line-height:1.35}
.fleet-detail-compact .fleet-vessel-position{font-size:11px;line-height:1.35;margin-top:5px}
.fleet-cargo-ledger .fleet-cargo-item-col{width:61%}.fleet-cargo-ledger .fleet-cargo-quantity-col{width:14%}.fleet-cargo-ledger .fleet-cargo-mass-col{width:25%}
.fleet-register-detail .fleet-detail-compact .fleet-ship-preview{padding:4px 6px}
.fleet-register-detail .fleet-detail-compact .fleet-ship-preview canvas{height:80px;max-height:80px}
.fleet-register-detail .fleet-detail-compact .fleet-preview-hint{display:none}
.fleet-register-detail .fleet-detail-compact .fleet-vessel-inspection{margin-top:8px;margin-bottom:8px}
@container(min-width:540px) and (max-width:660px){.fleet-loadout-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"weapons upgrades" "cargo upgrades"}}

/* Reserve command space above integrity, including when no actions apply. */
.fleet-vessel-identity{min-width:0;flex:1 1 0}
.fleet-vessel-actions{display:grid;grid-template-rows:minmax(34px,auto) 34px;justify-items:end;gap:6px;flex:0 0 244px;width:244px;max-width:100%;min-width:0}
.fleet-header-command-slot{min-height:34px;width:100%}
.fleet-detail-compact .fleet-vessel-actions .fleet-membership-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0;gap:6px}
.fleet-detail-compact .fleet-vessel-actions .fleet-membership-actions button{width:100%;min-width:0;margin:0;padding:5px 6px;white-space:nowrap;text-align:center}
.fleet-detail-compact .fleet-integrity-button:disabled{margin:0;min-height:34px;padding:5px 9px;border:1px solid #81969f;border-radius:6px;background:#f5f7f7;color:var(--ink);font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;opacity:1;cursor:default;box-shadow:none}
.fleet-detail-compact .fleet-integrity-button.loss:disabled{color:#9b3630}
.fleet-detail-compact .fleet-integrity-button.warning:disabled{color:#876018}
.fleet-vessel-actions .fleet-membership-actions>span{grid-column:1/-1;text-align:center}
.fleet-vessel-actions [data-action="fleet-rendezvous"]{grid-column:1/-1}
@container(max-width:660px){.fleet-detail-compact .fleet-vessel-heading{flex-wrap:nowrap}}
@container(max-width:420px){.fleet-detail-compact .fleet-vessel-heading{flex-wrap:wrap}.fleet-vessel-identity{flex-basis:100%}.fleet-vessel-actions{max-width:100%;margin-left:auto}}

@media(pointer:coarse){.fleet-vessel-actions{grid-template-rows:minmax(44px,auto) 44px}.fleet-header-command-slot{min-height:44px}.fleet-detail-compact .fleet-integrity-button:disabled{min-height:44px}}

/* Compact live fleet meters, scoped to the persistent sidebar. */
.game-shell>aside .sidebar-gauges{display:grid;gap:6px;margin-top:8px}
.game-shell>aside .sidebar-gauges .gauge{margin:0}
.game-shell>aside .sidebar-gauges .gauge-label{align-items:baseline;gap:8px;margin-bottom:3px;line-height:1.3}
.game-shell>aside .sidebar-gauges .gauge-value{white-space:nowrap;font-variant-numeric:tabular-nums}

@media(max-width:960px){.game-shell>aside .sidebar-gauges .gauge-label{font-size:10px;gap:4px}}
@media(max-width:600px){.game-shell>aside .sidebar-gauges .gauge-label{flex-wrap:wrap;gap:1px 4px}.game-shell>aside .sidebar-gauges .gauge-value{margin-left:auto}}

/* A balanced two-button row with a full-width integrity readout beneath. */
.fleet-detail-compact .fleet-vessel-heading{align-items:center;gap:16px}
.fleet-detail-compact .fleet-integrity-button:disabled{width:100%;text-align:center}

/* Captain identity follows the portrait-left arrangement of establishment hosts. */
.game-shell>aside .captain-profile{display:flex;align-items:center;gap:10px;min-width:0;min-height:75px}
.game-shell>aside .captain-profile>.captain-profile-portrait{flex-basis:60px;width:60px}
.captain-profile-portrait{flex:0 0 64px;width:64px;aspect-ratio:4/5;overflow:hidden;border:1px solid #a8bfcc30;border-radius:5px;background:#101f2c;color:#a8bfcc70}
.captain-profile-portrait svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.captain-profile-copy{flex:1 1 0;min-width:0}
.game-shell>aside .captain-profile h2{font-size:20px;line-height:1.15;overflow-wrap:anywhere}
.game-shell>aside .captain-profile .captain-role{display:block;margin:4px 0 0;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.game-shell>aside .captain-profile .pilot-tag{margin:5px 0 0;font-size:10px;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:960px){.game-shell>aside .captain-profile{gap:8px}.captain-profile-portrait{flex-basis:44px;width:44px}.game-shell>aside .captain-profile h2{font-size:17px}.game-shell>aside .captain-profile .captain-role{font-size:10px}.game-shell>aside .captain-profile .pilot-tag{font-size:9px}}
@media(max-width:600px){.captain-profile-portrait{flex-basis:30px;width:30px}.game-shell>aside .captain-profile h2{font-size:14px}.game-shell>aside .captain-profile .captain-role{font-size:10px}.game-shell>aside .captain-profile .pilot-tag{font-size:9px}}

/* Captain records live beside the captain, with account totals as direct links. */
.sidebar-record-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;margin:6px 0 0}
.sidebar-record-links button.sidebar-record-button{min-height:32px;margin:0;padding:5px 0;font-size:11px;white-space:nowrap;text-align:left}
.sidebar-balances>.sidebar-balance-linked{position:relative;min-height:28px;align-items:center}
.sidebar-balance-link{font:inherit;color:inherit;padding:0;margin:0;border:0;border-radius:0;background:none;text-align:left;text-decoration:underline;text-underline-offset:3px;min-height:0}
.sidebar-balance-link::after{content:"";position:absolute;inset:0;border-radius:3px}
.sidebar-balance-link:hover:not(:disabled){color:var(--paper);background:none}
.sidebar-balance-link:focus-visible{outline-offset:3px}
.sidebar-balance-linked:hover dd{text-decoration:underline;text-underline-offset:3px}

/* One fixed heading and one scrolling sheet for records and accounts. */
#modal.records-dialog[open]{display:flex;flex-direction:column;width:1000px;height:calc(var(--modal-area-height) - 24px);max-height:calc(var(--modal-area-height) - 24px);padding:0;overflow:hidden;container-type:inline-size}
.records-dialog>.dialog-head{flex:0 0 auto;margin:0;padding:16px 20px;background:var(--space);border-bottom:1px solid var(--line);align-items:center;justify-content:space-between;gap:12px}
.records-dialog>.dialog-head h2{font-size:25px;margin:0}
.records-dialog>.utility-content{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px;border-radius:0;background:var(--paper);color:var(--ink);scrollbar-gutter:stable}
.records-dialog .utility-content button:not(.primary){color:var(--ink);border-color:#81969f;background:#f5f7f7}
.records-dialog .utility-content button:hover:not(:disabled){border-color:#9b763e;background:#d5ae6826}
.records-intro,.record-note,.records-empty{font-size:12px;line-height:1.5;color:#526d7a}
.records-intro{margin:0 0 12px}.records-empty{padding:18px 0}.record-note{margin:10px 0 0}
.records-dialog .record-kind{font-size:10px;line-height:1.4;color:#526d7a;margin:0 0 4px}
.records-dialog .record-place{font-size:11px;color:#526d7a;margin-top:6px}
.record-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.record-actions button{font-size:11px;min-height:34px;padding:5px 8px}
.task-record{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,220px);gap:20px;padding:16px 0;border-bottom:1px solid #718b963b;align-items:start}
.task-record:first-of-type{padding-top:4px}.records-dialog .task-record h3{font-size:20px;line-height:1.3;margin:0 0 7px;overflow-wrap:anywhere}
.task-copy p{font-size:12px;line-height:1.55;margin:0}.task-copy .task-progress{margin-top:8px;color:#526d7a}
.task-terms{display:grid;gap:7px;justify-items:end;text-align:right;font-size:12px;line-height:1.4}
.task-terms>strong{font-size:17px;font-variant-numeric:tabular-nums}.task-terms small{display:block;font-size:10px;color:#526d7a;margin-top:3px}.task-terms button{font-size:11px;min-height:34px;padding:5px 8px;max-width:100%}
.journal-ledger{list-style:none;margin:0;padding:0}.journal-ledger>.journal-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid #718b963b;align-items:start}
.journal-row,.journal-status{font:13px/1.45 system-ui}.journal-row>time{font:12px/1.6 system-ui;font-variant-numeric:tabular-nums;color:#526d7a;white-space:nowrap}.journal-row>time>span{display:block;font-size:11px}.journal-row>article{min-width:0}.journal-row article p{font:13px/1.45 system-ui;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-summary strong{font-weight:650}.journal-row article .journal-row-context{color:#526d7a;font-size:12px;line-height:1.6}.journal-event article{padding-left:9px;border-left:2px solid #718b963b}.journal-event .journal-row-summary strong,.journal-change .journal-row-summary strong{font-weight:500}.journal-status{color:#526d7a;margin:14px 0}.journal-page .records-intro{font-size:12px;color:#526d7a}
.ledger-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid #718b963b}.ledger-action>.journal-ledger{min-width:0}.ledger-action .journal-row{border:0}.ledger-action>button{font-size:11px;min-height:32px;padding:5px 8px;white-space:nowrap}
.action-history-content{overflow-anchor:none}.ledger-history-footer{min-height:48px}.ledger-history-footer>button[hidden]{display:none}.ledger-history-footer .journal-status{margin:14px 0 6px}

.captain-record-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin-bottom:18px}
.captain-record-person{display:flex;align-items:center;gap:14px;min-width:0}.records-dialog .captain-record-person h3{font-size:25px;line-height:1.15;margin:0 0 6px;overflow-wrap:anywhere}.captain-record-person p{font-size:11px;line-height:1.5;margin:2px 0;color:#526d7a}
.captain-record-person .captain-profile-portrait{flex-basis:64px;width:64px;min-width:64px}
.captain-account-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:260px;max-width:100%}.captain-account-links button{font-size:12px;min-height:36px;padding:6px 10px;white-space:nowrap}
.captain-net-worth{display:grid;gap:3px;border-bottom:1px solid #718b963b;padding:0 0 12px;margin-bottom:6px;font-size:12px;line-height:1.4}
.captain-net-worth strong{font-size:24px;font-variant-numeric:tabular-nums;white-space:nowrap}.captain-net-worth small{font-size:10px;color:#526d7a}
.captain-record-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 26px;align-items:start}
.captain-record-section{border-top:1px solid #718b963b;padding-top:12px;min-width:0}.records-dialog .captain-record-section>h3{font-size:21px;margin:0 0 10px}.captain-record-wide{grid-column:1/-1}
.captain-record-section h4{font:600 12px/1.4 system-ui;margin:12px 0 5px}.captain-record-section .finance-row{padding:6px 0;font-size:11px}.captain-record-section .finance-row:nth-last-of-type(2){border-top:1px solid #718b963b;margin-top:5px;padding-top:10px}
.captain-skill{margin:0 0 13px}.captain-skill>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px;align-items:baseline}.captain-skill>div>span{font-size:11px;white-space:nowrap}.captain-skill .track{margin:5px 0 3px;background:#213c4b20}.captain-skill small{font-size:10px;color:#526d7a}
.captain-advantages-compact{border-top:1px solid #718b963b;padding-top:1px}.captain-advantages-compact p,.captain-home{font-size:11px;line-height:1.55;margin:0;color:#526d7a}
.standing-ledger{margin:8px 0 0}.standing-ledger>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #718b962b;font-size:11px;line-height:1.4}.standing-ledger dd{margin:0;text-align:right;font-weight:600;white-space:nowrap}.standing-ledger dd small{display:block;font-size:10px;font-weight:400;color:#526d7a;white-space:normal}
.captain-counters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.captain-counters>div{display:grid;gap:3px}.captain-counters strong{font-size:18px}.captain-counters span{font-size:10px;color:#526d7a}
.captain-decision{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;font-size:11px;line-height:1.5;border-bottom:1px solid #718b962b;padding:7px 0;margin:0}.captain-decision time{color:#526d7a}
.financial-content .finance-tabs{margin:0 0 16px;gap:6px}.financial-content .finance-tabs button{font-size:11px;padding:6px 9px;min-height:34px}.financial-content .finance-tabs [aria-pressed=true]{background:#213c4b!important;color:#fff!important}
.account-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:0 0 16px;border-bottom:1px solid #718b963b;font-size:12px}.account-total>strong{font-size:24px;font-variant-numeric:tabular-nums;white-space:nowrap}
.account-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:15px 0;border-bottom:1px solid #718b963b;align-items:center}.records-dialog .account-record h3{font:600 14px/1.4 system-ui;margin:0 0 4px}.account-record p{font-size:11px;color:#526d7a;margin:0}.account-record small{display:block;font-size:10px;color:#526d7a;margin-top:5px}.account-record-amount{display:grid;gap:5px;text-align:right;white-space:nowrap}.account-record-amount strong{font-size:16px;font-variant-numeric:tabular-nums}.account-record-amount span{font-size:11px;color:#526d7a}
@container(max-width:660px){.records-dialog>.utility-content{padding:14px 16px}.captain-record-grid{grid-template-columns:1fr}.captain-record-top{grid-template-columns:1fr}.captain-account-links{width:100%}.captain-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.task-record{grid-template-columns:minmax(0,1fr);gap:10px}.task-terms{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;text-align:left;gap:8px 14px}.journal-ledger>.journal-row{grid-template-columns:96px minmax(0,1fr);gap:10px}.ledger-action{gap:8px}}
@media(max-width:600px){.records-dialog>.dialog-head{padding:12px 14px}.records-dialog>.dialog-head h2{font-size:22px}.sidebar-record-links{gap:1px 8px}.sidebar-record-links button.sidebar-record-button{font-size:10px}}
@media(pointer:coarse){.sidebar-record-links button.sidebar-record-button,.sidebar-balances>.sidebar-balance-linked{min-height:44px}.task-terms button,.record-actions button,.captain-account-links button,.financial-content .finance-tabs button{min-height:44px}}

.records-dialog>.utility-content:focus-visible{outline:2px solid #9b763e;outline-offset:-2px}

/* A continuous cockpit summary: ship, live meters, then account totals. */
.game-shell>aside .sidebar-fleet>.flagship-preview{margin:2px 0 0;padding:0}
.game-shell>aside .sidebar-fleet .ship-illustration{height:56px;max-height:56px;object-fit:contain}
.game-shell>aside .sidebar-fleet .ship-title{margin:2px 0 0}
.game-shell>aside .sidebar-fleet .ship-title h2{font-size:22px;line-height:1.15;overflow-wrap:anywhere}
.game-shell>aside .sidebar-fleet .ship-title small{display:block;font-size:11px;line-height:1.4;margin-top:3px}
.sidebar-content>.sidebar-funds{margin:14px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.sidebar-content .sidebar-balances{gap:2px}
.sidebar-content .sidebar-balances>div{min-height:32px;align-items:center}
.sidebar-content .sidebar-balances dt{font-size:11px}
.sidebar-content .sidebar-balances dd{font-size:13px}
@media(max-width:960px){
 .game-shell>aside .captain-profile>.captain-profile-portrait{flex-basis:44px;width:44px}
 .game-shell>aside .captain-profile{min-height:60px}
 .sidebar-record-links{justify-content:flex-start;gap:0 12px}
 .sidebar-fleet-links{gap:0;flex-wrap:nowrap}
 .sidebar-fleet-links>.text,.sidebar-fleet .sidebar-fleet-links>.sidebar-berths{font-size:10px}
 .game-shell>aside .sidebar-fleet .ship-illustration{height:56px;max-height:56px}
 .game-shell>aside .sidebar-fleet .ship-title h2{font-size:20px}
 .sidebar-content .sidebar-balances>div{grid-template-columns:minmax(0,1fr);gap:0;padding:4px 0}
 .sidebar-content .sidebar-balances dd{text-align:left}
}
@media(max-width:600px){
 .game-shell>aside .captain-profile{gap:6px}
 .game-shell>aside .captain-profile>.captain-profile-portrait{flex-basis:30px;width:30px}
 .game-shell>aside .sidebar-fleet .ship-title h2{font-size:18px}
 .sidebar-fleet-links{flex-wrap:wrap}
 .sidebar-content .sidebar-balances dd{overflow-wrap:anywhere;white-space:normal}
}
@media(pointer:coarse){.sidebar-record-links button.sidebar-record-button,.sidebar-fleet-links>.text,.sidebar-fleet .sidebar-fleet-links>.sidebar-berths,.sidebar-content .sidebar-balances>.sidebar-balance-linked{min-height:44px}}
@media(max-height:760px){.game-shell>aside .sidebar-fleet .ship-illustration{height:64px;max-height:64px}}


/* Boxed navigation follows the flagship meters; records lead into finances. */
.sidebar-content>.sidebar-fleet-links{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:6px;margin:6px 0 0;padding:0;border:0}
.sidebar-content>.sidebar-fleet-links:has(>button:only-child){grid-template-columns:minmax(0,1fr)}
.sidebar-content>.sidebar-fleet-links>button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:32px;margin:0;padding:5px 6px;font-size:11px;line-height:1.3;text-align:center;text-decoration:none;overflow-wrap:anywhere}
.sidebar-content>.sidebar-record-links{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:6px 0 0;padding:0}
.sidebar-content>.sidebar-record-links>button.sidebar-record-button{min-width:0;min-height:32px;margin:0;padding:5px 8px;font-size:11px;line-height:1.3;white-space:normal;text-align:center;text-decoration:none}
.sidebar-content>.sidebar-funds{margin-top:8px;padding-top:6px}
.sidebar-content .sidebar-balances{gap:4px}
.sidebar-content .sidebar-balances>div{min-height:32px;padding:4px 6px;gap:6px}
.sidebar-content .sidebar-balances>div{border:1px solid #ffffff30;border-radius:5px;background:#ffffff06}
.sidebar-content .sidebar-balance-link{text-decoration:none}
.sidebar-content .sidebar-balance-link::after{border-radius:5px}
.sidebar-content .sidebar-balance-linked:hover{border-color:var(--brass);background:#ffffff12}
.sidebar-content .sidebar-balance-linked:hover dd{text-decoration:none}
@media(max-width:960px){.sidebar-content>.sidebar-fleet-links>button{font-size:10px;padding:5px 3px}}
@media(max-height:760px){
 .game-shell>aside .captain-profile{min-height:60px}
 .game-shell>aside .captain-profile>.captain-profile-portrait{width:48px;flex-basis:48px}
 .game-shell>aside .sidebar-fleet .ship-illustration{height:40px;max-height:40px}
 .sidebar-content>.sidebar-navigation{margin-bottom:8px;padding-bottom:8px}
 .game-shell>aside .sidebar-gauges{gap:6px;margin-top:8px}
 .sidebar-content>.sidebar-fleet-links,.sidebar-content>.sidebar-record-links{margin-top:6px}
}
@media(max-width:600px){.game-shell>aside .captain-profile>.captain-profile-portrait{width:30px;flex-basis:30px}}
@media(pointer:coarse){.sidebar-content>.sidebar-fleet-links>button,.sidebar-content>.sidebar-record-links>button.sidebar-record-button,.sidebar-actions>.sidebar-menu{min-height:44px}}

/* Local navigation reads station, local orbit or moon, then its parent world. */
.navigation-map .station-map-node .map-body-name{font-size:18px}
.navigation-map .station-map-node .map-station-name{font-size:14px}
.navigation-map .station-map-node .map-orbit-caption{font-size:12px}

.sidebar-content>.sidebar-funds+.sidebar-fleet{margin-top:8px}

/* The account row supplies its outline; its inner text button needs no bevel. */
.sidebar-content .sidebar-balance-link,.sidebar-content .sidebar-balance-link:hover,.sidebar-content .sidebar-balance-link:active{box-shadow:none}

/* The cockpit has a minimum working height; controls never scroll behind Menu. */
body:has(.game-shell){min-height:720px}
.game-shell>aside{height:max(660px,calc(100dvh - var(--shell-offset)));max-height:none;overflow:clip}
body:has(#modal[open]) .game-shell>aside{height:max(660px,calc(100dvh - var(--shell-offset)))}
.game-shell>aside>.sidebar-content{display:flex;flex-direction:column;flex:1 0 auto;min-height:min-content;overflow:visible;overscroll-behavior:auto;padding:12px 14px 8px}
.game-shell>aside>.sidebar-content>*{flex:0 0 auto}
.game-shell>aside>.sidebar-actions{margin-top:auto;padding:8px 14px 12px}
.sidebar-content>.sidebar-navigation{position:static;flex-wrap:nowrap;margin-bottom:8px;padding-bottom:8px}
.sidebar-content>.sidebar-navigation:has(>button:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
.sidebar-content>.sidebar-record-links{gap:4px;margin-top:8px}
@media(max-height:800px){
 .game-shell>aside .captain-profile{min-height:60px}
 .game-shell>aside .captain-profile>.captain-profile-portrait{width:48px;flex-basis:48px}
 .game-shell>aside .sidebar-fleet .ship-illustration{height:40px;max-height:40px}
 .game-shell>aside .sidebar-fleet .ship-title h2{font-size:22px}
}
@media(pointer:coarse){.game-shell>aside{min-height:780px}}

/* Navigation uses the same minimum cockpit height, with the route summary in flow. */
.screen-main:has(.navigation-deck){display:flex;flex-direction:column;height:max(660px,calc(100dvh - var(--shell-offset)));min-height:0}
.screen-main>.navigation-deck{flex:1 1 0;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:12px}
.navigation-deck>.orbital-view{display:grid;grid-template-rows:auto minmax(300px,1fr);min-height:0}
.navigation-deck .map-viewport{min-height:0;overflow:clip}
.navigation-deck .map-viewport .navigation-map.solar-map{display:block;width:100%;min-width:0;height:100%;min-height:0;max-height:none;margin:0;aspect-ratio:auto}
.navigation-deck>.route-column{min-width:0}
.navigation-deck .route-column .flight{padding:12px 0 0}
.navigation-deck .route-column .metrics{align-items:start;gap:8px;margin:0 0 12px}
.navigation-deck .route-column .metric{min-width:0;margin:0}
.navigation-deck .route-column .metric span{white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.25}
.navigation-deck .route-column .metric small{display:block;margin-top:4px;font-size:9px;line-height:1.35}
.navigation-deck .route-note{margin:0;line-height:1.5}
.navigation-deck .belt-note{margin:8px 0 0;padding:0;border:0;line-height:1.5}

/* Clinic visits begin with live care choices; background guidance lives in Guide. */
.clinic-services>.service-card:first-child{margin-top:0}

/* Long Guide sections must stay reachable inside the main-pane popout. */
#modal.guide-dialog[open]{overflow-y:auto;overscroll-behavior:contain}

/* A readable cockpit with a framed flagship and records anchored above Menu. */
.game-shell>aside>.sidebar-content{flex:1 1 0;min-height:0;padding-bottom:0}
.game-shell>aside>.sidebar-actions{display:grid;gap:4px;margin-top:0;padding-top:4px}
.sidebar-actions>.sidebar-record-links{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:0;padding:0}
.sidebar-actions .sidebar-record-links>button.sidebar-record-button{width:100%;min-height:32px;margin:0;padding:5px 8px;font-size:12px;line-height:1.35;text-align:center;text-decoration:none}
.sidebar-actions>.sidebar-menu{font-size:13px;line-height:1.35}
.game-shell>aside .captain-profile h2{font-size:21px;line-height:1.15}
.game-shell>aside .captain-profile .captain-role{font-size:12px;line-height:1.35}
.game-shell>aside .captain-profile .pilot-tag{font-size:11px;line-height:1.3}
.sidebar-content .sidebar-balances dt{font-size:12px;line-height:1.3}
.sidebar-content .sidebar-balances dd{font-size:14px;line-height:1.3}
.game-shell>aside .sidebar-gauges .gauge-label{font-size:12px;line-height:1.3}
.sidebar-content>.sidebar-fleet-links>button{font-size:12px;line-height:1.3}
.game-shell>aside>.sidebar-content>.sidebar-fleet{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;margin-top:8px;gap:6px}
.game-shell>aside .sidebar-fleet>.flagship-preview{display:flex;align-items:center;justify-content:center;flex:1 1 80px;height:80px;min-height:80px;max-height:none;margin:0;padding:6px;border:1px solid #a8bfcc55;border-radius:6px;background:#101f2c55;box-shadow:none}
.game-shell>aside .sidebar-fleet>.flagship-preview:hover{border-color:var(--brass);background:#ffffff08}
.game-shell>aside .sidebar-fleet .ship-illustration{width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain}
.game-shell>aside .sidebar-fleet .ship-title{flex:0 0 auto;margin:0}
.game-shell>aside .sidebar-fleet .ship-title h2{font-size:24px;line-height:1.15}
.game-shell>aside .sidebar-fleet .ship-title small{font-size:12px;line-height:1.35;margin-top:3px}
@media(max-height:800px){
 .game-shell>aside>.sidebar-content{padding-top:10px}
 .sidebar-content>.sidebar-navigation{margin-bottom:6px;padding-bottom:6px}
 .sidebar-navigation>button{min-height:40px}
 .sidebar-content .sidebar-balances>div{min-height:30px}
 .game-shell>aside .sidebar-gauges{gap:5px}
 .game-shell>aside .sidebar-gauges .gauge-label{margin-bottom:2px}
 .game-shell>aside .sidebar-fleet .ship-title h2{font-size:22px}
 .sidebar-actions .sidebar-record-links>button.sidebar-record-button{min-height:30px}
 .sidebar-actions>.sidebar-menu{min-height:34px}
}
@media(pointer:coarse){.sidebar-actions .sidebar-record-links>button.sidebar-record-button,.sidebar-actions>.sidebar-menu{min-height:44px}}

/* Tall cockpits use spare height for the captain portrait and identity. */
@media(min-width:980px) and (min-height:920px){
 .game-shell>aside .captain-profile{flex-direction:column;align-items:center;gap:8px;min-height:0;text-align:center}
 .game-shell>aside .captain-profile>.captain-profile-portrait{flex:0 0 auto;width:clamp(60px,calc(60px + (100dvh - 920px)*.65),112px)}
 .game-shell>aside .captain-profile>.captain-profile-copy{flex:0 0 auto;width:100%}
}

/* Daily records follow Fleet; Journal stays beside the bottom Menu. */
.sidebar-content>.sidebar-record-links{margin-top:4px;gap:4px}
.sidebar-content .sidebar-record-links>button.sidebar-record-button{font-size:12px;line-height:1.35}

/* Every task destination names its local orbit/moon and parent world. */
.tasks-page .task-destination{font-size:12px;line-height:1.4;color:#526d7a;margin:4px 0 8px}

/* Tenant lots sit beside owned inventory without joining the tradable stock list. */
.warehouse-tenant-list{flex:0 0 auto;display:grid;gap:4px;margin:0 0 8px}
.warehouse-tenant-list article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border:1px solid #213c4b25;border-radius:5px}
.warehouse-tenant-list article>div{min-width:0}.warehouse-tenant-list strong{display:block;font-size:12px;line-height:1.3}.warehouse-tenant-list small{display:block;font-size:11px;line-height:1.4}
.warehouse-tenant-list button{flex:0 0 auto;font-size:11px;padding:5px 7px;min-height:30px}

/* Captain collections use compact ledgers rather than repeated cards. */
.relic-collection{margin-top:0}.relic-table,.crew-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;line-height:1.5}.relic-table th,.relic-table td,.crew-table th,.crew-table td{border-bottom:1px solid #718b963b;padding:9px 6px;vertical-align:top}.relic-table thead th,.crew-table thead th{font-weight:600;color:#526d7a;font-size:10px}.relic-table tbody th{width:32%;font-weight:600}.relic-table tbody td:nth-child(2){width:50%}.relic-table small,.crew-table small{display:block;font-size:10px;font-weight:400;color:#526d7a;margin-top:3px}.relic-table button,.crew-table button{font-size:10px;min-height:30px;padding:4px 7px;white-space:nowrap}.crew-actions{display:flex;gap:5px;flex-wrap:wrap}.named-crew>.record-note,.relic-collection>.record-note{margin:0 0 10px}.relic-leads .service-card p{font-size:11px;line-height:1.5;margin:5px 0}.relic-leads .service-card{padding:10px}.relic-collection h4{font:600 14px/1.4 system-ui;margin:0 0 8px}

.captain-record-column{display:grid;gap:20px;min-width:0}.captain-record-column .named-crew{grid-column:auto}.crew-table td,.crew-table th{padding:7px 4px}.crew-table .crew-actions{flex-direction:column;align-items:stretch}.crew-table td:nth-child(3){white-space:nowrap}

.records-dialog .captain-record-section>h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:21px;line-height:1.3;margin:0 0 10px}.record-heading-meta{font:400 11px/1.4 system-ui;color:#526d7a;white-space:nowrap}

/* Crew dossiers keep the roster compact and put personal detail behind the name. */
.crew-table .crew-name{white-space:normal;text-align:left;font-weight:650;line-height:1.4;padding:4px 6px;min-height:30px;width:100%}.crew-profile{font:400 13px/1.55 system-ui}.crew-profile h3{font:600 13px/1.4 system-ui;margin:0 0 5px}.crew-profile p{margin:0 0 10px}.crew-profile section{border-top:1px solid #718b963b;padding-top:12px;margin-top:12px}.crew-profile .crew-specialty,.crew-role{color:#526d7a}.crew-benefit{border:1px solid #718b9666;border-left:3px solid #c7a35d;border-radius:5px;padding:12px;margin:12px 0}.crew-profile .crew-benefit-status{font-size:12px;margin-bottom:0;font-weight:600}.crew-dossier{max-width:780px;width:100%;box-sizing:border-box;align-self:center}.crew-dossier .actions{margin-top:16px}.conversation-offer-details .crew-profile{font-size:12px;text-align:left}.conversation-offer-details .crew-profile h3{font-size:12px}.conversation-offer-details .crew-benefit{padding:9px}.conversation-offer-details .crew-profile section{padding-top:8px;margin-top:8px}

.crew-dossier{max-width:none;align-self:stretch}.crew-dossier .crew-profile h3{font:600 13px/1.4 system-ui;margin:0 0 5px}.crew-dossier .crew-profile p{margin:0 0 9px}.crew-dossier .crew-role{margin:0 0 8px;font-size:12px}.crew-dossier .crew-profile section{padding-top:10px;margin-top:10px}.crew-dossier>.record-note{font-size:11px;line-height:1.5;margin:10px 0}

.visit-people .crew-profile .crew-specialty,.visit-people .crew-profile .record-note{color:#b9cbd3}.crew-profile .crew-pay{font-size:12px;line-height:1.5}.visit-people .crew-profile .crew-pay{color:#e2c17e}

.blockade-services{border-bottom:1px solid #718b9640;padding-bottom:12px;margin-bottom:14px}.blockade-services>h4{font:600 16px/1.4 system-ui;margin:0 0 10px}.blockade-mission p{font-size:12px;line-height:1.5;margin:6px 0}.blockade-mission .actions{display:flex;gap:6px;flex-wrap:wrap}.blockade-mission button{font-size:11px;min-height:32px;padding:6px 9px}.blockade-place{color:#526d7a}.blockade-status{font-size:12px;color:#246f59}

/* Keep the reading position stable while older journal records append. */
.journal-page{overflow-anchor:none}

/* Bank quotes and contract choice share the compact service rhythm. */
.bank-rate-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.bank-rate-options button{min-width:0;padding:8px 10px}
.bank-rate-caption{font-size:12px;line-height:1.4;margin:5px 0 9px;color:var(--muted)}
.bank-rate-table{width:100%;border-collapse:collapse;font-size:12px}
.bank-rate-table th,.bank-rate-table td{padding:6px 5px;border-bottom:1px solid #62798430;text-align:right}
.bank-rate-table th:first-child{text-align:left;font-weight:500}

.freight-products{margin:6px 0 10px;padding-left:17px;font-size:12px;line-height:1.55}.freight-products li{margin:2px 0}

/* A square inspection viewport, with readable space for both roster columns. */
.fleet-register-workspace{grid-template-columns:minmax(320px,30%) minmax(0,1fr)}
.fleet-register-list .fleet-register-ship{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;padding:7px 9px;min-height:64px}
.fleet-register-ship .fleet-list-identity>strong{font-size:12px;line-height:1.3;overflow-wrap:normal}
.fleet-register-ship .fleet-list-identity>.fleet-list-class,.fleet-register-ship .fleet-list-identity>.fleet-list-integrity{font-size:11px;line-height:1.3}
.fleet-register-ship .fleet-list-status{font-size:11px;line-height:1.4}
.fleet-register-ship .fleet-list-assignment>.fleet-list-description{font-size:11px;line-height:1.3}
.fleet-register-detail{container-type:inline-size;container-name:fleet-detail}
.fleet-register-detail .fleet-detail-compact .fleet-vessel-inspection{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center;margin:12px 0 16px}
.fleet-register-detail .fleet-detail-compact .fleet-ship-preview-square{position:relative;aspect-ratio:1;min-width:0;margin:0;padding:0;overflow:hidden;border:1px solid #718b9666;border-radius:7px}
.fleet-register-detail .fleet-detail-compact .fleet-ship-preview-square canvas{display:block;width:100%;height:100%;max-height:none;aspect-ratio:1;object-fit:contain;touch-action:none;border-radius:0}
.fleet-register-detail .fleet-detail-compact .fleet-ship-preview-square .fleet-preview-controls{position:absolute;inset:auto 8px 8px;gap:5px;margin:0;flex-wrap:nowrap}
.fleet-register-detail .fleet-detail-compact .fleet-preview-controls button{min-width:34px;min-height:34px;font-size:12px;padding:5px 8px;background:#1c3444ed}
.fleet-register-detail .fleet-detail-compact .fleet-status-metrics{grid-template-columns:1fr;gap:7px;margin:0}
.fleet-register-detail .fleet-detail-compact .fleet-status-metrics>div{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:9px 10px}
.fleet-register-detail .fleet-detail-compact .fleet-status-metrics dt{font-size:11px;line-height:1.4}
.fleet-overview-dialog .fleet-register-detail .fleet-detail-compact .fleet-status-metrics dd{font-size:13px;line-height:1.4;white-space:nowrap;margin:0}
.fleet-register-detail .fleet-loadout-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"weapons upgrades" "cargo upgrades";gap:12px 16px}
@container fleet-detail(max-width:600px){.fleet-register-detail .fleet-loadout-grid{grid-template-columns:1fr;grid-template-areas:"weapons" "upgrades" "cargo"}.fleet-equipment-ledger .fleet-weapon-col{width:44%}.fleet-equipment-ledger .fleet-output-col{width:18%}.fleet-equipment-ledger .fleet-range-col{width:14%}.fleet-equipment-ledger .fleet-ammo-col{width:24%}}
@container fleet-detail(max-width:460px){.fleet-register-detail .fleet-detail-compact .fleet-vessel-inspection{grid-template-columns:1fr}.fleet-register-detail .fleet-detail-compact .fleet-ship-preview-square{width:min(100%,340px);justify-self:center}.fleet-register-detail .fleet-detail-compact .fleet-status-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-register-detail .fleet-detail-compact .fleet-status-metrics>div{display:block}.fleet-overview-dialog .fleet-register-detail .fleet-detail-compact .fleet-status-metrics dd{margin-top:4px}}
@container(max-width:980px){.fleet-register-workspace{grid-template-columns:300px minmax(0,1fr)}}
@container(max-width:760px){.fleet-register-workspace{grid-template-columns:1fr;grid-template-rows:minmax(130px,28%) minmax(0,1fr)}.fleet-register-list{border-right:0;border-bottom:1px solid #213c4b26}.fleet-register-list .fleet-register-ship{min-height:64px}}
@media(pointer:coarse){.fleet-register-detail .fleet-detail-compact .fleet-preview-controls button{min-height:44px;min-width:40px}}

/* A dated patrol circular leads the bounty board without adding another control. */
.patrol-bulletin{margin:0 0 24px;padding:0 0 19px;border-bottom:1px solid #718b964d;color:#213c4b}
.patrol-bulletin>header{background:transparent;color:inherit;padding:0;border:0;min-height:0;box-shadow:none;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.patrol-bulletin h3{color:inherit;font:22px/1.25 Georgia,serif;margin:0}.patrol-bulletin p{font:13px/1.55 system-ui;margin:9px 0;overflow-wrap:anywhere}.patrol-bulletin .patrol-issued,.patrol-bulletin .patrol-source{font-size:11px;line-height:1.5;color:#526d7a;margin:5px 0}.patrol-bulletin h4{font:600 14px/1.4 system-ui;margin:17px 0 8px}.patrol-bulletin h5{display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 14px/1.4 system-ui;margin:0 0 7px}.patrol-dispatch{padding:11px 0;border-top:1px solid #718b962b}.patrol-risk{display:inline-block;flex:0 0 auto;padding:4px 7px;border:1px solid currentColor;border-radius:4px;font:600 11px/1.3 system-ui;white-space:nowrap}.patrol-risk-low{color:#286650}.patrol-risk-guarded{color:#75551f}.patrol-risk-high,.patrol-risk-severe{color:#963e33}.patrol-risk-critical{color:#81322c;background:#9e473b12}.patrol-bulletin .patrol-route,.patrol-bulletin .patrol-coverage,.patrol-bulletin .patrol-closing{font-size:12px}.patrol-bulletin .patrol-closing{color:#526d7a;margin:13px 0 0}

.dialog-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.dialog-head:has(.dialog-head-actions)>h2{min-width:0}

.drive-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.drive-dialog>.dialog-head,.drive-dialog>.drive-subtitle{flex:0 0 auto}.drive-dialog>.drive-archive{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}

.journal-window>.journal-row{height:56px;min-height:56px;contain:layout style}.journal-window>.journal-spacer{display:block;padding:0;margin:0;border:0;pointer-events:none}
/* Let wheel input over entry text reach the single scrolling Journal pane. */
#modal .journal-page,#modal .journal-page *{overscroll-behavior:auto}
/* Keep the selected orders close at hand; selection updates do not replace the tactical plot. */
.combat-deck{grid-template-columns:minmax(280px,.8fr) minmax(480px,1.2fr);gap:18px}
.battle-controls-v2{display:flex;flex-direction:column;gap:12px}.battle-controls-v2>.battle-heading{order:0}.battle-controls-v2>.combat-advisory{order:1;margin:0;padding:8px 10px}.battle-controls-v2>.battle-console{order:2;margin:0;padding:12px}.battle-controls-v2>.battle-field{order:3;margin:0}.battle-controls-v2>.battle-safety{order:4}.battle-controls-v2>.battle-transmissions{order:5}.battle-controls-v2>.battle-exit{order:6}.battle-controls-v2>.dialog-error{order:7}
.battle-controls-v2 .battle-heading h2{font-size:23px;line-height:1.2;margin:0 0 6px}.battle-controls-v2 .battle-heading p{margin:0;font-size:12px}.battle-controls-v2 .battle-console h3{font:600 15px/1.3 system-ui;margin:0 0 6px}.battle-controls-v2 .battle-console p{margin:5px 0;font-size:12px}.battle-controls-v2 .battle-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.battle-controls-v2 .battle-orders button{width:100%;padding:8px;font-size:12px;min-height:36px}.battle-controls-v2 .battle-orders small{font-size:10px;line-height:1.35;display:block;margin:4px 0 2px}.battle-feedback{min-height:18px;color:var(--brass)}.battle-controls-v2 .battle-field{padding:10px}.battle-controls-v2 .battle-field h3{font:600 13px system-ui;margin:0 0 7px}.battle-controls-v2 .large-battle-roster{max-height:210px;overscroll-behavior:contain}.battle-controls-v2 .battle-field>section:last-child{max-height:238px;overflow:auto;overscroll-behavior:contain}
.battle-controls .battle-vessel-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;width:100%;padding:8px;margin:0 0 5px;min-height:62px;text-align:left}.battle-vessel-compact>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.battle-row-state{font-size:10px;color:var(--mist);white-space:nowrap}.battle-vessel-compact>small{grid-column:1/-1;font-size:10px;white-space:nowrap}.battle-vessel-compact>.battle-hull{grid-column:1/-1;width:100%;margin:2px 0 0}.battle-controls-v2 .battle-safety{display:flex;flex-wrap:wrap;gap:7px}.battle-controls-v2 .battle-safety small{flex-basis:100%;font-size:11px}.battle-controls-v2 .battle-transmissions{font-size:11px;max-height:130px;overflow:auto}
@media(max-width:1100px){.combat-deck{grid-template-columns:1fr}.combat-view .combat-plot{max-height:280px}.combat-view{position:static}}
.battle-controls-v2 .battle-heading>div{text-align:left}.battle-controls-v2>.battle-faction{order:5;font-size:11px;margin:0;color:var(--mist)}.battle-controls-v2>.battle-transmissions{order:6}.battle-controls-v2>.battle-exit{order:7}.combat-view>.battle-field{padding:10px;gap:10px;margin:14px 0 0}.combat-view>.battle-field h3{font:600 13px system-ui;margin:0 0 7px}.combat-view .large-battle-roster{max-height:210px}.combat-view>.battle-field>section{min-width:0;max-height:238px;overflow:auto;overscroll-behavior:contain}.combat-view .battle-vessel-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 6px;width:100%;padding:7px;margin:0 0 5px;min-height:62px;text-align:left}.combat-view .combat-caption{max-height:70px;overflow:auto;font-size:11px;line-height:1.5}.combat-view h2{font-size:26px;margin-bottom:12px}

.combat-view .battle-vessel-compact{grid-template-columns:minmax(0,1fr);min-height:76px}.combat-view .battle-vessel-compact>strong,.combat-view .battle-row-state{grid-column:1/-1}.combat-view .battle-row-state{font-size:10px}.combat-view .battle-vessel-compact>strong{font-size:12px}

.battle-controls-v2 .battle-heading{margin-bottom:0}.battle-controls-v2 .battle-transmissions{margin:0;max-height:100px}.battle-controls-v2 .battle-transmissions p{margin:5px 0}

/* Fleet command: one engagement plot, compact durable orders, quiet instrumentation. */
.combat-deck:has(.live-command-panel){grid-template-columns:minmax(340px,1.1fr) minmax(360px,.9fr);gap:20px}.battle-controls.live-command-panel{display:flex;flex-direction:column;gap:14px}.live-command-panel h2{font:23px/1.2 Georgia;margin:0}.live-command-panel h3{font:600 14px/1.4 system-ui;margin:0 0 8px}.live-command-panel p{font-size:12px;line-height:1.5;margin:5px 0}.live-command-header p{color:var(--mist)}.live-playback{border-block:1px solid #69818e55;padding:10px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.live-playback>div{display:flex;gap:5px}.live-playback>p{flex-basis:100%;margin:0;color:var(--brass)}.live-playback button{font-size:12px;padding:8px 10px;min-height:36px}.live-speeds{margin-left:auto}.live-speeds button[aria-pressed=true]{border-color:var(--brass);color:var(--brass)}.live-plan-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.live-plan-fields label{font-size:11px;color:var(--mist);min-width:0}.live-plan-fields select{display:block;width:100%;min-width:0;font-size:12px;padding:8px;margin-top:3px;min-height:36px}.live-fleet-plan .live-plan-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.live-ship-plan{padding-block:12px;border-block:1px solid #69818e55}.live-immediate,.live-safety{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.live-immediate button,.live-safety button{font-size:11px;padding:7px 9px;min-height:32px}.live-safety{margin:0}.live-safety button:last-child{color:#ecaa99}.live-command-panel>.battle-transmissions{max-height:110px;margin:0;overflow:auto;padding:8px 10px;border-left:2px solid #69818e66}.live-command-panel .battle-feedback{min-height:0}.live-command-panel .battle-feedback:empty{display:none}.combat-view>.battle-field:has(.live-vessel){display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px;margin-top:10px}.combat-view>.battle-field:has(.live-vessel)>section{overflow:visible;max-height:none}.combat-view .battle-field:has(.live-vessel) .large-battle-roster{max-height:216px;padding-right:5px}.live-vessel{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:8px!important;margin:0 0 5px;min-height:64px}.live-vessel strong{font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.live-vessel span,.live-vessel small{font-size:10px;line-height:1.3;color:var(--mist)}.live-vessel[aria-pressed=true]{border-color:var(--brass)}.live-vessel.targeted{border-color:#bd6455}.live-engine-trail{stroke-dasharray:16 8;animation:live-exhaust .6s linear infinite;opacity:.5}.live-shield-hit{stroke:#89e3ee;fill:#89e3ee22}.combat-plot:has(.live-engine-trail) .combat-shot{stroke-dasharray:8 18;animation:combat-shot 1.2s linear 2 forwards}.combat-plot:has(.live-engine-trail) .combat-laser{animation:live-laser 1.6s linear 2 forwards}.combat-plot:has(.live-engine-trail) .combat-impact{animation-delay:.45s}@keyframes live-exhaust{to{stroke-dashoffset:-24}}@keyframes live-laser{0%,12%,40%,100%{opacity:0}15%,30%{opacity:.9}}
@media(max-width:1100px){.combat-deck:has(.live-command-panel){grid-template-columns:1fr}.live-command-panel{max-width:none}.combat-view>.battle-field:has(.live-vessel){grid-template-columns:1fr 1fr}.live-fleet-plan .live-plan-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.live-engine-trail{animation:none}.combat-plot .combat-laser{animation:none!important}}

.combat-view .live-vessel{align-items:flex-start}.live-missile{stroke:#e4bb72!important;stroke-width:5!important;stroke-dasharray:10 140!important}.combat-plot [data-combat-id]{transform-box:view-box;transform-origin:0 0}

.battle-paused .live-engine-trail,.battle-paused .combat-drift{animation-play-state:paused}

.live-alert{border-left:3px solid #bd6455;background:#bd645512;padding:8px 10px}.live-alert p{margin:3px 0;font-size:11px;line-height:1.4;color:#ecaa99}

/* A loan type is the borrowing action; Max fills the amount before either choice. */
.bank-amount-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.bank-amount-heading>label{font-weight:600}.bank-amount-heading>.bank-credit-fill{font-size:11px;min-height:28px;padding:4px 7px}.bank-loan-actions>.bank-manual{text-align:center}.bank-operation-list>.bank-rate-caption{margin:0 0 4px;font-size:11px;line-height:1.5}

/* Deposits and credit are independent desks, with their own amount and limits. */
.bank-sections{display:grid;gap:18px}.bank-section{min-width:0}.bank-section+.bank-section{border-top:1px solid #69818e44;padding-top:16px}.bank-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:transparent;color:inherit;border:0;padding:0;min-height:0;box-shadow:none}.bank-section-heading h3{font:21px/1.25 Georgia,serif;margin:0}.bank-section-heading>div{text-align:right}.bank-section-heading strong{display:block;font-size:19px;line-height:1.3;font-variant-numeric:tabular-nums}.bank-section-heading small{display:block;font-size:11px;line-height:1.4;margin-top:3px;color:#526c78}.bank-section .bank-controls{margin:10px 0 0}.bank-section .bank-summary{grid-template-columns:1fr 1fr;margin:10px 0 0;padding:0;border:0;gap:12px}.bank-section .bank-summary span{margin-bottom:4px}.bank-section .bank-summary strong{font-size:18px}.bank-section .bank-summary small{margin-top:4px}.bank-section .bank-amount-heading{margin-bottom:6px}.bank-section .bank-amount-heading label{font-size:11px}.bank-section .bank-amount-stepper{grid-template-columns:76px minmax(0,1fr) 76px;gap:6px;margin-bottom:8px}.bank-section .bank-amount-stepper>.game-button,.bank-section .bank-operation>.game-button{min-height:36px;padding:7px 8px;font-size:12px}.bank-section .bank-amount-stepper>input[data-bank-amount]{box-sizing:border-box;width:100%;min-width:0;margin:0;padding:7px 10px;min-height:36px;text-align:center;font-size:15px;appearance:textfield}.bank-section .bank-amount-stepper>input[data-bank-amount]::-webkit-inner-spin-button,.bank-section .bank-amount-stepper>input[data-bank-amount]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bank-section .bank-amount-stepper>input[data-bank-amount]::placeholder{font-size:13px;color:#526c78;opacity:.85}.bank-section .bank-operation-list{gap:6px}.bank-section .bank-rate-caption{font-size:10px;line-height:1.45;margin:0}.bank-section .bank-amount-stepper>input[data-bank-amount]:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
/* Establishment workspaces: retain the common frame, keep decisions beside their quote. */
.visit-services .service-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.service-heading h3{margin:0}.visit-services .service-section-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.service-section-nav button{min-height:36px;font-size:12px;margin:0}.visit-services [id^=relay-]{scroll-margin-top:10px}.visit-services [id^=relay-]+[id^=relay-]{margin-top:18px}.patrol-summary{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #718b9640}.patrol-summary h3{font-size:22px}.patrol-summary h4{font:600 13px/1.5 system-ui;margin:12px 0 5px}.patrol-summary p{margin:6px 0;line-height:1.55}.patrol-summary button{margin-top:8px}.patrol-summary .patrol-risk{white-space:normal;text-align:right}.establishment-dialog .visit-services .venue-service-features h3{line-height:1.25}
#modal.report-dialog[open]{display:flex;flex-direction:column;width:900px;height:calc(var(--modal-area-height) - 24px);max-height:calc(var(--modal-area-height) - 24px);padding:0;overflow:hidden}.report-dialog .visit-header{flex:0 0 auto}.report-dialog .report-content{flex:1;min-height:0;overflow:auto;padding:20px;border:0;overscroll-behavior:contain;scrollbar-gutter:stable}.report-content>p{margin:0 0 14px;font-size:13px;line-height:1.6}
.registry-console>.registry-tabs,.registry-console>.registry-context,.registry-console>.registry-order{flex:0 0 auto}.registry-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #718b9636}.registry-context>div{min-width:0}.registry-services .registry-context h3{font-size:21px;margin:0;overflow-wrap:anywhere}.registry-context p{font-size:11px;margin:3px 0 0;line-height:1.4}.registry-context>strong{font-size:11px;white-space:nowrap}.registry-content .registry-list{max-height:none;overflow:visible;scrollbar-gutter:auto}.registry-order{background:var(--paper);border-top:1px solid #718b9640;padding-top:8px}.registry-order .registry-transaction{border:0;padding:0;min-width:0}.registry-order .registry-transaction .actions{margin:0;gap:6px}.registry-order .registry-transaction strong{font-size:20px}.registry-transaction-note{margin:6px 0 0!important;font-size:11px!important;line-height:1.4!important;color:#526d7a}.registry-upgrade{align-items:start}.registry-upgrade>div{min-width:0}.registry-upgrade>div>p{font-size:11px;line-height:1.5;margin:4px 0 0}.registry-upgrade small{margin-left:0;display:block}.registry-content .registry-ship-facts{margin-top:2px}
.clinic-readiness,.clinic-service{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #718b963b}.clinic-service:last-child{border:0;margin-bottom:0}.clinic-services h3{font:22px/1.25 Georgia,serif;margin:0 0 8px}.clinic-services p{margin:6px 0 10px;line-height:1.5}.clinic-care-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #718b9633}.clinic-care-row strong{font-size:13px}.clinic-care-row small{display:block;font-size:12px;margin-top:3px;color:#526d7a}.clinic-care-row button{margin:0;font-size:12px;min-height:40px}.clinic-readiness progress{margin:6px 0 14px}.dock-ammunition .ammo-status{font-size:11px;margin:5px 0 0;line-height:1.4;color:#526d7a}.dock-ammo-row .dock-action>small:empty{display:none}
.freight-secondary{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.freight-secondary button{font-size:11px;min-height:32px;padding:5px 8px}.confirmation-costs{display:grid;gap:8px;margin:16px 0}.confirmation-costs>div{display:flex;justify-content:space-between;gap:14px}.confirmation-costs dt,.confirmation-costs dd{margin:0;font-size:13px}.confirmation-costs>div:last-child{border-top:1px solid #718b9640;padding-top:8px;font-weight:650}
.canteen-notebook{margin:20px 0}.canteen-notebook-list{display:grid;gap:5px;margin:10px 0}.canteen-notebook-list button{text-align:left;width:100%;margin:0;font-size:12px;min-height:42px}.canteen-notebook-list strong{display:block;font-size:12px}.canteen-notebook-list small{display:block;font-size:11px;color:#526d7a;margin-top:2px}.canteen-notebook-list [aria-pressed=true]{border-color:#b48a42;background:#d5ae6822}.canteen-notebook .canteen-rumour{padding:10px 0;margin:0}.warehouse-console>.warehouse-tenant-list{flex:0 1 auto;min-height:0;max-height:130px;overflow:auto;overscroll-behavior:contain}.warehouse-list{min-height:100px}.warehouse-console>.warehouse-order{flex:0 0 auto}.visit-services .bank-account-link{display:block;font-size:18px;font-weight:650;line-height:1.3;border:0;border-radius:0;border-bottom:1px solid #213c4b55;padding:0;margin:0;background:none;text-align:left}
.authority-workspace .mandate-offer{padding:12px 0;border-top:1px solid #718b9633}.authority-workspace .mandate-offer h4{font:600 14px/1.4 system-ui;margin:0 0 5px}.mandate-offer p{font-size:12px;margin:3px 0;line-height:1.5}.mandate-offer>small{font-size:11px;color:#526d7a}.mandate-offer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.mandate-offer-actions>strong{font-size:14px}.mandate-offer-actions button{margin:0;min-height:36px}
@container(max-width:660px){.registry-services .registry-context h3{font-size:19px}.registry-context{gap:8px}.registry-order .registry-transaction{gap:8px}.registry-order .registry-transaction strong{font-size:18px}.registry-order button{padding:7px 8px;font-size:11px}.registry-order .registry-transaction .actions{flex-wrap:wrap;justify-content:flex-end}.registry-ship-facts{gap:8px}.clinic-care-row{gap:8px}.clinic-care-row button{max-width:160px;white-space:normal}.service-heading{flex-wrap:wrap}.warehouse-console>.warehouse-tenant-list{max-height:100px}}
@media(pointer:coarse){.clinic-care-row button,.service-section-nav button,.mandate-offer-actions button,.freight-secondary button{min-height:44px}}

.registry-services .registry-list .registry-choice{min-height:38px;padding:5px 8px;gap:8px}.registry-choice small{margin-top:1px}

/* Topic navigation is separate from spoken replies; reading never hides Continue. */
.conversation-feedback{display:flex;align-items:center;gap:8px;min-height:20px;margin-top:6px}.conversation-feedback p{margin:0;font-size:11px;line-height:1.4;color:#526c78}.conversation-feedback .game-button{min-height:30px;padding:5px 8px;font-size:11px}.conversation-feedback [hidden]{display:none}@media(pointer:coarse){.conversation-feedback .game-button{min-height:44px}}

.visit-people .conversation-feedback p{color:var(--mist)}

/* Spoken choices stay together and use the full character column. */
.conversation-exchange .visit-questions,.conversation-exchange .talk-actions{display:flex;flex-direction:column;gap:6px}.conversation-exchange .visit-questions>button,.conversation-exchange .talk-actions>button{width:100%;margin:0;text-align:left;white-space:normal}

/* The shared ship meshes are the focus of continuous fleet command. */
.battle-space{position:relative;min-height:360px;height:clamp(360px,51vh,620px);overflow:hidden;background:radial-gradient(ellipse at 55% 65%,#19354755,transparent 70%),#081623;border:1px solid #3d5866;border-radius:8px;isolation:isolate}
.battle-space-models,.battle-space-effects,.battle-space-labels{position:absolute;inset:0;width:100%;height:100%}.battle-space-models{z-index:2;pointer-events:none}.battle-space-effects{z-index:3;pointer-events:none}.battle-space-labels{z-index:4;pointer-events:none}.battle-contact-label{position:absolute;left:0;top:0;width:max-content;max-width:170px;padding:3px 6px;min-height:24px;border:1px solid transparent;border-radius:3px;color:#e4ebed;background:#081623bb;font-size:11px;line-height:1.3;translate:-50% 0;pointer-events:auto;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.battle-contact-label.hostile{color:#f1b3a3}.battle-contact-label.selected{border-color:#d5ae68}.battle-contact-label.hostile.selected{border-color:#e2907e}.battle-camera{position:absolute;z-index:5;inset:8px 8px auto;display:flex;align-items:center;gap:5px}.battle-camera span{margin-right:auto;color:#aec2cc;font-size:12px}.battle-camera button{font:inherit;font-size:11px;padding:4px 7px;min-height:28px;color:#e4ebed;background:#162d3d;border:1px solid #526b79;border-radius:4px}.battle-space-key{position:absolute;z-index:4;left:12px;bottom:9px;font-size:11px;pointer-events:none;color:#d5ae68}.battle-space-key span{margin-left:14px;color:#e2907e}.battle-space-key small{display:block;color:#8fa6b3;margin-top:3px}.standing-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.standing-profile-fields label{display:grid;gap:6px;font-size:13px;margin:0}.standing-profile-fields select{width:100%;min-height:38px}.live-state{color:#d5ae68}.live-playback p{font-size:12px}.live-command-panel .live-plan-fields{gap:8px}.live-command-panel .live-plan-fields label{font-size:12px}.combat-view>h2{margin-bottom:10px}.combat-caption{font-size:12px!important;line-height:1.45}.battle-space:focus-within{outline:1px solid #d5ae68;outline-offset:2px}@media(max-width:1050px){.battle-space{height:390px;min-height:330px}.battle-contact-label{max-width:125px;font-size:10px}}@media(max-width:680px){.standing-profile-fields{grid-template-columns:1fr}.battle-space{height:360px}.battle-camera span{font-size:10px}.battle-contact-label{max-width:110px}}
.combat-deck:has(.live-command-panel){grid-template-columns:minmax(360px,1.4fr) minmax(330px,1fr);gap:18px}.combat-deck:has(.live-command-panel) .battle-space{height:clamp(400px,56vh,660px)}.live-command-panel .live-fleet-plan .live-plan-fields{grid-template-columns:1fr 1fr}.live-command-panel .live-fleet-plan .live-plan-fields>label:last-child{grid-column:1 / -1}@media(max-width:1000px){.combat-deck:has(.live-command-panel){grid-template-columns:1fr}.combat-deck:has(.live-command-panel) .battle-space{height:400px}}
.combat-deck:has(.live-command-panel) .battle-controls{max-height:calc(100dvh - 110px);overflow:auto;padding-right:8px;scrollbar-gutter:stable}.live-command-panel .live-playback{position:sticky;top:0;z-index:6;background:#101f2c;margin-top:0}.live-playback .live-safety{display:flex;gap:6px;flex-wrap:wrap;flex-basis:100%;margin:0}.live-playback .live-safety button{font-size:11px;min-height:32px;padding:5px 8px}.combat-deck:has(.live-command-panel) .battle-space{height:clamp(360px,49vh,620px)}
.battle-space[data-dense="true"] .battle-contact-label:not(.selected):not(.hostile):not(:hover):not(:focus-visible){width:18px;max-width:18px;min-height:18px;height:18px;padding:0;color:transparent;border-color:#8ba5b388;background:#08162399}.battle-space[data-dense="true"] .battle-contact-label:not(.selected):not(.hostile):not(:hover):not(:focus-visible)::before{content:'•';position:absolute;inset:0;color:#d5ae68;text-align:center;line-height:16px}.battle-contact-label:hover,.battle-contact-label:focus-visible{z-index:8;border-color:#d5ae68}

.profile-context{margin:0 0 5px;font-size:13px}.profile-capabilities{font-size:12px;line-height:1.45;color:var(--muted);margin:5px 0 15px}.profile-capabilities span{white-space:nowrap}
.standing-profile-fields>label:last-child:nth-child(odd){grid-column:1 / -1}

.conversation-feedback:has([data-conversation-status]:empty):has([data-action="conversation-reconnect"][hidden]){display:none}

.registry-summary-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}.registry-summary-actions>strong{font-size:11px;white-space:nowrap}.registry-summary-actions>button{margin:0;padding:6px 9px;font-size:12px}

.checkpoint-slot-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.checkpoint-slot-actions button{margin:0}@media(max-width:650px){.checkpoint-slot{grid-template-columns:minmax(0,1fr);gap:10px}.checkpoint-slot-actions{justify-content:flex-start}}

/* Settled combat is reviewed before the saved journey resumes. */
.battle-summary-content h3{margin-top:0}.battle-summary-facts{display:flex;flex-wrap:wrap;gap:14px 28px;margin:16px 0}.battle-summary-facts div{min-width:130px}.battle-summary-facts dt{font-size:.85rem;color:#466172}.battle-summary-facts dd{margin:4px 0 0;font-weight:700;font-size:1.1rem}.battle-summary-content table{width:100%;border-collapse:collapse;margin:12px 0 18px}.battle-summary-content th,.battle-summary-content td{text-align:left;padding:9px 6px;border-bottom:1px solid #c3ced0}.battle-summary-content th small{display:block;font-weight:400;margin-top:3px}.battle-summary-content .actions{margin-top:18px}

/* An interception belongs to the unfinished transfer, before docking. */
.transit-contact{padding:12px 14px;margin:0 0 14px;border:1px solid #69818e55;border-left:3px solid var(--brass);border-radius:6px;background:#69818e0b;color:inherit}
.transit-contact .eyebrow{color:inherit;font-size:11px;letter-spacing:.08em;opacity:.85;margin:0 0 6px}
.transit-contact .transit-route{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.4;margin:0}
.transit-route strong{flex:1;min-width:0;overflow-wrap:anywhere}.transit-route strong:last-child{text-align:right}
.transit-route-track{height:4px;margin:12px 0;position:relative;background:#69818e44;border-radius:4px}.transit-route-track span{display:block;height:100%;background:var(--brass);border-radius:4px}.transit-route-track i{position:absolute;top:50%;width:10px;height:10px;translate:-50% -50%;border-radius:50%;background:#b64f40;border:2px solid var(--paper)}
.transit-contact .transit-remaining{font-size:12px;line-height:1.4;margin:0}.combat-view>.transit-contact{margin-top:0}
#modal:has(>.transit-contact){overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}

/* Exchange orders stay inside each row; the goods list scrolls independently. */
.exchange-inline .exchange-list{min-height:76px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}
.exchange-inline .market-ledger .ledger-item-col{width:auto}.exchange-inline .market-ledger .ledger-price-col{width:58px}.exchange-inline .market-ledger .ledger-count-col{width:40px}.exchange-inline .ledger-quantity-col{width:124px}.exchange-inline .ledger-action-col{width:75px}
.exchange-inline .market-ledger th,.exchange-inline .market-ledger td{padding:3px 4px}.exchange-inline .market-ledger thead th{padding:7px 4px;font-size:10px}.exchange-inline .market-ledger tbody th{padding-left:0}
.exchange-inline .market-product{height:40px;cursor:default}.exchange-inline .market-product:focus-within{outline:none;background:#d5ae6819}
.exchange-inline .market-item-name{display:flex;align-items:center;gap:6px;color:var(--ink);font:550 12px/1.25 system-ui;overflow-wrap:normal;word-break:normal;hyphens:none}.exchange-inline .market-item-name>.commodity-mark{width:17px;height:17px;flex:0 0 17px}.exchange-inline .market-item-name>span{min-width:0}.exchange-inline .market-item-name small{display:block;font-size:10px;font-weight:400;color:#526d7a}
.exchange-inline .market-ledger-price{font-size:12px}.exchange-inline .market-ledger-stock,.exchange-inline .market-ledger-owned{font-size:11px}
.exchange-inline .market-row-controls{display:flex;align-items:center;gap:3px}.exchange-inline .market-stepper{display:grid;grid-template-columns:23px minmax(32px,1fr) 23px;flex:1;min-width:0}.exchange-inline .market-stepper button.game-button{min-width:23px;min-height:32px;height:32px;padding:0;font-size:17px;border-color:#81969f;background:#f3f6f6;color:var(--ink);border-radius:0}.exchange-inline .market-stepper button:first-child{border-radius:5px 0 0 5px}.exchange-inline .market-stepper button:last-child{border-radius:0 5px 5px 0}
.visit-services .exchange-inline .market-stepper input[type=number]{height:32px;min-height:32px;width:100%;min-width:0;padding:2px 0;font-size:12px;border-inline:0;border-color:#81969f}
.exchange-inline button.exchange-max{min-height:32px;height:32px;min-width:30px;padding:2px;font-size:10px;margin:0;color:var(--ink);border-color:#81969f}
.exchange-inline .exchange-confirm{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;min-height:34px;height:34px;padding:2px 3px;font-size:11px;line-height:1.2;white-space:nowrap;margin:0}.exchange-inline .exchange-total{display:block;text-align:center}.exchange-inline .exchange-total strong{font-size:10px;font-weight:550;line-height:1.25;white-space:nowrap;color:inherit}
.exchange-inline .market-row-feedback:not(.sr-only){display:block;font-size:10px;line-height:1.2;color:#983f32;font-weight:400}
@container(max-width:660px){.establishment-dialog .exchange-services:has(.exchange-inline){min-height:0;overflow:hidden}.exchange-services:has(.exchange-inline) .venue-service-features{min-height:0}.exchange-inline{min-height:0}.exchange-inline .exchange-list{max-height:none}.exchange-inline .exchange-toolbar{gap:7px}.exchange-inline .market-ledger .ledger-price-col{width:52px}.exchange-inline .market-ledger .ledger-count-col{width:35px}.exchange-inline .ledger-quantity-col{width:119px}.exchange-inline .ledger-action-col{width:70px}.exchange-inline .market-item-name{font-size:11px;gap:4px}.exchange-inline .market-item-name>.commodity-mark{display:none}}
@media(pointer:coarse){.exchange-inline .market-product{height:52px}.exchange-inline .market-stepper button.game-button,.visit-services .exchange-inline .market-stepper input[type=number],.exchange-inline button.exchange-max,.exchange-inline .exchange-confirm{min-height:44px;height:44px}}

@container(min-width:661px) and (max-width:900px){.establishment-dialog:has(.exchange-inline) .establishment-layout{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr)}.exchange-inline .market-ledger .ledger-price-col{width:50px}.exchange-inline .market-ledger .ledger-count-col{width:36px}.exchange-inline .ledger-quantity-col{width:116px}.exchange-inline .ledger-action-col{width:65px}.exchange-inline .market-item-name{gap:0;font-size:12px}.exchange-inline .market-item-name>.commodity-mark{display:none}.exchange-inline .market-ledger thead th{padding-inline:2px;font-size:10px}.exchange-inline .market-ledger td{padding-inline:3px}}

/* Prices reveal the reserve curve on demand; raw trade limits stay out of rows. */
.exchange-inline button.market-price-button{display:inline;min-height:32px;min-width:0;border:0;border-radius:3px;background:none;color:inherit;font:inherit;font-weight:600;padding:2px 0;margin:0;text-decoration:underline;text-decoration-color:#718b9670;text-underline-offset:3px;box-shadow:none}
.market-price-content{overflow-y:auto;overscroll-behavior:contain}.market-price-content>p{font-size:13px;line-height:1.6}.market-price-quotes{display:flex;gap:40px;margin:16px 0}.market-price-quotes dt{font-size:12px;color:#526d7a}.market-price-quotes dd{font-size:23px;font-weight:700;margin:4px 0}.market-price-chart{display:block;width:100%;height:auto;max-height:380px;background:#132733;border-radius:6px}.market-price-chart text{fill:#c7d5db;font:12px system-ui}.price-curve-grid line{stroke:#49616c;stroke-opacity:.5}.market-price-chart path{fill:none;stroke-width:3}.price-curve-buy{stroke:#83cddd}.price-curve-sell{stroke:#d7b268;stroke-dasharray:7 5}.price-current{stroke:#eef1e5;stroke-width:1;stroke-dasharray:3 4}.price-current-buy{fill:#83cddd}.price-current-sell{fill:#d7b268}.market-price-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:11px!important}.market-price-legend .buy:before,.market-price-legend .sell:before{content:'';display:inline-block;vertical-align:middle;width:18px;margin-right:6px;border-top:3px solid #2f8596}.market-price-legend .sell:before{border-top:3px dashed #a17c39}.market-price-limits{margin:20px 0 0;border-top:1px solid #718b9640;padding-top:12px}.market-price-limits summary{font-size:13px;cursor:pointer}.market-price-limits dl{display:grid;gap:8px;margin:16px 0}.market-price-limits dl>div{display:flex;justify-content:space-between;gap:16px;font-size:12px}.market-price-limits dd{margin:0;text-align:right}.market-price-limits p{font-size:12px;line-height:1.6}

.market-price-dialog .market-price-limits h3{font:600 15px/1.4 system-ui;margin:18px 0 8px}

#modal.market-price-dialog[open]{display:flex;flex-direction:column;width:650px;max-width:calc(var(--modal-area-width) - 24px);height:calc(var(--modal-area-height) - 24px);max-height:calc(var(--modal-area-height) - 24px);padding:0;overflow:hidden}.market-price-dialog>.dialog-head{flex:0 0 auto;margin:0;padding:16px 20px;border-bottom:1px solid var(--line);gap:12px}.market-price-dialog>.dialog-head h2{font-size:25px}.market-price-dialog>.market-price-content{flex:1 1 0;min-height:0;overflow-y:auto;padding:18px 22px;border-radius:0;scrollbar-gutter:stable}
