:root{color-scheme:dark;--bg:#10191d;--panel:#19262b;--panel-deep:#131f24;--line:#33454b;--text:#edf2ee;--muted:#a0b1b3;--accent:#e9bf78;--accent-bright:#f4d39b;--mint:#9cc9ad;--sans:"Segoe UI",Inter,Arial,sans-serif;--display:Impact,"Arial Narrow","Segoe UI",sans-serif;--mono:Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg)}
body{font:14px/1.5 var(--sans);color:var(--text)}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent-bright);outline-offset:4px}
.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}
.menu-open{overflow:hidden}
.menu-open .game-shell{visibility:hidden}
.eyebrow{font:10px/1.4 var(--mono);letter-spacing:.12em;color:var(--accent)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:9px 13px;border:1px solid #50636a;border-radius:2px;background:#22323a;color:#e6eeec;font-size:12px;font-weight:600;transition:background .16s,border-color .16s,transform .16s}
.button:hover:not(:disabled){background:#2d434b;border-color:#91a9a8}
.button:active:not(:disabled){transform:translateY(1px)}
.button:disabled{opacity:.42}
.button.primary{background:#2f4d4f;border-color:#638784}
.button.primary:hover:not(:disabled){background:#3b6060;border-color:#8eb8a8}
.game-shell{height:100dvh;min-height:620px;display:grid;grid-template-rows:70px minmax(0,1fr) 30px;background:linear-gradient(120deg,#1b2a30 0,#101a1f 65%)}
.game-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 27px;border-bottom:1px solid #425157;background:#111d22}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand-mark{width:33px;height:33px;color:var(--accent)}
.brand strong{display:block;font:20px/1.05 var(--display);letter-spacing:.14em}
.brand span{display:block;font:8px/1.5 var(--mono);letter-spacing:.12em;color:#a4b5b5;margin-top:4px}
.phase-track{align-self:stretch;display:flex;gap:25px;padding:0;margin:0;list-style:none}
.phase-track li{display:flex;align-items:center;gap:6px;position:relative;color:#718489;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.phase-track b{font:9px var(--mono);color:#596d73}
.phase-track .current{color:#f4d59e}
.phase-track .current b{color:#caa467}
.phase-track .current:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}
.menu-back{background:transparent;font-size:10px;text-transform:uppercase;letter-spacing:.05em;min-height:32px;padding:7px 10px;white-space:nowrap}
.menu-back span{font-size:14px;line-height:1}
.game-main{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:0 22px}
.mission-heading{display:flex;align-items:center;gap:17px;padding:18px 0}
.mission-number{font:42px/1 var(--display);color:#536b70;border-right:1px solid #3c5056;padding-right:18px}
.mission-copy{min-width:0}
.mission-copy h1{margin:3px 0 2px;font:600 25px/1.1 var(--sans);letter-spacing:-.02em;outline:none}
.mission-copy p{margin:0;color:#a8b9bc;font-size:11px}
.badge{margin-left:auto;flex-shrink:0;display:flex;align-items:center;gap:7px;border:1px solid #655a41;padding:7px 10px;color:#d1bc96;font:9px/1.2 var(--mono);letter-spacing:.05em}
.badge:before{content:"";width:5px;height:5px;border:1px solid currentColor;transform:rotate(45deg)}
.badge[data-state="reserved"]{color:#afd6b5;border-color:#53745d}
.workspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 322px;border:1px solid #40535b;background:var(--panel-deep);box-shadow:0 8px 22px #0002}
.mapbox{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:10px;gap:9px}
.map-toolbar{display:flex;align-items:center;gap:8px}
.search{display:flex;align-items:center;gap:0;min-width:0;flex:1;border:1px solid #40555d;background:#101d23}
.search-icon{display:flex;align-items:center;justify-content:center;width:37px;flex-shrink:0;color:#8ea6a8}
.search-icon svg{width:16px;stroke:currentColor;fill:none;stroke-width:1.4}
.search input{flex:1;min-width:0;min-height:37px;border:0;background:transparent;padding:8px 4px;color:#e6efee;font-size:11px;outline-offset:-2px}
.search input::placeholder{color:#94a7ad}
.search .button{min-height:31px;margin:3px;border:0;border-left:1px solid #4b6168;background:#253b43;border-radius:0;padding:7px 12px;font-size:10px}
.locate-button{font-size:10px;min-height:39px;padding:9px}
.locate-button span{font:21px/14px var(--sans);color:var(--accent)}
.mapstage{position:relative;min-height:330px;border:1px solid #587075;background:#283c43;overflow:hidden}
.real-map{height:100%;min-height:330px;background:#30464b}
/* Recolour only map tiles: controls, labels in overlays, and parcel outlines keep their UI colours. */
.real-map .leaflet-tile{filter:url(#map-palette)}
.survey-tag,.map-coordinates{position:absolute;z-index:500;top:12px;pointer-events:none;border:1px solid #7f92928c;background:#11212be8;padding:6px 8px;font:9px/1.2 var(--mono);letter-spacing:.04em;color:#d8e4e1}
.survey-tag{left:54px;display:flex;align-items:center;gap:7px}
.map-coordinates{right:12px;letter-spacing:0}
.live-dot{display:inline-block;width:5px;height:5px;background:#9ccaaf;border-radius:50%}
.map-hint{position:absolute;z-index:500;left:11px;bottom:28px;max-width:min(390px,calc(100% - 22px));padding:9px 11px;background:#10212ceb;border:1px solid #668087;color:#e0e9e6;font-size:10px;pointer-events:none;border-left:2px solid var(--accent)}
.assessment-panel{min-height:0;overflow:hidden;padding:0;border-left:1px solid #40535b;background:linear-gradient(135deg,#213139,#19262d);display:grid;grid-template-rows:minmax(0,1fr) auto}.assessment-content{min-height:0;overflow:auto;padding:19px 19px 14px;display:flex;flex-direction:column;gap:14px;scrollbar-color:#556a70 transparent;scrollbar-width:thin}
.panel-heading h2{font-size:17px;line-height:1.25;margin:6px 0 5px;letter-spacing:-.02em}
.panel-heading p{color:#a8b8ba;font-size:10px;margin:0}
.objectives{padding:12px 0;margin:0;border-top:1px solid #3e525b;border-bottom:1px solid #3e525b;list-style:none;display:grid;gap:10px}
.objectives li{display:flex;align-items:center;gap:9px;font-size:10px;color:#a8b9bd}
.objective-tick{width:21px;height:20px;display:grid;place-items:center;border:1px solid #586a6d;font:8px var(--mono);color:#bac4c3}
.objectives li.complete{color:#b9d7be}
.objectives li.complete .objective-tick{font-size:0;background:#345346;border-color:#6c987b;color:#d0e7d1}
.objectives li.complete .objective-tick:after{content:"✓";font:11px var(--sans)}
.action-row{display:flex;gap:7px}
.action-row .draw-button{flex:1;font-size:11px}
.draw-button span{font-size:16px;line-height:12px;color:#c2d8c8}
.clear-button{background:transparent;font-size:10px;padding:8px 12px}
.metric{padding-top:10px;border-top:1px solid #3b505a}
.metric-label{display:flex;justify-content:space-between;font:8px/1.5 var(--mono);letter-spacing:.08em;color:#aababb}
.metric-label span{color:#657f88}
.metric-value{font:30px/1.2 var(--mono);color:#f0f1e9;margin:6px 0 4px;letter-spacing:-.055em;overflow-wrap:anywhere}
.metric-sub{font:9px/1.45 var(--mono);color:#91a6ad}
.price-metric .metric-value{color:var(--accent-bright);font-size:27px}
.location{border-left:2px solid #4e6a73;padding-left:9px;font-size:10px;line-height:1.55;color:#a9bbc0}
.reservation-action{padding:12px 19px 16px;border-top:1px solid #3b505a;background:#192a32}
.price-note{color:#8fa4ab;font-size:9px;line-height:1.55;margin:0 0 10px}
.reserve-button{width:100%;background:var(--accent);border-color:#f0d39c;color:#18252a;font-size:11px;font-weight:750;justify-content:space-between;padding:12px 14px;min-height:42px}
.reserve-button:hover:not(:disabled){background:#f5d49c;border-color:#ffe8be}
.reserve-button:disabled{background:#3b4b4f;color:#9aabad;border-color:#4b6067;opacity:.65}
.game-footer{display:flex;align-items:center;justify-content:space-between;padding:0 23px;font:8px var(--mono);letter-spacing:.05em;color:#81959b}
.save-indicator{display:flex;align-items:center;gap:7px}
.save-indicator i{width:4px;height:4px;background:#99c7a8;border-radius:50%}
.leaflet-container{font:11px var(--sans)}
.leaflet-control-attribution{font-size:8px!important}
.leaflet-control-attribution a{color:#284c52}
.leaflet-bar{border:1px solid #5a737b!important;border-radius:2px!important;box-shadow:0 3px 10px #0003!important}
.leaflet-bar a,.leaflet-bar a.leaflet-disabled{background:#1a303c!important;border-color:#435962;color:#c6d8d4!important}
.leaflet-bar a:hover{background:#2e4a55!important}
.leaflet-bar a.leaflet-disabled{color:#637d83!important}
.leaflet-draw-toolbar a{background-image:none!important;position:relative;text-indent:-9999px}
.leaflet-draw-draw-polygon:after,.leaflet-draw-edit-edit:after{position:absolute;inset:0;display:grid;place-items:center;text-indent:0;font:18px var(--sans);color:#e8cd9a}
.leaflet-draw-draw-polygon:after{content:"⬠"}
.leaflet-draw-edit-edit:after{content:"✎"}
.leaflet-draw-actions a{background:#243b45;color:#e3eeec;font-size:10px}
.leaflet-draw-tooltip{background:#142833;color:#edf0e8;border:1px solid #789697;font-size:10px}

/* The title screen is a game scene, with the menu layered over the world. */
.title-screen{position:fixed;inset:0;z-index:1000;overflow:hidden;background:#11212a;isolation:isolate}
.title-art,.title-shade{position:absolute;inset:0;z-index:-1}
.title-art{background:url("assets/reactor-valley.png") center center/cover no-repeat;animation:scene-reveal 1.1s ease-out both}
.title-shade{background:linear-gradient(90deg,#07151ee6 0%,#0a1922c9 27%,#0b192250 54%,#06131b15 100%),linear-gradient(0deg,#07151cdb 0%,transparent 34%,transparent 82%,#09172287 100%)}
.title-topline{position:absolute;top:28px;left:clamp(25px,5.1vw,96px);right:clamp(25px,4vw,75px);display:flex;justify-content:space-between;gap:20px;font:8px/1.5 var(--mono);letter-spacing:.13em;color:#c5d2d0}
.title-topline>span:first-child{display:flex;align-items:center;gap:8px}
.title-topline i{width:5px;height:5px;display:inline-block;border:1px solid #dfbe86;transform:rotate(45deg)}
.title-topline>span:last-child{color:#b9c7c7;border:1px solid #c8dad633;padding:4px 7px;margin-top:-4px;background:#0c1b252b}
.title-content{position:absolute;left:clamp(25px,5.1vw,96px);top:47%;transform:translateY(-50%);width:min(570px,55vw)}
.title-emblem{width:42px;height:42px;color:var(--accent);margin-bottom:20px}
.title-kicker{font:9px var(--mono);letter-spacing:.2em;color:#d0b789;margin-bottom:11px}
.title-lockup h1{font:400 clamp(64px,8.6vw,128px)/.95 var(--display);letter-spacing:.055em;margin:0;color:#f3f1e6;text-shadow:0 3px 25px #0004}
.title-subtitle{font:10px/1.5 var(--mono);letter-spacing:.48em;color:#d5e0dc;margin:12px 0 33px;padding-left:3px}
.game-menu{display:grid;gap:8px;width:min(360px,100%)}
.menu-option{position:relative;display:flex;align-items:center;gap:15px;width:100%;text-align:left;min-height:68px;padding:13px 18px 13px 15px;border:1px solid #91aeb047;border-left:2px solid #879f9d;background:#11232dcc;color:#eef1ea;border-radius:0;transition:background .16s,transform .16s,border-color .16s;overflow:hidden}
.menu-option:hover:not(:disabled){background:#223c48f0;border-color:#d6bf91;transform:translateX(4px)}
.menu-option-number{font:9px var(--mono);color:#99adb0;align-self:flex-start;margin-top:6px}
.menu-option strong{display:block;font-size:18px;line-height:1.15;font-weight:600;letter-spacing:.025em}
.menu-option small{display:block;margin-top:5px;font-size:10px;line-height:1.4;color:#9eb3b9}
.menu-arrow{font:30px/1 var(--sans);margin-left:auto;color:#bfcbca;align-self:center}
.menu-option.new-game{background:linear-gradient(90deg,#dec18adf,#d9b77fd9);border-color:#f5d49c;border-left-color:#fff2d0;color:#192831;box-shadow:0 3px 12px #0002}
.new-game small,.new-game .menu-option-number,.new-game .menu-arrow{color:#40504e}
.menu-option.new-game:hover{background:#efd19beF;border-color:#fff0c9}
.menu-option:disabled{opacity:.48;background:#12232b87}
.menu-option:disabled .menu-arrow{visibility:hidden}
.menu-save-note{font:9px/1.6 var(--mono);color:#b0c1c3;max-width:340px;margin:16px 0 0;letter-spacing:.015em}
.scene-caption{position:absolute;right:clamp(25px,4vw,75px);bottom:104px;display:flex;gap:13px;align-items:flex-start;max-width:300px;text-shadow:0 2px 12px #000}
.caption-line{width:32px;height:1px;background:#eac98c;margin-top:7px;flex-shrink:0}
.scene-caption .eyebrow{font-size:8px;letter-spacing:.15em}
.scene-caption p{font-size:14px;line-height:1.4;margin:7px 0 5px;color:#eef2e9}
.scene-caption small{font:9px var(--mono);color:#b0c5cb}
.title-footer{position:absolute;left:clamp(25px,5.1vw,96px);right:clamp(25px,4vw,75px);bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #c8dad62e;padding-top:13px;font:8px/1.4 var(--mono);letter-spacing:.075em;color:#a4b9be}
.title-footer b{font-weight:400;color:#bea779;margin:0 5px}
.title-footer>span:last-child{color:#9fb0b5;font-size:7px}
.menu-hidden{display:none!important}
.game-dialog{width:min(430px,calc(100vw - 35px));padding:29px;border:1px solid #69766b;border-top:2px solid var(--accent);background:#172830;color:#e7eeea;box-shadow:0 18px 65px #0009}
.game-dialog::backdrop{background:#07131bdc}
.game-dialog h2{font-size:24px;line-height:1.2;font-weight:600;margin:9px 0 13px}
.game-dialog p{font-size:12px;color:#b2c2c5}
.dialog-actions{display:flex;gap:9px;margin-top:24px}
.dialog-actions .button{flex:1;white-space:nowrap;padding:9px;font-size:10px;width:auto}
.toast{position:fixed;z-index:1500;left:50%;bottom:35px;max-width:calc(100% - 32px);transform:translate(-50%,10px);opacity:0;transition:opacity .18s,transform .18s;pointer-events:none;padding:11px 15px;background:#172c36;border:1px solid #91a697;border-left:3px solid var(--accent);color:#e7efea;box-shadow:0 7px 25px #0005;font-size:12px}
.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes scene-reveal{from{opacity:.5;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}
@media(min-width:1700px){.title-content{top:49%}.title-emblem{width:51px;height:51px;margin-bottom:28px}.game-menu{width:390px}.menu-option{min-height:75px}.menu-option strong{font-size:20px}.title-subtitle{margin-bottom:42px}}
@media(max-width:1100px){.phase-track{gap:16px}.game-header{padding:0 20px;gap:18px}.phase-track li{font-size:10px}.workspace{grid-template-columns:minmax(0,1fr) 290px}.assessment-content{padding:17px 16px 13px;gap:12px}.reservation-action{padding:11px 16px 13px}.metric-value{font-size:27px}.price-metric .metric-value{font-size:24px}.title-content{top:47%}.scene-caption{max-width:260px;bottom:90px}.game-menu{width:325px}}
@media(max-width:820px){.game-shell{height:auto;min-height:100dvh;grid-template-rows:auto 1fr 30px}.game-header{height:65px;padding:0 15px;gap:12px}.phase-track li:not(.current){display:none}.phase-track .current{white-space:nowrap}.brand strong{font-size:18px}.brand span{font-size:7px}.brand-mark{width:28px;height:28px}.menu-back{font-size:9px}.game-main{padding:0 12px}.mission-heading{padding:15px 0;gap:12px}.mission-number{font-size:34px;padding-right:12px}.mission-copy h1{font-size:23px}.mission-copy p{font-size:10px;max-width:390px}.mission-copy .eyebrow{font-size:8px}.badge{font-size:8px;padding:6px}.workspace{grid-template-columns:1fr}.mapstage,.real-map{height:53vh;min-height:340px}.assessment-panel{display:block;border-left:0;border-top:1px solid #40535b;overflow:visible}.assessment-content{display:grid;grid-template-columns:1fr 1fr;overflow:visible;padding:18px;gap:15px 22px}.panel-heading,.objectives,.action-row,.location,.reservation-action{grid-column:1/-1}.objectives{display:flex;gap:25px;justify-content:space-between}.objectives li{font-size:10px}.reservation-action{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;margin-top:3px}.price-note{margin:0}.scene-caption{display:none}.title-content{width:min(550px,75vw)}.title-shade{background:linear-gradient(90deg,#07151eeb,#0a1922b0 50%,#06131b30),linear-gradient(0deg,#07151cde,transparent 60%)}.title-lockup h1{font-size:88px}.title-subtitle{letter-spacing:.4em}}
@media(max-width:520px){.title-art{background-position:68% center}.title-content{left:25px;right:25px;top:47%;width:auto}.title-lockup h1{font-size:clamp(55px,16vw,80px);letter-spacing:.04em}.title-emblem{width:34px;height:34px;margin-bottom:15px}.title-kicker{font-size:8px;letter-spacing:.16em}.title-subtitle{font-size:8px;letter-spacing:.37em;margin:10px 0 27px}.game-menu{width:100%;max-width:330px}.menu-option{min-height:64px}.menu-option strong{font-size:17px}.menu-save-note{font-size:8px;max-width:300px}.title-topline{font-size:7px;top:22px;left:25px;right:25px;letter-spacing:.05em}.title-topline>span:last-child{font-size:6px;padding:3px 5px}.title-footer{bottom:20px;font-size:7px;left:25px;right:25px}.title-footer>span:last-child{display:none}.menu-back{font-size:0;gap:0;padding:7px 10px}.menu-back span{font-size:16px}.game-header{gap:10px}.phase-track{margin-left:auto}.phase-track li{font-size:9px}.mission-number{display:none}.mission-heading{flex-wrap:wrap;gap:9px;padding:15px 2px}.mission-copy{flex:1;min-width:220px}.mission-copy h1{font-size:24px}.mission-copy p{max-width:310px;line-height:1.4}.badge{margin-left:0;font-size:7px;padding:5px 7px}.game-main{padding:0 9px}.mapbox{padding:7px;gap:7px}.locate-button{font-size:0;padding:9px}.locate-button span{font-size:24px}.search-icon{width:28px}.search input{font-size:10px;padding-left:0}.search .button{padding:7px 9px}.mapstage,.real-map{min-height:325px;height:49vh}.map-coordinates{display:none}.survey-tag{font-size:7px;padding:5px 6px;top:11px}.map-hint{font-size:9px;padding:7px 9px;bottom:24px}.assessment-content{padding:16px 14px;gap:14px 16px}.objectives{flex-direction:column;gap:8px;padding:10px 0}.metric-value{font-size:25px}.price-metric .metric-value{font-size:21px}.metric-label{font-size:7px;letter-spacing:.025em}.metric-sub{font-size:8px}.reservation-action{grid-template-columns:1fr;gap:10px}.reserve-button{min-height:43px}.game-footer{padding:0 12px;font-size:7px}.game-dialog{padding:23px}.dialog-actions{flex-direction:column}}
@media(max-height:700px) and (min-width:821px){.title-emblem{width:30px;height:30px;margin-bottom:12px}.title-content{top:48%}.title-lockup h1{font-size:85px}.title-subtitle{margin-bottom:24px}.menu-option{min-height:59px;padding-top:10px;padding-bottom:10px}.scene-caption{bottom:85px}.title-topline{top:20px}.title-footer{bottom:18px}.game-shell{min-height:590px}.mission-heading{padding:11px 0}.mission-copy h1{font-size:22px}.game-shell{grid-template-rows:60px minmax(0,1fr) 26px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Reactor family selection follows the reserved site. */
[hidden]{display:none!important}
.phase-track .complete,.phase-track .complete b{color:#9cc9ad}
.phase-track .complete b:after{content:" ✓";font-size:8px}
.design-workspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px;border:1px solid #40535b;background:#15232a}
.technology-panel{min-width:0;overflow:auto;padding:22px;scrollbar-color:#556a70 transparent;scrollbar-width:thin}
.technology-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:17px}
.development-label{font:8px/1.4 var(--mono);color:#91a8ad;text-align:right;letter-spacing:.04em}
.technology-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.technology-card{position:relative;display:flex;flex-direction:column;text-align:left;min-width:0;padding:0;background:#1c2e36;border:1px solid #4b626c;border-radius:2px;color:var(--text);overflow:hidden;transition:border-color .16s,background .16s}
.technology-card:hover:not(:disabled){border-color:#b9d0c3;background:#233b43}
.technology-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px #e9bf7840}
.technology-card:disabled{cursor:not-allowed;opacity:.5;background:#19272e}
.technology-art{width:100%;height:170px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 55%,#34545e40,transparent 75%),#14232b;border-bottom:1px solid #3a515c}
.technology-art svg{width:100%;height:100%;max-width:390px}
.technology-card-copy{padding:17px 19px 16px;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.technology-tag{font:8px/1.5 var(--mono);color:#adcdb9;letter-spacing:.09em;border-left:2px solid currentColor;padding-left:6px}
.fusion-card .technology-tag{color:#9aaab2}
.technology-card h2{font:600 27px/1.1 var(--sans);margin:8px 0 8px;letter-spacing:-.03em}
.technology-card p{font:11px/1.55 var(--sans);color:#b2c3c6;margin:0 0 17px;max-width:300px}
.technology-selection{font:10px/1.5 var(--mono);color:#d9bd8b;margin-top:auto;padding-top:10px;border-top:1px solid #405760;width:100%;display:flex;justify-content:space-between}
.fusion-card .technology-selection{color:#a1b1b8}
.design-decision{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:20px;border-top:1px solid #3e5660;padding-top:19px}
.design-decision h3{font:600 16px/1.3 var(--sans);margin:6px 0;color:#e0ebe8}
.design-decision p{font-size:11px;line-height:1.55;color:#9fb5bd;margin:0;max-width:410px}
.design-decision .reserve-button{flex-shrink:0;width:205px;font-size:10px;gap:15px}
.design-decision.confirmed .eyebrow{color:#a5cdae}
.design-decision.confirmed .reserve-button{opacity:1;color:#c2dcc8;background:#294338;border-color:#577c64}
.design-site-summary{display:flex;flex-direction:column;gap:17px;min-height:0;overflow:auto;border-left:1px solid #40535b;padding:22px 20px;background:#1b2b33;scrollbar-color:#556a70 transparent;scrollbar-width:thin}
.design-site-summary .metric-value{font-size:27px}
.design-site-summary .price-metric .metric-value{font-size:24px}
.reserved-stamp{display:flex;gap:8px;align-items:center;color:#a4ccae;font:9px var(--mono);padding:10px;border:1px solid #4e7060;background:#29483a33;letter-spacing:.06em}
.reserved-stamp span{font-size:12px}
.design-site-summary .location{overflow-wrap:anywhere}
.back-to-site{margin-top:auto;background:transparent;justify-content:flex-start;font-size:10px}
@media(max-width:1100px){.design-workspace{grid-template-columns:minmax(0,1fr) 250px}.technology-panel{padding:18px}.technology-card-copy{padding:15px}.technology-art{height:155px}.design-decision{align-items:flex-start;gap:17px}.design-decision .reserve-button{width:185px}.design-site-summary{padding:19px 16px}.design-site-summary .price-metric .metric-value{font-size:22px}}
@media(max-width:900px){.design-decision{flex-direction:column;gap:14px}.design-decision .reserve-button{width:100%}.technology-heading{align-items:flex-start}.technology-heading .eyebrow{font-size:9px}.development-label{font-size:7px}.technology-card p{font-size:10px}}
@media(max-width:820px){.design-workspace{grid-template-columns:1fr}.technology-panel{overflow:visible;padding:18px}.technology-art{height:170px}.design-decision{flex-direction:row;align-items:center}.design-decision .reserve-button{width:205px}.design-site-summary{display:grid;grid-template-columns:1fr 1fr;overflow:visible;border-left:0;border-top:1px solid #40535b;padding:18px;gap:14px 20px}.design-site-summary .panel-heading,.reserved-stamp,.design-site-summary .location,.design-site-summary .price-note,.back-to-site{grid-column:1/-1}.design-site-summary .panel-heading p{max-width:400px}.back-to-site{margin-top:0}}
@media(max-width:520px){.technology-panel{padding:14px}.technology-heading{flex-direction:column;gap:4px;margin-bottom:13px}.development-label{text-align:left;font-size:7px}.technology-choices{grid-template-columns:1fr;gap:12px}.technology-art{height:150px}.technology-card-copy{padding:15px 16px}.technology-card h2{font-size:26px}.technology-card p{font-size:11px}.technology-card.fusion-card{flex-direction:row;align-items:stretch}.fusion-card .technology-art{width:105px;flex-shrink:0;height:auto;border-bottom:0;border-right:1px solid #3a515c}.fusion-card .technology-card-copy{padding:14px}.fusion-card h2{font-size:22px;margin:6px 0}.fusion-card p{font-size:10px;margin-bottom:11px}.fusion-card .technology-selection{font-size:8px;padding-top:7px}.technology-card .technology-selection{font-size:10px}.design-decision{flex-direction:column;align-items:stretch;gap:14px;margin-top:16px;padding-top:16px}.design-decision .reserve-button{width:100%}.design-decision h3{font-size:16px}.design-site-summary{padding:16px 14px;gap:14px 16px}.design-site-summary .metric-value{font-size:25px}.design-site-summary .price-metric .metric-value{font-size:21px}}

/* Cooling branches within the Fission design phase. */
.cooling-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #3b515b;padding-bottom:12px;margin-bottom:17px}
.cooling-breadcrumb>span{font:8px/1.4 var(--mono);letter-spacing:.08em;color:#a4b9bb}
.cooling-breadcrumb>span span{color:#d1b989;margin:0 8px}
.text-button{border:0;background:transparent;padding:3px 0;color:#c1d2d0;font:10px/1.5 var(--sans)}
.text-button:hover{color:var(--accent-bright)}
.cooling-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cooling-art{width:100%;height:145px;background:#14232b;border-bottom:1px solid #3a515c;display:grid;place-items:center}
.cooling-art svg{width:100%;height:100%;max-width:240px}
.cooling-card h2{font-size:21px;line-height:1.15;margin-top:9px;min-height:48px}
.cooling-card .technology-card-copy{padding:15px}
.cooling-card .technology-tag{font-size:7px}
.cooling-card .technology-selection{font-size:9px;letter-spacing:-.015em}
.cooling-card p{font-size:10px}
.cooling-card.selected .cooling-art{background:#1c323b}
.water-art{background:radial-gradient(ellipse at 50% 60%,#528b9d22,transparent 75%),#14232b}
.gas-art{background:radial-gradient(ellipse at 50% 60%,#789c7e22,transparent 75%),#14232b}
.sodium-art{background:radial-gradient(ellipse at 50% 60%,#ae945a22,transparent 75%),#14232b}
.project-design-summary{display:grid;gap:9px;padding:11px 0;border-top:1px solid #3c525b;border-bottom:1px solid #3c525b}
.project-design-summary>div{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.project-design-summary span{font:7px/1.6 var(--mono);letter-spacing:.04em;color:#9bafb6}
.project-design-summary strong{font:10px/1.4 var(--sans);color:#d2e1da;font-weight:500;text-align:right;max-width:135px}
@media(max-width:1100px){.cooling-choices{grid-template-columns:1fr;gap:10px}.cooling-card{flex-direction:row;align-items:stretch}.cooling-art{width:110px;height:auto;min-height:116px;flex-shrink:0;border-bottom:0;border-right:1px solid #3a515c}.cooling-card .technology-card-copy{padding:12px 15px}.cooling-card h2{font-size:20px;min-height:0;margin:7px 0 6px}.cooling-card p{margin-bottom:9px}.cooling-card .technology-selection{padding-top:7px}.cooling-card .technology-tag{font-size:7px}}
@media(max-width:820px){.cooling-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.cooling-card{flex-direction:column}.cooling-art{width:100%;height:130px;min-height:0;border-right:0;border-bottom:1px solid #3a515c}.cooling-card h2{min-height:46px}.cooling-card .technology-card-copy{padding:13px}.project-design-summary{grid-column:1/-1}}
@media(max-width:600px){.cooling-choices{grid-template-columns:1fr}.cooling-card{flex-direction:row}.cooling-art{width:90px;height:auto;min-height:120px;border-bottom:0;border-right:1px solid #3a515c}.cooling-card h2{min-height:0;font-size:21px}.cooling-card p{font-size:10px}.cooling-card .technology-card-copy{padding:13px}.cooling-breadcrumb{gap:9px;margin-bottom:14px}.cooling-breadcrumb>span{font-size:7px;letter-spacing:0}.cooling-breadcrumb>span span{margin:0 4px}.text-button{font-size:9px}}

/* Water reactor families and the BWR design branch. */
.reactor-code-art{position:relative;width:100%;height:130px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#42697830,transparent 75%),#14232b;border-bottom:1px solid #3a515c;overflow:hidden}
.reactor-code-art:before{content:"";position:absolute;width:89px;height:89px;border:1px solid #819da944;border-radius:50%;box-shadow:0 0 0 12px #8daab509}
.reactor-code-art:after{content:"";position:absolute;width:139px;height:1px;background:#88a7b02b;z-index:0}
.reactor-code-art span{position:relative;z-index:1;background:#172b34;padding:8px 12px;color:#b9d5d3;font:25px/1 var(--mono);letter-spacing:.06em}
.technology-card.selected .reactor-code-art span{color:var(--accent-bright)}
.bwr-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bwr-variant-card .reactor-code-art{height:145px}
.bwr-variant-card h2{font-size:27px}
@media(max-width:1100px){.reactor-type-choices .reactor-code-art{width:110px;height:auto;min-height:122px;flex-shrink:0;border-bottom:0;border-right:1px solid #3a515c}.reactor-type-choices .reactor-code-art span{font-size:20px;padding:7px}.reactor-type-choices .reactor-code-art:before{width:65px;height:65px}.reactor-type-choices .reactor-code-art:after{width:90px}.bwr-variant-card .reactor-code-art{height:140px}}
@media(max-width:820px){.reactor-type-choices .reactor-code-art{width:100%;height:130px;min-height:0;border-right:0;border-bottom:1px solid #3a515c}.reactor-type-choices .reactor-code-art span{font-size:24px}.reactor-type-choices .reactor-code-art:before{width:79px;height:79px}.reactor-type-choices .reactor-code-art:after{width:129px}}
@media(max-width:600px){.reactor-type-choices .reactor-code-art{width:90px;height:auto;min-height:127px;border-bottom:0;border-right:1px solid #3a515c}.reactor-type-choices .reactor-code-art span{font-size:18px;padding:7px}.reactor-type-choices .reactor-code-art:before{width:60px;height:60px}.reactor-type-choices .reactor-code-art:after{width:80px}.bwr-choices{grid-template-columns:1fr;gap:12px}.bwr-variant-card{flex-direction:row}.bwr-variant-card .reactor-code-art{width:100px;height:auto;min-height:158px;flex-shrink:0;border-bottom:0;border-right:1px solid #3a515c}.bwr-variant-card .reactor-code-art span{font-size:20px;padding:8px}.bwr-variant-card .reactor-code-art:before{width:70px;height:70px}.bwr-variant-card .reactor-code-art:after{width:95px}.bwr-variant-card .technology-card-copy{padding:15px}.bwr-variant-card p{font-size:11px}}

/* Setup first, then location, then the player's development site. */
.design-land-details{display:grid;gap:16px}
.setup-ready-note{margin:0;font-size:10px;line-height:1.55;padding:11px;border:1px solid #435660;background:#16272e;color:#9db2b9}
.setup-ready-note.ready{border-color:#587d69;background:#25483730;color:#bdd7bf}
.setup-finish-button{margin-top:auto;font-size:11px}
.setup-review-button{width:100%;margin:2px 0 9px;min-height:30px;font-size:9px;background:transparent;justify-content:flex-start}
.site-management-workspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 310px;border:1px solid #40535b;background:#13232a}
.plot-panel{min-width:0;min-height:0;display:grid;grid-template-rows:44px minmax(0,1fr) auto}
.plot-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #354f56;padding:0 15px}
.plot-toolbar>div{display:flex;align-items:center;gap:9px;font:9px var(--mono);color:#d1dfd9;letter-spacing:.07em}
.plot-view-label{font-size:7px;color:#809b9e;border-left:1px solid #4b666a;padding-left:9px}
.plot-toolbar .button{font-size:9px;min-height:28px;padding:5px 9px;background:transparent}
.plot-board-frame{position:relative;min-height:0;background:#14252b;overflow:hidden;display:flex;align-items:center;justify-content:center}
.plot-board{width:100%;height:100%;min-height:330px;display:block;outline-offset:-4px}
.plot-board.placing{cursor:crosshair}
.plot-north{position:absolute;top:15px;right:18px;display:grid;justify-items:center;color:#b5c8c3;font:22px/1 var(--sans);pointer-events:none}
.plot-north span{font:8px var(--mono);margin-top:4px}
.plot-empty-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(290px,70%);text-align:center;pointer-events:none;background:#13272cdc;border:1px solid #718c784d;padding:15px 17px}
.plot-empty-message strong{display:block;font-size:17px;font-weight:500;color:#d7e5d7;margin-bottom:7px}
.plot-empty-message span{display:block;font-size:10px;line-height:1.6;color:#a8c0b9}
.plot-footer{padding:10px 13px;border-top:1px solid #354f56;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#b0c6c4}
.plot-footer>span:last-child{color:#76969a;font:8px/1.5 var(--mono);max-width:150px;text-align:right;flex-shrink:0}
.site-control-panel{min-height:0;overflow:auto;padding:18px;border-left:1px solid #40535b;background:#1c2d34;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:#556c6c transparent}
.site-control-panel .panel-heading h2{font:25px var(--mono);letter-spacing:-.05em;margin:8px 0}
.site-control-panel .panel-heading p{overflow-wrap:anywhere;font-size:10px}
.site-summary-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #3c535a;border-bottom:1px solid #3c535a;padding:12px 0}
.site-summary-strip>div{display:grid;gap:5px}
.site-summary-strip span{font:7px/1.4 var(--mono);letter-spacing:.03em;color:#97b0b5}
.site-summary-strip strong{font:16px var(--sans);font-weight:500;color:#d9e5db}
.planning-header p{font-size:10px;color:#9eb5ba;margin:5px 0 -5px}
.building-catalog{display:grid;gap:7px}
.building-option{display:flex;align-items:center;gap:10px;background:#213840;border:1px solid #4a646c;padding:10px;text-align:left;color:#cfdfd9;border-radius:2px;transition:border-color .15s,background .15s}
.building-option:hover{border-color:#9ebaa6;background:#29454b}
.building-option.selected{border-color:#e9bf78;background:#364d47}
.building-code{display:grid;place-items:center;width:31px;height:30px;border:1px solid #78968f;color:#d6c799;font:10px var(--mono);flex-shrink:0}
.building-option strong{font-size:11px;font-weight:600;display:block}
.building-option small{display:block;font-size:8px;color:#91afb0;margin-top:3px}
.building-option>span:last-child{margin-left:auto;color:#d6bc88}
.planned-buildings{border-top:1px solid #3d565c;padding-top:12px}
#buildingList{display:grid;gap:5px;margin-top:9px}
.empty-plan-note{font-size:10px;line-height:1.5;color:#91abaa;margin:0}
.plan-list-item{background:transparent;border:1px solid #3b575f;color:#b7cfca;padding:8px 9px;font-size:10px;text-align:left}
.plan-list-item:hover,.plan-list-item.selected{border-color:#c8b47f;color:#f1dfb6}
.building-inspector{padding:12px;border:1px solid #7b8265;background:#293f3d}
.building-inspector h3{font-size:14px;margin:7px 0;color:#e7e5c7}
.building-inspector p{font-size:9px;line-height:1.5;color:#aec2b8;margin:0 0 10px}
.building-inspector .button{font-size:9px;min-height:29px;background:#283c3d}
.site-review-actions{display:grid;gap:7px;margin-top:auto}
.site-review-actions .button{font-size:9px;min-height:32px;background:transparent}
.building-foundation{fill:#1b3039;stroke:#a5beb1;stroke-width:1.5}
.building-roof{fill:#45665c;stroke:#799587;stroke-width:1}
.building-detail{fill:none;stroke:#b9cdb8;stroke-width:1.2}
.building-map-label{font:11px var(--mono);fill:#dbe3c2;paint-order:stroke;stroke:#15272c;stroke-width:3;stroke-linejoin:round}
.plot-building{cursor:pointer;outline:none}
.plot-building:hover .building-foundation,.plot-building.selected .building-foundation,.plot-building:focus .building-foundation{stroke:#f1d399;stroke-width:3}
.plot-building.selected .building-roof{fill:#678574}
.building-ghost{pointer-events:none;opacity:.75}
.building-ghost[data-valid="true"] .building-foundation{fill:#38654c;stroke:#b6dfb2;stroke-dasharray:4 3}
.building-ghost[data-valid="false"] .building-foundation{fill:#633d3b;stroke:#e4a399;stroke-dasharray:4 3}
@media(max-width:1100px){.site-management-workspace{grid-template-columns:minmax(0,1fr) 285px}.site-control-panel{padding:16px;gap:14px}.plot-footer{gap:10px}}
@media(max-width:820px){.site-management-workspace{grid-template-columns:1fr}.plot-panel{min-height:430px;grid-template-rows:42px minmax(330px,1fr) auto}.plot-board-frame{min-height:330px}.plot-board{height:430px;min-height:330px}.site-control-panel{border-left:0;border-top:1px solid #40535b;overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:16px}.site-control-panel .panel-heading,.site-summary-strip,.planning-header,.building-catalog,.planned-buildings,.building-inspector,.site-review-actions{grid-column:1/-1}.building-catalog{grid-template-columns:1fr 1fr}.site-review-actions{grid-template-columns:1fr 1fr}.setup-ready-note,.setup-finish-button,.design-land-details{grid-column:1/-1}.setup-finish-button{margin-top:0}.design-land-details{grid-template-columns:1fr 1fr}.design-land-details .location,.design-land-details .price-note{grid-column:1/-1}.reservation-action .setup-review-button{grid-column:1/-1;margin:0}.reservation-action .price-note{grid-column:1/-1}}
@media(max-width:520px){.plot-board{height:370px;min-height:300px}.plot-panel{min-height:400px;grid-template-rows:40px minmax(300px,1fr) auto}.plot-board-frame{min-height:300px}.plot-toolbar{padding:0 10px}.plot-toolbar>div{font-size:8px;gap:7px}.plot-view-label{font-size:6px}.plot-empty-message{padding:11px 13px;width:245px}.plot-empty-message strong{font-size:15px}.plot-empty-message span{font-size:9px}.plot-footer{flex-direction:column;gap:5px;font-size:9px;padding:9px 10px}.plot-footer>span:last-child{max-width:none;text-align:left;font-size:7px}.plot-north{right:12px;top:12px;font-size:18px}.site-control-panel{padding:15px 13px}.building-catalog{grid-template-columns:1fr}.building-option{padding:11px}.building-option strong{font-size:12px}.building-option small{font-size:9px}.site-review-actions{grid-template-columns:1fr}.setup-review-button{font-size:9px}.design-land-details{gap:13px}}
.plot-board:focus{outline:none}
.plot-board:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
@media(max-width:520px){.building-map-label{font-size:19px;stroke-width:4}}

/* Geographic site layout: tiles, boundary and building overlays share one map. */
.site-layout-map{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:#18313d}
.site-layout-map.placing,.site-layout-map.placing.leaflet-grab{cursor:crosshair}
.site-layout-map:focus{outline:none}
.site-layout-map:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.plot-map-actions{display:flex;align-items:center;gap:7px}
.plot-empty-message{left:13px;bottom:28px;top:auto;transform:none;text-align:left;width:285px;max-width:calc(100% - 26px);z-index:500;background:#142931e8}
.plot-north{z-index:500;top:15px;right:17px;background:#132832d9;padding:7px;border:1px solid #73908a55}
.building-map-tooltip{background:#142a33ed;border:1px solid #91ab9b99;border-radius:2px;box-shadow:0 2px 7px #0003;color:#dce7d4;font:9px/1.2 var(--mono);padding:3px 5px;white-space:nowrap}
.building-map-tooltip:before{display:none}
.site-layout-map .leaflet-interactive:focus{outline:none;stroke:#f1d399;stroke-width:3}
@media(max-width:520px){.plot-map-actions{gap:5px}.plot-toolbar .button{font-size:8px;padding:5px 7px}.plot-empty-message{left:10px;bottom:25px;width:240px;max-width:calc(100% - 20px);padding:9px 10px}.plot-empty-message strong{font-size:13px}.plot-empty-message span{font-size:8px}.plot-north{right:11px;top:11px;font-size:17px}.building-map-tooltip{font-size:8px}}

/* Plant equipment catalogue and schematic pipe routing. */
.site-management-workspace{grid-template-columns:minmax(0,1fr) 345px}
#plannerVariant{float:right;color:#edc887;border:1px solid #738478;padding:2px 5px;font:9px var(--mono)}
.planner-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.planner-tools .button{background:#172c34;min-height:35px;font:11px var(--mono)}
.planner-tools .button.selected{background:#40594e;color:#f5dfb3;border-color:#d2b77e}
.catalog-categories{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}
.catalog-categories button{background:#152b33;border:1px solid #435d66;padding:7px 8px;color:#b0c6c4;font:9px var(--mono);border-radius:2px;text-align:left;flex:1 1 45%;min-height:31px}
.catalog-categories button.selected{background:#3c5148;border-color:#beab78;color:#f2d9a2}
.catalog-categories button:hover{border-color:#b8c5ad}
.category-description{font-size:10px;line-height:1.55;color:#a9bfbe;margin:12px 0}
.building-catalog{grid-template-columns:1fr}
.building-option strong{font-size:12px}.building-option small{font-size:9px;line-height:1.4}
.building-code{width:36px;height:33px}
.pipe-controls{border:1px solid #668c8a;background:#163239;padding:12px;display:grid;gap:10px}
.pipe-controls label{font:9px var(--mono);color:#a8c7c4}
.pipe-controls select{width:100%;background:#203c44;color:#eadbb9;border:1px solid #698d8a;border-radius:2px;padding:9px 8px;font:12px var(--sans)}
.pipe-controls p{font-size:11px;line-height:1.6;margin:0;color:#c5d7ce}
.pipe-controls p.routing-note,.routing-note{font-size:9px;line-height:1.5;color:#91b1b1;margin:0}
.route-actions{display:flex;gap:6px}.route-actions .button{font-size:9px;min-height:30px;padding:6px 9px;flex:1;background:#203c44}
.equipment-ports{display:grid;gap:5px;margin:9px 0 12px}
.equipment-port{position:relative;text-align:left;background:#173039;color:#d6e2d9;border:1px solid #566d70;border-left:4px solid var(--pipe-color);border-radius:2px;padding:8px;font:10px/1.4 var(--mono);min-height:32px}
.equipment-port:hover,.equipment-port.route-start{border-color:var(--pipe-color);background:#314d4c}
.equipment-port:disabled{opacity:.5;cursor:default}
.building-inspector{scroll-margin:15px}
.building-inspector p{font-size:10px;line-height:1.6}
.building-inspector .routing-note{font-size:9px;color:#9bb6b1}
.plant-guide,.planned-buildings{font-size:11px;color:#c5d8cf;line-height:1.65;border-top:1px solid #496165;padding-top:10px}
.plant-guide summary,.planned-buildings summary{font:10px var(--mono);cursor:pointer;padding:5px 0;color:#e2d6b5}
.plant-guide p{font-size:10px;color:#a9c2be;margin:12px 0}.plant-guide strong{color:#e7cf9e;font-weight:500}.plant-guide a{color:#b7d7c4}
#buildingList,#pipeList{display:grid;gap:5px;margin-top:8px}
.pipe-list-item{border-left:3px solid var(--pipe-color)}
.equipment-map-port{cursor:crosshair}.equipment-map-port:focus{stroke:#fff6d7;stroke-width:4}
.site-layout-map .pipe-route-hit:focus{outline:none;stroke:#fff1ca;stroke-width:10;stroke-opacity:.5}
@media(max-width:1100px){.site-management-workspace{grid-template-columns:minmax(0,1fr) 310px}.site-control-panel{padding:15px}}
@media(max-width:820px){.site-management-workspace{grid-template-columns:1fr}.site-control-panel{display:flex}.site-layout-map{min-height:330px}.planner-tools{flex-shrink:0}#catalogPanel{width:100%}.catalog-categories button{flex:1 1 25%}.building-catalog{grid-template-columns:1fr 1fr}.plot-panel{min-height:510px;grid-template-rows:44px minmax(380px,1fr) auto}.pipe-controls{width:100%;box-sizing:border-box}}
@media(max-width:520px){.catalog-categories button{flex:1 1 42%;min-height:36px}.building-catalog{grid-template-columns:1fr}.plot-toolbar .plot-view-label{display:none}.plot-panel{min-height:440px;grid-template-rows:40px minmax(330px,1fr) auto}.plot-empty-message{max-width:235px}.equipment-port{min-height:40px}.pipe-controls select{font-size:14px}.site-control-panel{gap:14px}}

/* In-game teaching and valid connection targets. */
.tutorial-card{background:linear-gradient(120deg,#29433f,#20373e);border:1px solid #879477;padding:12px;display:grid;gap:9px;flex-shrink:0}
.tutorial-card .eyebrow{font-size:8px;color:#e5c68f}.tutorial-card p{font-size:10px;line-height:1.6;color:#c5d5c8;margin:5px 0 0}.tutorial-card .button{min-height:32px;font-size:11px;background:#3a5148;border-color:#bba979;color:#f6db9e}
.placement-tip{padding:10px;border-left:2px solid #d6b673;background:#293e3e;color:#c9d9ca;font-size:11px;line-height:1.65}
.port-help-row{display:grid;gap:4px}.port-help-row small{font-size:9px;line-height:1.6;color:#afc6bd;padding:0 3px 5px}.equipment-port.valid-target{background:#304d38;border-color:#afdc9d;color:#e4f7db}.equipment-port:disabled{opacity:.55}
.connection-assistant:empty{display:none}.connection-assistant{display:grid;gap:7px;padding:10px;border:1px solid #93b88e;background:#294135}.connection-assistant strong{font:9px var(--mono);color:#c2e8ad}.connection-assistant p{font-size:10px}.connection-assistant .target-option{white-space:normal;text-align:left;justify-content:flex-start;font-size:10px;background:#304c3b;border-color:#91b588;line-height:1.6}
.port-map-tooltip{max-width:285px;white-space:normal;font:11px/1.5 var(--sans);background:#193139;color:#e4e9d2;border:1px solid #a0b396}.valid-map-target{filter:drop-shadow(0 0 4px #ade89c)}
.pipe-review{padding:10px;background:#4c3e2f;border:1px solid #b99967;font-size:11px;color:#f1d5a3}.pipe-review p{font-size:10px;line-height:1.6}.review-route{border-top:1px solid #987e57;padding:8px 0;display:grid;gap:6px}.review-route p{margin:0}.review-route small{font-size:10px;line-height:1.5;color:#d1c5b0}.review-route .button{font-size:10px;min-height:30px}
.tutorial-dialog{width:min(780px,calc(100vw - 36px));max-height:calc(100dvh - 44px);padding:25px;border:1px solid #829488;border-radius:4px;background:#192c33;color:#e1e9df;box-shadow:0 25px 100px #0009;overflow:auto;scrollbar-width:thin;scrollbar-color:#728b83 #17262b}
.tutorial-dialog::backdrop{background:#071316cc;backdrop-filter:blur(3px)}.tutorial-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.tutorial-header h2{font:26px/1.2 var(--sans);font-weight:500;margin:8px 0 15px;color:#f1ddac}.tutorial-header .eyebrow{font-size:9px}.tutorial-header .button{font-size:10px;min-height:31px;white-space:nowrap;background:#243c43}
.tutorial-tabs{display:flex;gap:7px;border-bottom:1px solid #4b6266;padding-bottom:15px}.tutorial-tabs .button{background:#233b43;font-size:11px;min-height:35px}.tutorial-tabs .selected{border-color:#c3b47c;background:#46584b;color:#f8e1ae}
.lesson-picker{display:flex;gap:8px;margin:18px 0}.lesson-picker button{flex:1;background:#223b43;color:#aec4bf;border:1px solid #4f686b;padding:7px;font:11px var(--mono)}.lesson-picker button.selected{border-color:#d5bb81;background:#4a5a49;color:#f3ddab}
.lesson-copy{font-size:14px;line-height:1.85;color:#d0dfd4;margin:16px 0}.lesson-flow{list-style:none;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:9px;align-items:center}.lesson-flow li{background:#2c464a;border:1px solid #7c9282;color:#e3d6ad;padding:9px 11px;font:11px/1.4 var(--mono)}.lesson-flow li+li:before{content:'→';margin-left:-21px;padding-right:13px;color:#e5c580}.lesson-flow li+li{margin-left:12px}
.lesson-tip{border-left:3px solid #c8b27a;background:#30433d;padding:13px 15px}.lesson-tip strong{font:9px var(--mono);letter-spacing:.07em;color:#ebcc8a}.lesson-tip p{font-size:12px;line-height:1.8;color:#c9d8c8;margin:7px 0 0}.lesson-checklist{padding:16px 0}.lesson-checklist h3{font-size:13px;font-weight:500;color:#e0dbc0;margin:0 0 10px}.lesson-checklist ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.lesson-checklist li{display:flex;gap:9px;font-size:12px;line-height:1.7;color:#a6bcb9}.lesson-checklist li>span:first-child{color:#beae84}.lesson-checklist li.complete,.lesson-checklist li.complete>span:first-child{color:#b8df9b}.lesson-checklist small{display:block;font-size:10px;color:#8fa9a9;margin-top:12px}.lesson-actions{display:flex;justify-content:space-between;gap:10px}.lesson-actions .button{font-size:11px;min-height:35px}.tutorial-footer{border-top:1px solid #425c60;padding-top:13px;margin-top:20px;font-size:10px;color:#8faaac;line-height:1.6}
.handbook-search{display:grid;gap:7px;font-size:11px;color:#b3c9be;margin-top:18px}.handbook-search input{background:#10272f;color:#e1eadc;border:1px solid #6f8a86;padding:10px;min-width:0}.handbook-intro{font-size:12px;line-height:1.7;color:#afc4bd}.handbook-entry{border:1px solid #4d696c;margin-top:9px;background:#21373e;padding:11px 13px}.handbook-entry summary{cursor:pointer;font:12px/1.6 var(--mono);color:#e7d3a2}.handbook-entry p{font-size:12px;line-height:1.8;color:#bbd0c6}.handbook-port{border-left:3px solid var(--pipe-color);padding:5px 10px}.handbook-port strong{font:10px var(--mono);color:#e1dfc5;display:block;margin-bottom:4px}.handbook-port span{font-size:11px}.handbook-entry .button{font-size:11px;min-height:32px}
@media(max-width:520px){.tutorial-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:17px 13px}.tutorial-header h2{font-size:21px}.tutorial-header .eyebrow{font-size:8px}.tutorial-tabs .button{flex:1;font-size:10px;padding:8px}.lesson-picker{gap:6px}.lesson-picker button{min-height:36px}.lesson-copy{font-size:13px}.lesson-flow{gap:8px}.lesson-flow li{font-size:10px;padding:8px}.lesson-flow li+li{margin-left:9px}.lesson-flow li+li:before{margin-left:-16px;padding-right:9px}.lesson-actions{flex-wrap:wrap}.lesson-actions .button{flex:1;min-height:38px;white-space:nowrap;font-size:10px}.lesson-actions #tryLesson{order:3;flex:1 1 100%}.lesson-checklist li{font-size:11px}.equipment-port{font-size:10px}}

.lesson-actions .button{width:auto;flex:1;white-space:nowrap}.lesson-actions #tryLesson{flex:1.5}
@media(max-width:520px){.lesson-actions #tryLesson{flex:1 1 100%}}

.system-diagram{position:absolute;right:12px;top:12px;z-index:510;width:min(570px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#718e84 #162c33;background:#172e35f5;border:1px solid #8c9d86;box-shadow:0 8px 26px #0006;padding:14px;backdrop-filter:blur(5px)}
.system-diagram header{display:flex;align-items:center;justify-content:space-between;gap:12px}.system-diagram .eyebrow{font-size:8px;color:#b2ba9b}.system-diagram h3{font:17px var(--sans);font-weight:500;color:#ebd4a3;margin:5px 0 10px}.system-diagram header .button{min-height:29px;min-width:29px;background:transparent;padding:3px 8px;font-size:18px}.diagram-mode-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font:9px var(--mono);color:#b8c9bd;border-top:1px solid #405c60;padding-top:10px}.diagram-mode-label select{font:10px var(--sans);background:#263f46;border:1px solid #69817d;color:#dbdec5;padding:5px;max-width:60%}.diagram-row{border-bottom:1px solid #3a565a;padding:12px 0}.diagram-row h4{font:9px var(--mono);font-weight:400;color:#9bb7b3;margin:0 0 9px;text-transform:uppercase;letter-spacing:.04em}.diagram-chain{display:flex;align-items:center;gap:4px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin;scrollbar-color:#617c72 #21353d}.diagram-node{border:1px dashed #627a7d;background:#203840;color:#a2b9b8;flex:1 0 58px;min-width:0;padding:7px 5px;min-height:49px;font:9px/1.4 var(--sans);text-align:center}.diagram-node.placed{border:1px solid #a1b88e;background:#314b44;color:#e1e4c2}.diagram-node:hover{border-color:#ebce8e;color:#f3dea7}.diagram-node span{display:block}.diagram-node small{display:block;color:#9db5aa;font:7px var(--mono);margin-top:4px}.diagram-arrow{font:17px var(--mono);color:#81979a;border-bottom:1px dashed #81979a;flex-shrink:0}.diagram-arrow.connected{color:#b1df9c;border-bottom:2px solid #b1df9c}.diagram-legend{font:9px/1.7 var(--sans);color:#9fb6af;margin:10px 0 0}.diagram-legend>span{color:#b1df9c;margin-right:4px}
@media(max-width:520px){.system-diagram{top:8px;right:8px;width:calc(100% - 16px);max-height:calc(100% - 16px);padding:11px}.system-diagram h3{font-size:15px}.diagram-node{flex-basis:62px}.diagram-chain{padding-bottom:8px}.diagram-mode-label{font-size:8px}.plot-toolbar .plot-map-actions{gap:4px}.plot-toolbar .button{font-size:8px;padding:5px 6px}.plot-toolbar .plot-view-label{display:none}}

/* Keep the four reference chains visible together on a desktop map. */
.system-diagram{padding:10px 13px}.system-diagram h3{font-size:16px;margin:3px 0 6px}.system-diagram .eyebrow{font-size:7px}.diagram-mode-label{padding-top:6px}.diagram-mode-label select{padding:4px;font-size:9px}.diagram-row{padding:6px 0}.diagram-row h4{font-size:8px;margin-bottom:4px}.diagram-chain{padding-bottom:2px}.diagram-node{padding:4px 3px;min-height:36px;font-size:9px;line-height:1.3}.diagram-node small{margin-top:3px}.diagram-legend{font-size:8px;margin-top:7px}
@media(max-width:520px){.diagram-node{flex-basis:64px;font-size:9px}.diagram-chain{padding-bottom:6px}.diagram-row{padding:8px 0}.system-diagram{padding:11px}}

.system-diagram{z-index:1100}

/* Construction review, shared turbine/condenser housing and completed buildings. */
.construction-card{display:grid;gap:9px;padding:13px;background:#223b3e;border:1px solid #9a9f7c;flex-shrink:0}.construction-card .eyebrow{font-size:8px;color:#e4c98f}.construction-card p{font-size:11px;line-height:1.65;color:#bfd1c4;margin:0}.construction-card .button{font-size:11px;min-height:34px;width:auto}.construction-card #returnToPlanning{background:#2a4245;font-size:10px}.component-state{padding:7px;border-left:2px solid #b3c192;background:#223b3b;color:#c7d6ba!important}.hosted-components{display:grid;gap:5px}.hosted-components .button{white-space:normal;line-height:1.6;font-size:10px}
.condenser-housing{padding:11px;background:#203d45;border:1px solid #6f9c9d;display:grid;gap:8px;margin:10px 0}.condenser-housing>strong{font:9px var(--mono);color:#b7d8ca}.condenser-housing p{font-size:10px;line-height:1.7;margin:0;color:#bfd1c5}.condenser-housing .button{font-size:10px;line-height:1.5;min-height:31px;white-space:normal;background:#314d4e}
.review-summary{padding:13px;background:#473d32;border:1px solid #ac936f;color:#f1d9aa;font-size:13px;line-height:1.8}.review-summary.ready{background:#2b4838;border-color:#94b383;color:#d6ecc6}.review-checks{display:grid;gap:9px;margin:17px 0}.review-check{padding:11px 13px;border:1px solid #6a7163;background:#233b3d}.review-check summary{cursor:pointer;font-size:12px;line-height:1.6}.review-check.passed summary{color:#b8d6a1}.review-check.failed summary{color:#eac095}.review-check ul{padding-left:19px;margin:9px 0 0}.review-check li,.review-check p{font-size:11px;line-height:1.8;color:#bbccc0;margin:5px 0}.review-scope{border-top:1px solid #4f6868;padding-top:10px;margin-top:18px}.review-scope h3{font-size:12px;color:#dfcca1}.review-scope p,.review-scope li{font-size:11px;line-height:1.8;color:#a9c1b9}.review-scope ul{padding-left:20px}.review-scope a{color:#d5c38e}.review-dialog #confirmBuild{width:100%;font-size:12px;margin-top:14px;min-height:40px}.constructed-building{display:block;filter:drop-shadow(1px 2px 1px #08192388)}.constructed-building.selected{filter:drop-shadow(0 0 3px #eacf8a)}
#toggleEquipmentView[aria-pressed="true"]{border-color:#94c4ba;background:#304c4e;color:#dbebce}.plot-toolbar .plot-view-label{display:none}
@media(max-width:520px){.construction-card p{font-size:11px}.review-check summary{font-size:12px}.review-summary{font-size:12px}.plot-map-actions .button{font-size:8px;white-space:nowrap}.plot-toolbar{gap:6px}.plot-toolbar>div{gap:5px;font-size:7px}}

/* Click a map building to edit the plan in place. */
.building-actions-popup .leaflet-popup-content-wrapper,.building-actions-popup .leaflet-popup-tip{background:#1c343c;color:#d9e4d5;box-shadow:0 5px 18px #09182088}.building-actions-popup .leaflet-popup-content-wrapper{border:1px solid #a4aa82;border-radius:3px}.building-actions-popup .leaflet-popup-content{margin:14px 16px;width:auto!important}.building-actions-popup .leaflet-popup-close-button{color:#d9d8b7!important;font-size:20px!important;right:5px!important;top:4px!important}.map-building-actions>strong{display:block;font:13px/1.5 var(--sans);font-weight:600;color:#ebd5a6;padding-right:12px}.map-building-actions>p{font:11px/1.6 var(--sans);color:#b6cbc2;margin:7px 0 11px}.map-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.map-action-buttons .button{font:10px/1.5 var(--sans);min-height:34px;background:#36554e;border-color:#94b08b;color:#e1eacf;padding:6px 9px;white-space:nowrap;justify-content:center}.map-action-buttons .delete-action{background:#513e39;border-color:#b18b77;color:#f0c9b2}.map-building-actions>small{display:block;margin-top:10px;font:9px/1.6 var(--sans);color:#a1bbb3}#moveBuilding{margin-bottom:7px}.building-actions-popup{z-index:1200}.site-layout-map .leaflet-popup-pane{z-index:1150}
@media(max-width:520px){.map-action-buttons .button{min-height:40px;font-size:11px}.map-building-actions>p{font-size:12px}.map-building-actions>small{font-size:10px}}

.outline-building-tool{grid-column:1/-1}.outline-building-tool[aria-pressed="true"]{border-color:#e3c58a;background:#4e5c48;color:#f5dca6}.constructed-structure{filter:drop-shadow(2px 3px 2px #08192388)}.structure-name-label{display:grid;gap:6px;font-size:10px;color:#bccfc0;margin-bottom:9px}.structure-name-label input{min-width:0;width:100%;background:#162f37;border:1px solid #708e85;color:#e0e8d5;padding:8px}.structure-actions{display:grid;gap:6px;margin-top:9px}.structure-actions .button{white-space:normal;text-align:left;justify-content:flex-start}.site-layout-map .leaflet-draw-tooltip{z-index:1200}

.rbmk-reference{border:1px solid #607f7b;background:#203c40;padding:10px;margin-top:10px;color:#c2cec0;font:11px/1.5 var(--sans)}
.rbmk-reference strong{color:#efce91;font:10px var(--mono)}
.rbmk-reference p{margin:7px 0}.rbmk-reference a{color:#c8dcae}

.system-diagram{width:min(880px,calc(100% - 24px))}
.schematic-image{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#7f9a87 #142a31}
.plant-schematic{display:block;width:100%;min-width:640px;height:auto;margin:8px 0}
.schematic-help{font:11px/1.5 var(--sans);color:#bccbbb;margin:10px 0}
.schematic-equipment[role=button],.schematic-route[role=button]{cursor:pointer}
.schematic-equipment:focus-visible>rect{stroke:#fff0b9;stroke-width:4}
.schematic-equipment:hover>rect{stroke:#fff0b9;stroke-width:3}
.schematic-route:focus-visible path,.schematic-route:hover path{filter:brightness(1.4)}
.schematic-next{margin-top:8px;min-height:38px;color:#f2d292;border-color:#a69265}
@media(max-width:520px){.system-diagram{width:calc(100% - 16px)}}

.system-diagram{position:fixed;top:82px;right:24px;width:min(1050px,calc(100% - 48px));max-height:calc(100vh - 106px);z-index:1600;box-shadow:0 12px 60px #000b;padding:16px}
.system-diagram .diagram-mode-label{display:inline-flex;width:49%;padding:8px 10px 0 0;box-sizing:border-box}
.system-diagram .diagram-mode-label select{min-height:30px}
.system-diagram .schematic-next{margin:0 0 8px}
.rbmk-reference summary{cursor:pointer;color:#efce91}
@media(max-width:600px){.system-diagram{top:12px;right:8px;width:calc(100% - 16px);max-height:calc(100vh - 24px);padding:12px}.system-diagram .diagram-mode-label{display:flex;width:100%;font-size:10px}.schematic-help{font-size:12px}}

.physics-summary-card{border:1px solid #607f79;background:#20383d;padding:13px;margin:14px 0}.physics-summary-card>.button{width:100%;margin-top:8px}
.health-summary{display:flex;justify-content:space-between;gap:12px;font:11px/1.5 var(--sans);margin:8px 0}.health-summary strong{font-weight:500;text-align:right}.health-summary.good strong{color:#b0d8a0}.health-summary.limited strong{color:#ebc37e}.health-summary.bad strong{color:#eea18c}.health-summary.pending strong{color:#b0bdb9}
.physics-dialog{width:min(1050px,calc(100% - 32px));max-width:none;color:#dce4d1}.physics-intro{font:14px/1.6 var(--sans);color:#bacbc1}
.physics-scenario,.physics-height-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.physics-dialog label,.hydraulic-field{display:flex;flex-direction:column;gap:7px;font:12px/1.5 var(--sans);color:#c7d4c7}
.physics-dialog input,.physics-dialog select,.hydraulic-field select{background:#1e373e;border:1px solid #6a8680;color:#e6e8d4;min-height:38px;padding:7px;width:100%;box-sizing:border-box}
.physics-dialog input[type=range]{accent-color:#d5bc84;padding:0}.physics-dialog label strong{color:#edcc8f}
.physics-assumptions{border:1px solid #486966;padding:12px;margin-bottom:18px}.physics-assumptions summary{cursor:pointer;color:#e0c490;font:12px var(--mono)}.physics-assumptions p{font:12px/1.6 var(--sans);color:#b8c9bc}.physics-assumptions a{color:#d8dbb3}
.physics-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.flow-card{border:1px solid #78918b;background:#1d363c;padding:16px}.flow-card.good{border-color:#95b78d}.flow-card.limited{border-color:#d0ad6d}.flow-card.bad{border-color:#c88e79}.flow-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.flow-card h3{font:17px var(--sans);margin:0;color:#e7dfbd}.flow-status{font:10px/1.4 var(--mono);padding:4px;border:1px solid currentColor;white-space:nowrap;color:#b9c9bc}.good .flow-status{color:#b0d8a0}.limited .flow-status{color:#ebc37e}.bad .flow-status{color:#eea18c}
.flow-reason{font:14px/1.6 var(--sans);min-height:45px}.flow-detail,.flow-card li{font:12px/1.6 var(--sans);color:#b9cebf}.flow-card ul{padding-left:17px}.flow-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.flow-metrics span{display:block;color:#afc3b9;font:10px var(--mono)}.flow-metrics strong{display:block;color:#e7dec0;font:24px var(--sans);margin-top:6px}.flow-card meter{width:100%;height:12px;accent-color:#afcd91}
.flow-actions{display:flex;gap:8px;flex-wrap:wrap}.flow-actions .button{min-height:36px}.physics-total{font:12px/1.6 var(--sans);color:#cccfb6}.hydraulic-settings{padding:10px 0;border-top:1px solid #4a6967}.hydraulic-settings h4{font:12px var(--mono);color:#e8cc92}.hydraulic-field{margin:12px 0}.hydraulic-field select{font:12px var(--sans)}.review-flow{border:1px solid #61796c;padding:12px;margin:14px 0}.review-flow p{font:12px/1.6 var(--sans)}.schematic-equipment.flow-bad>rect{stroke:#ef9e87;stroke-width:3}.schematic-equipment.flow-limited>rect{stroke:#efc782;stroke-width:3}
@media(max-width:700px){.physics-scenario,.physics-height-grid{grid-template-columns:1fr 1fr}.physics-results{grid-template-columns:1fr}.physics-dialog{width:calc(100% - 20px);padding:15px}.flow-card header{flex-direction:column;gap:8px}}
@media(max-width:420px){.physics-scenario,.physics-height-grid{grid-template-columns:1fr}}

.planner-tools #outlineRoom,.planner-tools #drawCorridor,.planner-tools #drawBridge{white-space:normal}.planner-tools #drawBridge{grid-column:1/-1}
.structure-name-label select{background:#19333c;border:1px solid #708e85;padding:8px;color:#e0e8d5}
.internal-equipment .building-foundation,.internal-equipment .building-roof{fill-opacity:.08;stroke-opacity:.22}.internal-equipment .building-detail{stroke:#d7e3d3;fill-opacity:.6}
.facility-dashboard{position:fixed;z-index:700;left:26px;top:94px;bottom:44px;width:400px;max-width:calc(100vw - 52px);overflow-y:auto;background:linear-gradient(150deg,#203b41f5,#152b33f7);border:1px solid #9d9e7d;box-shadow:0 16px 55px #05121999;padding:22px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#78927c #19323b}
.facility-dashboard h1{font:30px/1.15 var(--sans);color:#e4cf9d;margin:12px 0}.facility-dashboard header>p{font:11px/1.6 var(--mono);color:#b6c7b7}.facility-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:22px 0}.facility-tabs .button{min-height:42px;justify-content:center}.facility-tabs .selected{background:#4b5e49;border-color:#dac18b;color:#f3dba6}
.facility-panel h2{font:20px var(--sans);color:#e8d6ab;margin:0 0 15px}.facility-panel p{font:12px/1.7 var(--sans);color:#b7cbbf}.facility-panel>.button{width:100%;margin-top:8px}
.facility-metric{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #405b5e;font:12px var(--sans);color:#b6cabb}.facility-metric strong{font-weight:500;color:#e8d8b3;text-align:right}
.facility-dashboard footer{border-top:1px solid #4c6666;margin-top:24px;padding-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.facility-dashboard footer .button{font-size:10px;justify-content:center}
.facility-staff-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:13px 0;font:12px var(--sans);color:#c9d4c3}.facility-staff-row input{width:76px;background:#182f37;border:1px solid #69867b;color:#ebdfbd;padding:8px;min-height:38px}
.facility-mode #managementScreen>.mission-heading,.facility-mode .site-control-panel{display:none}.facility-mode .site-management-workspace{display:block;position:fixed;inset:70px 0 0;min-height:0;padding:0;margin:0}.facility-mode .plot-panel{height:100%;min-height:0;border:none;display:grid;grid-template-rows:44px 1fr 26px}.facility-mode .plot-toolbar{padding-left:450px}.facility-mode .plot-board-frame{min-height:0}
.facility-mode .game-footer{position:fixed;bottom:0;left:0;right:0;z-index:710;pointer-events:none}
@media(max-width:800px){.facility-dashboard{top:auto;bottom:34px;left:12px;width:calc(100vw - 24px);max-width:none;max-height:54vh;padding:16px}.facility-dashboard h1{font-size:24px;margin:7px 0}.facility-tabs{grid-template-columns:repeat(4,1fr);gap:4px;margin:10px 0}.facility-tabs .button{font-size:10px;padding:7px 4px;min-height:36px}.facility-mode .plot-toolbar{padding-left:12px}.facility-mode .plot-toolbar>div:first-child{display:none}.facility-mode .plot-toolbar .plot-map-actions{margin-left:auto}.facility-dashboard header>p{margin:5px 0}.facility-mode .site-management-workspace{top:66px}}

.facility-dashboard{overflow-anchor:none}
