/* Clean Foundry: readable typography, restrained contrast and generous spacing. */
body.clean-foundry{font-family:'Segoe UI',Arial,sans-serif;color:#e8eff2;background:#26363d;--text:#e8eff2;--muted:#b0c0c7;--accent:#9bcfc1;--edge:#ffffff18}
body.clean-foundry #vignette{background:radial-gradient(ellipse at center,transparent 65%,#10202960)}
body.clean-foundry .world-label{display:none!important}
#plotLabels{position:fixed;inset:0;pointer-events:none;z-index:3;overflow:hidden}
body.clean-foundry button.plot-label{position:absolute;left:0;top:0;width:146px;border:1px solid #ffffff25;background:#182b35ed;color:#f3f7f9;border-radius:10px;padding:9px 7px;text-align:center;pointer-events:auto;box-shadow:0 4px 14px #0002;transition:background .18s,border-color .18s}
body.clean-foundry button.plot-label strong{display:block;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:0}body.clean-foundry button.plot-label span{display:block;font-size:10px;color:#b4c6ce;margin-top:4px;line-height:1.3}
body.clean-foundry button.plot-label:hover,body.clean-foundry button.plot-label.is-hovered{background:#294351;border-color:#b5d6d9}body.clean-foundry button.plot-label:focus-visible{outline:2px solid #e1f3f2;outline-offset:3px}
body.clean-foundry .hud-top{padding:18px 24px;background:none;border:0;box-shadow:none}
body.clean-foundry .foundry-mark{background:#192c36ef;padding:12px 16px;border:1px solid #ffffff1c;border-radius:12px;width:150px}body.clean-foundry .foundry-mark>span{font-size:10px;letter-spacing:1.6px;color:#b8ccd4}body.clean-foundry .foundry-mark strong{font-size:18px;color:#f2f6f7}body.clean-foundry .foundry-mark .thin-bar{height:3px;margin-top:8px}
body.clean-foundry .resource-strip{background:#192c36ef;border:1px solid #ffffff1c;border-radius:12px;padding:10px 8px;gap:0}body.clean-foundry .resource-strip>div{min-width:100px;padding:0 16px;border-right:1px solid #ffffff15}body.clean-foundry .resource-strip>div:last-child{border:0}body.clean-foundry .resource-strip span{font-size:10px;letter-spacing:1px;color:#a9c0cc}body.clean-foundry .resource-strip strong{font-size:20px;color:#edf4f6;font-weight:600;margin-top:5px}body.clean-foundry .resource-strip small{font-size:12px}
body.clean-foundry .objective{background:#192c36f0;border:1px solid #ffffff18;border-radius:12px;width:330px;bottom:22px;left:22px;transform:none;padding:14px 18px;box-shadow:none}body.clean-foundry .objective .eyebrow{font-size:10px;letter-spacing:1.2px;color:#a3cec7}body.clean-foundry #objectiveText{font-size:13px;color:#e1ebef;line-height:1.6;margin-top:5px}body.clean-foundry .objective .thin-bar{display:none}body.clean-foundry .hud-bottom{display:none}
#cameraTools{position:absolute;right:22px;bottom:22px;display:flex;gap:6px;pointer-events:auto}#cameraTools button{padding:11px 15px;background:#192c36ef;color:#dcebef;border:1px solid #ffffff25;border-radius:10px;font-size:13px}
body.clean-foundry #menu{padding:32px;display:grid;place-items:center;background:#08151c73;backdrop-filter:blur(4px)}
body.clean-foundry #menu.hidden{display:none}
body.clean-foundry .menu-shell{width:min(1120px,100%);height:min(850px,90dvh);max-height:90dvh;margin:0;border:1px solid #ffffff22;border-radius:18px;background:#15232ceF;box-shadow:0 30px 80px #0007;animation:clean-open .2s ease-out;display:flex;flex-direction:column}
body.clean-foundry .menu-header{background:#1c2d37;border-bottom:1px solid #ffffff15;padding:23px 28px;flex-shrink:0}body.clean-foundry .menu-header .eyebrow{font-size:11px;letter-spacing:1.5px;color:#a8c7ce}body.clean-foundry .menu-header h1{font-size:28px;line-height:1.25;color:#f0f5f7;margin-top:6px;font-weight:600;letter-spacing:-.5px}body.clean-foundry .balance{font-size:13px;color:#c0d2db}body.clean-foundry .close-button{border-radius:50%;width:38px;height:38px;background:#304550;color:#edf4f7}
body.clean-foundry #menuContent{padding:28px;overflow:auto;scrollbar-color:#536b78 #1c2c35;min-height:0;font-size:14px;color:#c9d7de}
body.clean-foundry .department-intro{gap:28px;padding-bottom:24px;margin-bottom:26px;border-color:#ffffff14}body.clean-foundry .department-kicker{font-size:11px;color:#a8c3cd;letter-spacing:1.4px}body.clean-foundry .department-intro h2{font-size:30px;line-height:1.25;letter-spacing:-.6px;color:#eff5f8}body.clean-foundry .department-intro p{font-size:15px;line-height:1.75;color:#b3c7d1;max-width:680px}
body.clean-foundry .dept-metric{background:#233640;border:1px solid #ffffff12;border-radius:12px;padding:18px;min-width:120px}body.clean-foundry .dept-metric span{font-size:11px;color:#acc1cb;letter-spacing:.4px}body.clean-foundry .dept-metric strong{font-size:26px;font-weight:600;color:#e9f1f5}body.clean-foundry .dept-metric small{font-size:12px;color:#b2c4ce}
body.clean-foundry #menuContent :is(.card,.machine-unit,.worker-card,.stock-card,.finance-card,.admin-card,.infrastructure-card,.department-lock){background:#20323d;border:1px solid #ffffff14;border-radius:13px;padding:22px;box-shadow:none;color:#e2edf2}
body.clean-foundry #menuContent :is(h3,.machine-head h3){font-size:18px;line-height:1.4;color:#e9f2f5;font-weight:600}body.clean-foundry #menuContent :is(p,.card p,.infrastructure-card p){font-size:14px;line-height:1.7;color:#b6c9d2}body.clean-foundry #menuContent :is(small,.machine-specs,.worker-tags,.machine-sector){font-size:12px;line-height:1.5;color:#adc2cd}
body.clean-foundry #menuContent button,body.clean-foundry dialog button{font:600 13px 'Segoe UI',Arial,sans-serif;border:1px solid #ffffff22;border-radius:9px;padding:11px 15px;background:#304854;color:#e6f1f5;line-height:1.4;transition:background .18s}body.clean-foundry #menuContent button:hover:not(:disabled){background:#456473}body.clean-foundry #menuContent button:disabled{opacity:.5;cursor:not-allowed}body.clean-foundry #menuContent button.primary{background:#a3cfc5;color:#153039}body.clean-foundry #menuContent button:focus-visible{outline:2px solid #b9dedb;outline-offset:3px}
body.clean-foundry #menuContent :is(.tag,.machine-status){font-size:11px;padding:5px 8px;letter-spacing:.5px}body.clean-foundry .section-title{font-size:12px;color:#a6beca;letter-spacing:1.3px}body.clean-foundry #menuContent .grid{gap:18px}body.clean-foundry #menuContent .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}body.clean-foundry .machine-floor{gap:20px}body.clean-foundry .infrastructure-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
body.clean-foundry .tree-viewport{background-color:#162731;background-image:radial-gradient(#8baeba33 1px,transparent 1px);border-color:#ffffff20}body.clean-foundry #menuContent button.node{padding:0;width:64px;height:64px;background:#2b404b}body.clean-foundry #menuContent button.node.available{border-color:#97d5ce;color:#bce5e1}body.clean-foundry #menuContent button.node.owned{background:#38655f;color:#e2f4ed}body.clean-foundry .node .node-label{font-size:13px;color:#c2d9e3;width:112px}body.clean-foundry .branch-label{color:#c4dce7!important}body.clean-foundry .tree-inspector{width:300px}body.clean-foundry .tree-path.on{stroke:#93c9c2}body.clean-foundry .tree-help{font-size:12px;color:#a8c0cd}
body.clean-foundry select,body.clean-foundry textarea,body.clean-foundry input[type=text]{background:#172b36;border-color:#ffffff25;color:#e0edf3;font-size:14px}body.clean-foundry .settings-row{font-size:14px;border-color:#ffffff15}body.clean-foundry dialog{background:#1d323e;color:#e6f0f4;border-color:#ffffff25;border-radius:16px;padding:28px}body.clean-foundry dialog p{font-size:14px;color:#b9cdd8;line-height:1.7}
body.clean-foundry #toasts{top:100px;bottom:auto;right:24px;max-width:320px}body.clean-foundry .toast{background:#203843f2;color:#e0edf1;border:1px solid #aacfc02a;border-radius:10px;font-size:13px;line-height:1.5;padding:14px 18px}
body.clean-foundry #welcome{background:#10232d99;backdrop-filter:blur(5px)}body.clean-foundry .welcome-card{background:#192d38f5;border:1px solid #ffffff20;border-radius:20px;padding:40px;max-width:520px;box-shadow:0 25px 80px #0005}body.clean-foundry .welcome-card h1{font-size:48px;line-height:1.08;letter-spacing:-1.5px;color:#eff5f7}body.clean-foundry .welcome-card p{font-size:16px;line-height:1.8;color:#b6cad6}body.clean-foundry .welcome-card .eyebrow{font-size:11px;color:#afcece}body.clean-foundry .welcome-help{font-size:13px;color:#a2bcca;line-height:1.7}body.clean-foundry #enter{background:#a9d2c7;color:#183039;padding:16px 20px;font-size:15px;border-radius:10px}
@keyframes clean-open{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@media(max-width:700px){body.clean-foundry .hud-top{padding:10px}body.clean-foundry .foundry-mark{width:105px;padding:10px}body.clean-foundry .foundry-mark>span{font-size:8px}body.clean-foundry .foundry-mark strong{font-size:14px}body.clean-foundry .resource-strip{padding:9px 2px;max-width:calc(100vw - 130px)}body.clean-foundry .resource-strip>div{min-width:0;padding:0 9px}body.clean-foundry .resource-strip span{font-size:8px;letter-spacing:0}body.clean-foundry .resource-strip strong{font-size:15px}body.clean-foundry .resource-strip .production-resource{display:none}body.clean-foundry .objective{left:10px;bottom:64px;max-width:calc(100% - 20px);width:300px;padding:12px 15px}#cameraTools{right:10px;bottom:10px}body.clean-foundry button.plot-label{width:130px;padding:8px 5px}body.clean-foundry button.plot-label strong{font-size:12px}body.clean-foundry button.plot-label span{font-size:10px}body.clean-foundry #menu{padding:8px}body.clean-foundry .menu-shell{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);width:100%;border-radius:13px}body.clean-foundry .menu-header{padding:17px}body.clean-foundry .menu-header h1{font-size:22px}body.clean-foundry #menuContent{padding:17px}body.clean-foundry .department-intro{display:block}body.clean-foundry .department-intro h2{font-size:25px}body.clean-foundry .department-intro p{font-size:14px}body.clean-foundry .dept-metrics{margin-top:18px;flex-wrap:wrap}body.clean-foundry .dept-metric{min-width:0;padding:12px}body.clean-foundry #menuContent .admin-grid{grid-template-columns:1fr}body.clean-foundry .tree-layout{min-height:600px}body.clean-foundry .tree-inspector{width:100%}body.clean-foundry #menuContent :is(.card,.machine-unit,.worker-card,.stock-card,.finance-card,.admin-card,.infrastructure-card){padding:17px}body.clean-foundry .welcome-card{padding:27px;margin:16px}body.clean-foundry .welcome-card h1{font-size:37px}body.clean-foundry #toasts{top:90px;right:10px;max-width:260px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
body.clean-foundry #hud .objective{left:22px;bottom:22px;top:auto;transform:none;background:#192c36f0;width:300px}
body.clean-foundry #hud .hud-bottom{display:none!important}
body.clean-foundry button.plot-label{background:#182b35ed;color:#f3f7f9;font-weight:400;font-size:13px}
body.clean-foundry button.plot-label:hover{background:#294351}
body.clean-foundry #menu #menuContent{background:#162832}
body.clean-foundry .department-intro h2,body.clean-foundry .department-intro .department-kicker{display:none}
@media(max-width:700px){body.clean-foundry #hud .objective{left:10px;bottom:64px;max-width:calc(100% - 20px)}}
