:root{color-scheme:dark;--bg:#081324;--panel:#121f35;--line:#345371;--mint:#88f3d6;--sky:#8ebeff;font:15px/1.65 system-ui,-apple-system,sans-serif;color:#ebf7ff;background:var(--bg)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:radial-gradient(ellipse at 80% -10%,#24435b85,transparent 45%),var(--bg)}
button,input,select{font:inherit}a{color:var(--mint)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.skip{position:absolute;left:-9999px;background:#fff;color:#000;padding:10px}.skip:focus{left:10px}
.shell{max-width:1440px;margin:auto;padding:0 clamp(15px,3vw,45px)}
.top{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-bottom:1px solid #35526d;padding:20px 0}
.brand{text-decoration:none;font-weight:900;font-size:20px;letter-spacing:.015em;color:#e7f7fc}.brand span{font-size:30px;color:var(--mint);margin-right:10px}.brand strong{color:var(--mint)}
.top nav{display:flex;gap:20px;flex-wrap:wrap}.top nav a{font-size:10px;letter-spacing:.1em;text-decoration:none;font-weight:800;color:#b8d1db}
.eyebrow{font-size:10px;letter-spacing:.18em;color:#96f8dc;text-transform:uppercase;font-weight:900}
.hero{padding:75px 0 50px}.hero h1{font-size:clamp(45px,7vw,100px);line-height:1.04;letter-spacing:-.07em;margin:18px 0}
.hero h1 em,h2 em{font-style:normal;color:var(--mint)}.hero p{font-size:17px;line-height:1.85;color:#bfd1e2;max-width:910px}
.buttons{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:22px 0}.button{border:1px solid #53788d;color:#e4fffa;text-decoration:none;background:#1b3249;border-radius:9px;display:inline-flex;justify-content:center;align-items:center;padding:12px 17px;cursor:pointer;min-height:44px;font-size:11px;letter-spacing:.055em;font-weight:900}
.button.primary{background:var(--mint);border-color:var(--mint);color:#052330}.button.danger{border-color:#8a5365;background:#442b3a;color:#ffc3d0}.button:hover{filter:brightness(1.15)}.button:disabled{opacity:.35;cursor:not-allowed}
.disclaimer{font-size:10px;letter-spacing:.1em;color:#91b6c9;font-weight:900}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metrics>div{border:1px solid var(--line);background:#101b30;padding:20px;border-radius:13px}
.metrics small,.metrics span{display:block;color:#a7c3d6;font-size:10px}.metrics small{letter-spacing:.13em;font-weight:800}.metrics strong{display:block;font-size:clamp(22px,3vw,39px);margin:8px 0;color:#bcffe8;letter-spacing:-.05em}
.workspace,.machines,.crew,.analytics,.learning{margin:80px 0}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
h2{font-size:clamp(35px,5vw,65px);line-height:1.1;letter-spacing:-.055em;margin:14px 0}h3{font-size:23px;margin:7px 0 13px}p{color:#b9cfdf}
.factory-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}
.panel{border:1px solid #395a79;background:#111e33;border-radius:13px;padding:22px;min-width:0}.panel p{font-size:12px}
.inventory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:20px 0}.bin{min-width:0;display:flex;flex-direction:column;gap:6px;background:#0a192d;border:1px solid #375874;border-radius:8px;padding:12px}
.bin small{font-size:9px;letter-spacing:.12em;color:#a8c6d6;overflow-wrap:anywhere}.bin strong{font-size:clamp(17px,2vw,28px);color:#9bf9dc}.bin span{font-size:9px;color:#8bacc3}
.bin .fill{height:5px;border-radius:6px;background:#29485b}.bin .fill>div{height:100%;background:#78eed8;max-width:100%;border-radius:6px}
.mini{display:flex;justify-content:space-between;border-top:1px solid #34536b;padding-top:12px;gap:10px;font-size:11px}.mini strong{color:#a9f7df}
.progressbar{height:18px;background:#234052;border-radius:12px;overflow:hidden;margin:22px 0 13px}.progressbar div{width:0;height:100%;background:linear-gradient(90deg,#66b4ff,#7affc2)}
.contract-numbers{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:15px 0;color:#cfe9f1;font-size:11px}.contract-numbers span{color:#ffe1a3}
.rank-strip{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #34516b;margin-top:20px;padding-top:16px;font-size:10px;color:#a8f5dc;letter-spacing:.1em;font-weight:850}
.machine-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:30px 0}.machine{background:linear-gradient(145deg,#162841,#0f192c);border:1px solid #385b79;border-radius:13px;padding:19px;min-width:0}
.machine .icon{font-size:32px;color:#aaf8de}.machine .category{color:#89c9db;font-size:9px;letter-spacing:.13em;font-weight:900}
.machine h3{font-size:18px;margin:4px 0 8px}.machine p{font-size:11px;min-height:35px;color:#bbcedb}.machine .recipe{font:10px/1.7 ui-monospace,monospace;color:#cce0ee;border-top:1px solid #344e69;padding-top:12px;min-height:85px}
.machine .recipe strong{color:#a5ffe0}.machine .machines-status{font-size:11px;color:#a8d5df;display:flex;justify-content:space-between;gap:9px;margin:8px 0}
.machine .staff-row{display:flex;gap:6px;align-items:center;justify-content:space-between;margin:10px 0}
.machine .staff-row button{border:1px solid #527b8b;border-radius:6px;background:#213c51;color:#e4fbfd;padding:6px 12px}
.machine .staff-row span{font-size:11px}.machine .button{width:100%;font-size:10px;padding:9px 12px}
.upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}
.upgrade-grid article{border:1px solid var(--line);background:#131e33;padding:21px;border-radius:13px}.upgrade-grid article strong{color:#9ef7df}
.upgrade-grid article p{min-height:80px;font-size:12px}.upgrade-grid article .button{width:100%}
.reports{font:11px/1.8 ui-monospace,monospace;color:#c7deea;min-height:120px;max-height:240px;overflow:auto}
.report-row{border-bottom:1px solid #253b53;display:flex;justify-content:space-between;gap:12px;padding:5px 0}.report-row.missing{color:#ffbca5}
.log{height:190px;overflow:auto;background:#0b192b;border:1px solid #314c66;padding:12px;color:#b2d3df;font:11px/1.8 ui-monospace,monospace;white-space:pre-wrap}
.import{cursor:pointer;position:relative}.import input{position:absolute;opacity:0;width:1px;height:1px}
#advice,#saveStatus,#shipStatus{color:#a7e3d9;font-size:12px;padding:8px 0}
.learning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0}
.learning-grid>div{background:#15253a;border:1px solid #385b75;border-radius:12px;padding:18px}.learning-grid h3{font-size:20px}.learning-grid p{font-size:12px}
.safety{padding:17px 20px;border-left:4px solid var(--mint);background:#173044;font-size:12px;line-height:1.8}
footer{border-top:1px solid #35516e;padding:30px 0;color:#8faec5;font-size:10px;letter-spacing:.08em}
@media(max-width:1100px){.machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.factory-grid,.upgrade-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{padding:42px 0 25px}}
@media(max-width:500px){.machine-grid,.learning-grid{grid-template-columns:1fr}.inventory{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:45px}.panel{padding:15px}.machine .recipe{min-height:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* HYPERLUX V4 / A decorative factory rail. Real workload states are shown elsewhere. */
.ux4-production-rail{position:relative;margin:28px auto 42px;padding:20px 24px 25px;border:1px solid #c498636e;border-radius:12px;background:linear-gradient(130deg,#1a2838,#101a29 70%);box-shadow:0 30px 75px #0005;overflow:hidden;isolation:isolate}
.ux4-production-rail:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 35% 2%,#f5bd6c16,transparent 55%),linear-gradient(#94cbe40a 1px,transparent 1px),linear-gradient(90deg,#94cbe40a 1px,transparent 1px);background-size:auto,40px 40px,40px 40px}
.ux4-rail-head,.ux4-rail-foot{position:relative;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:700 9px ui-monospace,Consolas,monospace;letter-spacing:.16em;color:#c4ad91}
.ux4-rail-head span:first-child{color:#ffdcaa}.ux4-rail-track{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:24px 0 18px}
.ux4-rail-station{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:11px;text-align:center;padding:16px 6px 20px;min-width:0;background:linear-gradient(160deg,#263f53,#111b2c);border:1px solid #9f79545e;clip-path:polygon(0 0,92% 0,100% 12%,100% 100%,8% 100%,0 88%);box-shadow:inset 0 1px #fcd1a733}
.ux4-rail-station i{display:grid;place-items:center;width:49px;height:49px;border:1px solid #e6ad6f7a;border-radius:50%;font-style:normal;font-size:25px;color:#f7d49d;background:radial-gradient(circle,#9c653733,#061726);box-shadow:0 0 30px #f3b26618}
.ux4-rail-station span{font:700 9px ui-monospace,Consolas,monospace;letter-spacing:.11em;color:#94b3c2}.ux4-rail-station b{font-size:11px;letter-spacing:.13em;color:#f3e9df}
.ux4-track-signal{position:relative;height:4px;background:repeating-linear-gradient(90deg,#cb905c22 0 12px,#efb56a 13px 25px,#cb905c22 26px 51px);background-size:230px 4px;animation:ux4-factory-belt 17s linear infinite}
@keyframes ux4-factory-belt{to{background-position:230px 0}}
.ux4-rail-foot{margin-top:14px;justify-content:flex-end;color:#9bafba}
@media(max-width:1000px){.ux4-rail-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.ux4-production-rail{padding:16px 12px}.ux4-rail-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ux4-rail-head{font-size:8px}.ux4-rail-station{padding:11px 3px}.ux4-rail-station i{width:36px;height:36px;font-size:19px}.ux4-rail-station span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.ux4-track-signal{animation:none}}

/* OBISIDIAN HYPERLUX: lightweight 3D factory schematic */
@media(min-width:1100px){.factory-visual{display:block}.hero:has(.ux4-industrial-reactor){display:grid;grid-template-columns:minmax(0,1.23fr) minmax(360px,.77fr);gap:14px;align-items:center;min-height:620px;padding-top:45px;padding-bottom:24px}.hero:has(.ux4-industrial-reactor) h1{font-size:clamp(49px,5.1vw,76px);max-width:770px}.hero:has(.ux4-industrial-reactor) p{font-size:15px}.hero:has(.ux4-industrial-reactor) .safety{font-size:13px}.ux4-factory-copy{min-width:0}}
.ux4-industrial-reactor{position:relative;min-height:390px;max-width:540px;margin:auto;width:100%;display:flex;align-items:center;justify-content:center;isolation:isolate;background:radial-gradient(ellipse at 51% 48%,#3454702e,transparent 66%)}
.ux4-industrial-reactor:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 44px,#8bc6df21 45px 46px,transparent 47px 88px);opacity:.35;pointer-events:none}
.ux4-industrial-reactor svg{position:relative;width:min(100%,490px);height:auto;display:block;filter:drop-shadow(0 18px 44px #0008)}
.ux4-industrial-reactor .ux4-signal{stroke-dasharray:8 12;animation:ux4-reactor-route 22s linear infinite}
.ux4-industrial-reactor .ux4-reaction{filter:drop-shadow(0 0 12px #f4be83)}
.ux4-industrial-reactor .ux4-reactor-pylon{filter:drop-shadow(0 6px 16px #19475c)}
.ux4-reactor-caption{position:absolute;inset:auto 0 5%;display:flex;gap:10px;justify-content:space-between;color:#9abfce;font:8px ui-monospace,Consolas,monospace;letter-spacing:.1em}.ux4-reactor-caption span:first-child{color:#ffdaaa}
@keyframes ux4-reactor-route{to{stroke-dashoffset:-320}}
@media(max-width:1099px){.ux4-industrial-reactor{min-height:300px;margin:0 auto 9px;max-width:430px}.ux4-factory-copy{width:100%}.hero:has(.ux4-industrial-reactor){padding-bottom:15px}}
@media(max-width:640px){.ux4-industrial-reactor{min-height:230px;max-width:310px}.ux4-reactor-caption{font-size:6.5px}.hero:has(.ux4-industrial-reactor){padding-top:30px}}
@media(prefers-reduced-motion:reduce){.ux4-industrial-reactor .ux4-signal{animation:none}}
