/* Ground colony v2: same economy, three destinations, one habitat annex. */
.surface-world{background:#242b2a;isolation:isolate;min-height:330px}.surface-world:after{display:none}.ground-texture{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 10% 10%,#39413e,transparent 40%),radial-gradient(ellipse at 88% 90%,#111a1b,transparent 35%),repeating-radial-gradient(ellipse at 21% 72%,#ffffff03 0 1px,transparent 2px 9px),#242e2c}.ground-texture:before,.ground-texture:after{content:'';position:absolute;pointer-events:none;border:1px solid #52605a3b;border-radius:50%;transform:rotate(-20deg)}.ground-texture:before{width:19%;height:23%;left:-6%;top:67%;box-shadow:0 0 0 7px #111a1a18,0 0 0 15px #111a1a16}.ground-texture:after{width:13%;height:20%;right:-3%;top:5%;box-shadow:0 0 0 6px #111a1a1a}.surface-world .board-caption{top:14px;left:20px;pointer-events:none}.surface-world .board-caption>.clinic-caption{font-size:9px}.surface-roads{position:absolute;inset:0;width:100%;height:100%;z-index:1}.surface-roads path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.road-edge path{stroke:#17211f;stroke-width:38px}.road-bed path{stroke:#56605a;stroke-width:30px}.road-center path{stroke:#abb09555;stroke-width:1px;stroke-dasharray:4 9}.surface-roads .annex-pipe{stroke:#8c9a8b;stroke-width:6px}.surface-world .map-node{width:26%;height:auto;z-index:3}.surface-world .node-depot{left:22%;top:32%}.surface-world .node-habitat{left:66%;top:20%;width:23%}.surface-world .node-clinic{left:70%;top:60%;width:22%}.surface-world .district{width:min(100%,35cqh)}.ground-building{display:block;background-image:url('/assets/buildings-ground.webp');background-repeat:no-repeat;background-size:200% 200%;background-position:0 0;aspect-ratio:1}.ground-building.habitat{background-position:100% 0}.ground-building.clinic{background-position:0 100%}.ground-building.plant{background-position:100% 100%}.surface-world .node-label{z-index:4;font-size:15px;padding:4px 7px;background:#101b18eb;position:relative;margin-top:-17px}.surface-world .node-label small{font-size:8px}.surface-world .node-label .icon{width:13px;height:13px}.surface-world .map-node:hover .district,.surface-world .map-node.selected .district{transform:none;filter:brightness(1.12)}.plant-annex{position:absolute;left:82%;top:18%;width:13%;padding:0;background:none;border:0;z-index:4;color:var(--text)}.plant-annex>.ground-building{width:100%;max-height:24cqh}.annex-label{display:block;font:8px var(--data);padding:4px;background:#101b18e6;border:1px solid var(--line);border-radius:3px}.annex-label small{display:block;font:7px/1.4 var(--data);color:var(--muted);margin-top:3px}.plant-lamp{position:absolute;left:42%;top:45%;width:5px;height:5px;border-radius:50%;background:#75877a}.plant-producing .plant-lamp{background:var(--mint);box-shadow:0 0 12px 4px #9cdbc370}.plant-producing .plant-annex>.ground-building{filter:brightness(1.3)}.building-windows{position:absolute;left:32%;right:32%;top:61%;display:flex;justify-content:space-between;pointer-events:none}.building-windows>i{width:5px;height:3px;background:#f5c37c;box-shadow:0 0 5px #efb26d66}.oxygen-low .node-habitat .building-windows>i:nth-child(2){background:#323d36;box-shadow:none}.oxygen-low .node-habitat .district{filter:brightness(.66)}.oxygen-critical .node-habitat .building-windows>i{background:var(--danger);box-shadow:0 0 5px #f2938170;animation:habitat-warning 1.6s steps(2,end) infinite}.oxygen-critical .node-habitat .node-label{border-color:var(--danger);color:var(--danger)}.clinic-emergency .node-clinic .node-label{color:var(--coral);border-color:var(--coral)}.clinic-emergency .node-clinic .building-windows>i{background:var(--coral);box-shadow:0 0 7px #f2938170}.residents{position:absolute;inset:0;z-index:2;pointer-events:none}.residents>i{position:absolute;width:3px;height:6px;border-radius:2px;background:#a5b5a5;box-shadow:2px 3px 0 #10171680}.residents>i>b{position:absolute;top:-3px;left:0;width:3px;height:3px;background:#e1d5b0;border-radius:50%}.resident-dispatch{position:absolute;left:18px;right:18px;bottom:25px;z-index:2;font:9px/1.5 var(--data);color:#bbc9ba;pointer-events:none;max-width:75%}.surface-world .board-bottom{left:18px;right:18px;bottom:8px;font-size:7px;color:#9ba99c}.surface-world .round-event{bottom:50px;background:#122a21f0;max-width:70%}.merchant-rover{position:absolute;width:1px;height:1px;z-index:6;pointer-events:none;will-change:transform}.rover-body{position:absolute;display:block;width:64px;height:64px;left:-32px;top:-32px;background:url('/assets/rovers-ground.webp') 0 0/300% 100% no-repeat;transform:rotate(var(--heading,0deg));transform-origin:center;filter:drop-shadow(1px 3px 2px #0006)}.rover-B{background-position:50% 0}.rover-NPC{background-position:100% 0}.seat-NPC{--seat:var(--coral)}.rover-name{position:absolute;left:-17px;top:23px;display:flex;align-items:center;gap:3px;padding:2px 4px;background:#0c1714e8;color:var(--seat);border:1px solid var(--seat);border-radius:3px;font:7px var(--data);white-space:nowrap}.rover-name .icon{width:9px;height:9px}.rover-dust{display:none;position:absolute;left:-24px;top:2px;width:14px;height:8px;border-radius:50%;background:#c4bd9270;filter:blur(3px);opacity:.6}.merchant-rover[data-moving=true] .rover-dust{display:block}.merchant-portrait{display:inline-block;flex-shrink:0;background:url('/assets/portraits-ground.webp') 0 0/300% 100% no-repeat;width:40px;height:40px;border:1px solid #5b7164;border-radius:4px}.portrait-ilan{background-position:50% 0}.portrait-tess{background-position:100% 0}.identity-picker{display:grid;grid-template-columns:1fr auto;gap:12px 20px;padding:16px 0;margin-top:12px;max-width:460px}.identity-name>label,.identity-picker legend{display:block;font:8px var(--data);letter-spacing:.05em;color:var(--muted);margin-bottom:7px}.identity-name>input{font-size:13px;width:100%;height:44px}.identity-picker fieldset{display:flex;gap:8px;padding:0;margin:0;border:0}.identity-choice{display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.identity-choice>input{position:absolute;opacity:0;width:1px;height:1px}.identity-choice .merchant-portrait{width:44px;height:44px;opacity:.6}.identity-choice:has(input:checked) .merchant-portrait{opacity:1;outline:2px solid var(--mint);outline-offset:2px}.identity-choice:has(input:focus-visible){outline:2px solid var(--mint);outline-offset:3px}.identity-choice>span:last-child:not(.merchant-portrait){display:none}.identity-picker>p{grid-column:1/-1;font-size:9px;line-height:1.5;color:var(--muted)}.merchant-head>.merchant-portrait{width:34px;height:34px;border-color:var(--seat)}.merchant-head>strong{max-width:140px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merchant .cargo-withheld{font:10px var(--data);color:var(--muted);min-height:19px;padding-top:4px}.information-note{font-size:9px;color:var(--muted);line-height:1.5}.delivery-benefit{color:var(--mint)!important}.player-identity-line{display:flex;align-items:center;gap:9px;margin-bottom:9px}.player-identity-line .merchant-portrait{width:32px;height:32px}.player-identity-line strong{font-size:12px}.player-identity-line small{font-size:9px;color:var(--muted);margin-left:auto}.room-seats .merchant-portrait{width:64px;height:64px}.network-invite{font:12px/1.8 var(--data);color:var(--mint);overflow-wrap:anywhere}.network-help{margin:14px 0;font-size:12px;color:var(--muted)}.public-included{padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.public-included h3{font-size:23px;margin-bottom:10px}.public-included p{font-size:12px;margin-top:8px}.public-included small{display:block;font-size:10px;color:var(--muted);margin-top:10px}.rover-demo{display:block;width:85px;height:65px;background:url('/assets/rovers-ground.webp') 0 0/300% 100% no-repeat}.landing-hero .identity-picker{margin-top:5px;padding-top:10px;padding-bottom:0}.landing-hero:has(.identity-picker){padding-top:36px}.landing-hero:has(.identity-picker) h1{font-size:125px;margin-top:20px;margin-bottom:16px}.landing-hero:has(.identity-picker) .hero-promise{font-size:35px}.landing-hero:has(.identity-picker) .hero-summary{margin-top:12px}.landing-hero:has(.identity-picker) .hero-play{margin-top:16px}
.terminal-location{display:flex;align-items:center;gap:10px}.terminal-location .merchant-portrait{width:31px;height:31px}.surface-world .node-habitat{top:25%}.surface-world .district{width:140px;height:140px;flex:none}.plant-annex>.ground-building{width:90px;height:90px;max-height:none}
.self-test-bar{position:sticky;top:0;z-index:12;display:flex;align-items:center;gap:18px;padding:10px 24px;background:#15231f;border-bottom:1px solid #537266}.self-test-bar>div:first-child>small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.self-test-seats{display:flex;gap:8px;flex:1}.self-test-seats>button{display:flex;flex-direction:column;gap:3px;text-align:left;background:transparent;border:1px solid var(--line);border-radius:3px;padding:7px 12px;min-height:44px;min-width:160px}.self-test-seats>button.selected{border-color:var(--seat);color:var(--seat);background:#20342d}.self-test-seats b{font-size:11px;font-weight:600}.self-test-seats span{font-size:9px;color:var(--muted)}.self-test-bar>.button{font-size:12px;min-height:44px;padding:8px 14px}
@media(max-width:760px){.self-test-bar{padding:10px 12px;flex-wrap:wrap;gap:8px}.self-test-bar>div:first-child{width:100%;display:flex;align-items:center;justify-content:space-between}.self-test-seats{width:100%}.self-test-seats>button{min-width:0;flex:1;padding:7px 9px}.self-test-seats b{font-size:10px}.self-test-bar>.button{width:100%}}
@keyframes habitat-warning{0%,100%{opacity:1}50%{opacity:.45}}
@media(max-width:1050px){.merchant-head>.merchant-portrait{width:27px;height:27px}.merchant-head>strong{font-size:11px}.surface-world .node-label{font-size:14px}.surface-world .node-label small{font-size:7px}.information-note{font-size:8px}}
@media(max-width:760px){.surface-world{height:365px;min-height:365px}.surface-world .board-caption{left:14px;top:12px}.surface-world .board-caption>.clinic-caption{font-size:8px}.surface-world .map-node{width:29%}.surface-world .node-depot{top:33%}.surface-world .node-habitat{width:26%;top:24%}.surface-world .node-clinic{width:26%;top:61%}.surface-world .node-label{font-size:12px;padding:3px 5px;gap:2px 4px;max-width:150px}.surface-world .node-label small{font-size:6px}.surface-world .node-label .icon{width:10px;height:10px}.plant-annex{left:84%;top:26%;width:14%}.annex-label{font-size:6px;padding:3px 2px}.annex-label small{font-size:6px}.building-windows>i{width:3px;height:2px}.surface-world .resident-dispatch{left:12px;bottom:30px;font-size:7px;max-width:92%}.surface-world .board-bottom{font-size:6px;left:12px;right:12px}.rover-body{width:42px;height:42px;left:-21px;top:-21px}.rover-name{left:-13px;top:14px;font-size:6px;padding:1px 3px}.rover-name .icon{width:7px;height:7px}.surface-world .round-event{left:12px;bottom:55px;max-width:calc(100% - 24px);font-size:8px}.identity-picker{gap:10px 14px;max-width:100%;margin-top:14px}.identity-name>label,.identity-picker legend{font-size:7px}.identity-picker>p{font-size:8px}.identity-name>input{font-size:12px}.merchant-head>.merchant-portrait{width:25px;height:25px}.merchant-head>strong{font-size:9px;max-width:60px}.merchant-head>span:last-child{font-size:10px}.merchant .cargo-withheld{font-size:8px}.information-note{font-size:8px}.player-identity-line{margin-bottom:10px}.player-identity-line .merchant-portrait{width:35px;height:35px}.room-seats .merchant-portrait{width:45px;height:45px;grid-row:span 2}.network-help{font-size:11px}.landing-hero:has(.identity-picker){padding-top:28px}.landing-hero:has(.identity-picker) h1{font-size:94px}.landing-hero:has(.identity-picker) .hero-promise{font-size:29px}.landing-hero:has(.identity-picker) .hero-summary{font-size:12px}.landing-hero:has(.identity-picker) .hero-caption{margin-top:22px}}
@media(max-width:760px){.surface-world .district{width:95px;height:95px}.plant-annex>.ground-building{width:50px;height:50px;max-height:none}}
@media(prefers-reduced-motion:reduce){.oxygen-critical .node-habitat .building-windows>i{animation:none}.merchant-rover{will-change:auto}.rover-dust{display:none!important}}

.near-controls{display:grid;gap:16px;max-width:600px;margin:28px auto;text-align:left}.near-screen>p{max-width:650px;margin:20px auto}.near-controls form{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.near-controls input{min-width:0;flex:1}.near-controls label{width:100%}.near-status{color:var(--mint);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.near-network{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;padding:10px 28px;border-bottom:1px solid var(--line);font-size:12px;background:#10231f}.near-network>span{flex:1;min-width:180px;overflow-wrap:anywhere}.wallet-account{font-size:16px;color:var(--mint);overflow-wrap:anywhere}.chain-evidence{padding:16px 0;border-bottom:1px solid var(--line)}.chain-evidence p{margin:8px 0;font-size:13px}.near-screen .room-seats>div{padding:20px;border:1px solid var(--line)}.near-screen .room-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px auto}.near-screen .room-seats b{overflow-wrap:anywhere}@media(max-width:600px){.near-network{padding:10px 16px}.near-screen .room-seats{grid-template-columns:1fr}}

.merchant-market{border-top:1px solid var(--line);padding:20px}.market-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.market-heading h2{font:600 26px var(--display);margin:6px 0 16px}.market-lots{display:grid;gap:0}.market-lot{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:14px 0}.market-lot>.resource{width:44px;height:44px;flex-shrink:0}.market-lot>div{flex:1;display:grid;gap:4px}.market-lot small,.market-tape,.market-empty,.npc-market-reason{font-size:12px;color:var(--muted)}.market-lot strong{font-size:13px;color:var(--mint)}.market-lot .button{min-height:36px;padding:8px 14px}.market-tape{padding:12px 0;border-top:1px solid var(--line)}.market-tape p{margin:6px 0}.npc-market-reason summary{cursor:pointer}.npc-market-reason p{line-height:1.6;margin:10px 0}.selected-lot{display:grid;gap:14px}.selected-lot h3{font:600 28px var(--display)}.selected-lot p{font-size:13px;line-height:1.6}.action-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:420px){.market-lot{gap:8px}.market-lot>.resource{width:32px;height:32px}.market-lot small{font-size:10px}}

/* Keep actions within the laptop viewport when the exchange extends the map column. */
/* Short instructions stay beside the controls they describe. */
.first-move-hint{font-size:11px;line-height:1.45;color:var(--mint);padding:0 0 9px;margin:0 0 9px;border-bottom:1px solid var(--line)}.both-sides-option{display:grid;gap:5px}.both-sides-option small{font-size:11px;color:var(--muted)}.first-delivery{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}.first-delivery>li{padding-top:14px;border-top:1px solid var(--line)}.first-delivery span{font:10px var(--data);color:var(--mint)}.first-delivery h2{font:600 28px/1.1 var(--display);margin:12px 0}.first-delivery p{font-size:14px;line-height:1.6;color:var(--muted)}.first-delivery b{color:var(--text)}.guide-start{display:flex;align-items:center;gap:24px;margin:24px 0 40px}.guide-start p{max-width:440px;font-size:13px;line-height:1.6;color:var(--muted)}.guide-topics{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0}.guide-topics a{font-size:13px;color:var(--mint);text-underline-offset:4px}.guide-group{scroll-margin-top:30px}.guide-group>h2{font:600 32px/1.1 var(--display);margin:32px 0 16px}.wallet-help{font-size:13px;line-height:1.6;color:var(--muted)}.wallet-help summary{cursor:pointer;color:var(--mint)}.wallet-help p{margin-top:10px}.near-screen .small{line-height:1.6}@media(max-width:760px){.first-delivery{grid-template-columns:1fr;gap:18px;margin:24px 0}.first-delivery h2{font-size:25px}.guide-start{align-items:stretch;flex-direction:column;gap:12px}.guide-group>h2{font-size:28px}.first-move-hint{font-size:12px}}
@media(min-width:761px){.match-shell:has(.self-test-bar){--match-toolbar:70px}.match-shell:has(.near-network){--match-toolbar:44px}.match-shell.critical{--match-warning:40px}.trade-panel{align-self:start;position:sticky;top:0;height:calc(100dvh - 152px - var(--match-toolbar,0px) - var(--match-warning,0px));overflow:auto;grid-template-rows:auto auto minmax(105px,1fr) auto auto auto}}
