:root{--ink:#20262c;--muted:#646e77;--red:#cc2534;--red-dark:#a71c29;--line:#d9dfe3;--surface:#fff;--soft:#f1f4f6;--navy:#273943;--green:#217758;--amber:#97631b;--blue:#197897;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:#edf1f4;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #2493bd;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}button,select{min-height:42px;border-radius:5px}button{border:1px solid var(--line);background:white;color:var(--ink);padding:9px 13px;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s}button:hover{background:#f3f6f7;border-color:#9ca9b2}button.primary{background:var(--red);color:white;border-color:var(--red)}button.primary:hover{background:var(--red-dark)}button.secondary{background:#f8fafb}button.quiet{background:transparent;border-color:transparent}.wide{width:100%}.topbar{height:78px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:20px}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink);font-size:.875rem;letter-spacing:.14em}.brand img{width:50px;height:50px;object-fit:contain}.brand b{font-weight:400;display:block;letter-spacing:.2em;font-size:.75rem;margin-top:5px}.review-status{font-size:.75rem;color:var(--muted);letter-spacing:.11em}.review-status span{border-left:1px solid #bbc4ca;padding-left:12px;margin-left:12px}.workbench{display:grid;grid-template-columns:262px minmax(350px,1fr) 284px;min-height:calc(100vh - 78px);max-width:2400px;margin:auto}.controls-panel,.data-panel{padding:25px 21px;background:white;min-width:0}.controls-panel{border-right:1px solid var(--line)}.data-panel{border-left:1px solid var(--line);padding-top:18px}.eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.14em;color:var(--muted);margin:0 0 12px;line-height:1.5}h1{font-size:1.65rem;margin:0 0 25px;letter-spacing:-.04em;line-height:1.15;font-weight:600}h2{font-size:1.3rem;margin:0 0 8px;letter-spacing:-.03em}h3{font-size:1.125rem;margin:0 0 12px}.controls-panel>label,.faults label{display:block;margin:16px 0 7px;font-size:.875rem;font-weight:600}select{width:100%;background:white;color:var(--ink);border:1px solid #bec9cf;padding:10px 30px 10px 10px;font-size:.875rem}.field-note{font-size:.75rem;color:var(--muted);line-height:1.55;margin:10px 0 15px}.section-rule{border-top:1px solid var(--line);margin:23px 0}.play-row{display:grid;grid-template-columns:1fr auto auto;gap:7px}.icon-btn{font-size:1.2rem;min-width:39px;padding:6px}.speed-label{display:flex!important;justify-content:space-between;align-items:center;font-weight:400!important}.speed-label output{color:var(--muted);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--red)}input[type=checkbox]{accent-color:var(--red);width:16px;height:16px;margin:0}.sequence{list-style:none;margin:24px 0 0;padding:0;counter-reset:sequence}.sequence li{counter-increment:sequence;position:relative;padding:0 0 19px 31px;font-size:.875rem;color:#7a858d;line-height:1.4}.sequence li:before{content:counter(sequence,decimal-leading-zero);position:absolute;left:0;top:0;font-variant-numeric:tabular-nums;font-size:.6875rem;line-height:20px;color:#9aa6ae}.sequence li:after{content:'';position:absolute;left:7px;top:24px;bottom:5px;border-left:1px solid var(--line)}.sequence li:last-child{padding-bottom:0}.sequence li:last-child:after{display:none}.sequence li.active{color:var(--red);font-weight:700}.sequence li.active:before{color:var(--red)}.sequence li.done{color:var(--ink)}.sequence li.done:before{color:var(--green)}summary{cursor:pointer;font-size:.875rem;font-weight:600;line-height:1.6}.faults .secondary{margin-top:10px}.viewer-panel{min-width:0;display:flex;flex-direction:column}.view-top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;gap:10px;background:#f6f8f9;min-height:70px;border-bottom:1px solid var(--line)}.model-tabs{display:flex;gap:2px}.model-tabs button{font-size:.8125rem;padding:8px 11px;border-color:transparent;min-height:37px;background:transparent}.model-tabs button.selected{background:white;box-shadow:0 1px 4px #1d2a3914;border-color:#d9dfe3}.model-tabs button:hover{background:white}#model-status{font-size:.6875rem;color:var(--muted);max-width:180px;line-height:1.5;text-align:right}#canvas-wrap{position:relative;flex:1;min-height:460px;height:calc(100vh - 326px);overflow:hidden;background:#e9eff3}#scene{width:100%;height:100%;display:block;touch-action:none}#fallback{position:absolute;inset:25%;padding:24px;text-align:center;background:#fff;border:1px solid var(--line);line-height:1.5}.view-tools{position:absolute;top:15px;left:18px;display:flex;gap:5px;flex-wrap:wrap}.view-tools button{background:#ffffffdd;min-height:34px;padding:7px 10px;font-size:.75rem;backdrop-filter:blur(6px)}.view-key{position:absolute;bottom:15px;left:18px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.6875rem;color:#576875;pointer-events:none}.swatch{width:8px;height:8px;display:inline-block;margin-left:10px}.swatch:first-child{margin-left:0}.source{background:#89979e}.proposed{background:#ce3544}.sensor{background:#2ba4ae}.coordinate{position:absolute;right:18px;bottom:15px;font-size:.75rem;display:flex;gap:10px;color:#576875}.coordinate span{font-size:.6875rem}.overlay-controls{padding:12px 18px;display:flex;gap:12px 17px;flex-wrap:wrap;border-top:1px solid #d9e0e5;background:#f6f8f9}.overlay-controls label{font-size:.75rem;display:flex;align-items:center;gap:7px;white-space:nowrap}.current-process{background:white;border-top:1px solid var(--line);padding:20px 24px;display:flex;gap:24px;justify-content:space-between;align-items:center;min-height:128px}.current-process .eyebrow{margin-bottom:7px}.current-process p:last-child{margin:0;font-size:.875rem;line-height:1.6;color:var(--muted);max-width:650px}.cycle-clock{text-align:right;min-width:106px}.cycle-clock strong{font-size:1.6rem;font-weight:400;font-variant-numeric:tabular-nums;display:block}.cycle-clock span{font-size:.625rem;display:block;color:var(--muted);line-height:1.6;max-width:130px}.simulation-notice{padding:10px 24px;margin:0;font-size:.6875rem;line-height:1.6;color:#616c75;border-top:1px solid var(--line);background:#f6f8f9}.detail-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:0 -5px 23px}.detail-tabs button{border:0;border-radius:0;background:none;padding:9px 10px;font-size:.8125rem;color:var(--muted)}.detail-tabs button.selected{color:var(--ink);border-bottom:2px solid var(--red)}.signal{display:flex;justify-content:space-between;align-items:center;gap:7px;border-bottom:1px solid #edf0f2;padding:10px 0;font-size:.8125rem;line-height:1.4}.signal-value{font-size:.6875rem;font-weight:700;color:#7b8790;display:flex;align-items:center;gap:5px}.signal-value:before{content:'';width:5px;height:5px;background:#b4bdc3;border-radius:50%}.signal-value.on{color:var(--green)}.signal-value.on:before{background:var(--green)}.signal-value.fault{color:var(--red)}.signal-value.fault:before{background:var(--red)}.clearance{padding-top:24px}.clearance strong{font-size:1.35rem;font-weight:400;display:block;font-variant-numeric:tabular-nums}.clearance p:not(.eyebrow){font-size:.75rem;line-height:1.6;color:var(--muted);margin:8px 0 12px}.clearance .bad{color:var(--red)}.clearance .good{color:var(--green)}.event-log{border-top:1px solid var(--line);padding-top:12px;margin-top:22px;max-height:220px;overflow-y:auto}.event{font-size:.6875rem;line-height:1.6;padding:6px 0;display:grid;grid-template-columns:40px 1fr;gap:8px;color:var(--muted)}.event time{font-variant-numeric:tabular-nums;color:#9ba6ad}.event.alert{color:var(--red)}.reading{display:flex;align-items:baseline;gap:9px;margin-top:22px}.reading strong{font-size:2.5rem;font-weight:400;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.reading span{color:var(--muted);font-size:.8125rem}#chart{width:100%;height:180px;margin:20px 0 0}dl{font-size:.75rem;line-height:1.55}dt{color:var(--muted);margin-top:12px}dd{margin:3px 0 0;font-weight:600;overflow-wrap:anywhere}#selected-description{font-size:.875rem;line-height:1.65;color:var(--muted)}.design-item{border-top:1px solid var(--line);padding:16px 0}.design-item h4{font-size:.875rem;margin:0 0 6px}.design-item p{font-size:.75rem;line-height:1.6;margin:0;color:var(--muted)}.design-item a{color:var(--blue)}dialog{border:1px solid var(--line);padding:35px 40px;max-width:780px;width:90%;max-height:88vh;overflow-y:auto;box-shadow:0 24px 100px #0a192944;color:var(--ink);border-radius:10px}dialog::backdrop{background:#16242d77;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:13px;right:13px;min-height:30px;border:0;font-size:1.5rem;background:transparent}dialog h2{font-size:1.7rem;margin-bottom:22px}dialog h3{margin-top:23px}dialog p,dialog li{font-size:.9375rem;line-height:1.65}dialog a{color:var(--blue)}dialog table{width:100%;border-collapse:collapse;font-size:.8125rem;line-height:1.6;margin:16px 0}dialog th,dialog td{padding:10px;border:1px solid var(--line);text-align:left}dialog th{background:#edf2f5}dialog .disclaimer{font-size:.875rem;color:#8a492c}.sensor-label{padding:3px 5px;font-size:10px;color:#136b73}.fault-highlight{color:var(--red)!important}[hidden]{display:none!important}
@media(min-width:1700px){.workbench{grid-template-columns:280px minmax(650px,1fr) 320px}.controls-panel,.data-panel{padding-left:26px;padding-right:26px}#canvas-wrap{min-height:580px}}
@media(max-width:1180px){.workbench{grid-template-columns:232px minmax(320px,1fr)}.data-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:18px 25px}.detail-content{max-width:100%}#signals{display:grid;grid-template-columns:repeat(4,1fr);column-gap:25px}.event-log{max-height:130px}.clearance{max-width:660px}.coordinate span:last-child{display:none}#canvas-wrap{min-height:450px}.view-top{flex-wrap:wrap;padding:12px}.controls-panel{padding:23px 17px}}
@media(max-width:720px){.topbar{height:67px;padding:0 15px;gap:12px}.brand{font-size:.75rem;gap:8px;letter-spacing:.05em}.brand img{width:40px;height:40px}.brand b{font-size:.625rem}.review-status{display:none}.workbench{display:flex;flex-direction:column}.viewer-panel{order:0}.controls-panel{order:1;border-right:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:0 15px;padding:22px}.data-panel{order:2}h1{grid-column:1/-1;margin-bottom:10px}.controls-panel>.eyebrow,.controls-panel>.field-note,.controls-panel>.section-rule,.controls-panel>.sequence,.controls-panel>.faults,.controls-panel>.play-row,.controls-panel>input,.controls-panel>.speed-label,.controls-panel>.wide{grid-column:1/-1}.controls-panel>label:not(.speed-label){grid-column:1;margin:13px 0;align-self:center}.controls-panel>select{grid-column:2;margin:7px 0}.controls-panel>.eyebrow{margin-top:5px}.view-top{min-height:58px}.model-tabs button{font-size:.75rem;padding:6px 8px}#model-status{display:none}#canvas-wrap{height:440px;min-height:390px;flex:none}.view-tools{left:12px;top:12px;gap:4px}.view-key{font-size:.625rem;left:12px;bottom:12px;gap:4px}.coordinate{display:none}.overlay-controls{gap:12px;padding:13px 15px}.overlay-controls label{font-size:.75rem}.current-process{padding:19px 18px;gap:12px}.current-process h2{font-size:1.15rem}.current-process p:last-child{font-size:.8125rem}.cycle-clock{min-width:70px}.cycle-clock strong{font-size:1.2rem}.cycle-clock span{display:none}.simulation-notice{padding:10px 18px}#signals{grid-template-columns:repeat(2,1fr);column-gap:20px}dialog{padding:32px 24px}dialog table{font-size:.75rem}dialog td,dialog th{padding:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.detail-label{position:absolute;left:16px;bottom:220px;padding:7px 9px;background:#293641;color:#fff;font-size:10px;font-weight:700;letter-spacing:.05em;pointer-events:none;border-radius:5px 5px 0 0;box-sizing:border-box;z-index:2}

/* Rev K operating controls and slot ownership. */
.tray-status{margin-top:16px;padding:14px 0;border-bottom:1px solid var(--line)}.tray-status-heading{display:flex;justify-content:space-between;gap:8px;font-size:.875rem;line-height:1.4}.tray-status-heading strong{font-weight:600}.tray-map{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin:12px 0}.tray-slot{text-align:center;border:1px solid #cad4da;border-radius:4px;padding:5px 0;background:#f8fafb;font-size:.875rem;font-variant-numeric:tabular-nums}.tray-slot small{display:block;font-size:.75rem;color:var(--muted);line-height:1.2}.tray-slot.done{border-color:#73a28a;background:#ecf5ee}.tray-slot.active{border-color:var(--red);background:#fff0f0}.tray-slot.held{border-color:#c59b52;background:#fff2db}.faults .check-line{display:flex;align-items:flex-start;gap:9px;font-size:.875rem;line-height:1.5;font-weight:400}.check-line input{flex:none;margin-top:3px}.record-section{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.job-records{max-height:310px;overflow:auto;margin-bottom:14px}.job-record{display:flex;flex-direction:column;gap:5px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem;line-height:1.4;overflow-wrap:anywhere}.job-record span{font-size:.75rem;color:var(--muted)}.job-record .record-complete{color:var(--green)}.job-record .record-held{color:#936012}.view-tools button.primary{background:var(--red);color:white;border-color:var(--red)}#cancel-screen{margin-top:10px}.field-note{font-size:.875rem}.signal{font-size:.875rem}.eyebrow{font-size:.75rem}.detail-label{font-size:.75rem}.current-process p:last-child{font-size:.875rem;line-height:1.6}
@media(max-width:720px){.controls-panel>.tray-status{grid-column:1/-1}.tray-map{gap:7px}.tray-slot{padding:8px 0}.view-tools{max-width:calc(100% - 24px)}.view-tools button{min-height:38px}.job-records{max-height:260px}}

/* Rev M: functional material legend; compact on phones. */
.view-key{display:flex;flex-wrap:wrap;max-width:calc(100% - 30px);gap:7px 12px;padding:8px 10px;background:#ffffffed;border:1px solid #d4dbe0;border-radius:5px;font-size:.75rem}.view-key .legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.swatch.bending{background:#2574AD}.swatch.torsion{background:#CF9438}.swatch.esd{background:#343C44}.swatch.sensor{background:#159CA8}@media(max-width:720px){.view-key{font-size:.6875rem;gap:5px 10px;max-width:calc(100% - 24px)}}

.film-link{color:#263d4c;font-size:.85rem;text-decoration:none;border-bottom:2px solid #c72c3c;padding:8px 0}.artificial-note{font-size:.72rem;letter-spacing:.06em;color:#a44a2d;font-weight:700}.charts-dialog{max-width:1280px;width:95%}.graphs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.graphs-grid canvas{width:100%;height:240px;border:1px solid #e0e7ec;border-radius:6px}.detail-content>label{display:block;margin:14px 0 6px;font-size:.8rem}#chart-title{font-size:.95rem;margin-top:18px}#storage-status{border-left:3px solid #207b71;padding-left:10px}.record-open{display:block;width:100%;text-align:left;font-size:.75rem;padding:8px}.measurement-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.measurement-form label{font-size:.75rem}.measurement-form input{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid #bdcbd4;border-radius:4px}.measurement-form button{grid-column:1/-1}.data-panel{overflow:hidden}@media(max-width:720px){.graphs-grid{grid-template-columns:1fr}.film-link{font-size:.75rem}.topbar{gap:7px}#help-btn{font-size:.75rem;padding:5px}.charts-dialog{padding:26px 14px}.measurement-form{grid-column:1/-1}}

/* Rev O: AETEC red, black and neutral grey. Functional CAD colours remain. */
:root{--ink:#f1f1f1;--muted:#b2b2b2;--red:#c7353b;--red-dark:#a6242a;--line:#3c3c3c;--surface:#171717;--soft:#242424;--navy:#292929;--blue:#ef9195;--green:#78bb97;background:#111;color:var(--ink);color-scheme:dark}
.topbar{height:88px;border-bottom:3px solid var(--red);padding:0 26px;gap:18px}.brand{letter-spacing:.04em;font-size:1.1rem;gap:13px}.brand strong{font-weight:700}.brand b{font-size:.65rem;letter-spacing:.12em;color:#aaa}.brand img{width:58px;height:58px}.project-credit{display:flex;justify-content:center;gap:14px 30px;flex-wrap:wrap;padding:12px 20px;background:#222;color:#d4d4d4;font-size:.81rem;border-bottom:1px solid #393939}.project-credit strong{color:#fff}.project-credit a,a{color:#ef9195}.review-status{color:#bbb}.film-link{color:#eee}.controls-panel,.data-panel,.current-process{background:#1b1b1b}.workbench{min-height:calc(100vh - 137px)}.view-top,.overlay-controls,.simulation-notice{background:#252525;color:#bbb}.view-top{border-color:#454545}.model-tabs button{color:#bfbfbf}.model-tabs button.selected,.model-tabs button:hover{background:#363636;border-color:#575757;color:white}.current-process p:last-child{color:#bbb}.controls-panel .sequence li{color:#aaa}.controls-panel .sequence li.active{color:#fb8288}.controls-panel .sequence li.done{color:#eee}button,select{background:#252525;border-color:#545454;color:#eee}button:hover{background:#3a3a3a;border-color:#8a8a8a}button.secondary{background:#292929}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline-color:#ef858b}.view-tools button{background:#222e;color:#fff;border-color:#4a4a4a}.view-key{background:#222e;border-color:#444;color:#eee}.coordinate{color:#4a4a4a}.signal{border-color:#383838}.tray-slot{background:#292929;border-color:#525252}.tray-slot.done{background:#253b30;border-color:#638871}.tray-slot.active{background:#51292c;border-color:#d9565d}.tray-slot.held{background:#4a3b26}.signal-value.on{color:#8bccaa}.job-record .record-complete{color:#8bccaa}.detail-label{background:#222;color:#fff}.detail-tabs button.selected{color:white}dialog{background:#1c1c1c;color:#eee;box-shadow:0 24px 100px #0008}dialog th{background:#353535}dialog::backdrop{background:#0009}.graphs-grid canvas{border-color:#454545}.artificial-note{color:#f29b80}.detail-content .field-note{color:#bbb}#storage-status{border-left-color:#7aae90}.company-footer{display:flex;gap:18px;align-items:center;padding:22px 28px;border-top:3px solid var(--red);background:#111;color:#d0d0d0;font-size:.8rem}.company-footer img{width:48px;height:48px}.company-footer strong{font-size:1rem;color:#fff}.company-footer span,.company-footer a{display:block;margin-top:5px}.company-footer p{margin-left:auto;line-height:1.6}.watermark-layer{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.brand-watermark{position:absolute;display:flex;align-items:center;gap:7px;width:170px;height:42px;opacity:.105;will-change:transform;color:#111;font-size:11px;font-weight:700;line-height:1.4;user-select:none}.brand-watermark img{width:37px;height:37px}.brand-watermark small{display:block;font-size:9px;font-weight:400}.guide{background:#1d1d1d!important;color:#eee}.guide th{background:#333!important}.guide .formula{background:#292929}.guide .flow article{background:#292929}.guide .callout{background:#372d22;color:#ebd5bb}.guide a{color:#f29ca1!important}body:has(.guide),body:has(.film-page){background:#121212!important}.film-page p{color:#bbb!important}.film-page .artificial-note{color:#f29b80!important}.film-links a{background:#c7353b!important;color:#fff!important}.chapters button{background:#292929!important;border-color:#555!important;color:#eee!important}.film-page video{box-shadow:0 20px 70px #0008!important}.film-page h1{font-size:2rem}.film-page .eyebrow{color:#ed8d94!important}
@media(max-width:720px){.topbar{height:auto;min-height:86px;padding:12px 14px;gap:10px;flex-wrap:wrap}.brand{font-size:.9rem;flex:1}.brand img{width:46px;height:46px}.brand b{font-size:.55rem}.project-credit{justify-content:flex-start;font-size:.71rem;gap:6px 16px;padding:10px 15px}.project-credit span:first-child{display:none}.workbench{min-height:0}.brand-watermark{width:120px;height:32px;font-size:9px;gap:4px}.brand-watermark img{width:28px;height:28px}.brand-watermark small{font-size:7px}.company-footer{padding:20px 17px;flex-wrap:wrap}.company-footer p{margin:0 0 0 66px}.view-tools button{font-size:.65rem;padding:6px}.coordinate{display:none}}

@media(max-width:720px){.project-credit span:first-child{display:inline}}

#canvas-wrap{background:#dedede}#fallback{background:#252525;color:#eee;inset:auto 12% 40%;padding:25px;border-color:#777}#fallback a{color:#ef9195}
