@charset "UTF-8";
:root{--navy:#142b38;--navy-deep:#0d1e29;--cream:#f3f2ec;--surface:#fff;--ink:#183341;--muted:#5d7078;--line:#dce2df;--teal:#176c62;--teal-soft:#e5f2ed;--amber:#ffb62f;--red:#ef5149;--green:#49da91;--shadow:0 4px 20px #102a3805;--radius:14px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed;opacity:.45}button,input,select,a,summary,pre{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,pre:focus-visible{outline:3px solid #218eae}button{touch-action:manipulation}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.5rem,2.45vw,2.3rem);line-height:1.2;letter-spacing:-.035em;margin:9px 0 11px}h2{font-size:1.03rem;letter-spacing:-.018em}p{line-height:1.6}small{font-size:.74rem}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-80px;padding:12px;background:#fff;z-index:100}.skip-link:focus{top:12px}.masthead{background:var(--navy-deep);color:#fff;display:flex;align-items:center;gap:32px;min-height:90px;padding:20px 4%;border-bottom:3px solid #254c57}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:1.05rem;white-space:nowrap;letter-spacing:.02em}.brand strong{font-weight:500;color:#c7d9dd}.brand small{display:block;font-size:.55rem;letter-spacing:.23em;color:#8daeb7;margin-top:7px}.brand-mark{display:grid;place-items:center;width:39px;height:42px;border:1px solid #58747b;border-radius:11px;font-size:1.6rem;font-weight:700;color:#f1dfb2}.header-context{display:flex;flex-direction:column;gap:7px;flex:1;border-left:1px solid #36505a;padding-left:30px;font-size:.73rem;color:#aac0c5}.eyebrow{font-size:.64rem;letter-spacing:.16em;font-weight:750;line-height:1.4}.status-pill{display:inline-flex;align-items:center;gap:8px;background:#263d47;color:#e3ecee;padding:9px 13px;border-radius:30px;font-size:.75rem;font-weight:650;white-space:nowrap}.status-pill i{width:7px;height:7px;border-radius:50%;background:#abb7bf}.status-pill[data-status=running] i{background:#70e1ad}.status-pill[data-status=paused] i{background:#ffc964}.status-pill[data-status=disconnected] i,.status-pill[data-status=failed] i{background:#ff8278}.workspace{max-width:1600px;margin:auto;padding:32px 4% 0}.intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:24px}.intro p{font-size:.84rem;color:var(--muted);max-width:650px}.site-picker{min-width:290px;max-width:440px}.inline{display:flex;gap:8px;align-items:stretch}.inline select{min-width:0;flex:1}label{display:block;font-size:.72rem;font-weight:650;margin:0 0 7px}input,select{min-height:39px;border:1px solid #b9c9ca;border-radius:7px;background:#fff;color:var(--ink);padding:8px 10px;max-width:100%}.button{display:inline-flex;justify-content:center;align-items:center;gap:6px;border:1px solid #bdcccc;background:#fff;color:var(--ink);border-radius:7px;padding:10px 14px;font-size:.76rem;font-weight:650;white-space:nowrap;line-height:1.2;min-height:38px}.button:hover:enabled{background:#eef3f1;border-color:#7b9999}.button.primary{background:var(--teal);border-color:var(--teal);color:#fff}.button.primary:hover:enabled{background:#10584f}.button.quiet{background:transparent;border-color:transparent;color:var(--muted)}.button.quiet:hover:enabled{background:#e8eeee}.button.small{font-size:.7rem;padding:7px 10px;min-height:32px}.button.full{width:100%;margin-top:14px}.button.danger{color:#a73732;border-color:#dcb9b5;background:#fff5f1}.button[aria-pressed=true]{background:var(--teal-soft);border-color:#44857c;color:#165f55}.notice{display:flex;gap:10px;border:1px solid #cfddda;border-left:3px solid #529386;background:#eaf3ed;border-radius:7px;font-size:.8rem;line-height:1.5;padding:11px 14px;margin-bottom:23px;overflow-wrap:anywhere}.notice[data-tone=error]{background:#fff0ea;border-color:#e9c9be;border-left-color:#cc6350;color:#87382d}.notice[data-tone=warning]{background:#fff5dd;border-color:#e8d8ab;border-left-color:#c88c29;color:#755720}.welcome{background:var(--navy);color:#eaf2f2;border-radius:var(--radius);padding:35px;display:grid;grid-template-columns:1fr 1.8fr;gap:48px;margin:26px 0 48px}.welcome h2{font-size:1.4rem;margin:16px 0 10px}.welcome p{color:#b4c8cd;font-size:.85rem}.section-index{font-size:.66rem;font-weight:700;letter-spacing:.05em;color:#64827f}.welcome .section-index{color:#ebcf96}.guide{margin:0;padding:0;list-style:none;display:grid;gap:25px}.guide li{display:flex;gap:17px}.guide li>span{display:grid;place-items:center;flex:0 0 31px;height:31px;border:1px solid #5b777e;border-radius:50%;font-size:.8rem;color:#efd8a3}.guide strong{display:block;font-size:.9rem;margin:4px 0 5px}.guide p{font-size:.8rem}.transport{display:flex;align-items:center;gap:25px;padding:18px 23px;background:#e6ece7;border:1px solid #d2ddd6;border-radius:var(--radius);margin-bottom:25px}.clock-readout{display:flex;flex-direction:column;min-width:145px;gap:3px}.clock-readout .eyebrow{color:var(--muted);font-size:.56rem}.clock-readout strong{font-variant-numeric:tabular-nums;font-size:1.65rem;letter-spacing:-.025em;font-weight:600}.clock-readout>span:last-child{font-size:.66rem;color:var(--muted)}.transport-actions{display:flex;align-items:center;gap:7px;flex:1;flex-wrap:wrap}.transport-secondary{display:flex;gap:3px;border-left:1px solid #c6d4cd;padding-left:12px}.speed-label{display:flex;gap:8px;align-items:center;margin:0 0 0 10px;font-size:.69rem}.speed-label select{min-height:38px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:22px;align-items:start}.main-column{display:grid;gap:22px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;border-bottom:1px solid #e9eeeb;min-height:66px}.panel-heading>div:first-child{display:flex;gap:13px;align-items:center}.tag{font-size:.54rem;letter-spacing:.08em;font-weight:650;border:1px solid #dce5df;color:#647b7b;padding:5px 7px;border-radius:4px;white-space:nowrap}.dark-tag{border-color:#45606c;color:#b9cbd0}.controller-summary{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:.7rem;color:var(--muted);padding:14px 22px;background:#fcfdfb;border-bottom:1px solid #edf1ee}.controller-summary strong{color:var(--ink);font-weight:600;margin-left:5px}.phase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:13px;padding:21px}.phase-card{background:#f7f8f5;border:1px solid #e0e5de;border-radius:10px;padding:13px 12px;min-width:0;transition:border-color .15s}.phase-card[data-aspect=green]{border-color:#74b89b}.phase-card[data-aspect=redAmber]{border-color:#dba257}.phase-card[data-quality=unknown],.phase-card[data-quality=invalid]{border-color:#d0b176;background:#fffaf0}.phase-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:13px}.phase-name{font-size:1.08rem;font-weight:700}.phase-kind{font-size:.59rem;color:var(--muted);overflow-wrap:anywhere;text-align:right}.phase-mimic{display:flex;align-items:center;gap:13px;min-height:85px;margin-bottom:13px}.lamp-housing{background:#122631;border:1px solid #0d1b25;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px;box-shadow:inset 0 2px 3px #0005;flex:0 0 37px;align-items:center}.lamp{display:block;width:19px;height:19px;border:1px solid #536069;border-radius:50%;background:#2f414c}.lamp.red.on{background:#ff625a;border-color:#ffaaa3;box-shadow:0 0 8px #ff514d80}.lamp.amber.on{background:#ffbf44;border-color:#ffe4a7;box-shadow:0 0 8px #ffc23b80}.lamp.green.on{background:#50e29c;border-color:#a8f7d0;box-shadow:0 0 8px #49e39970}.lamp.red:after,.lamp.amber:after,.lamp.green:after{content:"";display:block;width:100%;height:100%;border-radius:inherit}.phase-card[data-logical=true] .lamp-housing{display:none}.logical-indicator{display:none;font-size:.7rem;padding:9px;border:1px dashed #87978f;border-radius:7px}.phase-card[data-logical=true] .logical-indicator{display:block}.aspect-copy{min-width:0}.aspect-name{display:block;font-size:.85rem;font-weight:700;line-height:1.35}.aspect-duration{display:block;font-variant-numeric:tabular-nums;font-size:.75rem;color:var(--muted);margin-top:6px}.phase-monitor{font-size:.63rem;color:var(--muted);line-height:1.5;min-height:31px;overflow-wrap:anywhere;margin-bottom:8px}.phase-flags{font-size:.61rem;color:#496763;min-height:23px;line-height:1.6}.phase-timers{display:grid;gap:6px;padding-top:10px;border-top:1px solid #dfe6de;font-size:.61rem}.phase-timers div{display:flex;justify-content:space-between;gap:5px}.phase-timers strong{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.phase-evidence{font-size:.63rem;color:#895e26;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}.panel-footnote{font-size:.68rem;color:var(--muted);padding:0 22px 17px}.stream-list{padding:4px 22px 15px}.stream-card{padding:16px 0;border-bottom:1px solid #e6ece7}.stream-card:last-child{border-bottom:0}.stream-top{display:flex;gap:15px;align-items:center;justify-content:space-between}.stream-name{font-size:.76rem;font-weight:650}.stream-stage{display:flex;gap:8px;align-items:center;font-size:.76rem}.stage-badge{background:#eef4ed;border:1px solid #d9e3d5;border-radius:5px;padding:5px 8px;font-weight:650}.stream-reason{font-size:.7rem;color:var(--muted);line-height:1.6;margin-top:10px;overflow-wrap:anywhere}.stream-preparations{font-size:.67rem;color:#7f6025;margin-top:7px;line-height:1.5}.stream-meta{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:.63rem;color:var(--muted)}.tabs{display:grid;grid-template-columns:repeat(4,1fr);padding:0 14px;border-bottom:1px solid var(--line);gap:6px}.tabs button{font-size:.72rem;border:0;border-bottom:3px solid transparent;background:transparent;padding:14px 4px;color:var(--muted);font-weight:550}.tabs button[aria-selected=true]{border-bottom-color:var(--teal);color:var(--teal);font-weight:700}.tab-panel{padding:19px}.tab-panel>input,.tab-panel>select{width:100%}.tab-panel>label{margin-top:18px}.tab-panel>label:first-child{margin-top:0}.list-caption{font-size:.61rem;color:var(--muted);display:flex;justify-content:space-between;gap:10px;margin:13px 0 6px}.control-list{max-height:550px;overflow-y:auto;scrollbar-gutter:stable}.control-row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:14px 1px;border-bottom:1px solid #e7ece8}.control-row:last-child{border:0}.control-row-label{min-width:0;display:flex;flex-direction:column;gap:4px}.control-row-label strong{font-size:.75rem;overflow-wrap:anywhere}.control-row-label span{font-size:.64rem;color:var(--muted);overflow-wrap:anywhere}.state-light{display:inline-block;width:6px;height:6px;background:#aab6b2;border-radius:50%;margin-right:5px}.state-light.active{background:var(--teal)}.control-row .button-pair{gap:3px}.control-row .button{font-size:.6rem;padding:7px;min-height:30px}.button-pair{display:flex;gap:6px;align-items:center}.control-help{font-size:.71rem;color:var(--muted);line-height:1.6;margin-bottom:13px}.switch-row{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e6ece8}.switch-row strong,.switch-row span{display:block;font-size:.74rem}.switch-row span{color:var(--muted);font-size:.64rem;margin-top:4px}.subheading{font-size:.79rem;margin-top:25px;margin-bottom:9px}.fault-item{font-size:.69rem;padding:10px;border:1px solid #efd4c8;border-radius:6px;margin:7px 0;background:#fff7ef;line-height:1.6;overflow-wrap:anywhere}.fault-item strong{display:block}.empty-note{padding:17px 0;color:var(--muted);font-size:.74rem;line-height:1.6}.timeline-panel{margin-top:23px}.timeline-legend{display:flex;flex-wrap:wrap;gap:17px;padding:17px 22px 5px;font-size:.65rem;color:var(--muted)}.timeline-legend>span{display:flex;align-items:center;gap:6px}.swatch{width:12px;height:7px;border-radius:2px;background:#91a09b}.swatch.red{background:#d95a51}.swatch.amber{background:#dba443}.swatch.green{background:#39976e}.swatch.redAmber{background:linear-gradient(90deg,#d95a51 50%,#e3ae42 50%)}.swatch.off{background:#98a7a8}.timeline-scroll{overflow-x:auto;padding:10px 22px 12px}.timeline-scroll svg{display:block;width:100%;min-width:620px;height:auto}.timeline-scroll text{font-family:inherit;fill:#526b73;font-size:11px}.record-panel{margin-top:23px}.record-summary{display:flex;justify-content:space-between;gap:12px;padding:16px 22px;font-size:.7rem}.muted{color:var(--muted);font-size:.68rem}.table-scroll{overflow-x:auto;max-height:280px}table{border-collapse:collapse;width:100%;font-size:.72rem;text-align:left}th{font-size:.61rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:#f8faf7;position:sticky;top:0}th,td{padding:11px 22px;border-bottom:1px solid #e8eee7}td:first-child{font-variant-numeric:tabular-nums;white-space:nowrap}td{overflow-wrap:anywhere}td:not(:first-child){max-width:340px}.record-panel>.empty-note{padding:8px 22px 18px}.details{border-top:1px solid #e7ece7;font-size:.74rem;padding-top:15px;margin-top:16px}.details summary{cursor:pointer;font-weight:600;line-height:1.6}.record-panel>.details{padding:15px 22px;margin:0}.key-values{display:grid;grid-template-columns:135px minmax(0,1fr);gap:10px 14px;font-size:.68rem;line-height:1.55;margin:14px 0 0}.key-values dt{color:var(--muted)}.key-values dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.run-end{display:flex;align-items:center;gap:30px;justify-content:space-between;border-top:1px solid #e7ece7;padding:14px 22px;font-size:.67rem;color:var(--muted);line-height:1.6}.page-footer{display:flex;justify-content:space-between;gap:20px;padding:30px 2px;font-size:.65rem;color:var(--muted);line-height:1.7}.observer-workspace{max-width:1360px}.observer-workspace>#observer-content>.panel{margin-top:23px}.observer-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.metric{padding:20px;display:flex;flex-direction:column;gap:10px}.metric>span{color:var(--muted);font-size:.71rem}.metric strong{font-size:1.18rem;font-weight:600;overflow-wrap:anywhere}.metric small{color:var(--muted);overflow-wrap:anywhere}.padded{padding:16px 22px;margin-top:0}pre{background:var(--navy-deep);color:#c3ddd6;padding:20px;max-height:500px;overflow:auto;line-height:1.6;font-size:.7rem;border-radius:8px;margin-top:15px}.observer-page .phase-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.observer-page .phase-timers{display:none}dialog{width:min(470px,calc(100% - 34px));padding:30px;border:1px solid #c0cfca;border-radius:16px;color:var(--ink);box-shadow:0 15px 80px #001b2940}dialog::backdrop{background:#0d243a80}dialog h2{font-size:1.4rem;margin:12px 0}dialog p{font-size:.84rem;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
@media(min-width:1450px){.dashboard-grid{grid-template-columns:minmax(0,1fr) 400px}.phase-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}}
@media(max-width:1120px){.dashboard-grid{grid-template-columns:minmax(0,1fr) 330px}.transport{gap:15px}.transport-secondary{flex-direction:column}.transport-actions{gap:6px}.transport-actions .button{padding:10px}.phase-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:9px;padding:15px}.header-context{display:none}.masthead>.status-pill{margin-left:auto}.signals-panel .panel-heading>.tag{display:none}.site-picker{min-width:260px}.clock-readout{min-width:120px}}
@media(max-width:860px){.dashboard-grid{grid-template-columns:1fr}.control-panel{order:0}.control-list{max-height:360px}.phase-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.intro{align-items:flex-start;flex-direction:column;gap:20px}.site-picker{width:100%;max-width:none}.transport{flex-wrap:wrap}.clock-readout{min-width:140px}.transport-actions{flex:1 1 360px}.transport-secondary{flex-direction:row;padding:0;border:none}.welcome{grid-template-columns:1fr;gap:28px;padding:26px}.welcome-title h2{margin-top:10px}.welcome-title p{max-width:550px}.observer-metrics{gap:10px}.metric strong{font-size:.95rem}}
@media(max-width:560px){.workspace{padding:25px 16px 0}.masthead{padding:18px 16px;gap:12px;min-height:82px}.brand{font-size:.85rem;gap:9px}.brand-mark{width:31px;height:36px;font-size:1.35rem}.brand small{font-size:.47rem}.status-pill{font-size:.65rem;padding:8px 10px}.brand strong{display:block}.brand small{display:none}.phase-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px}.phase-card{padding:12px 10px}.panel-heading{padding:17px 16px;flex-wrap:wrap;gap:14px}.panel-heading>div:first-child{gap:10px}.controller-summary{padding:13px 16px;gap:10px;font-size:.65rem}.transport{padding:17px;gap:14px}.transport-actions{flex-basis:100%}.transport-actions .button{font-size:.68rem}.speed-label{margin-left:0}.transport-secondary{margin-top:-5px}.stream-top{align-items:flex-start}.stream-stage{flex-wrap:wrap;justify-content:flex-end;font-size:.7rem}.stream-list{padding:0 16px 12px}.timeline-legend{padding-left:16px;gap:11px}.record-summary{flex-direction:column;gap:5px;padding:15px 16px}th,td{padding:10px 16px}.run-end,.page-footer{flex-direction:column;align-items:flex-start;gap:12px}.run-end .button{padding-left:0}.key-values{grid-template-columns:95px minmax(0,1fr);gap:8px}.observer-metrics{grid-template-columns:1fr}.metric{gap:6px;padding:16px}.metric strong{font-size:1.15rem}.observer-page .dark-tag{display:none}.observer-page .phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-footnote{padding-left:16px;padding-right:16px}.record-panel .panel-heading>.button-pair{flex-wrap:wrap}.welcome{padding:22px}.welcome h2{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Native Site Visual layers are built once; navigation changes only the viewBox. */
.schematic-status{padding:16px 22px;font-size:.74rem;color:var(--muted);line-height:1.6;border-bottom:1px solid #e8eee7}.schematic-status[data-tone=warning]{color:#825719;background:#fff8e9}.schematic-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:13px;padding:12px 16px;background:#f9fbf7;border-bottom:1px solid #e1e9e0}.schematic-layers{display:flex;flex-wrap:wrap;gap:10px 14px}.schematic-layers label{display:flex;align-items:center;gap:5px;font-size:.64rem;font-weight:500;margin:0;cursor:pointer}.schematic-layers input{width:14px;height:14px;min-height:0;margin:0;accent-color:var(--teal)}.schematic-viewport{height:clamp(320px,42vw,570px);background:#e7eae6;overflow:hidden;position:relative}.schematic-viewport svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none}.schematic-viewport svg.is-dragging{cursor:grabbing}.schematic-viewport svg:focus-visible{outline-offset:-4px;outline:3px solid #218eae}.schematic-help{font-size:.64rem;line-height:1.6;padding:12px 18px 0;color:var(--muted)}.schematic-legend{padding-bottom:14px}.schematic-provenance{margin:0;padding:12px 22px 18px}.swatch.detector-active{background:#008db3}.schematic-shape{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.schematic-detector-label{font-family:Inter,"Segoe UI",Arial,sans-serif;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;fill:#174f69;font-weight:700}.schematic-phase-label{font-family:Inter,"Segoe UI",Arial,sans-serif;fill:#172f3d;font-weight:800;text-anchor:middle;dominant-baseline:central}.bridge-panel{margin-top:23px}.bridge-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);gap:30px;padding:20px 22px}.bridge-body input[type=file]{display:block;width:100%;font-size:.72rem}.bridge-body input[type=file]::file-selector-button{border:0;border-right:1px solid #dce2df;background:#f2f6f0;padding:8px 12px;margin:-6px 10px -6px -8px;color:var(--ink);cursor:pointer}.bridge-ownership{font-size:.74rem;font-weight:600;line-height:1.6;margin-bottom:18px}.bridge-actions{display:flex;align-items:stretch;flex-direction:column;gap:9px}.bridge-actions .control-help{margin-top:5px}.bridge-body #bridge-mapping-note{margin-top:8px;margin-bottom:0}.bridge-panel [data-status=active]{color:#176c62;border-color:#83b9a3;background:#e8f4ed}.bridge-panel [data-status=paired]{color:#875b17;border-color:#d4b36e;background:#fff5dc}@media(max-width:650px){.bridge-body{grid-template-columns:1fr;gap:20px;padding:17px}.schematic-toolbar{gap:12px}.schematic-viewport{height:340px}.schematic-layers{gap:10px}.schematic-status{padding:14px 17px}}
.schematic-panel #schematic-label{max-width:45%;overflow:hidden;text-overflow:ellipsis}.bridge-ownership{overflow-wrap:anywhere}

/* Simulator workspace layout; the independent observer keeps its own sizing. */
.simulator-page .workspace{max-width:none;padding:20px 24px 0}

.simulator-page .intro{margin-bottom:16px}
.simulator-page .workspace-tabs{display:flex;align-items:stretch;gap:5px;border-bottom:1px solid #cbd9d1;margin-bottom:14px}
.simulator-page .workspace-tabs>[role=tab]{border:1px solid transparent;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:650;padding:10px 18px;border-radius:7px 7px 0 0;min-height:42px}
.simulator-page .workspace-tabs>[role=tab]:hover{background:#e5ede6;color:var(--ink)}
.simulator-page .workspace-tabs>[role=tab][aria-selected=true]{background:#fff;border-color:#d5dfd7;border-bottom-color:var(--teal);color:var(--teal)}
.simulator-page .workspace-panel{min-width:0}
.simulator-page .operate-grid{grid-template-columns:minmax(0,1fr) clamp(330px,26vw,400px);gap:16px}
.simulator-page .main-column{gap:12px}
.simulator-page .workspace-panel>.panel,.simulator-page .timeline-panel{margin-top:0}
.simulator-page .panel-heading{padding:11px 15px;min-height:42px;gap:10px}
.simulator-page .panel-heading>div:first-child{gap:9px}
.simulator-page .panel-heading h2{font-size:.95rem}
.simulator-page .controller-summary{padding:9px 15px;gap:17px;font-size:.71rem}
.simulator-page .phase-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:10px;max-height:clamp(240px,calc(100dvh - 510px),420px);overflow-y:auto;scrollbar-gutter:stable;align-content:start}
.simulator-page .phase-card{padding:9px;min-width:0}
.simulator-page .phase-card-head{margin-bottom:7px;gap:4px}
.simulator-page .phase-name{font-size:1rem}
.simulator-page .phase-kind{font-size:.62rem}
.simulator-page .phase-mimic{min-height:66px;gap:9px;margin-bottom:7px}
.simulator-page .lamp-housing{padding:6px;gap:4px;flex-basis:32px;border-radius:8px}
.simulator-page .lamp{width:17px;height:17px}
.simulator-page .aspect-name{font-size:.79rem}
.simulator-page .aspect-duration{font-size:.66rem;margin-top:4px}
.simulator-page .phase-monitor{font-size:.65rem;line-height:1.35;min-height:28px;margin-bottom:5px}
.simulator-page .phase-flags{font-size:.64rem;line-height:1.35;min-height:28px}
.simulator-page .phase-timers{font-size:.64rem;padding-top:7px;gap:4px}
.simulator-page .phase-evidence{font-size:.66rem;line-height:1.4;margin-top:7px}
.simulator-page .mimic-help,.simulator-page .timeline-help{border-top:1px solid #e7ece7;font-size:.65rem;color:var(--muted);padding:6px 15px}
.simulator-page .mimic-help summary,.simulator-page .timeline-help summary{cursor:pointer;width:fit-content;line-height:1.5}
.simulator-page .mimic-help .panel-footnote,.simulator-page .timeline-help .panel-footnote{padding:7px 0 3px;font-size:.68rem}
.simulator-page .timeline-legend{padding:9px 15px 3px;gap:12px;font-size:.65rem}
.simulator-page .timeline-scroll{padding:7px 12px 8px;overflow:auto;max-height:clamp(150px,calc(100dvh - 580px),300px)}
.simulator-page .timeline-scroll svg{width:100%;height:auto;min-width:620px}
.simulator-page .stream-disclosure>summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;padding:11px 15px;font-size:.78rem;font-weight:650;line-height:1.5}
.simulator-page .stream-disclosure>summary::before{content:'▸';font-size:.82rem;color:var(--teal)}
.simulator-page .stream-disclosure[open]>summary::before{content:'▾'}
.simulator-page .stream-disclosure>summary::-webkit-details-marker{display:none}
.simulator-page .stream-disclosure #stage-overview{font-size:.68rem;font-weight:400;margin-left:auto}
.simulator-page .stream-list{padding:0 15px 9px}
.simulator-page .control-panel .tabs{padding:0 10px;gap:3px}
.simulator-page .control-panel .tabs button{font-size:.75rem;padding:10px 3px;min-height:40px}
.simulator-page .control-panel .tab-panel{padding:13px;max-height:clamp(280px,calc(100dvh - 325px),720px);overflow-y:auto;scrollbar-gutter:stable}
.simulator-page .control-panel .control-list{max-height:none;overflow:visible;scrollbar-gutter:auto}
.simulator-page .control-row{padding:10px 1px}
.simulator-page .control-row .button{min-height:32px;font-size:.65rem}
.simulator-page .control-row-label strong{font-size:.77rem}
.simulator-page .control-row-label span{font-size:.68rem}
.simulator-page .control-help{font-size:.74rem;line-height:1.5}
.simulator-page .switch-row{padding:9px 0}
.simulator-page .tab-panel>label{margin-top:13px}
.simulator-page .schematic-viewport{height:clamp(320px,calc(100dvh - 385px),760px)}
.simulator-page .schematic-status{padding:10px 15px}
.simulator-page .schematic-toolbar{padding:9px 15px}
.simulator-page .bridge-body{grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:28px}
.simulator-page .record-panel .table-scroll{max-height:clamp(220px,calc(100dvh - 410px),620px)}






.simulator-page.has-run .status-pill{padding:7px 11px;font-size:.72rem}
.simulator-page.has-run .workspace{padding-top:10px}
.simulator-page.has-run .intro{margin-bottom:8px;gap:12px;min-height:35px}
.simulator-page.has-run .intro .eyebrow,.simulator-page.has-run .site-picker{display:none}
.simulator-page.has-run h1{font-size:1.25rem;line-height:1.2;margin:0 0 3px;letter-spacing:-.02em}
.simulator-page.has-run #site-description{font-size:.68rem;line-height:1.4;max-width:none}
.simulator-page.has-run .notice{margin-bottom:8px;padding:7px 11px;font-size:.73rem;line-height:1.4}
.simulator-page.has-run .transport{padding:9px 14px;margin-bottom:8px;gap:18px;border-radius:9px}
.simulator-page.has-run .clock-readout{display:grid;grid-template-columns:auto auto;gap:2px 10px;min-width:185px;align-items:center}
.simulator-page.has-run .clock-readout>.eyebrow{grid-column:1;font-size:.53rem}
.simulator-page.has-run .clock-readout>strong{grid-column:1;grid-row:2;font-size:1.35rem;line-height:1.1}
.simulator-page.has-run .clock-readout>#clock-note{grid-column:2;grid-row:1/3;font-size:.65rem;line-height:1.35;max-width:170px}
.simulator-page.has-run .transport-actions{gap:6px}
.simulator-page.has-run .transport-actions>.button{min-height:34px;padding:8px 11px;font-size:.73rem}
.simulator-page.has-run .speed-label select{min-height:34px;padding:5px 8px}
.simulator-page.has-run .transport-secondary{padding-left:10px;gap:2px}
.simulator-page.has-run .transport-secondary>.button{min-height:34px;padding:8px 9px}
.simulator-page.has-run .workspace-tabs{margin-bottom:12px}
.simulator-page.has-run .workspace-tabs>[role=tab]{min-height:38px;padding:8px 17px}
.simulator-page.has-run .page-footer{padding:15px 0;font-size:.63rem}
@media(min-width:1700px){.simulator-page .phase-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.simulator-page .phase-mimic{gap:14px}.simulator-page .phase-monitor,.simulator-page .phase-flags,.simulator-page .phase-timers{font-size:.7rem}}
@media(max-width:1050px){.simulator-page .operate-grid{grid-template-columns:minmax(0,1fr) 315px}.simulator-page.has-run .clock-readout{min-width:140px}.simulator-page.has-run .clock-readout>#clock-note{max-width:115px}.simulator-page.has-run .transport{gap:10px}.simulator-page.has-run .transport-secondary{flex-direction:row}.simulator-page.has-run .transport-actions>.button{padding:8px}.simulator-page .phase-grid{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));max-height:300px}.simulator-page .bridge-body{grid-template-columns:1fr 300px}}
@media(max-width:800px){.simulator-page .workspace{padding:16px 16px 0}.simulator-page .operate-grid{grid-template-columns:1fr}.simulator-page .phase-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));max-height:none;overflow:visible;scrollbar-gutter:auto}.simulator-page .control-panel .tab-panel{max-height:480px}.simulator-page .timeline-scroll{max-height:none}.simulator-page .bridge-body{grid-template-columns:1fr}.simulator-page.has-run .transport{flex-wrap:wrap}.simulator-page.has-run .transport-actions{flex-basis:auto}.simulator-page.has-run .clock-readout{min-width:170px}.simulator-page.has-run .intro{align-items:stretch}.simulator-page .workspace-tabs{flex-wrap:wrap;gap:3px}.simulator-page.has-run .workspace-tabs>[role=tab]{padding:9px 12px;font-size:.76rem}.simulator-page .schematic-viewport{height:400px}.simulator-page .stream-disclosure #stage-overview{margin-left:0;flex-basis:100%}}
@media(max-height:680px){.simulator-page .phase-grid{max-height:none;overflow:visible;scrollbar-gutter:auto}.simulator-page .timeline-scroll{max-height:none}.simulator-page .control-panel .tab-panel{max-height:none;overflow:visible;scrollbar-gutter:auto}.simulator-page .control-panel .control-list{max-height:none}.simulator-page .record-panel .table-scroll{max-height:none}}
@media(max-width:480px){.simulator-page .phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.simulator-page .workspace-tabs>[role=tab]{flex:1 1 40%;text-align:center}.simulator-page.has-run .transport-actions{flex-basis:100%}.simulator-page.has-run .clock-readout>#clock-note{max-width:none}.simulator-page .panel-heading{padding:11px 12px}.simulator-page .phase-card{padding:9px}.simulator-page.has-run h1{font-size:1.12rem}.simulator-page .signals-panel .tag{display:none}}

/* Compact operating view: keep normal eight-phase sites together on a laptop. */
.simulator-page .operate-grid{grid-template-columns:minmax(0,1fr) clamp(306px,25vw,370px);gap:14px}
.simulator-page .main-column{gap:10px}
.simulator-page .panel-heading{padding:8px 12px;min-height:36px}
.simulator-page .controller-summary{padding:6px 12px;gap:14px;font-size:.69rem}
.simulator-page .phase-grid{grid-template-columns:repeat(auto-fit,minmax(98px,1fr));gap:6px;padding:8px;max-height:clamp(250px,calc(100dvh - 455px),440px);align-items:start;scrollbar-gutter:auto}
.simulator-page .phase-card{padding:7px}
.simulator-page .phase-card-head{margin-bottom:5px}
.simulator-page .phase-mimic{align-items:flex-start;min-height:72px;gap:6px;margin-bottom:5px}
.simulator-page .lamp-housing{padding:5px 4px;gap:4px;flex-basis:27px;border-radius:7px}
.simulator-page .aspect-name{font-size:.76rem;line-height:1.18}
.simulator-page .aspect-duration{font-size:.66rem;line-height:1.2;margin-top:4px}
.simulator-page .phase-monitor{font-size:.65rem;line-height:1.2;min-height:0;margin:5px 0 0}
.simulator-page .phase-monitor::before{content:'Monitored';display:block;color:var(--muted);font-size:.6rem;margin-bottom:2px}
.simulator-page .phase-row-state{font-size:.66rem;line-height:1.25;min-height:26px;margin-bottom:3px;color:#496763}
.simulator-page .phase-timers{font-size:.65rem;padding-top:5px;gap:3px;line-height:1.2}
.simulator-page .phase-timers div{gap:3px;align-items:baseline}
.simulator-page .phase-timers strong{font-weight:550;white-space:nowrap}
.simulator-page .phase-details{border-top:1px solid #dfe6de;margin-top:6px;padding-top:5px;font-size:.66rem;line-height:1.35}
.simulator-page .phase-details summary{cursor:pointer;color:var(--muted);overflow-wrap:anywhere}
.simulator-page .phase-details[data-concern=true] summary{color:#875717;font-weight:700}
.simulator-page .phase-details .phase-flags{min-height:0;margin-top:6px;font-size:.68rem;line-height:1.4}
.simulator-page .phase-details .phase-evidence{font-size:.68rem;line-height:1.45}
.simulator-page .logical-indicator{padding:5px;font-size:.62rem;line-height:1.3}
.simulator-page .mimic-help,.simulator-page .timeline-help{padding:0;border:0;max-width:340px;font-size:.65rem}
.simulator-page .mimic-help[open],.simulator-page .timeline-help[open]{align-self:flex-start}
.simulator-page .timeline-heading-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.simulator-page .timeline-window{display:flex;align-items:center;gap:7px;margin:0;font-size:.68rem;white-space:nowrap}
.simulator-page .timeline-window select{min-height:29px;padding:4px 7px;font-size:.7rem}
.simulator-page .timeline-legend{padding:7px 12px 2px;gap:12px}
.simulator-page .timeline-scroll{padding:5px 10px 7px;max-height:clamp(194px,calc(100dvh - 505px),420px)}
.simulator-page .stream-disclosure>summary{padding:9px 12px}
.simulator-page .control-panel .tabs button{min-height:36px;padding:8px 3px}
.simulator-page .control-panel .tab-panel{max-height:clamp(300px,calc(100dvh - 280px),770px);padding:11px}


.simulator-page.has-run .workspace{display:block;padding-top:10px}
.simulator-page.has-run .intro{min-height:0;margin:0 0 6px;grid-column:1}
.simulator-page.has-run h1{font-size:1.1rem;line-height:1.2;margin:0 0 2px}
.simulator-page.has-run #site-description{font-size:.63rem;line-height:1.25}
.simulator-page.has-run .notice{grid-column:2;margin:0 0 6px;padding:5px 9px;font-size:.7rem;line-height:1.35}
.simulator-page.has-run #run-workspace,.simulator-page.has-run .page-footer{grid-column:1/-1;min-width:0}
.simulator-page.has-run .transport{padding:5px 12px;gap:16px;margin-bottom:5px}
.simulator-page.has-run .clock-readout{min-width:175px;gap:0 9px}
.simulator-page.has-run .clock-readout>strong{font-size:1.2rem}
.simulator-page.has-run .clock-readout>#clock-note{font-size:.64rem;max-width:185px}
.simulator-page.has-run .workspace-tabs{margin-bottom:8px}
.simulator-page.has-run .workspace-tabs>[role=tab]{min-height:34px;padding:6px 16px}
@media(min-width:1700px){.simulator-page .phase-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.simulator-page .phase-card{padding:10px}.simulator-page .phase-mimic{gap:12px}.simulator-page .phase-monitor,.simulator-page .phase-row-state,.simulator-page .phase-timers,.simulator-page .phase-details{font-size:.72rem}.simulator-page .phase-monitor::before{font-size:.64rem}}
@media(max-width:1050px){.simulator-page .operate-grid{grid-template-columns:minmax(0,1fr) 306px}.simulator-page.has-run .transport{gap:10px}.simulator-page.has-run .workspace{column-gap:12px}.simulator-page.has-run .clock-readout{min-width:145px}}
@media(max-width:800px){.simulator-page.has-run .workspace{display:block}.simulator-page .operate-grid{grid-template-columns:1fr}.simulator-page.has-run .intro{margin-bottom:8px}.simulator-page.has-run .notice{margin-bottom:8px}.simulator-page .phase-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));max-height:none;overflow:visible}.simulator-page .phase-card{padding:10px}.simulator-page .timeline-scroll{max-height:none}.simulator-page .control-panel .tab-panel{max-height:480px}.simulator-page .phase-timers{font-size:.7rem}.simulator-page .timeline-heading-tools{gap:6px}.simulator-page.has-run .transport{padding:8px 11px}.simulator-page.has-run .workspace-tabs>[role=tab]{padding:8px 10px}}
@media(max-height:680px){.simulator-page .phase-grid,.simulator-page .control-panel .tab-panel{max-height:none;overflow:visible}.simulator-page .timeline-scroll{max-height:none;overflow:auto}}
@media(max-width:480px){.simulator-page .phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.simulator-page .panel-heading{flex-wrap:wrap}.simulator-page .timeline-heading-tools{justify-content:flex-start}.simulator-page.has-run h1{font-size:1.05rem}}

/* The dummy kind and logical ROW text identify non-physical phases without a second badge. */
.simulator-page .phase-card[data-logical=true] .logical-indicator{display:none}
.simulator-page .phase-timers strong{min-width:0;white-space:normal;overflow-wrap:anywhere}
.simulator-page .phase-row-state{min-height:0}
.simulator-page .phase-card[data-logical=true] .phase-row-state{display:none}

/* The simulator identity shares the site header; the observer masthead is unchanged. */
.simulator-page .simulator-header{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:12px}
.simulator-page .simulator-identity{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.simulator-page .simulator-labels{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px;min-width:0}
.simulator-page .simulator-labels>strong{font-size:1rem;font-weight:700;letter-spacing:-.015em}
.simulator-page #build-label{font-size:.69rem;line-height:1.3;color:var(--muted);overflow-wrap:anywhere}
.simulator-page .simulator-header .intro,.simulator-page .simulator-header .notice{margin:0;min-width:0}
.simulator-page .simulator-header .intro>div:first-child{min-width:0;overflow-wrap:anywhere}
.simulator-page .simulator-header .status-pill{background:#e8eeea;color:var(--ink);border:1px solid #ccd9d0;padding:5px 9px;gap:6px;font-size:.69rem;line-height:1.2;flex-shrink:0}
.simulator-page .simulator-header .status-pill i{background:#657a75;flex-shrink:0}
.simulator-page .simulator-header .status-pill[data-status=running] i{background:#16805a}
.simulator-page .simulator-header .status-pill[data-status=paused] i{background:#ad7413}
.simulator-page .simulator-header .status-pill[data-status=disconnected] i,.simulator-page .simulator-header .status-pill[data-status=failed] i{background:#bf4439}
.simulator-page.has-run .simulator-header{grid-template-columns:200px minmax(0,.85fr) minmax(0,1.15fr);gap:16px;align-items:center;margin-bottom:7px}
.simulator-page.has-run .simulator-labels{flex-direction:column;align-items:flex-start;gap:2px}
.simulator-page.has-run .simulator-labels>strong{font-size:.92rem}
.simulator-page.has-run #build-label{font-size:.63rem}
.simulator-page.has-run .simulator-identity{gap:8px}
.simulator-page.has-run .simulator-header .intro{grid-column:2}
.simulator-page.has-run .simulator-header .notice{grid-column:3;font-size:.7rem}
@media(max-width:1050px){.simulator-page.has-run .simulator-header{grid-template-columns:190px minmax(0,.85fr) minmax(0,1.15fr);gap:12px}}
@media(max-width:800px){.simulator-page.has-run .simulator-header{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:9px 14px}.simulator-page.has-run .simulator-identity{grid-column:1/-1}.simulator-page.has-run .simulator-labels{flex-direction:row;align-items:baseline;gap:10px}.simulator-page.has-run .simulator-header .intro{grid-column:1}.simulator-page.has-run .simulator-header .notice{grid-column:2}}
@media(max-width:560px){.simulator-page .simulator-header,.simulator-page.has-run .simulator-header{grid-template-columns:minmax(0,1fr);gap:10px}.simulator-page.has-run .simulator-header .intro,.simulator-page.has-run .simulator-header .notice{grid-column:1}.simulator-page .simulator-labels,.simulator-page.has-run .simulator-labels{flex-direction:column;align-items:flex-start;gap:2px}.simulator-page .simulator-header .status-pill{font-size:.67rem}.simulator-page .simulator-identity{gap:10px}}

/* Read-only tools stay in the navigation row; their menu does not move the controls. */
.simulator-page .workspace-navigation{display:flex;align-items:start;gap:12px;min-width:0}
.simulator-page .workspace-navigation .workspace-tabs{flex:1;min-width:0}
.simulator-page .workspace-utilities{display:flex;align-items:center;gap:10px;padding-top:1px}
.simulator-page .bridge-summary{width:154px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #cddbd3;background:#edf2ee;color:var(--muted);border-radius:6px;font-size:.7rem;padding:7px 9px;text-align:left}
.simulator-page .bridge-summary[data-status=active]{background:#e3f3e8;color:#166044;border-color:#8fc3a3}
.simulator-page .bridge-summary[data-status=paired]{background:#fff4d7;color:#76581a}
.simulator-page .bridge-summary[data-status=failed]{background:#fff0eb;color:#973c30}
.simulator-page .tool-launcher{position:relative;z-index:20;font-size:.73rem}
.simulator-page .tool-launcher>summary{cursor:pointer;border:1px solid #bfceca;border-radius:6px;padding:7px 10px;white-space:nowrap;background:#fff;color:var(--teal);font-weight:650}
.simulator-page .tool-menu{position:absolute;right:0;top:calc(100% + 5px);width:460px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 150px);overflow:auto;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#fff;border:1px solid #c6d6ce;border-radius:10px;box-shadow:0 8px 25px #142b3826}
.simulator-page .tool-menu section{display:grid;gap:8px;align-content:start;min-width:0}
.simulator-page .tool-menu h2{font-size:.85rem;margin-bottom:3px}
.simulator-page .tool-menu .button{justify-content:flex-start;white-space:normal;text-align:left}
.simulator-page .tool-menu>p{grid-column:1/-1;font-size:.7rem;line-height:1.4;color:var(--muted)}
.simulator-page .auto-demo-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 11px;border-bottom:1px solid var(--line);font-size:.65rem}
.simulator-page .auto-demo-controls label{display:flex;align-items:center;gap:6px;margin:0;font-size:.7rem}
.simulator-page .auto-demo-controls input{min-height:0;margin:0;accent-color:var(--teal)}
.simulator-page #auto-demo-status{font-variant-numeric:tabular-nums}
@media(max-width:1100px){.simulator-page .workspace-navigation{flex-wrap:wrap;gap:0 12px}.simulator-page .workspace-navigation .workspace-tabs{flex-basis:100%;margin-bottom:5px}.simulator-page .workspace-utilities{margin:0 0 8px;flex:1;justify-content:space-between}}
@media(max-width:480px){.simulator-page .workspace-utilities{gap:6px}.simulator-page .bridge-summary{width:135px}.simulator-page .tool-launcher>summary{font-size:.67rem;padding:7px}.simulator-page .tool-menu{grid-template-columns:1fr;max-height:65dvh}.simulator-page .tool-menu>p{grid-column:1}}
