:root{color-scheme:dark;--bg:#101113;--surface:#191b1f;--ink:#f4f5f7;--muted:#a9afb9;--red:#ef3340;--line:#34373d;--gold:#dfb744;--green:#57d6a0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Arial,sans-serif}button,select,input{font:inherit}button,select{border:1px solid #50555e;background:#25282e;color:var(--ink);padding:9px 13px;border-radius:5px;cursor:pointer}button:hover{background:#383d46}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button.active{border-color:var(--red)}button.primary{background:var(--red);border-color:var(--red);font-weight:bold}a{color:inherit}header{display:flex;align-items:center;gap:14px;padding:16px 32px;border-bottom:1px solid var(--line)}header img{width:52px;height:52px;object-fit:contain}header b{font-size:23px;letter-spacing:3px;display:block}header span{font-size:14px;color:var(--muted)}header a{margin-left:auto;text-decoration:none;font-size:14px}main{max-width:1700px;margin:auto;padding:22px 32px}.heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.heading p:last-child{text-align:right;color:var(--muted);font-size:14px}.eyebrow{letter-spacing:2px;font-size:12px;color:var(--red);margin:0}h1{font-size:clamp(26px,2.5vw,38px);letter-spacing:-1px;margin:3px 0 18px;line-height:1.2}h2{font-size:21px;margin:0 0 12px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);border-block:1px solid var(--line);padding:14px 0;margin-bottom:20px}.metrics div{padding:0 24px;border-right:1px solid var(--line)}.metrics div:first-child{padding-left:0}.metrics div:last-child{border:0}.metrics strong{display:block;font-size:30px;line-height:1.2}.metrics span{font-size:14px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.scene-wrap{position:relative;border:1px solid var(--line);background:#202329;min-height:560px;overflow:hidden;border-radius:8px}#scene,#canvas{width:100%;height:100%;position:absolute;inset:0}#canvas{touch-action:none}#fallback{padding:100px 24px;position:absolute} .view-tools{position:absolute;left:16px;top:16px;display:flex;gap:6px;z-index:3;align-items:center;flex-wrap:wrap}.view-tools button{font-size:14px;background:#191b1fe8}.view-tools label{font-size:14px;background:#191b1fe8;padding:8px;border-radius:4px}aside{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px}.live-head{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;margin-bottom:15px}#runState{color:var(--green);font-weight:bold}#phaseText{font-size:15px;min-height:92px;color:#c4c8d0}#phaseList{list-style:none;padding:0;margin:10px 0 16px;font-size:14px;display:grid;grid-template-columns:1fr 1fr;gap:6px}#phaseList li{border-left:2px solid #555b65;padding:3px 8px;color:var(--muted)}#phaseList li.current{border-color:var(--red);color:white}#phaseList li.done{border-color:var(--green)}.controls{display:flex;flex-wrap:wrap;gap:7px}.controls button{font-size:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;margin:14px 0}.field select{width:100%;font-size:14px}.check{font-size:14px;color:var(--muted)}#statusMessage{font-size:14px;margin-top:12px;color:var(--muted)}.lower{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;margin-top:26px}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head span{font-size:14px;color:var(--gold)}.small{font-size:14px;color:var(--muted)}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;font-size:12px;color:var(--muted);font-weight:normal;text-transform:uppercase}td,th{border-bottom:1px solid var(--line);padding:10px 8px}tr.bad td{color:#ff7d86}tr.good td:nth-child(3){color:var(--green)}.table-scroll{overflow:auto}.scenario{border-left:1px solid var(--line);padding-left:20px}.explain{margin-top:30px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{font-size:18px;cursor:pointer}details p{color:#c4c8d0;max-width:1000px}.reference-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-top:20px}.reference-grid figure{margin:0}.reference-grid img{width:100%;border-radius:6px}.reference-grid figcaption{font-size:12px;color:var(--muted)}footer{display:flex;flex-wrap:wrap;gap:12px 25px;font-size:13px;color:var(--muted);padding:24px 0 4px;border-bottom:3px solid var(--red)}.scene-note{position:absolute;left:16px;bottom:12px;font-size:12px;color:#b7bec7;text-shadow:1px 1px #111}.watermark{position:absolute;right:24px;bottom:60px;display:flex;align-items:center;gap:5px;opacity:.32;font-size:13px;pointer-events:none;animation:watermark 18s ease-in-out infinite alternate}.watermark img{height:34px}.label3d{position:absolute;color:white;background:#101113dc;padding:3px 7px;border-left:2px solid var(--red);font-size:12px;white-space:nowrap;pointer-events:none}.label3d small{font-size:11px;color:#d3d5da}#labels3d{position:absolute;inset:0;pointer-events:none;overflow:hidden}.flow{font-size:17px}input[type=range]{accent-color:var(--red)}@keyframes watermark{to{transform:translate(-160px,-30px)}}@media(max-width:1100px){main{padding:18px}.workspace,.lower{grid-template-columns:minmax(0,1fr) 300px}.scene-wrap{min-height:540px}.metrics div{padding:0 12px}}@media(max-width:800px){header{padding:12px 18px}header a{display:none}.heading{display:block}.heading p:last-child{text-align:left;margin-top:0}.metrics{grid-template-columns:repeat(3,1fr);gap:14px}.metrics div{border:0;padding:0}.metrics strong{font-size:25px}.workspace,.lower{grid-template-columns:1fr}.scene-wrap{min-height:480px}#phaseText{min-height:0}.scenario{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.reference-grid{grid-template-columns:1fr}.scene-note{font-size:11px}.view-tools{left:8px;top:8px}.view-tools button{padding:7px 9px}.lower{gap:20px}}@media(prefers-reduced-motion:reduce){.watermark{animation:none}}
:root{--blue:#7ba9ce}h1 span{font-weight:400;color:var(--muted);font-size:.7em}.heading h1{margin-bottom:12px}.eyebrow{font-size:13px}.metrics{padding:12px 0}.metrics strong{font-size:28px}.scene-wrap{min-height:590px}.workspace{grid-template-columns:minmax(0,1fr) 350px}.live-head{font-size:13px}#phaseText{min-height:104px;font-size:16px}.inline-fields{display:flex;gap:18px;align-items:center}.inline-fields .field{width:100px}.interlocks{display:grid;grid-template-columns:1fr 1fr;gap:5px;font-size:13px}.interlocks span{border:1px solid var(--line);padding:5px}.interlocks .ready{color:var(--green)}.interlocks .waiting{color:var(--muted)}.interlocks .failed{color:#ff7d86}.phase-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:0;padding:0;margin:18px 0 26px;list-style:none;font-size:14px}.phase-strip li{padding:10px;border-bottom:3px solid #353940;color:var(--muted)}.phase-strip li.current{border-color:var(--red);color:#fff;background:#231c21}.phase-strip li.done{border-color:var(--green)}.section-head{gap:15px;flex-wrap:wrap}.section-head span{font-size:14px;color:var(--muted)}.axis-section{border-top:1px solid var(--line);padding-top:22px}.axes{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.axis{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px;min-width:0}.axis b{font-size:13px;color:var(--muted)}.axis strong{display:block;font-size:25px}.axis .axis-status{font-size:13px;min-height:38px}.axis .read{font-size:12px;overflow-wrap:anywhere;margin-top:5px;color:#bcc6d0}.axis.ok{border-color:#347d62}.axis.ng{border-color:var(--red)}.axis .anglebar{height:3px;background:#353940;margin:7px 0}.axis .anglebar i{display:block;height:100%;background:var(--red)}.axis.ok .anglebar i{background:var(--green)}.table-scroll{max-width:100%}th{font-size:13px}td{font-size:14px}td small{display:block;font-size:12px;color:#aeb6c2}td:nth-child(4){overflow-wrap:anywhere;min-width:150px}.events-title{margin-top:24px}.events{max-height:210px;overflow:auto;list-style:none;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:6px;font-size:14px}.events li{padding:7px 12px;border-bottom:1px solid #2e333a}.events time{font-variant-numeric:tabular-nums;color:var(--muted);margin-right:10px}.events .ng,.events .hold{color:#ff9098}.events .ok{color:#9ce4c3}.budget{background:var(--surface);padding:14px;border:1px solid var(--line)}.budget strong,.budget span{display:block}.budget span{color:var(--muted);font-size:14px}.process-flow{display:grid;grid-template-columns:repeat(4,1fr);margin:20px 0;gap:18px}.process-flow>div{border-top:3px solid var(--red);padding:14px;background:var(--surface);position:relative}.process-flow>div:not(:last-child):after{content:'→';position:absolute;right:-16px;top:16px;color:var(--muted)}.process-flow p{font-size:15px}.release-gate{padding:20px;border:1px solid var(--line);border-radius:6px}.release-gate>p{font-size:14px}.routes{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.routes p{padding:12px;margin:0;border-left:3px solid var(--green);background:var(--surface);font-size:14px}.routes .reject{border-color:var(--red)}.routes .held{border-color:var(--gold)}.reference-grid{grid-template-columns:1fr 1fr}.reference-photo{position:relative;background:#292c30;height:340px;overflow:hidden;border-radius:6px}.reference-photo img{width:100%;height:100%;object-fit:contain}.reference-photo.portrait{height:420px}.photo-tag{position:absolute;font-size:13px;padding:5px 8px;border-left:3px solid var(--red);background:#111e;color:#fff;max-width:74%;line-height:1.3}.reference-grid figcaption{font-size:14px;margin-top:9px}.label3d{font-size:12px;max-width:210px;white-space:normal;line-height:1.2;transform:translate(-50%,-100%)}.scene-note{max-width:70%}.watermark{opacity:.23}.controls button{font-size:14px}.field select{min-height:40px}button:disabled{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}@media(max-width:1200px){.axes{grid-template-columns:repeat(4,1fr)}.phase-strip{grid-template-columns:repeat(4,1fr)}.workspace{grid-template-columns:minmax(0,1fr) 320px}.metrics strong{font-size:25px}}@media(max-width:800px){.workspace,.lower{grid-template-columns:1fr}.scene-wrap{min-height:480px}.process-flow{grid-template-columns:1fr 1fr}.process-flow>div:after{display:none}.routes{grid-template-columns:1fr}.reference-grid{grid-template-columns:1fr}.axes{grid-template-columns:repeat(4,1fr)}.axis{padding:8px}.axis strong{font-size:22px}.heading h1 span{display:block}.scene-note{font-size:12px}.label3d{font-size:12px;max-width:140px}.view-tools{max-width:95%}.metrics{grid-template-columns:repeat(3,1fr)}.metrics div{padding:0}.phase-strip li{padding:8px 5px;font-size:13px}}@media(max-width:450px){.axes{grid-template-columns:repeat(2,1fr)}.process-flow{grid-template-columns:1fr}.phase-strip{grid-template-columns:repeat(2,1fr)}.metrics strong{font-size:23px}}

#phaseList.phase-strip{grid-template-columns:repeat(8,1fr);gap:0;margin:18px 0 26px}#phaseList.phase-strip li{border-left:0;padding:10px;border-bottom:3px solid #353940}#phaseList.phase-strip li.current{border-color:var(--red)}#phaseList.phase-strip li.done{border-color:var(--green)}@media(max-width:1200px){#phaseList.phase-strip{grid-template-columns:repeat(4,1fr)}}@media(max-width:450px){#phaseList.phase-strip{grid-template-columns:repeat(2,1fr)}}

.cad-status{position:absolute;left:16px;bottom:64px;background:#181e28ed;border:1px solid #425362;border-radius:5px;padding:8px 12px;font-size:14px;color:#d5e7f4;max-width:85%}.component-inspector{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;margin:18px 0;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.component-inspector label{display:block;font-size:14px;margin:8px 0 4px}.component-inspector select{max-width:100%;width:100%;font-size:14px}.component-inspector button{margin-top:9px;font-size:14px}#componentDetail>b{display:inline-block;font-size:18px;margin-right:12px}#componentDetail p{margin:7px 0}#componentDetail .small{font-size:14px}.source-badge{display:inline-block;border:1px solid #746745;border-radius:3px;padding:2px 7px;font-size:12px;color:#dfc783}.source-badge.cad{border-color:#387262;color:#8dd8be}.cad-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.cad-facts div{background:#20262d;padding:14px}.cad-facts strong,.cad-facts span{display:block}.cad-facts strong{font-size:20px}.cad-facts span{font-size:14px;color:var(--muted)}.parts-table{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:20px 0}.parts-table>div{background:var(--surface);padding:15px}.parts-table b,.parts-table span,.parts-table small{display:block}.parts-table span{font-size:14px;color:#e2bd60}.parts-table small{font-size:14px;color:var(--muted);margin-top:5px}.scene-wrap{min-height:650px}.view-tools{right:10px}.view-tools button,.view-tools label{font-size:13px;padding:7px 8px}@media(max-width:800px){.component-inspector{grid-template-columns:1fr;gap:15px}.scene-wrap{min-height:570px}.cad-facts{grid-template-columns:1fr 1fr}.parts-table{grid-template-columns:1fr}.view-tools button,.view-tools label{font-size:12px}.scene-note{max-width:85%}}

/* R4 transport and packaging route */
.transport-status{margin:15px 0;padding:12px 14px;background:#151e29;border-left:3px solid #83bad8;display:grid;gap:5px}.transport-status b{font-size:10px;letter-spacing:1.3px;color:#93b4c9}.transport-status strong{font-size:13px}.transport-status span{font-size:12px;color:#acb4c0}.route-section{margin:24px 0 0;padding:20px;background:#15181f;border:1px solid #2c3440;border-radius:12px}.route-strip{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:18px 0;padding:0;gap:22px;counter-reset:route}.route-strip li{position:relative;background:#222730;border:1px solid #364152;border-radius:6px;padding:13px 10px;font-size:12px;color:#9ca7b6}.route-strip li:not(:last-child):after{content:'→';position:absolute;right:-19px;top:10px;color:#8396ab;font-size:20px}.route-strip li.current{background:#3d2329;border-color:#ed344c;color:white}.route-strip li.done{color:#8ccbb1;border-color:#37634e}.route-branches,.process-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:12px;color:#a6b1c0}.route-branches p{margin:0;line-height:1.7}.route-branches b{display:block;color:#e8edf3}.process-split{margin:16px 0}.process-split>div{padding:15px 18px;border-left:3px solid #699fc0;background:#19212b}.process-split b{color:#c9dde9}.sequence-head{margin-top:26px}.view-tools{flex-wrap:wrap}.table-scroll td:first-child{min-width:90px}@media(max-width:850px){.route-strip{grid-template-columns:1fr;gap:17px}.route-strip li:not(:last-child):after{content:'↓';left:20px;top:auto;bottom:-21px}.route-branches,.process-split{grid-template-columns:1fr}.heading h1{font-size:26px}}

.line-output{margin-top:24px;padding:20px;border:1px solid #35414f;border-radius:8px;background:#151c24}.output-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.output-stats b{display:block;font-size:27px;color:#d8edf8}.output-stats span{font-size:14px;color:#aab4c1}.gate-status{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px;background:#24262a;font-size:14px}.gate-status b{color:#f1c34f}.fleet-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}.fleet-cards>div{padding:14px;background:#1b2733;border-left:3px solid #75accd;display:grid;gap:4px}.fleet-cards b{font-size:14px}.fleet-cards strong{font-size:13px;color:#b0cdda}.fleet-cards span{font-size:13px;color:#a7b0bd}.capacity-text{font-size:14px;border-block:1px solid #384454;padding:12px 0}.capacity-text p{color:#aeb8c5}.scenario input[type=number]{width:100%;padding:8px;background:#25282e;color:white;border:1px solid #50555e;border-radius:5px}.view-tools{right:10px}.section-head{gap:14px}.section-head span{text-align:right}@media(max-width:650px){.output-stats{grid-template-columns:1fr 1fr}.fleet-cards{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-wrap:wrap}.section-head span{text-align:left}}

.lighting-explainer{display:grid;gap:6px;padding:14px 16px;margin:10px 0 16px;border:1px solid #594d35;background:#24221b;border-radius:6px;font-size:14px}.lighting-explainer b{color:#ffda95}.lighting-explainer span{color:#e5d8be}.lighting-explainer small{font-size:13px;color:#afb7c2}.lighting-badge{font-size:12px;padding:4px 0;color:#8d9cab}.lighting-badge.lit{color:#ffdc95}.capture-badge{min-height:19px;font-size:11px;color:#b7f4ff;visibility:hidden}.capture-badge.visible{visibility:visible}.axis.capturing{box-shadow:inset 0 0 0 2px #79cce0}.axis.ok.capturing{box-shadow:inset 0 0 0 2px #65e8b3}

.page-nav{display:flex;gap:5px;padding:10px 32px;border-bottom:1px solid var(--line);background:#17191d;flex-wrap:wrap}.page-nav a{padding:9px 16px;text-decoration:none;font-size:14px;border-radius:5px}.page-nav a.active{background:#3a2026;color:white;border-bottom:2px solid var(--red)}.page-nav a:hover{background:#30343b}@media(max-width:650px){.page-nav{padding:8px 12px}.page-nav a{padding:8px;font-size:14px}}
