/* Starwoven visual system — shared symbols remain crisp at every screen size. */
.sw-symbol{width:1.25em;height:1.25em;display:inline-block;vertical-align:middle;flex:none;fill:initial;stroke:none;stroke-width:0;overflow:visible}
.game-icon.sw-symbol{fill:initial;stroke:none}.sw-symbol g{stroke:none}.vehicle-piece{position:relative;display:inline-flex}.damage-cross{position:absolute;right:0;top:0;color:#ff7272;font-size:20px}.is-damaged{filter:grayscale(.7)}
#desktop-shell,#desktop-toolbar,#desktop-top-players{display:none}.world-meta,.inspector-overview{display:none}
@media(min-width:951px){
 body.desktop-play{--line:#294353;--panel:#081725;--muted:#9aafbf;display:grid;grid-template-rows:66px 42px minmax(0,1fr);height:100dvh;overflow:hidden;background:#040e18;font-size:14px}
 .desktop-play header{height:66px;padding:6px 16px;gap:18px;flex-wrap:nowrap;background:linear-gradient(180deg,#071521,#020b13);border-bottom:1px solid #294657;min-width:0}
 .desktop-play .brand{width:175px;flex:0 0 175px;line-height:1}.desktop-play .brand-logo{width:175px;height:47px;object-fit:contain;max-width:100%}.desktop-play .brand small{display:none}
 .desktop-play #round{font-size:12px;color:#e1e7ef;white-space:nowrap;padding:0 8px}
 .desktop-play #desktop-top-players{display:block;flex:1;min-width:0}.desktop-play #players{display:flex;margin:0;padding:0;gap:7px;height:51px;background:none;overflow:visible;min-width:0}
 .desktop-play #players .player{flex:1;min-width:0;max-width:210px;padding:5px 9px;border:1px solid #2a4150;border-radius:5px;background:linear-gradient(145deg,#10233488,#050d18);position:relative}
 .desktop-play #players .player.active{border-color:var(--p);box-shadow:inset 0 0 20px color-mix(in srgb,var(--p) 12%,transparent),0 0 12px color-mix(in srgb,var(--p) 12%,transparent)}
 .desktop-play #players .player strong{font-size:12px;font-weight:600}.desktop-play #players small{font-size:11px;line-height:1.4;white-space:nowrap;color:#d2dce5}.desktop-play #players .seat-label{position:absolute;right:5px;top:4px;font-size:8px}.desktop-play #players .company-symbol{width:23px;height:23px}.desktop-play #players .game-icon{width:12px;height:12px}.desktop-play #players .company-name{gap:5px}
 .desktop-play #desktop-toolbar{display:flex;align-items:center;gap:15px;padding:4px 18px;background:#07121de8;border-bottom:1px solid #263d4b;min-width:0}
 .desktop-view-control{display:flex;align-items:center;gap:8px;flex:none}.desktop-view-control>span{color:#849cae;font-size:11px}.desktop-view-control select{width:150px;padding:4px 7px;font-size:12px;background:#081a29;border-color:#365465}
 .desktop-location{font-size:9px;letter-spacing:1.8px;color:#8197aa;white-space:nowrap}.desktop-play #phase{font-size:11px;padding:3px 9px;border:0;border-left:1px solid #36505b;border-radius:0;white-space:nowrap}
 .desktop-panel-buttons{display:flex;align-items:center;gap:3px;margin-left:auto}.desktop-panel-buttons button{display:flex;align-items:center;gap:5px;border:0;border-radius:4px;background:transparent;padding:5px 7px;font-size:11px;white-space:nowrap;color:#acbfce}.desktop-panel-buttons .sw-symbol{width:15px;height:15px;opacity:.8}.desktop-panel-buttons button[aria-expanded=true]{background:#16364a;color:#e5faff}.desktop-panel-buttons .has-event:after{content:'';width:4px;height:4px;border-radius:50%;background:#eeb862}
 .desktop-play main{display:block;position:relative;max-width:none;min-height:0;height:100%;padding:0;margin:0;width:100%;overflow:hidden}
 .desktop-play main>.left,.desktop-play main>.right,.desktop-play main>.playarea{display:none}
 .desktop-play #desktop-shell{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:minmax(0,1fr) 100px;height:100%;min-height:0;position:relative;background:#04101b}
 .desktop-play [hidden]{display:none!important}
 .desktop-board{grid-column:1;grid-row:1;display:flex;flex-direction:column;min-width:0;min-height:0;padding:14px 22px 6px;background:linear-gradient(#010b1322,#030d1744),url(visuals/tabletop-v1.png) center/cover}
 #desktop-planets{flex:1;min-height:0;min-width:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#345464 #091722;position:relative}
 .desktop-play .worlds{display:grid;grid-template-columns:repeat(var(--columns,3),minmax(0,1fr));grid-template-rows:repeat(var(--rows,2),max-content);align-content:space-evenly;justify-items:center;align-items:start;gap:14px;min-height:100%;margin:0;padding:3px 5px 7px}
 .desktop-play .world{width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;text-align:center;position:relative;box-shadow:none;outline:none;overflow:visible;transition:filter .15s}
 .desktop-play .world:hover:not(:disabled){background:transparent;transform:none;filter:brightness(1.13)}
 .desktop-play .world .art{min-height:0;height:var(--world-size,200px);width:var(--world-size,200px);max-width:100%;margin:auto;position:relative;border:0;border-radius:0;background:none;overflow:visible;box-shadow:none}
 .desktop-play .world:not(.hidden) .art:before{content:'';position:absolute;inset:0;background-image:url(visuals/terrain-atlas-v1.png);background-size:500% 200%;background-position:var(--atlas-x) var(--atlas-y);background-repeat:no-repeat;filter:drop-shadow(0 7px 6px #0009);pointer-events:none}
 .desktop-play .world.selected:not(.hidden) .art:before{filter:drop-shadow(0 0 2px #9fe9fa) drop-shadow(0 0 8px #36b5db88) drop-shadow(0 7px 6px #0009)}
 .desktop-play .world.selected:after{content:'';height:2px;width:36px;background:#77e7f4;box-shadow:0 0 9px #49cddd;position:absolute;bottom:-4px;left:calc(50% - 18px)}
 .desktop-play .world .caption{position:relative;padding:0 6px;margin:-8px auto 0;max-width:calc(var(--world-size) + 30px);min-height:40px;color:#e6edf3;font-size:12px;line-height:1.3}
 .desktop-play .world .caption:after{display:none}.desktop-play .world .caption>strong{font-size:14px;line-height:1.3;font-weight:500;text-shadow:0 2px 5px #000;display:block}.desktop-play .world .caption>small{font-size:10px;color:#95c3d8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.desktop-play .world:not(.hidden) .caption>small{display:none}
 .desktop-play .world-meta{display:flex;justify-content:center;align-items:center;gap:8px;margin:5px auto 0;padding:3px 8px;border:1px solid #2b4354;border-radius:5px;background:#04101bdc;width:max-content;max-width:100%;min-height:29px}
 .world-yield{display:inline-flex;align-items:center;gap:3px;font-size:12px;white-space:nowrap;color:#d1dfeb}.world-yield>.sw-symbol{width:18px;height:18px}.yield-choice{display:inline-flex;align-items:center;font-size:9px}.yield-choice .sw-symbol{width:11px;height:11px}.mini-colonies,.mini-vehicles{display:inline-flex;align-items:center;gap:3px}.mini-vehicles{border-left:1px solid #345161;padding-left:5px}.mini-piece{display:inline-flex;color:var(--owner);position:relative}.mini-piece .sw-symbol{width:20px;height:20px}.mini-piece.occupied:after{content:'';height:2px;position:absolute;bottom:-1px;left:3px;right:3px;background:var(--owner)}.mini-piece.vacant{opacity:.24;filter:grayscale(1)}
 .desktop-play .caption>.trait-face{position:absolute;width:28px;height:28px;right:-4px;top:1px;margin:0;border-radius:4px;float:none;background:#051420}.desktop-play .caption>.trait-face img{height:21px}.desktop-play .caption>.trait-face b{font-size:8px;line-height:9px;bottom:0;gap:1px}.desktop-play .caption>.trait-face .game-icon{width:9px;height:9px}.desktop-play .caption>.trait-face .trait-number{font-size:7px;left:2px;top:0}.desktop-play .trait-tooltip{display:none!important}
 .desktop-play .world.hidden .art{display:grid;place-items:center;background:none;color:#779aac;font-size:16px}
 .unknown-orbit{width:88%;height:71%;border-radius:50%;border:1px solid #756a53;background:radial-gradient(ellipse at 45% 30%,#314353,#111c29 68%,#030912);box-shadow:0 5px 0 #342e26,0 12px 17px #0009,inset 0 0 0 7px #0d172180,inset 0 0 0 9px #40515f44;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;position:relative;transform:translateY(5px)}
 .unknown-orbit:after{content:'';position:absolute;inset:12%;border:1px dashed #94afbc25;border-radius:50%}.unknown-orbit>.sw-symbol{width:43px;height:43px;opacity:.55}.unknown-orbit>span{font-size:8px;letter-spacing:2px;color:#7994a5}.world.selected .unknown-orbit{border-color:#78d3e0;box-shadow:0 0 10px #43b9d04a,0 5px 0 #253c42}
 .desktop-play .world .colony-sites{position:absolute;display:flex;justify-content:center;left:12%;right:12%;bottom:20%;gap:10px;z-index:2}.desktop-play .world .colony-site{padding:0;min-height:0;width:65px;max-width:44%;gap:0;filter:drop-shadow(0 4px 2px #000a);border:0;background:none;align-items:center;display:flex}
 .desktop-play .world .colony-site.empty{display:none}.desktop-play .world .colony-art{width:43px;height:43px;max-width:100%}.desktop-play .world .colony-site strong{font-size:9px;border-bottom:2px solid var(--p);padding:1px 5px;line-height:1.3;background:#03101ddb;max-width:90px}.desktop-play .world .colony-site small:not(.installation-badge){display:none}.desktop-play .world .colony-site .company-symbol{display:none}
 .desktop-play .world .rover-markers{top:17%;left:15%;right:15%;display:flex;justify-content:center;gap:6px;z-index:2}.desktop-play .world .rover-marker{padding:0;border:0;background:none;filter:drop-shadow(0 3px 2px #000);min-width:0}.desktop-play .world .rover-art,.desktop-play .world .drone-art{width:34px;height:34px}.desktop-play .world .rover-marker small{font-size:8px;background:#03101ddd;border-bottom:2px solid var(--p);padding:1px 4px}.desktop-play .world .rover-marker .company-symbol{display:none}.desktop-play .world .map-role-marks{display:none}.desktop-play .world .linktag{top:auto;bottom:13%;right:auto;left:10%;font-size:7px;padding:2px 4px;max-width:80%;line-height:1.2}.desktop-play .world .deposit-tag{font-size:8px;right:5%;top:20%;padding:2px 4px}.desktop-play .world .installation-badge{font-size:8px;padding:0 3px}
 #desktop-inspector{grid-column:2;grid-row:1/3;min-width:0;min-height:0;overflow:auto;margin:12px 12px 12px 0;padding:0 12px 12px;border:1px solid #2f5369;border-radius:7px;background:linear-gradient(160deg,#0c1c2c,#040c16);scrollbar-width:thin;scrollbar-color:#37576c #08121e}
 .inspector-tabs{display:flex;gap:3px;position:sticky;top:0;background:#081522f5;padding:9px 0;z-index:5}.inspector-tabs button{flex:1;font-size:11px;padding:6px 3px;border-radius:4px;background:#0b1a29;border-color:#284457;color:#9db1c1}.inspector-tabs button[aria-pressed=true]{color:#c7f6ff;border-color:#4a92a7;background:#103247}
 #desktop-inspector section{padding:0;margin:0;border:0;background:none;border-radius:0}#desktop-inspector #selected{display:flex;flex-direction:column}#desktop-inspector .eyebrow{display:none}#desktop-inspector h2{font-size:20px;font-weight:500;margin:2px 0 8px;order:-1}#desktop-inspector .worldportrait{height:140px;width:100%;aspect-ratio:auto;background-size:cover;background-position:center;border:1px solid #385061;border-radius:4px;margin-bottom:8px}#desktop-inspector p{font-size:12px;line-height:1.5;margin:7px 0;color:#adc0cf}#desktop-inspector #selected>p{font-size:11px}#desktop-inspector #selected>p:empty{display:none}#desktop-inspector h3{font-size:13px;letter-spacing:.2px}
 .desktop-play .inspector-overview{display:block;border-bottom:1px solid #294151;margin-bottom:7px;padding:4px 0 10px}.overview-production,.overview-pieces{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.overview-production>span:first-child,.overview-pieces>span:first-child{display:block;width:100%;font-size:11px;color:#b9ceda;margin:4px 0}.overview-production .world-yield{font-size:18px}.overview-production .sw-symbol{width:26px;height:26px}.overview-production small{font-size:10px;color:#7f9baa}.overview-pieces .mini-piece .sw-symbol{width:28px;height:28px}
 .inspector-disclosure{border:1px solid #294758;border-radius:4px;margin:5px 0;padding:0 9px;background:#071522}.inspector-disclosure>summary{padding:9px 0;font-size:12px;color:#d0dfea;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.inspector-disclosure>summary:after{content:'⌄';color:#779db0}.inspector-disclosure[open]>summary:after{content:'⌃'}.inspector-disclosure .connection-panel{border:0;padding:8px 0}.inspector-disclosure .connection-title h3{display:none}.inspector-disclosure .connection-status{font-size:9px}.inspector-disclosure .access-role{padding:8px}.inspector-disclosure .role-heading strong{font-size:12px}.inspector-disclosure .access-role p{font-size:11px}.inspector-disclosure button{font-size:12px;padding:7px}.inspector-disclosure .trait-panel{border:0;padding:8px 0}.inspector-disclosure .trait-face{width:50px;height:50px}.inspector-disclosure .trait-face img{height:33px}.inspector-disclosure .trait-face b{font-size:12px}.inspector-disclosure .trait-panel strong{font-size:12px}
 #desktop-research-panel .row{display:grid;grid-template-columns:1fr;gap:7px}#desktop-research-panel .row button{font-size:12px;padding:9px}#desktop-research-panel details{border-top:1px solid #284555;padding:8px 0;font-size:12px}
 #desktop-dock{grid-column:1;grid-row:2;min-width:0;display:grid;grid-template-columns:205px minmax(0,1fr);gap:18px;align-items:center;padding:8px 20px;background:linear-gradient(0deg,#030d18f5,#071521c9);border-top:1px solid #2d4355;z-index:4}
 #desktop-hud{min-width:0;border:1px solid #346077;border-radius:5px;padding:8px 10px;background:linear-gradient(110deg,#102a3c,#030d18);box-shadow:inset 2px 0 var(--owner)}#desktop-hud>strong{font-size:13px;color:var(--owner);font-weight:500}#desktop-hud .company-symbol{width:25px;height:25px}#desktop-hud .company-name{gap:7px}.hud-resources{display:flex;align-items:center;justify-content:space-between;margin-top:4px;gap:5px}.visual-resource{display:inline-flex;align-items:center;gap:6px;color:#edf4fb}.visual-resource .sw-symbol{width:25px;height:25px}.visual-resource b{font-size:17px;font-weight:500}
 #desktop-actions{min-width:0}.desktop-play #actionbar{position:static;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0;padding:0;background:none;border:0;box-shadow:none}.desktop-play #actionbar button{min-width:0;min-height:77px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 3px;border-radius:5px;border:1px solid #365365;background:linear-gradient(135deg,#16324688,#030d19);font-size:12px;color:#c2eef4;line-height:1.25}.desktop-play #actionbar button[data-action=settle]{border-color:#77623d;color:#f1d7a0;background:linear-gradient(135deg,#5c472b66,#080e18)}.desktop-play #actionbar button[data-action=develop]{border-color:#65557c;color:#d8c5f3;background:linear-gradient(135deg,#44315b66,#080e18)}.desktop-play #actionbar #supply{border-color:#715344;color:#f2b59c;background:linear-gradient(135deg,#5b3b3066,#080e18)}.desktop-play #actionbar .action-emblem{display:block;width:31px;height:31px;filter:drop-shadow(0 0 5px #72d3ff22)}.desktop-play #actionbar .action-cost{font-size:10px;color:#b4c8d7;margin:0;line-height:1.2}.desktop-play #actionbar .action-cost .game-icon{width:12px;height:12px}
 #desktop-board-status:empty{display:none}#desktop-board-status{flex:none;position:relative;z-index:5}#desktop-board-status #production,#desktop-board-status #end{padding:12px 16px;border:1px solid #3f718a;background:#081d2cf5;margin:0 0 9px;max-height:210px;overflow:auto}#desktop-board-status h2{font-size:17px;margin:0 0 6px}#desktop-board-status p{font-size:12px}#desktop-board-status button{font-size:12px}#desktop-board-status .bot-status{padding:8px 12px;margin:0 0 8px;font-size:12px}
 #desktop-rail{display:none}#desktop-drawer{position:absolute;z-index:30;right:292px;top:12px;bottom:110px;width:min(610px,calc(100% - 320px));padding:14px 18px;background:#081725f7;backdrop-filter:blur(18px);border:1px solid #51758b;border-radius:7px;box-shadow:0 15px 60px #000c;overflow:auto;scrollbar-width:thin}.drawer-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #2c4a5f;margin-bottom:10px}.drawer-heading h2{font-size:18px;margin:0}.drawer-heading button{font-size:22px;line-height:1;padding:3px 7px;background:none;border:0}#desktop-drawer-content>section,#desktop-drawer-content>#civilization{padding:0;margin:0;border:0;background:none}.desktop-play .tools{display:flex;flex-wrap:wrap;margin:0;gap:12px;padding:10px}.desktop-play .tools .versionlink{font-size:12px}.desktop-play .save-controls button{margin:7px 5px 7px 0}.desktop-play #toast{z-index:60;bottom:115px}
 /* Orbital map: left navigation and player order, central planets, independent inspector. */
 .desktop-play[data-desktop-view='star-map'] #desktop-shell{grid-template-columns:170px minmax(0,1fr) 280px}
 .desktop-play[data-desktop-view='star-map'] #desktop-top-players{visibility:hidden}
 .desktop-play[data-desktop-view='star-map'] .desktop-board{grid-column:2;background:linear-gradient(#020b1855,#030b1733),url(visuals/nebula-v1.png) center/cover;padding:10px 18px 4px}
 .desktop-play[data-desktop-view='star-map'] #desktop-inspector{grid-column:3}
 .desktop-play[data-desktop-view='star-map'] #desktop-dock{grid-column:2;grid-template-columns:minmax(0,1fr);padding:8px 24px}
 .desktop-play[data-desktop-view='star-map'] #desktop-hud{display:none}
 .desktop-play[data-desktop-view='star-map'] #desktop-rail{display:block;grid-column:1;grid-row:1/3;padding:13px 10px;min-height:0;overflow:auto;border-right:1px solid #294a60;background:linear-gradient(100deg,#04101c,#071a2a)}
 #desktop-rail-nav{display:flex;flex-direction:column;gap:5px;margin-bottom:20px}#desktop-rail-nav button{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid transparent;padding:9px 7px;font-size:12px;text-align:left}#desktop-rail-nav button:first-child{border-color:#31566b;background:#103249}#desktop-rail-nav .sw-symbol{width:23px;height:23px}
 .desktop-play[data-desktop-view='star-map'] #players{height:auto;display:flex;flex-direction:column;gap:9px;border-top:1px solid #2d495c;padding-top:15px}
 .desktop-play[data-desktop-view='star-map'] #players .player{max-width:none;min-height:56px;border-color:transparent;padding:7px}.desktop-play[data-desktop-view='star-map'] #players .player.active{border-color:var(--p)}
 .desktop-play[data-desktop-view='star-map'] .world:not(.hidden) .art:before{background-image:url(visuals/orbital-atlas-v1.png);filter:drop-shadow(0 0 10px #72b8e722)}
 .desktop-play[data-desktop-view='star-map'] .world.selected:not(.hidden) .art:before{filter:drop-shadow(0 0 4px #57d9ff) drop-shadow(0 0 15px #64cfff66)}
 .desktop-play[data-desktop-view='star-map'] .unknown-orbit{width:89%;height:89%;border-radius:50%;box-shadow:inset -18px -15px 30px #000b,0 0 16px #5181be22;transform:none;border-color:#35556d;background:radial-gradient(circle at 30% 25%,#324a60,#122134 55%,#040913)}
 .desktop-play[data-desktop-view='star-map'] .world .colony-sites,.desktop-play[data-desktop-view='star-map'] .world .rover-markers{display:none}
 .desktop-play[data-desktop-view='star-map'] .world .caption{margin:2px auto 0}.desktop-play[data-desktop-view='star-map'] .world .world-meta{background:#03112088;border-color:#27415a66}
 /* Colony Command: permanent company information, rectangular planet dossiers. */
 .desktop-play[data-desktop-view='command'] #desktop-shell{grid-template-columns:225px minmax(0,1fr) 280px}
 .desktop-play[data-desktop-view='command'] #desktop-rail{display:block;grid-column:1;grid-row:1/3;min-height:0;overflow:auto;border-right:1px solid #294b60;background:#061421;padding:12px}
 .desktop-play[data-desktop-view='command'] #desktop-rail-nav,.desktop-play[data-desktop-view='command'] #desktop-rail-players{display:none}
 .desktop-play[data-desktop-view='command'] .desktop-board{grid-column:2;background:radial-gradient(ellipse at 45% 30%,#122b40,#030c17 85%);padding:18px 16px 6px}
 .desktop-play[data-desktop-view='command'] #desktop-inspector{grid-column:3}
 .desktop-play[data-desktop-view='command'] #desktop-dock{grid-column:2;grid-template-columns:minmax(0,1fr);padding:8px 16px}
 .desktop-play[data-desktop-view='command'] #desktop-hud{display:none}
 #desktop-company:before{content:'';display:block;aspect-ratio:1.5;background:var(--company-art) center/cover;border-radius:4px;border:1px solid #355469;margin-bottom:13px}
 #desktop-company #civilization{padding:0;margin:0;border:0;background:none}#desktop-company h2{font-size:21px;margin:7px 0}#desktop-company .eyebrow{font-size:8px;letter-spacing:1.4px}#desktop-company .company-symbol{width:32px;height:32px}#desktop-company .resource{gap:6px;margin:14px 0}#desktop-company .resource div{padding:7px;border:1px solid #29495c;border-radius:4px;background:#04101c}#desktop-company .resource small{font-size:10px}#desktop-company .resource b{font-size:22px}#desktop-company .stat{font-size:12px;border-bottom:1px solid #183447;padding-bottom:7px}#desktop-company p{font-size:12px}
 .desktop-play[data-desktop-view='command'] .worlds{gap:12px;align-content:start;grid-template-rows:repeat(var(--rows),max-content);padding:0}
 .desktop-play[data-desktop-view='command'] .world{border:1px solid #2f4f64;border-radius:5px;overflow:hidden;background:linear-gradient(#0d2131,#05101b);text-align:left}
 .desktop-play[data-desktop-view='command'] .world .art{width:100%;max-width:100%;height:var(--card-art-height,125px);background-image:var(--world-image);background-size:cover;background-position:center;border-radius:0;overflow:hidden}
 .desktop-play[data-desktop-view='command'] .world .art:before{display:none}.desktop-play[data-desktop-view='command'] .world.selected{border-color:#69dbe7;box-shadow:0 0 8px #49b5d03b}.desktop-play[data-desktop-view='command'] .world.selected:after{display:none}
 .desktop-play[data-desktop-view='command'] .world .caption{margin:0;padding:8px 10px;min-height:63px;max-width:none}.desktop-play[data-desktop-view='command'] .world .caption>strong{font-size:13px;padding-right:15px}.desktop-play[data-desktop-view='command'] .world .world-meta{border:0;background:none;padding:0;margin:6px 0 0;justify-content:flex-start;min-height:20px;gap:7px}.desktop-play[data-desktop-view='command'] .mini-piece .sw-symbol{width:17px;height:17px}.desktop-play[data-desktop-view='command'] .caption>.trait-face{right:5px;top:-21px;width:25px;height:25px}.desktop-play[data-desktop-view='command'] .world .colony-sites,.desktop-play[data-desktop-view='command'] .world .rover-markers{display:none}
 .desktop-play[data-desktop-view='command'] .unknown-orbit{width:100%;height:100%;border:0;border-radius:0;box-shadow:none;transform:none;gap:4px}.desktop-play[data-desktop-view='command'] .unknown-orbit:after{inset:15% 30%;border-radius:50%}.desktop-play[data-desktop-view='command'] .unknown-orbit>span{font-size:7px}
 .desktop-play[data-desktop-view='command'] .desktop-location{display:none}
 @media(max-width:1200px){
 .desktop-location{display:none}.desktop-panel-buttons button{padding:5px}.desktop-panel-buttons button[data-panel=guide]>span,.desktop-panel-buttons button[data-panel=desktop-settings]>span{display:none}
 .desktop-play .brand{width:145px;flex-basis:145px}.desktop-play .brand-logo{width:145px}.desktop-play #players .player{padding:5px}.desktop-play #players .seat-label{display:none}
 .desktop-play #desktop-shell{grid-template-columns:minmax(0,1fr) 255px}.desktop-play[data-desktop-view='command'] #desktop-shell{grid-template-columns:180px minmax(0,1fr) 255px}.desktop-play[data-desktop-view='star-map'] #desktop-shell{grid-template-columns:145px minmax(0,1fr) 255px}#desktop-drawer{right:267px;width:calc(100% - 285px)}#desktop-dock{grid-template-columns:170px minmax(0,1fr);gap:10px;padding-inline:12px}.visual-resource .sw-symbol{width:20px;height:20px}.desktop-play #actionbar button{font-size:11px}
 }
 @media(min-width:1600px){.desktop-play #desktop-shell{grid-template-columns:minmax(0,1fr) 320px}.desktop-play[data-desktop-view='star-map'] #desktop-shell{grid-template-columns:190px minmax(0,1fr) 320px}.desktop-play[data-desktop-view='command'] #desktop-shell{grid-template-columns:255px minmax(0,1fr) 320px}#desktop-inspector .worldportrait{height:170px}#desktop-drawer{right:332px}.desktop-play .world .caption>strong{font-size:16px}}
}
@media(max-width:950px){.inspector-disclosure{border:1px solid #345768;border-radius:7px;margin:10px 0;padding:10px}.inspector-disclosure>summary{cursor:pointer}.world-meta{display:none}.inspector-overview{display:none}}
@media(prefers-reduced-motion:reduce){.desktop-play *{transition:none!important;scroll-behavior:auto!important}}

@media(min-width:951px){.desktop-play[data-desktop-view='tabletop'] .world .art{height:calc(var(--world-size)*.82)}}

@media(min-width:951px){.desktop-play[data-desktop-view='star-map'] #desktop-company{display:none}}

@media(min-width:951px){
 #desktop-income{min-width:0;font-size:10px;margin-top:6px;text-align:left}
 .production-income{border:1px solid #34798a;border-radius:4px;background:linear-gradient(120deg,#0d3642c9,#061722);padding:6px 7px;color:#b7edf3}
 .income-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}
 .income-heading>span{font-size:9px;line-height:1.2;color:#84e1e5}
 .income-pair{display:flex;gap:8px;white-space:nowrap}
 .income-pair>span{display:inline-flex;align-items:center;gap:3px}
 .income-pair .sw-symbol{width:16px;height:16px}
 .income-pair b{font-size:12px;color:#edf8fc;font-weight:600}
 .income-choice,.income-note{display:block;font-size:9px;line-height:1.3;margin-top:3px;color:#f2d494}
 .income-breakdown{display:grid;gap:4px;border-top:1px solid #34798a66;margin-top:6px;padding-top:6px}
 .income-breakdown>div{display:flex;justify-content:space-between;align-items:center;gap:5px;color:#a8c2cf;font-size:9px}
 .income-breakdown .income-pair{gap:7px}.income-breakdown .income-pair b{font-size:10px}.income-breakdown .sw-symbol{width:12px;height:12px}
 .income-ended .income-heading{opacity:.55}
 .desktop-play[data-desktop-view='tabletop'] #desktop-hud{padding:5px 7px;min-width:0}
 .desktop-play[data-desktop-view='tabletop'] #desktop-income{margin-top:3px}
 .desktop-play[data-desktop-view='tabletop'] .production-income{padding:3px 5px}
 .desktop-play[data-desktop-view='tabletop'] .income-heading>span{font-size:8px}
 .desktop-play[data-desktop-view='tabletop'] .income-pair{gap:5px}
 .desktop-play[data-desktop-view='tabletop'] .income-pair .sw-symbol{width:13px;height:13px}
 .desktop-play[data-desktop-view='tabletop'] .income-pair b{font-size:10px}
 .desktop-play[data-desktop-view='star-map'] #desktop-income{margin:4px 0 10px}
 .desktop-play[data-desktop-view='star-map'] .income-heading{flex-wrap:wrap}
 .desktop-play[data-desktop-view='command'] #desktop-income{margin:8px 0 12px}
}
@media(max-width:950px){#desktop-income{display:none}}
@media(min-width:951px){
 #desktop-rail-income{display:none}
 .desktop-play[data-desktop-view='star-map'] #desktop-rail{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
 .desktop-play[data-desktop-view='star-map'] #desktop-rail-players{overflow:auto;min-height:0;scrollbar-width:thin}
 .desktop-play[data-desktop-view='star-map'] #desktop-rail-income{display:block;padding-top:5px;border-top:1px solid #284b60}
 .desktop-play[data-desktop-view='star-map'] #desktop-income{margin:0}
 .income-company{display:block;font-size:11px;color:#d3edf3;margin-bottom:4px}
}

/* Let the Tabletop footer grow with pending income and end-of-game notices. */
@media(min-width:951px){
 .desktop-play[data-desktop-view='tabletop'] #desktop-shell{grid-template-rows:minmax(0,1fr) auto}
 .desktop-play[data-desktop-view='tabletop'] #desktop-dock{min-height:100px;box-sizing:border-box}
}

/* Finished games use the full desktop surface, with every player's breakdown visible. */
@media(min-width:951px){
 #desktop-shell[data-phase='finished'] #desktop-board-status{position:static}
 #desktop-shell[data-phase='finished'] #end{position:absolute;inset:16px;z-index:7;max-height:none;margin:0;padding:24px;overflow:visible;display:flex;flex-direction:column;gap:16px;background:linear-gradient(145deg,#102b3bf7,#04111cfb);border-color:#43798d;border-radius:12px;box-sizing:border-box}
 #desktop-shell[data-phase='finished'] #desktop-dock,#desktop-shell[data-phase='finished'] #desktop-inspector,#desktop-shell[data-phase='finished'] #desktop-rail,#desktop-shell[data-phase='finished'] #desktop-planets,#desktop-shell[data-phase='finished'] #botstatus{visibility:hidden}
 .final-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
 #desktop-board-status .final-heading h2{font-size:26px;margin:4px 0 0}
 #desktop-board-status .final-heading button{font-size:14px;padding:10px 16px}
 #desktop-board-status .final-winner{font-size:16px;line-height:1.45;color:#f4d78e;margin:0;padding:12px 16px;border:1px solid #866c3c;background:#60482226;border-radius:6px}
 .final-table{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;color:#d6e5ee;font-size:16px}
 .final-table caption{text-align:left;font-size:13px;color:#9db7c7;padding-bottom:12px}
 .final-table th,.final-table td{padding:14px 6px;text-align:center;border-bottom:1px solid #2a4c5e;overflow-wrap:break-word}
 .final-table thead th{font-size:13px;font-weight:500;color:#a6c6d5;background:#061622;line-height:1.3}
 .final-table th:first-child{width:150px;text-align:left;padding-left:12px}
 .final-table tbody th{font-size:16px}
 .final-table tbody th .company-name{display:inline-flex;gap:8px}
 .final-table .company-symbol{width:30px;height:30px}
 .final-rank{display:inline-block;width:23px;color:#9bb3c3;font-size:13px}
 .final-leading{background:#34728a26}
 .final-table .final-total{font-size:25px;font-weight:700;color:#f1d08a}
 #desktop-board-status .final-note{font-size:13px;line-height:1.5;color:#a7bfcc;margin:0;margin-top:auto}
}
@media(min-width:951px) and (max-height:700px){
 #desktop-shell[data-phase='finished'] #end{inset:10px;padding:16px;gap:10px}
 .final-table th,.final-table td{padding:8px 5px}
 #desktop-board-status .final-heading h2{font-size:22px}
 #desktop-board-status .final-winner{font-size:14px;padding:8px 12px}
}
@media(min-width:951px){
 .final-table th,.final-table td{padding:10px 6px;line-height:1.3}
 .final-table .company-symbol{width:26px;height:26px}
}
@media(min-width:951px) and (max-height:800px){
 #desktop-shell[data-phase='finished'] #end{padding:16px;gap:10px}
 .final-heading .eyebrow{display:none}
 #desktop-board-status .final-heading h2{font-size:22px;margin:0}
 .final-table th,.final-table td{padding:7px 5px}
 #desktop-board-status .final-winner{padding:8px 12px;font-size:14px}
}

@media(min-width:951px){
 .desktop-play .world .colony-site .installation-badge{top:3px;right:-10px;padding:1px 2px;border-radius:4px}
 .desktop-play .world .colony-site .installation-art{width:20px;height:20px}
 .desktop-play .world .installation-badge>span{font-size:8px;line-height:1}
 .desktop-play[data-desktop-view='tabletop'] .world .rover-markers{display:grid;grid-template-columns:repeat(var(--vehicle-cols,1),minmax(0,1fr));left:10%;right:10%;top:12%;gap:2px;align-items:start;flex-wrap:nowrap}
 .desktop-play[data-desktop-view='tabletop'] .world .rover-marker{display:flex;flex-direction:column;align-items:center;min-width:0;width:100%;max-width:none;padding:0;gap:0;line-height:1}
 .desktop-play[data-desktop-view='tabletop'] .world .rover-art,.desktop-play[data-desktop-view='tabletop'] .world .drone-art{width:clamp(18px,calc(var(--world-size) * .13),30px);height:clamp(18px,calc(var(--world-size) * .13),30px);margin:0}
 .desktop-play[data-desktop-view='tabletop'] .world .rover-marker small{display:block;width:14px;padding:1px 2px;font-size:8px;line-height:1.1;text-align:center;border-radius:2px;white-space:nowrap}
 .desktop-play[data-desktop-view='tabletop'] .world .deposit-tag{top:auto;bottom:7%;left:50%;right:auto;transform:translateX(-50%);max-width:90%;white-space:nowrap;font-size:8px;padding:1px 4px}
 .desktop-play .mini-colonies,.desktop-play .mini-vehicles{gap:6px}
 .desktop-play .mini-piece.occupied{position:relative}
 .desktop-play .world .world-meta{flex-wrap:wrap}
}

@media(min-width:951px){
 .desktop-play[data-desktop-view='tabletop'] .world .colony-art{width:clamp(24px,calc(var(--world-size) * .18),43px);height:clamp(24px,calc(var(--world-size) * .18),43px)}
 .desktop-play[data-desktop-view='tabletop'] .world .rover-markers{top:8%}
 .rover-marker .is-damaged{filter:brightness(.75)}
}
