.editor-stack{gap:18px;display:grid}.editor-fields{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;display:grid}.editor-field{flex-direction:column;gap:5px;min-width:0;font-size:13px;display:flex}.editor-field input,.editor-field select{width:100%;min-width:70px}.editor-field small{color:#b42335}.editor-section{background:#fff;border:1px solid #dce4ee;border-radius:12px;padding:18px}.editor-section h2,.editor-section h3{margin:0 0 12px}.editor-section summary{cursor:pointer;padding:5px 0;font-weight:600}.editor-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.editor-split{grid-template-columns:minmax(280px,360px) minmax(340px,1fr);gap:18px;display:grid}.road-grid{aspect-ratio:1;background:#eef2f7;border-radius:16px;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;display:grid}.road-slot{border:1px dashed #bccadc;border-radius:8px;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:visible}.road-slot.occupied{background:#dfe8f2;border-style:solid}.road-slot.selected{outline:3px solid #2768d6}.road-center{background:#d1dbe7;border-radius:8px;place-items:center;display:grid}.road-add{width:100%;height:100%;min-height:65px;background:0 0!important;border:0!important;font-size:26px!important}.road-lanes{transform-origin:50%;gap:3px;max-width:100%;display:flex}.lane-tile{flex:0 0 42px;width:42px;height:54px;position:relative;color:#fff!important;background:#304356!important;border:2px solid #0000!important;border-radius:5px!important;padding:4px!important}.lane-tile svg{width:100%;height:100%;overflow:visible}.lane-tile.selected{box-shadow:0 0 0 2px #fff;border-color:#44b7ff!important}.lane-tile.auxiliary{background:#64748b!important;border-style:dashed!important}.road-lanes .lane-tile{flex-basis:22px;width:22px;height:36px;padding:2px!important}.lane-strip{flex-wrap:nowrap;gap:7px;min-height:76px;padding:10px 4px;display:flex;overflow-x:auto}.lane-drop{gap:3px;display:flex;position:relative}.lane-drop.valid-before:before,.lane-drop.valid-after:after{content:"";z-index:2;background:#1672e8;width:4px;position:absolute;top:-4px;bottom:-4px}.lane-drop.valid-before:before{left:-5px}.lane-drop.valid-after:after{right:-5px}.lane-drag-preview{pointer-events:none;z-index:200;color:#fff;background:#236ace;border-radius:8px;padding:8px;position:fixed}.lane-drag-preview.invalid{background:#c32f46}.pavement-buttons{flex-wrap:wrap;gap:8px;display:flex}.pavement-button{align-items:center;gap:6px;display:flex}.pavement-button svg{color:#fff;background:#344456;border-radius:4px;width:30px;height:38px;padding:3px}.lane-context{z-index:150;background:#fff;border:1px solid #bbc9da;border-radius:8px;max-width:340px;max-height:70vh;padding:8px;position:fixed;overflow:auto;box-shadow:0 8px 35px #1f2e4440}.lane-context button{width:100%;margin:3px 0;display:flex}.editor-table-wrap{overflow-x:auto}.editor-table{border-collapse:collapse;width:100%;min-width:620px}.editor-table td,.editor-table th{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:9px}.editor-table tr.selected{background:#edf5ff}.editor-table th{color:#53657c;font-size:12px}.editor-table input{max-width:130px}.editor-table .editor-field{font-size:0}.editor-table .editor-field small{font-size:12px}.editor-table caption{text-align:left;padding:8px;font-weight:600}.branch-toast{color:#fff;z-index:200;background:#273a50;border-radius:10px;padding:13px 22px;position:fixed;top:88px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #23374e44}.editor-error{color:#b42335}.editor-checklist{gap:5px;display:grid}.signal-interval{border-left:3px solid #3477cc;margin-top:10px;padding:12px}.visually-hidden{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=1180px){.editor-split{grid-template-columns:1fr}.road-grid{max-width:420px}}.lane-context svg{flex:0 0 32px;width:32px;height:38px}.lane-drag-preview .lane-tile{vertical-align:middle;margin-right:6px;display:inline-flex}.road-lanes .lane-tile{width:min(22px,calc(80px / var(--lane-count,4)));flex-basis:min(22px,calc(80px / var(--lane-count,4)))}.editor-table input,.editor-table select{font-size:14px}.lane-context{max-height:min(70vh,420px)}.road-lanes{justify-content:center;gap:1px;width:80px;max-width:80px}.road-lanes .lane-tile{width:calc((80px - (var(--lane-count,4) - 1)*1px)/var(--lane-count,4));flex-basis:calc((80px - (var(--lane-count,4) - 1)*1px)/var(--lane-count,4));min-width:0;box-shadow:none;border-width:1px!important;padding:0!important}.road-lanes path{vector-effect:non-scaling-stroke;stroke-width:1px}.split-handle{cursor:col-resize;border-radius:6px;width:8px;background:#d7e2ef!important;border:0!important;min-width:8px!important;padding:0!important}.split-handle:focus{outline:2px solid #2768d6}.resizable-editor-split{grid-template-columns:minmax(0,var(--diagram-width,50%)) 8px minmax(340px,1fr);align-items:start;gap:9px;display:grid}.resizable-editor-split.collapsed{grid-template-columns:minmax(340px,1fr)}@media (width<=1100px){.resizable-editor-split{grid-template-columns:1fr}.resizable-editor-split .split-handle{display:none}}.road-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr))}.road-lanes{width:80px;max-width:70%;height:36px;max-height:70%}.road-lanes .lane-drop{flex:1 1 0;min-width:0;height:100%}.road-lanes .lane-tile{flex:1 1 0;width:100%;min-width:0;height:100%}@media (width<=1100px){.resizable-editor-split>div:first-child{max-width:480px}}.road-outbound{pointer-events:none;fill:none;stroke:#8295ac;stroke-width:1px;stroke-dasharray:4 3;transform-origin:50%;width:25px;height:40px;position:absolute;top:calc(50% - 20px);left:3px}.lane-card-strip{min-width:0;padding:12px 0;display:block;overflow-x:auto}:is(.lane-card-matrix,.direction-demand-matrix){border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:0}:is(.lane-card-matrix,.direction-demand-matrix) th,:is(.lane-card-matrix,.direction-demand-matrix) td{vertical-align:top;text-align:center;background:#f8fafc;border-bottom:1px solid #dce4ee;border-right:1px solid #e5ebf2;width:auto;min-width:0;max-width:none;padding:10px}:is(.lane-card-matrix,.direction-demand-matrix) thead th{border-top:1px solid #dce4ee;padding-top:14px}:is(.lane-card-matrix,.direction-demand-matrix) th.selected,:is(.lane-card-matrix,.direction-demand-matrix) td.selected{background:#edf5ff;border-left:1px solid #3477cc;border-right:1px solid #3477cc}:is(.lane-card-matrix,.direction-demand-matrix) thead th.selected{border-top-color:#3477cc}:is(.lane-card-matrix,.direction-demand-matrix) tbody tr:last-child td.selected{border-bottom-color:#3477cc}:is(.lane-card-matrix,.direction-demand-matrix) .lane-row-label{z-index:2;text-align:center;vertical-align:middle;color:#53657c;background:#fff;border-right:1px solid #ccd8e6;width:112px;min-width:112px;max-width:112px;font-size:14px;font-weight:500;position:sticky;left:0}:is(.lane-card-matrix,.direction-demand-matrix) .lane-drop{justify-content:center}.lane-card-title{margin:8px auto 0;font-weight:600;display:block;background:0 0!important;border:0!important}:is(.lane-card-matrix,.direction-demand-matrix) .editor-field{text-align:left;font-size:0}:is(.lane-card-matrix,.direction-demand-matrix) .editor-field input,:is(.lane-card-matrix,.direction-demand-matrix) .editor-field select{width:100%;min-width:0;font-size:15px}:is(.lane-card-matrix,.direction-demand-matrix) .editor-field small{font-size:13px}.editor-stack,.editor-section,.lane-card-strip{min-width:0}.intersection-image-preview{object-fit:contain;background:#f1f5f9;border:1px solid #dce4ee;border-radius:8px;width:100%;height:auto;max-height:320px;display:block}.image-filename{overflow-wrap:anywhere;color:#53657c;font-size:13px}.intersection-image-panel input[type=file]{max-width:100%;margin-top:6px;display:block}.intersection-image-dialog{border:1px solid #bccadc;border-radius:12px;width:min(94vw,1700px);max-width:94vw;max-height:94vh;padding:18px;overflow:auto}.intersection-image-dialog::backdrop{background:#162638aa}.intersection-image-dialog>button{margin:0 0 12px auto;display:block}.intersection-image-dialog img{object-fit:contain;width:100%;height:auto;max-height:76vh;display:block}.intersection-image-dialog p{overflow-wrap:anywhere}.direction-demand-matrix thead th{background:#f0f6ff}.direction-demand-matrix th,.direction-demand-matrix td{width:auto;min-width:0;max-width:none}.direction-demand-matrix th small{margin-top:6px;font-size:12px;font-weight:400;line-height:1.5;display:block}.direction-demand-matrix output{padding:10px 0;font-size:15px;display:block}.signal-chart-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.signal-chart-title p{color:#62748c;margin:8px 0;font-size:13px;line-height:1.6}.signal-chart-title>strong{white-space:nowrap;color:#245ba6;background:#eaf3ff;border-radius:8px;padding:10px 16px;font-size:18px}.signal-chart-scroll{border-block:1px solid var(--line,#dce4ee);width:100%;margin:12px 0;overflow:auto}.signal-chart{width:max-content;min-width:100%}.signal-chart-row{border-bottom:1px solid #dce4ee;min-height:44px;display:flex}.signal-chart-row:last-child{border-bottom:0}.signal-row-name{z-index:3;white-space:normal;background:#f6f9fd;border-right:1px solid #ccd8e6;flex:0 0 220px;width:220px;padding:12px;font-size:12px;position:sticky;left:0}.signal-row-name small{color:#62748c;margin-top:5px;font-size:11px;line-height:1.5;display:block}.signal-track{flex-shrink:0;min-height:44px;display:flex;position:relative}.signal-ruler .signal-track{background:repeating-linear-gradient(90deg,#f4f7fc 0 calc(10% - 1px),#dce4ee calc(10% - 1px) 10%);height:35px;min-height:35px}.signal-ruler .signal-track>span{font-size:11px;position:absolute;bottom:6px;transform:translate(-50%)}.signal-ruler .signal-track>span:first-child{transform:none}.signal-ruler .signal-track>span:last-child{transform:translate(-100%)}.signal-phase{background:#eaf2ff;border-right:1px solid #a3bce1;flex-shrink:0;min-width:0;height:91px;padding:10px 19px 10px 9px;position:relative;overflow:hidden}.signal-phase-name{white-space:nowrap;margin-bottom:6px;font-size:12px;font-weight:650;display:block}.signal-phase .editor-field{max-width:110px;font-size:0}.signal-phase .editor-field input{min-width:0;padding:5px 6px;font-size:13px}.signal-phase .editor-field small{font-size:11px}button.signal-resize{color:#214d89;cursor:ew-resize;touch-action:none;z-index:1;background:#aec8ed;border:0;border-radius:0;width:14px;height:100%;padding:0;font-size:12px;position:absolute;top:0;right:0}button.signal-resize:hover{background:#7fa8e1}button.signal-resize:focus-visible{outline-offset:-3px;outline:3px solid #245ba6}button.signal-lamp-band{text-overflow:clip;touch-action:manipulation;border:0;border-right:1px solid #ffffff90;border-radius:0;flex-shrink:0;min-width:0;min-height:44px;padding:8px 2px;font-size:12px;overflow:hidden}button.signal-lamp-band.lamp-circular_red{color:#fff;background:#b93544}button.signal-lamp-band.lamp-circular_yellow{color:#463606;background:#f1bd40}button.signal-lamp-band.lamp-circular_green,button.signal-lamp-band.lamp-arrow_green{color:#fff;background:#238157}button.signal-lamp-band.lamp-off{color:#748398;background:#e8edf3}button.signal-lamp-band.lamp-missing{color:#697b91;background:repeating-linear-gradient(135deg,#fafbfd,#fafbfd 6px,#eef2f6 6px 12px)}.signal-ped-cell{border-right:1px solid #dce4ee;flex-shrink:0;min-width:0;padding:4px}.signal-ped-cell .editor-field{font-size:0}.signal-ped-cell select{background:0 0;border:0;min-width:0;font-size:12px}.signal-ped-cell.state-red{background:#fbe4e7}.signal-ped-cell.state-green{background:#daf1e4}.signal-ped-cell.state-flashing_green{background:repeating-linear-gradient(90deg,#daf1e4,#daf1e4 10px,#f4fff8 10px 20px)}.signal-timing-notice{color:#805915;background:#fff5df;padding:10px;font-size:12px}.signal-no-lamps,.signal-empty{color:#62748c;padding:16px;font-size:13px}.signal-advanced>summary{font-size:13px}.signal-advanced>div{margin-top:16px}.signal-phase{height:74px;padding:0 14px 0 0}button.signal-phase-select{white-space:nowrap;text-align:center;color:#245ba6;background:0 0;border:0;border-radius:0;width:100%;min-width:0;height:100%;padding:10px 4px;overflow:hidden}button.signal-phase-select[aria-pressed=true]{background:#d6e6ff;box-shadow:inset 0 0 0 2px #4b7ec3}.signal-phase-select>strong{font-size:13px}.signal-phase-select .signal-phase-name{margin-bottom:5px}.signal-selection{background:#f5f8fc;border:1px solid #e0e7f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;padding:12px;display:flex}.signal-selection .editor-field{width:200px}.signal-row-name{flex-basis:var(--signal-label-width,220px);width:var(--signal-label-width,220px)}.signal-timeline{min-width:0;padding-inline:0}.signal-timeline>.signal-chart-title,.signal-timeline>p{padding-inline:18px}.signal-chart-scroll{min-width:0}.signal-chart{width:100%}.phase-directions{background:#fafcff;border:1px solid #dce4ee;border-radius:8px;margin:12px 0;padding:14px}.phase-directions h3{margin:0 0 7px;font-size:14px}.phase-directions>p{margin:7px 0 12px}.phase-direction-groups{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.phase-direction-groups fieldset{background:#fff;border:1px solid #ccd8e6;border-radius:7px;min-width:0;margin:0;padding:10px}.phase-direction-groups legend{color:#245ba6;font-size:12px;font-weight:650}.phase-direction-groups label{align-items:center;gap:6px;margin:4px 12px 4px 0;font-size:13px;display:inline-flex}.phase-direction-groups input{accent-color:#238157;width:16px;height:16px;padding:0}.phase-direction-groups small{color:#7b8898;font-size:10px}.demand-diagnostic-anchor{min-height:0}.repair-toast{z-index:80;background:#fff4e5;border:1px solid #e4b97a;border-radius:9px;align-items:center;gap:8px;max-width:420px;padding:12px;font-size:12px;display:flex;position:fixed;inset:88px auto auto 50%;transform:translate(-50%);box-shadow:0 6px 25px #23374e30}.repair-toast.demand{bottom:auto}.repair-dialog{width:min(680px,94vw);max-height:85vh;overflow:auto}.notice{z-index:85;align-items:center;gap:12px;max-width:min(520px,90vw);display:flex;position:fixed;inset:88px auto auto 50%;transform:translate(-50%);box-shadow:0 6px 25px #23374e30}.notice>button{padding:4px 7px;font-size:12px}.toast-stack{z-index:85;pointer-events:none;flex-direction:column;align-items:center;gap:10px;width:max-content;max-width:min(520px,90vw);display:flex;position:fixed;inset:88px auto auto 50%;transform:translate(-50%)}.toast-stack>.notice,.toast-stack>.repair-toast{pointer-events:auto;max-width:100%;margin:0;position:static;transform:none}.phase-movement-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0;display:grid}button.phase-movement-card{white-space:normal;text-align:center;background:#fff;border:1px solid #d6e0ed;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:12px;display:flex}button.phase-movement-card[aria-pressed=true]{background:#f0f6ff;border-color:#3477cc;box-shadow:inset 0 0 0 1px #3477cc}.phase-movement-card>strong{color:#245ba6;font-size:13px}.phase-movement-svg{aspect-ratio:1;width:100%;max-width:220px;display:block;overflow:visible}.phase-movement-svg text{fill:#53657c;font-size:12px;font-weight:600}.phase-movement-svg .movement-empty{fill:#7c8da4;font-size:10px;font-weight:400}.phase-movement-caption{color:#62748c;overflow-wrap:anywhere;min-height:2.8em;font-size:11px;line-height:1.5;display:block}.resizable-editor-split{grid-template-columns:minmax(0,var(--diagram-width,30%)) 8px minmax(0,1fr);align-items:start}.resizable-editor-split .split-handle{touch-action:none;align-self:stretch;height:100%;min-height:260px;display:block}.editor-diagram{align-self:start;min-width:0;position:sticky;top:0}.editor-diagram .road-add{min-height:0}.phase-matrix-dialog{width:min(700px,94vw);max-height:88vh;overflow:auto}.phase-matrix-dialog h2{margin:0}.phase-matrix-dialog>p{margin:12px 0;font-size:13px;line-height:1.6}.phase-direction-matrix{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.phase-direction-matrix th,.phase-direction-matrix td{text-align:center;background:#f8fafc;border:1px solid #d6e0ed;padding:8px}.phase-direction-matrix th:first-child{width:30%}.phase-direction-matrix thead th{color:#245ba6;background:#edf4ff}.phase-matrix-choice{cursor:pointer;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;min-height:48px;display:flex}.phase-matrix-choice input{accent-color:#207c53;width:17px;height:17px;padding:0}.matrix-direction-icon{color:#8494a7;width:28px;height:36px;display:block}.matrix-direction-icon svg{width:100%;height:100%}.phase-matrix-choice input:checked+.matrix-direction-icon{color:#207c53}.phase-matrix-choice small{color:#a84b3d;font-size:10px}.matrix-unavailable{color:#a5afba}.phase-matrix-extras{margin:14px 0}.phase-matrix-extras>div{border-bottom:1px solid #e4ebf3;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.intersection-map-links .editor-toolbar{gap:5px;margin:8px 0}.map-link{color:#245ba6;background:#fff;border:1px solid #d5ddeb;border-radius:7px;padding:6px 9px;font-size:12px;text-decoration:none;display:inline-block}.map-link:hover{background:#edf3ff}.map-address{color:#7c8da4;overflow-wrap:anywhere;margin:5px 0 12px;font-size:11px;line-height:1.5}.dialog.phase-turn-dialog{width:min(1180px,96vw);max-height:92vh;padding:22px;overflow:auto}.phase-turn-dialog h2{margin:0}.phase-turn-dialog>p{margin:10px 0;font-size:12px;line-height:1.6}.phase-turn-selector{background:#f7f9fc;border:1px solid #dce4ee;border-radius:14px;grid-template:"northwest north northeast"minmax(290px,auto)"west center east"minmax(420px,auto)"southwest south southeast"minmax(290px,auto)/minmax(230px,1fr) minmax(360px,1.7fr) minmax(230px,1fr);place-items:center;gap:16px;margin:12px 0;padding:12px;display:grid}.turn-selector-center{grid-area:center;justify-content:center;align-items:center;display:flex}.turn-selector-center .phase-movement-caption{display:none}.turn-selector-center{width:100%}.turn-selector-center .phase-movement-svg{max-width:460px}.turn-selector-approach{background:#fff;border:1px solid #d5e0ee;border-radius:10px;min-width:0;padding:10px 6px}.turn-selector-approach.north{grid-area:north}.turn-selector-approach.east{grid-area:east}.turn-selector-approach.south{grid-area:south}.turn-selector-approach.west{grid-area:west}.turn-selector-approach h3{text-align:center;color:#245ba6;margin:0 0 9px;font-size:12px}.turn-direction-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.turn-selector-approach:is(.east,.west) .turn-direction-choices{grid-template-columns:minmax(0,1fr)}.turn-direction-choices .phase-matrix-choice{background:#fafbfd;border:1px solid #e0e7f0;border-radius:7px;flex-flow:column;gap:4px;min-height:78px;padding:4px 1px;position:relative}.turn-direction-choices input{width:13px;height:13px;position:absolute;top:3px;right:3px}.turn-direction-choices .phase-matrix-choice[aria-pressed=true]{background:#e6f5eb;border-color:#238157}.direction-choice-label{font-size:10px}.turn-direction-choices .matrix-direction-icon{width:23px;height:29px}.turn-unavailable{opacity:.27;border:1px dashed #cbd6e5;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:78px;display:flex}.turn-unavailable small{font-size:10px}.intersection-map-links .map-address{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.signal-cycle{flex-shrink:0;width:230px}.signal-cycle small{white-space:normal;font-weight:400}.phase-editor-table{border:1px solid #d6e0ed;border-radius:8px;margin-top:16px;display:flex;overflow:auto}.phase-editor-table>.signal-row-name{flex:0 0 140px;align-items:center;padding:12px;display:flex}.phase-editor-columns{flex:1;min-width:0;display:flex}.phase-editor-column{border-left:1px solid #d6e0ed;flex-direction:column;flex:1 0 180px;gap:10px;min-width:180px;padding:10px;display:flex}.phase-editor-column .phase-movement-card{flex:1;width:100%}.phase-editor-column .editor-field{width:100%}.pedestrian-state-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.pedestrian-table-content{flex:1;min-width:0;padding:10px}.pedestrian-table-content>.editor-section{border-radius:0;margin-top:10px;padding:10px}.pedestrian-table-content>.section-title{justify-content:flex-end;margin-bottom:8px}.resizable-editor-split>.split-handle.fixed{cursor:default}.pedestrian-head-row{border:1px solid var(--line);min-width:0;margin-top:10px;display:flex}.pedestrian-crossing-cell{text-align:center;border-right:1px solid var(--line);flex:0 0 170px;width:170px;padding:6px}.pedestrian-crossing-cell h3{margin:4px 0;font-size:13px}.pedestrian-crossing-cell>button{padding:4px 8px;font-size:11px}.pedestrian-crossing-picture{aspect-ratio:1;width:152px;max-width:100%;margin:auto;position:relative}.pedestrian-crossing-picture>svg{width:100%;height:100%;display:block}.pedestrian-crossing-choice{width:24%;height:16%;color:var(--muted);cursor:pointer;position:absolute}.pedestrian-crossing-choice>svg{pointer-events:none;width:100%;height:100%;display:block}.pedestrian-crossing-choice:has(input:checked){color:#2bb878;outline:2px solid #2bb878}.pedestrian-crossing-choice:has(input:focus-visible){outline:3px solid var(--accent)}.pedestrian-crossing-choice:has(input:disabled){opacity:.35;cursor:default}.pedestrian-crossing-choice>input,.pedestrian-state-choice>input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;padding:0;position:absolute;inset:0}.pedestrian-crossing-caption{overflow-wrap:anywhere;margin:4px 0 8px;font-size:11px;line-height:1.4;display:block}.pedestrian-phase-columns{flex:1;min-width:0;display:flex}.pedestrian-phase-column{border-right:1px solid var(--line);flex:1 0 120px;min-width:120px;padding:6px}.pedestrian-phase-column:last-child{border-right:0}.pedestrian-phase-column h4{text-align:center;margin:4px 0 8px;font-size:12px}.pedestrian-state-field{border:0;min-width:0;margin:0 0 8px;padding:5px 0}.pedestrian-state-field legend{text-align:center;width:100%;padding:0;font-size:11px}.pedestrian-state-options{justify-content:center;gap:1px;display:flex}.pedestrian-state-choice{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:20px;height:28px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.pedestrian-state-choice svg{pointer-events:none;width:16px;height:23px}.pedestrian-state-choice.red{color:#d94a50}.pedestrian-state-choice.green,.pedestrian-state-choice.flashing_green{color:#21a86a}.pedestrian-state-choice:has(input:checked){background:var(--selected);border-color:currentColor;box-shadow:inset 0 0 0 1px}.pedestrian-state-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.pedestrian-state-choice.flashing_green svg{stroke-dasharray:2 1}.pedestrian-state-choice.flashing_green:has(input:checked) svg{animation:1s steps(2,start) infinite pedestrian-flash}@keyframes pedestrian-flash{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.pedestrian-state-choice.flashing_green:has(input:checked) svg{animation:none}}@media (width<=900px){.signal-chart-title{flex-wrap:wrap}.phase-editor-table>.signal-row-name{flex-basis:100px}}.phase-editor-column button.phase-movement-card{padding:8px}.phase-editor-column .phase-movement-caption{min-height:0}.signal-chart>.phase-editor-table{border:0;border-radius:0;margin:0;overflow:visible}.signal-chart .phase-editor-table>.signal-row-name{flex-basis:var(--signal-label-width,220px);width:var(--signal-label-width,220px)}.signal-chart>.signal-chart-row>.signal-row-name{text-align:center;justify-content:center;align-items:center;display:flex}.signal-chart .phase-editor-column{border-left:0;border-right:1px solid var(--line,#d6e0ed);flex:1 0 120px;min-width:120px}.signal-chart .phase-editor-column:last-child{border-right:0}.signal-cycle small{color:#62748c}.signal-phase.clearance-yellow{background:#fff0bd}.signal-phase.clearance-all_red{background:#fbdfe2}.signal-phase-parts{pointer-events:none;display:flex;position:absolute;inset:0}.signal-phase-parts>span{min-width:0}.signal-phase-parts .green{background:#238157}.signal-phase-parts .yellow{background:#efb82d}.signal-phase-parts .all_red{background:#c44851}.signal-phase-select{position:relative}.signal-phase-select>.signal-phase-name,.signal-phase-select>strong{z-index:1;color:#fff;text-shadow:0 1px 2px #0009;position:relative}.signal-phase-select[aria-pressed=true]{outline:2px solid var(--accent,#3477cc);outline-offset:-2px}.heavy-input-mode{justify-content:center;align-items:center;gap:5px;font-size:14px;display:flex}.heavy-input-mode input{width:14px;min-width:14px;height:14px;margin:0}.direction-demand-matrix input[readonly]{color:#62748a;background:0 0;border-color:#0000}.percentage-field{position:relative}.percentage-field input{padding-right:26px!important}.percentage-unit{color:#62748a;pointer-events:none;font-size:13px;line-height:16px;position:absolute;top:12px;right:9px}input,select,textarea{text-align:center}select{text-align-last:center}.road-layout-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.road-layout-header h2{flex-shrink:0;margin:0}.road-layout-header .intersection-map-links{flex:220px;justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.road-layout-header .intersection-map-links .editor-toolbar{justify-content:flex-end;max-width:100%;margin:0}.road-layout-header .map-address{white-space:nowrap;text-overflow:ellipsis;text-align:right;flex:1;min-width:0;margin:0;display:block;overflow:hidden}.approach-editable-name{align-items:center;gap:6px;display:flex}.approach-direction-code{white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:700}.pavement-button{justify-content:center;width:64.8px;height:64.8px;padding:0}.pavement-button svg{border-radius:4.8px;width:36px;height:45.6px;padding:3.6px}.approach-context{background:#fff;border:1px solid #bbc9da;border-radius:8px;flex-direction:column;gap:4px;min-width:148px;padding:6px;display:flex;box-shadow:0 4px 16px #0004}[data-theme=dark] .approach-context{background:#233243;border-color:#53657c}.lane-facility-cell{flex-direction:column;gap:8px;display:flex}.lane-facility-cell .editor-field{font-size:11px!important}.lane-facility-cell small{color:#66788c;font-size:11px}.lane-facility-toggle{justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.lane-facility-toggle input{width:auto!important;min-width:0!important}.facility-connection-details summary{font-size:12px}.facility-connection-details>section{margin-top:12px}.facility-connection-details h3{font-size:13px}.resizable-editor-split>.editor-stack>.editor-section{border-radius:0}:is(.lane-card-matrix,.direction-demand-matrix) :is(input,select,button,svg){box-shadow:none;border-radius:0!important}:is(.lane-card-matrix,.direction-demand-matrix) .editor-field :is(input,select){box-shadow:none;border:0;background:0 0!important}:is(.lane-card-matrix,.direction-demand-matrix) .editor-field :is(input,select):focus-visible{outline:2px solid var(--accent,#3477cc);outline-offset:-2px}:is(.lane-card-matrix,.direction-demand-matrix) input[aria-invalid=true]{outline-offset:-1px;outline:1px solid #c44}:is(.lane-card-matrix,.direction-demand-matrix) td:not([data-heavy-value=true]):not(:has(input:not([readonly]):not([disabled]),select:not([disabled]),button:not([disabled]))){background-image:repeating-linear-gradient(135deg,#0000 0 5px,#7a8b9f33 5px 6px)!important}:is(.lane-card-matrix,.direction-demand-matrix) input[readonly]{color:var(--muted,#62748a);cursor:default}:is(:is(.lane-card-matrix,.direction-demand-matrix) td:has(>.editor-field>:is(input,select)),:is(.lane-card-matrix,.direction-demand-matrix) td:has(>.percentage-field)){vertical-align:middle;padding:0;position:relative}:is(.lane-card-matrix,.direction-demand-matrix) td>.editor-field,:is(.lane-card-matrix,.direction-demand-matrix) td>.percentage-field{margin:0;position:absolute;inset:0}:is(.lane-card-matrix,.direction-demand-matrix) td>.editor-field,:is(.lane-card-matrix,.direction-demand-matrix) td>.percentage-field>.editor-field{justify-content:center;gap:0;height:100%}:is(.lane-card-matrix,.direction-demand-matrix) td .editor-field :is(input,select){text-align:center;flex:1;height:100%;min-height:0;padding:6px}:is(.lane-card-matrix,.direction-demand-matrix) td:has(>.lane-facility-cell){padding:0}.lane-card-matrix .lane-facility-cell,.lane-card-matrix .lane-facility-cell .editor-field{gap:0}.lane-card-matrix .lane-facility-cell :is(input:not([type=checkbox]),select){min-height:32px;padding:6px}.resizable-editor-split :is(.lane-card-matrix,.direction-demand-matrix) td:has(:is(input,select):not([readonly]):not([disabled]):focus){background-color:var(--selected,#eaf3ff)!important;box-shadow:inset 0 0 0 2px var(--accent,#3477cc)!important}:is(.lane-card-matrix,.direction-demand-matrix) .editor-field :is(input,select):not([aria-invalid=true]):focus-visible{outline:none}.direction-demand-matrix .percentage-unit{top:50%;transform:translateY(-50%)}.direction-demand-matrix .percentage-field input{padding-left:26px!important}.lane-card-matrix thead th[data-lane-row]{cursor:pointer;position:relative}.lane-card-matrix button.lane-delete{z-index:1;justify-content:center;align-items:center;width:22px;min-width:0;height:22px;font-size:20px;line-height:1;display:flex;position:absolute;top:5px;right:5px;color:#8993a1!important;background:0 0!important;border:0!important;padding:0!important}.lane-card-matrix thead th[data-lane-row]:hover .lane-delete,.lane-card-matrix thead th[data-lane-row]:focus-within .lane-delete{color:#dc3545!important}.lane-card-matrix button.lane-delete:focus-visible{outline:2px solid var(--accent,#3477cc);outline-offset:1px}:is(.lane-card-matrix,.direction-demand-matrix) th{font-size:14px}:is(.lane-card-matrix,.direction-demand-matrix) .percentage-unit{font-size:15px}.direction-layout-repair{border-bottom:1px solid var(--line,#d5ddeb);margin-bottom:12px;padding:12px 0}.direction-layout-repair p{margin:0 0 8px;font-size:13px;line-height:1.6}.turn-selector-approach.northwest{grid-area:northwest}.turn-selector-approach.northeast{grid-area:northeast}.turn-selector-approach.southwest{grid-area:southwest}.turn-selector-approach.southeast{grid-area:southeast}.turn-selector-approach:is(.east,.west){width:88px}.turn-selector-approach.north,.turn-selector-approach.south{width:280px;max-width:100%}.turn-selector-approach:is(.northwest,.northeast,.southwest,.southeast){width:230px;transform:rotate(var(--group-rotation));transform-origin:50%}.turn-selector-approach.northwest,.turn-selector-approach.southeast{--group-rotation:-45deg}.turn-selector-approach.northeast,.turn-selector-approach.southwest{--group-rotation:45deg}.turn-selector-approach:is(.northwest,.northeast,.southwest,.southeast) .matrix-direction-icon{transform:rotate(calc(-1 * var(--group-rotation)))}.phase-turn-selector .turn-direction-choices{flex-wrap:nowrap;display:flex}.phase-turn-selector .turn-direction-choices>div{flex:0 0 48px;min-width:0}.phase-turn-selector .turn-selector-approach:is(.east,.west) .turn-direction-choices{flex-direction:column}.phase-turn-selector .turn-selector-approach:is(.east,.west) .turn-direction-choices>div{flex-basis:auto}.phase-turn-selector .turn-selector-approach:not(.east):not(.west){width:max-content;max-width:none}.phase-turn-selector .turn-direction-choices>div{flex-shrink:0;width:48px}.phase-turn-selector .turn-selector-approach:is(.east,.west) .turn-direction-choices{align-items:center}.phase-turn-selector .turn-selector-approach.east{--tile-rotation:90deg}.phase-turn-selector .turn-selector-approach.west{--tile-rotation:-90deg}.phase-turn-selector .turn-selector-approach:is(.east,.west){width:92px}.phase-turn-selector .turn-selector-approach:is(.east,.west) .turn-direction-choices>div{flex:0 0 48px;width:78px;height:48px;position:relative}.phase-turn-selector .turn-selector-approach:is(.east,.west) :is(.phase-matrix-choice,.turn-unavailable){width:48px;height:78px;transform:rotate(var(--tile-rotation));position:absolute;top:-15px;left:15px}.phase-turn-selector .turn-selector-approach:is(.east,.west) .matrix-direction-icon{transform:rotate(calc(-1 * var(--tile-rotation)))}.turn-direction-choices button.phase-matrix-choice{width:100%;color:inherit;justify-content:center}.editor-diagram{position:relative;container-type:inline-size}.diagram-overlay-host{pointer-events:none;z-index:20;position:absolute;inset:0}.phase-diagram-overlay{pointer-events:auto;background:var(--surface,#fff);border:1px solid var(--line,#dce4ee);border-radius:12px;position:absolute;inset:0;overflow:auto}.phase-diagram-overlay .phase-turn-dialog{box-sizing:border-box;width:100%;max-height:none;padding:12px}.phase-diagram-overlay .phase-turn-selector{box-sizing:border-box;grid-template-rows:240px 350px 240px;grid-template-columns:230px 400px 230px;gap:12px;width:916px;margin:12px auto;padding:16px}.phase-diagram-overlay .section-title{z-index:2;background:var(--surface,#fff);padding:6px 0;position:sticky;top:0}@container (width<=1000px){.phase-diagram-overlay .phase-turn-selector{zoom:.8}}@container (width<=780px){.phase-diagram-overlay .phase-turn-selector{zoom:.65}}@container (width<=620px){.phase-diagram-overlay .phase-turn-selector{zoom:.5}}@container (width<=480px){.phase-diagram-overlay .phase-turn-selector{zoom:.38}}.phase-diagram-overlay.phase-on-road{z-index:30;pointer-events:auto;background:0 0;border:0;border-radius:0;overflow:visible}.phase-on-road .phase-turn-dialog{height:100%;padding:0;position:relative}.phase-on-road .section-title{white-space:nowrap;pointer-events:auto;border-radius:8px;padding:8px 12px;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0003}.phase-on-road .section-title h2{font-size:14px}.phase-on-road .phase-turn-selector{pointer-events:none;background:0 0;border:0;width:auto;height:auto;margin:0;padding:0;display:block;position:absolute;inset:0;zoom:1!important}.phase-on-road .turn-selector-approach{pointer-events:auto;position:absolute;scale:.8;box-shadow:0 2px 8px #0004;transform:translate(-50%,-50%) rotate(var(--group-rotation,0deg))!important}.phase-on-road .north{top:19%;left:50%}.phase-on-road .south{top:81%;left:50%}.phase-on-road .west{top:50%;left:19%}.phase-on-road .east{top:50%;left:81%}.phase-on-road .northwest{top:24%;left:24%}.phase-on-road .northeast{top:24%;left:76%}.phase-on-road .southwest{top:76%;left:24%}.phase-on-road .southeast{top:76%;left:76%}.phase-on-road,.phase-on-road .phase-turn-dialog,.phase-on-road .phase-turn-selector{box-shadow:none!important;background:0 0!important}.phase-on-road .turn-selector-approach{box-shadow:none;border:0;padding:4px;background:0 0!important}.phase-on-road .turn-selector-approach h3{display:none}.phase-on-road .section-title{padding:5px 8px;font-size:12px;top:8px;left:8px;transform:none}.phase-on-road .phase-turn-dialog{pointer-events:none}.phase-on-road{pointer-events:none!important}.phase-on-road .section-title,.phase-on-road .turn-selector-approach{pointer-events:auto}.road-signal-anchor{z-index:35;pointer-events:none;width:0;height:0;position:absolute}.road-signal-anchor .turn-selector-approach{pointer-events:auto;box-shadow:none;border:0;width:max-content;max-width:none;padding:4px;position:absolute;scale:.8;transform:translate(-50%,-50%) rotate(var(--group-rotation,0deg))!important;background:0 0!important;top:0!important;left:0!important}.road-signal-anchor .turn-selector-approach h3{display:none}.road-signal-anchor .turn-direction-choices{flex-wrap:nowrap;display:flex}.road-signal-anchor .turn-direction-choices>div{flex:0 0 48px;width:48px}.road-signal-anchor .turn-selector-approach:is(.east,.west){width:92px}.road-signal-anchor .turn-selector-approach:is(.east,.west) .turn-direction-choices{flex-direction:column;align-items:center}.road-signal-anchor .turn-selector-approach:is(.east,.west) .turn-direction-choices>div{flex:0 0 48px;width:78px;height:48px;position:relative}.road-signal-anchor .turn-selector-approach:is(.east,.west) :is(.phase-matrix-choice,.turn-unavailable){width:48px;height:78px;transform:rotate(var(--tile-rotation));position:absolute;top:-15px;left:15px}.road-signal-anchor .turn-selector-approach.east{--tile-rotation:90deg}.road-signal-anchor .turn-selector-approach.west{--tile-rotation:-90deg}.road-signal-anchor .turn-selector-approach:is(.east,.west) .matrix-direction-icon{transform:rotate(calc(-1 * var(--tile-rotation)))}.road-signal-anchor .turn-selector-approach{scale:none;transform:translate(-50%,-50%) rotate(var(--group-rotation,0deg)) scale(var(--road-signal-scale,.8))!important}@container (width<=480px){.road-canvas{--road-signal-scale:.65}}@container (width<=320px){.road-canvas{--road-signal-scale:.52}}.phase-pedestrian-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;display:grid}.phase-pedestrian-times .editor-field{min-width:0;font-size:11px}.phase-pedestrian-times small{font-size:10px}.road-canvas .road-crosswalk-toggle{z-index:34;pointer-events:auto;cursor:pointer;border:2px solid #58b9ec88;border-radius:3px;min-width:0;padding:0;position:absolute;box-shadow:none!important;background:0 0!important}.road-canvas .road-crosswalk-toggle[aria-pressed=true]{border-color:#37df83;background:0 0!important}.road-canvas .road-crosswalk-toggle:hover,.road-canvas .road-crosswalk-toggle:focus-visible{outline-offset:2px;outline:3px solid #ffd34e}.phase-editor-column .phase-movement-svg{max-width:210px}.phase-road-preview{--preview-ground:#e6ece8;--preview-road:#535c62;--preview-island:#91ab98}:root[data-theme=dark] .phase-road-preview{--preview-ground:#202c34;--preview-road:#37414a;--preview-island:#6e8274}.phase-clearance-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;display:grid}.phase-clearance-field,.phase-clearance-fields .editor-field{min-width:0}.phase-clearance-fields .editor-field{font-size:11px}:root .phase-clearance-yellow .editor-field input{color:#fff3dd;background:#603c19;border-color:#98652d}:root .phase-clearance-all_red .editor-field input{color:#ffecef;background:#59252b;border-color:#91404b}.editor-field-warning select{outline-offset:-2px;color:#76222b;background:#fff0f1;outline:2px solid #c73545}[data-theme=dark] .editor-field-warning select{color:#ffe8eb;background:#48252d;outline-color:#f0717d}[data-theme=dark] .editor-field-warning small{color:#ff9ca7}:is(.lane-card-matrix,.direction-demand-matrix) .editor-field-warning select:focus-visible{outline:2px solid #c73545}.median-bus-editor{border-top:1px solid;margin-top:10px;padding-top:10px}.signal-timeline .signal-chart-title{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px}.signal-timeline .signal-chart-title h2{white-space:nowrap;margin:0}.signal-timing-toolbar{justify-content:flex-end;margin:0 0 0 auto}.signal-timing-toolbar .signal-cycle{white-space:nowrap;flex-direction:row;align-items:center;gap:8px;width:auto;display:flex}.signal-timing-toolbar .signal-cycle input{width:80px}.phase-editor-heading{justify-content:space-between;align-items:center;gap:6px;display:flex}.phase-editor-heading .phase-delete{color:var(--muted,#62748c);background:0 0;border-color:#0000;padding:2px 7px;font-size:19px;line-height:1}.phase-editor-column:hover .phase-delete,.phase-editor-heading .phase-delete:focus-visible{color:var(--danger,#b23444)}.road-layout{min-width:0;padding:14px}.road-canvas{aspect-ratio:1;border-radius:12px;width:100%;position:relative;overflow:hidden}.road-canvas canvas{display:block}.road-semantic-layer{pointer-events:none;position:absolute;inset:0}.road-name{pointer-events:auto;white-space:nowrap;text-overflow:ellipsis;flex-direction:column;align-items:center;max-width:45%;line-height:1.3;display:flex;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0002;background:var(--surface,#fff)!important;color:var(--ink,#182335)!important;border:1px solid #0000!important;border-radius:5px!important;padding:3px 5px!important;font-size:10px!important}.road-name.selected{border-color:#39a5ef!important}.road-name strong{font-size:12px}.road-name small{font-size:8px;font-weight:400}.road-name:focus-visible{outline-offset:2px;outline:2px solid #1677d5}.road-empty{pointer-events:auto;opacity:.8;width:25px;height:25px;line-height:20px;position:absolute;transform:translate(-50%,-50%);color:var(--muted)!important;background:var(--surface)!important;border:1px dashed #8a9ca5!important;border-radius:50%!important;padding:0!important;font-size:18px!important}.road-empty:hover{opacity:1}.road-lane-key{pointer-events:none;opacity:0;position:absolute;color:#0000!important;background:0 0!important;border:0!important;border-radius:0!important;min-width:0!important;padding:0!important}.road-lane-key:focus-visible{opacity:1;outline-offset:-2px;outline:2px solid #9ce4ff}.road-diagram-note{color:var(--muted,#62748c);margin:8px 0 0;font-size:10px;line-height:1.5}.road-canvas .visually-hidden{pointer-events:none;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.road-name{white-space:normal;min-width:68px;max-width:84px;overflow:visible}.road-name strong{white-space:nowrap}.road-name{box-sizing:border-box;white-space:nowrap;justify-content:center;min-width:0;max-width:none;overflow:hidden}.road-name span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.road-name.vertical{padding:4px 3px!important}.road-name.vertical span{writing-mode:vertical-rl;text-orientation:upright;max-width:none;max-height:100%}.road-volume-label{pointer-events:auto;white-space:nowrap;text-align:center;cursor:text;justify-content:center;align-items:center;min-width:0;font-weight:700;line-height:1;display:flex;position:absolute;color:#16354d!important;background:0 0!important;border:0!important;border-radius:3px!important;padding:0!important}.road-volume-label:hover,.road-volume-label:focus-visible{outline-offset:1px;outline:2px solid #38a5ef}[data-theme=dark] .road-volume-label{color:#e5f3ff!important}.road-volume-edit{pointer-events:auto;z-index:3;flex-direction:column;min-width:48px;display:flex;position:absolute}.road-volume-edit>input{box-sizing:border-box;text-align:center;background:var(--surface,#fff);width:100%;min-width:48px;height:18px;min-height:18px;color:var(--ink,#182335);border:1px solid #38a5ef;border-radius:3px;outline:2px solid #38a5ef;flex:none;padding:0 2px;font-weight:700}.road-inline-heavy-floating{z-index:2000;min-width:48px;position:fixed}.road-inline-heavy{background:var(--surface,#fff);border:1px solid #38a5ef;border-radius:3px;align-items:center;gap:1px;height:20px;min-height:20px;display:flex;box-shadow:0 2px 5px #0002}.road-inline-heavy input{box-sizing:border-box;text-align:center;width:100%;min-width:0;color:var(--ink,#182335);background:0 0;border:0;outline:none;padding:0;font-size:11px}.road-inline-heavy span{white-space:nowrap;padding-right:2px;font-size:10px}.road-inline-error{background:var(--surface,#fff);color:#c44;z-index:10;border:1px solid #c44;width:200px;padding:4px;font-size:11px;display:block;position:absolute;top:100%}.road-volume-edit>input{flex:none;font-family:inherit;line-height:1}.road-inline-total-caption,.road-inline-caption{white-space:nowrap;background:var(--surface,#fff);color:var(--ink,#182335);box-sizing:border-box;border-radius:2px;justify-content:flex-end;align-items:center;padding:0 3px;font-size:11px;line-height:1;display:flex;position:absolute;right:calc(100% + 6px)}.road-inline-total-caption{bottom:calc(100% + 2px)}.road-inline-heavy .road-inline-caption{height:100%;padding:0 3px;font-size:11px;top:0}.road-inline-heavy>span:not(.road-inline-caption){background:var(--surface,#fff);border-radius:2px;align-items:center;height:100%;padding:0 2px;display:flex;position:absolute;top:0;left:calc(100% + 4px)}.analysis-controls{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.analysis-controls details{position:relative}.analysis-controls details[open]{border:1px solid #ccd7de;padding:.5rem}.analysis-controls label{gap:.5rem;display:flex}.analysis-controls input{width:9rem}.analysis-diagnostics{resize:vertical;border-top:1px solid #ccd7de;min-height:3rem;max-height:32rem;padding:.8rem;overflow:auto}.analysis-diagnostics code{display:block}.snapshot-banner{background:#fff8e9;border-left:4px solid #b67a20;margin:.8rem 0;padding:.8rem}.result-table{border-collapse:collapse;width:100%}.result-table th,.result-table td{text-align:left;overflow-wrap:anywhere;border-bottom:1px solid #dce3e7;padding:.55rem}.result-scroll{overflow:auto}.snapshot-roads{flex-wrap:wrap;gap:.7rem;display:flex}.snapshot-road{border:1px solid #bbcbd6;border-radius:.5rem;min-width:9rem;padding:.7rem}.result-trace code{overflow-wrap:anywhere;white-space:pre-wrap}.result-trace{margin-top:1rem}.result-meta{overflow-wrap:anywhere}.result-picker{max-width:100%}.snapshot-grid{max-width:440px}.snapshot-road-name{z-index:1;background:#edf3f8;font-size:11px;position:absolute;top:2px;left:3px}.snapshot-grid .road-lanes .lane-tile{flex:1 1 0;display:inline-flex}.snapshot-input{white-space:pre-wrap;overflow-wrap:anywhere;max-height:28rem;overflow:auto}.result-table{min-width:1040px}.result-table td,.result-table th:not(:first-child){white-space:nowrap}.result-table th:first-child{min-width:185px;max-width:250px}.result-table small{color:#63758a;font-weight:400}.result-table .text-button{white-space:normal;text-align:left}.result-summary{flex-wrap:wrap;gap:2rem;padding:1.1rem 0;display:flex}.result-summary>div{flex-direction:column;gap:.5rem;display:flex}.result-summary strong{color:#193c71;font-size:1.5rem}.numeric-reason{white-space:normal;max-width:14rem}.numeric-reason span{overflow-wrap:anywhere;display:block}.comparison-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.65rem;display:flex}.comparison-toolbar p{margin:0}.comparison-toolbar label,.results-view>label{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.comparison-panel .result-table td{font-variant-numeric:tabular-nums}.comparison-panel .result-table thead th,.comparison-panel .result-table tbody tr:first-child{background:var(--surface)}.result-detail,.results-view>.result-trace{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.65rem}.results-view details>summary{cursor:pointer}.comparison-matrix :is(th,td){white-space:nowrap}.comparison-matrix tr>:is(th,td)+:is(th,td),.comparison-matrix thead tr+tr>th{border-left:1px solid var(--line,#dce3e7)}.comparison-matrix thead th[scope=colgroup]{text-align:center;border-left:1px solid var(--line)}.comparison-matrix tfoot{background:var(--surface)}.comparison-totals{flex-wrap:wrap;gap:.45rem 1.25rem;display:flex}.account-form{text-align:left;gap:12px;display:grid}.account-form label{gap:5px;font-weight:600;display:grid}.account-form input{width:100%}.account-form input[readonly]{opacity:.75}.account-form p,.account-card p{margin:0}.account-form p.error{color:#b33242}.account-card{gap:16px;width:min(460px,90vw);display:grid}.account-card h1,.account-card .brand-mark{margin:0 auto}.account-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-card .account-actions{justify-content:center}.account-admin{width:min(1080px,94vw);max-height:90vh;overflow:auto}.account-admin .account-actions{margin-bottom:12px}.account-admin button[aria-pressed=true]{border-color:#6b91c8;font-weight:700}.account-table{margin-bottom:12px;overflow:auto}.account-table table{border-collapse:collapse;text-align:left;width:100%}.account-table th,.account-table td{overflow-wrap:anywhere;border-bottom:1px solid #8999ab55;padding:8px 10px}.account-table th{white-space:nowrap}.sidebar-account-options{grid-column:1/-1;gap:8px;display:flex}.sidebar-account-options button{flex:1 1 0}@font-face{font-family:Pretendard GOV Variable;font-style:normal;font-weight:45 920;font-display:swap;src:url(/fonts/pretendard-gov/PretendardGOVVariable.woff2)format("woff2")}:root{color:#182335;font-synthesis:none;background:#f4f6fa;font-family:Pretendard GOV Variable,Pretendard GOV,Malgun Gothic,sans-serif;font-size:14px}*{box-sizing:border-box}body{min-width:900px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:#34435b;white-space:nowrap;background:#fff;border:1px solid #d5ddeb;border-radius:7px;padding:7px 11px}button:hover{background:#edf3ff;border-color:#9ab7e6}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #a9c9ff}input,textarea,select{color:#182335;background:#fff;border:1px solid #cdd7e6;border-radius:6px;padding:8px}input[aria-invalid=true]{border-color:#bf3e4d}textarea{resize:vertical;width:100%;min-height:110px;margin-top:8px;display:block}h1,h2,p{margin-top:0}h1{letter-spacing:-.6px;font-size:25px;font-weight:650}h2{letter-spacing:-.2px;margin:0;font-size:14px;font-weight:700}.app-frame{flex-direction:column;height:100vh;display:flex}.app-header{background:#fff;border-bottom:1px solid #e0e6ee;flex-shrink:0;justify-content:space-between;align-items:center;height:68px;padding:0 26px;display:flex}.app-header strong{color:#193c71;letter-spacing:-.8px;font-size:21px}.app-header span{color:#718096;margin-left:16px}.header-actions{align-items:center;gap:8px;display:flex}.app-body{flex:1;min-height:0;display:flex}.sidebar{background:#fff;border-right:1px solid #e0e6ee;flex-shrink:0;width:318px;overflow:auto}.document-list{border-bottom:1px solid #e8edf4;padding:20px 16px}.section-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.section-title button{padding:5px 8px;font-size:12px}.create-document{gap:5px;display:flex}.create-document input{width:100%;min-width:0}.document-list ul{margin:16px 0 8px;padding:0;list-style:none}.document-list li{border:1px solid #0000;border-radius:8px;margin:4px 0;padding:6px}.document-list li:hover{background:#f7f9fc}.document-list .active-document{background:#eef4ff;border-color:#d9e6fb}.document-open{text-align:left;text-overflow:ellipsis;background:0 0;border:0;max-width:100%;padding:5px;font-weight:600;display:block;overflow:hidden}.list-actions{justify-content:flex-end;gap:4px;margin-top:3px;display:flex}.list-actions button{color:#718099;background:0 0;border:0;padding:3px 6px;font-size:11px}.text-button{color:#557198;background:0 0;border:0;padding:6px 3px}.document-tree{padding:20px 12px}.tree-row{border-radius:7px;align-items:center;gap:3px;min-height:38px;padding:4px 2px;display:flex}.tree-row.selected{background:#eaf2ff}.tree-name{text-overflow:ellipsis;text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:6px;font-size:13px;overflow:hidden}.tree-children{margin-left:16px}.row-actions{opacity:0;pointer-events:none;flex-shrink:0;gap:2px;width:74px;display:flex}.row-actions button{background:0 0;border:0;padding:4px;font-size:10px}.tree-row:hover .row-actions,.tree-row:focus-within .row-actions{opacity:1;pointer-events:auto}.disclosure{background:0 0;border:0;width:22px;padding:4px}.scenario-icon{color:#9aabc0;margin-left:8px}.document-row{border-bottom:1px solid #edf0f5;margin-bottom:8px;font-weight:700}.inline-name{flex:1;min-width:0}.inline-name input{width:100%;min-width:0;padding:5px}.inline-name small{color:#bf3e4d;font-size:10px;display:block}.add-scenario{margin:4px 0 12px 16px;font-size:12px}.workspace-main{flex:1;min-width:0;padding:26px 30px;position:relative;overflow:auto}.workspace-title{justify-content:space-between;align-items:center;margin:3px 0 24px;display:flex}.workspace-title h1{margin:5px 0 0}.eyebrow{color:#7d8da2;font-size:12px}.tabs{border-bottom:1px solid #dce4ef;gap:5px;margin-bottom:24px;display:flex}.tabs button{color:#7d8da2;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;padding:12px 18px}.tabs button[aria-selected=true]{color:#245ba6;border-bottom-color:#2d68bb;font-weight:700}.panel-card{background:#fff;border:1px solid #e0e7f0;border-radius:12px;padding:24px}.panel-card h2{margin-bottom:20px}.panel-card p{margin:15px 0 0}.muted{color:#8290a4;font-size:12px}.notice{color:#315d94;background:#edf4ff;border-radius:8px;margin-bottom:15px;padding:12px 15px}.save-state{white-space:nowrap;font-size:12px!important}.save-state.saved{color:#3d8064}.save-state.conflict,.save-state.error{color:#b04450}.save-state.offline{color:#986713}.conflict-banner{background:#fff6e9;border:1px solid #e7bf81;border-radius:9px;margin-bottom:18px;padding:16px}.conflict-banner p{margin:8px 0}.conflict-banner button{margin-right:6px}.error,.global-error{color:#b33242}.global-error{background:#fff0f2;border:1px solid #eab9c2;border-radius:8px;max-width:450px;padding:12px;position:fixed;bottom:18px;right:18px}.empty-state{text-align:center;color:#7d8da2;padding:110px 30px}.empty-state h1{color:#385473;font-size:22px}.diagnostics-toggle{margin-top:18px;font-size:12px}.diagnostics-panel{resize:vertical;background:#fffafb;border:1px solid #e3c7c9;border-radius:10px;min-height:120px;max-height:50vh;margin-top:24px;padding:18px;overflow:auto}.diagnostics-panel ul{padding-left:20px}.diagnostics-panel li button{text-align:left;white-space:normal;color:#a83e4c;background:0 0;border:0}.modal-backdrop{z-index:100;background:#16243866;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:14px;width:min(510px,90vw);padding:26px;box-shadow:0 20px 70px #14233d33}.dialog h2{margin-bottom:18px;font-size:20px}.dialog p{color:#62748c;line-height:1.7}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:25px;display:flex}.danger{color:#b23444;border-color:#e9b8c0}.primary{color:#fff;background:#245ba6;border-color:#245ba6}.login-page{background:radial-gradient(at 30% 20%,#e4edfb,#0000 55%),#f5f7fb;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}.login-card{text-align:center;background:#fff;border:1px solid #e0e6ef;border-radius:20px;max-width:460px;padding:50px;box-shadow:0 20px 60px #253e6710}.brand-mark{color:#fff;background:#234e88;border-radius:13px;place-items:center;width:54px;height:54px;margin-bottom:20px;font-size:22px;font-weight:700;display:inline-grid}.login-card h1{font-size:30px}.login-card p{color:#7c8da4;margin-bottom:28px;line-height:1.8}.login-card .primary{padding:12px 25px}@media (width<=1100px){.sidebar{width:285px}.workspace-main{padding:22px 20px}.tabs button{padding:11px}.app-header{padding:0 18px}}.sidebar-shell{flex-shrink:0;width:318px;min-height:0;position:relative}.sidebar-shell.pinned>.sidebar{width:100%;height:100%}.sidebar-shell.automatic{background:#fff;border-right:1px solid #e0e6ee;width:32px}.sidebar-shell.automatic>.sidebar{z-index:40;width:318px;position:absolute;top:0;bottom:0;left:32px;box-shadow:12px 0 30px #23374e24}.sidebar-reveal{background:0 0;border:0;width:27px;padding:9px 3px;position:absolute;top:8px;left:2px}.sidebar-toolbar{color:#62748c;border-bottom:1px solid #e8edf4;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:flex}.sidebar-toolbar button{padding:5px 8px;font-size:12px}@media (width<=1100px){.sidebar-shell,.sidebar-shell.automatic>.sidebar{width:285px}}.app-header{gap:16px}.header-brand{flex-shrink:0}.header-document-context{flex:1;min-width:0}.app-header .header-document-context span{margin-left:0}.header-document-name{text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden;color:#7c8da4!important}.header-selection{align-items:center;gap:10px;min-width:0;display:flex}.header-selection>span:first-child{text-overflow:ellipsis;white-space:nowrap;color:#385473;max-width:45%;font-size:14px;overflow:hidden}.header-selection h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:3px 0 0;font-size:17px;overflow:hidden}.workspace-tools{justify-content:flex-end;margin:0 0 12px;display:flex}.workspace-tools .header-actions{flex-wrap:wrap;justify-content:flex-end}.toast-stack{z-index:120}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f4f6fa;--surface:#fff;--raised:#f7f9fc;--ink:#182335;--muted:#62748c;--line:#d5ddeb;--selected:#eaf2ff;--accent:#245ba6}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#111827;--surface:#1b2535;--raised:#243247;--ink:#e4ebf5;--muted:#afbed2;--line:#40516a;--selected:#263f60;--accent:#9ac3ff;background:var(--page);color:var(--ink)}select option,select optgroup{background:var(--surface);color:var(--ink)}.sidebar{flex-direction:column;display:flex;overflow:hidden}.sidebar-scroll{flex:1;min-height:0;overflow:auto}.sidebar-bottom-actions{border-top:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;padding:14px 16px;display:flex}.sidebar[hidden]{display:none}.sidebar-projects{border-top:1px solid var(--line);flex-shrink:0;max-height:55%;overflow:auto}.sidebar-projects .document-list{border-bottom:0}.sidebar-projects .project-picker ul{max-height:25vh}.project-switcher-label{flex:1;font-weight:600}.project-picker .create-document{margin-bottom:12px}.header-document-context .tree-name{font:inherit;color:inherit;max-width:100%;margin:0;padding:2px 0}.header-document-context .tree-name:hover{text-underline-offset:5px;background:0 0;text-decoration:underline}.header-document-context .inline-name{min-width:100px;max-width:300px;display:inline-block}.header-document-context .inline-name input{font:inherit}.header-document-context .inline-name small{font-size:11px}.app-header{flex-wrap:wrap}.app-header>.header-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}.header-selectors{flex-wrap:nowrap;flex:auto;gap:6px;max-width:100%}.header-selectors select,.header-selectors h1 select{field-sizing:content;width:auto;min-width:70px;max-width:220px;color:var(--ink);text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:4px 20px 4px 0;font-size:21px;font-weight:650}.header-selectors .header-document-name{max-width:270px;font-size:23px;display:inline-block}.header-selectors h1{min-width:0;margin:0;line-height:1.4}.app-header .header-divider{color:var(--muted);margin:0;font-size:21px}.header-list-error{max-width:180px;font-size:11px!important}.app-header .analysis-controls{gap:5px;max-width:340px;font-size:11px}.app-header .analysis-controls span{margin:0}.app-header .analysis-controls .analysis-error{color:#c94353}.diagnostics-trigger{font-size:12px}.diagnostics-drawer{border:0;border-left:1px solid var(--line);background:var(--surface);width:min(510px,90vw);height:100dvh;max-height:100dvh;color:var(--ink);margin:0;padding:20px;position:fixed;inset:0 0 0 auto;overflow:auto;box-shadow:-12px 0 45px #0003}.diagnostics-drawer::backdrop{background:#14223855}.drawer-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.drawer-title h2{font-size:18px}.diagnostics-drawer .diagnostics-panel,.diagnostics-drawer .analysis-diagnostics{resize:none;background:var(--surface);border:1px solid var(--line);min-height:0;max-height:none;margin:18px 0 0;padding:14px;overflow:visible}.diagnostics-drawer li{overflow-wrap:anywhere;margin:12px 0}.diagnostics-drawer code{white-space:pre-wrap;font-size:11px}.diagnostics-drawer summary{cursor:pointer;padding:10px 0}.diagnostics-drawer p{font-size:12px;line-height:1.7}.comparison-panel{border:1px solid var(--line);background:var(--raised);border-radius:10px;margin:18px 0;padding:18px}.comparison-panel h3{margin-top:0}.comparison-panel>label{flex-wrap:wrap;align-items:center;gap:8px;margin-right:14px;display:inline-flex}.comparison-panel .result-picker{max-width:min(100%,600px)}.comparison-panel p{line-height:1.6}.tab-panel:not([role=tabpanel]){padding-top:8px}.approach-header{flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;margin-bottom:12px;padding-bottom:5px;display:flex;overflow-x:auto}.approach-header h2{flex-shrink:0;margin:0}.approach-header h2 .tree-name{padding:0;font-size:14px;font-weight:700}.approach-header .editor-toolbar{flex-wrap:nowrap;flex-shrink:0;gap:7px;margin:0;font-size:11px}.approach-header .editor-toolbar select{padding:5px;font-size:11px}.approach-header .editor-toolbar button{padding:5px;font-size:10px}.approach-header-fields{flex-shrink:0;align-items:center;gap:8px;display:flex}.approach-header-fields>div{align-items:center;gap:4px;font-size:11px;display:flex}.approach-header-fields .editor-field{font-size:0}.approach-header-fields input,.approach-header-fields select{width:60px;min-width:0;padding:5px;font-size:11px}.approach-header-fields .editor-field small{font-size:11px}.facility-table-row .lane-facility-settings{text-align:left;border:0;margin:0;padding:0}.facility-table-row .editor-section{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.facility-table-row .editor-field{flex:1;min-width:115px;font-size:11px}.facility-table-row select[multiple]{min-width:110px;height:70px}.facility-table-row .danger{margin-top:18px;font-size:11px}.facility-table-row .editor-field input,.facility-table-row .editor-field select{font-size:12px}.lane-tile.demand-highlight{border-color:#f0ad21!important;box-shadow:0 0 0 3px #f0ad2166!important}:is(.lane-card-matrix,.direction-demand-matrix) :is(th,td).demand-highlight{box-shadow:inset 0 0 0 1px #d9a221;background:#fff1c9!important}:root[data-theme=dark] :is(.lane-card-matrix,.direction-demand-matrix) :is(th,td).demand-highlight{color:#fff0c9;background:#57441d!important}@media (width<=1100px){.header-selectors select,.header-selectors h1 select,.header-selectors .header-document-name{max-width:220px;font-size:18px}.header-selectors{flex-wrap:wrap}.app-header{padding-top:8px;padding-bottom:8px}}.lane-add-choice{align-items:stretch;display:inline-flex;position:relative}.lane-add-choice:has(.lane-facility-menu)>.pavement-button{border-radius:7px 0 0 7px}.lane-facility-menu>summary{cursor:pointer;border:1px solid var(--line);background:var(--surface);border-left:0;border-radius:0 7px 7px 0;align-items:center;height:100%;padding:0 9px;list-style:none;display:flex}.lane-facility-menu-items{z-index:35;background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:3px;min-width:190px;padding:6px;display:grid;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0003}.lane-facility-menu-items button{text-align:left}.lane-facility-settings{border:1px solid var(--line);background:var(--surface);border-radius:9px;margin:10px 0;padding:14px}.lane-facility-settings .section-title{margin-bottom:8px}.lane-facility-settings h3{margin:0}.lane-facility-settings .editor-section{border:0;padding:0}.project-switcher{align-items:center;gap:5px;display:flex}.project-switcher>.tree-name{font-size:15px;font-weight:700}.project-picker[hidden]{display:none}.project-picker{padding-top:10px}.project-switcher button{min-width:0}.document-list:has(.project-switcher){padding:12px}.document-list ul{max-height:36vh;overflow:auto}.sidebar .document-tree{padding-top:16px}.entity-actions{flex-shrink:0;position:relative}.entity-actions>summary{cursor:pointer;border-radius:6px;padding:3px 9px;font-size:20px;list-style:none}.entity-actions>summary::-webkit-details-marker{display:none}.entity-actions[open]>summary{background:var(--selected)}.entity-action-items{z-index:45;background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:110px;padding:5px;display:grid;position:absolute;top:100%;right:0;box-shadow:0 8px 20px #0003}.entity-action-items button{text-align:left;background:0 0;border:0;font-size:12px}.entity-actions>summary:focus-visible{outline:2px solid var(--accent)}.header-document-context{flex-wrap:wrap;align-items:center;gap:5px 18px;display:flex}.app-header .header-document-name{letter-spacing:-.5px;max-width:100%;font-size:24px;font-weight:700;color:var(--ink)!important}.header-selection>span:first-child,.header-selection h1{color:var(--ink);margin:0;font-size:24px;font-weight:650}.header-selection>span:first-child{max-width:none}.header-selection{flex-wrap:wrap}.app-header>.header-actions{flex-shrink:0;margin-left:auto}.app-header{align-items:stretch;height:auto;min-height:82px;padding-top:0;padding-bottom:0}.app-header .header-selection>span{margin-left:0}.theme-toggle{font-size:12px}:root[data-theme=dark] body{background:var(--page);color:var(--ink)}:root[data-theme=dark] :is(.app-header,.sidebar,.sidebar-shell.automatic,.panel-card,.editor-section,.dialog,.lane-context,.login-card,.intersection-image-dialog,.turn-selector-approach,.lane-row-label),:root[data-theme=dark] :is(button,input,textarea,select){background:var(--surface);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] button:hover{background:var(--raised);border-color:#87afe7}:root[data-theme=dark] button.primary{color:#fff;background:#306ac0;border-color:#578bd6}:root[data-theme=dark] :is(.document-list li:hover,.road-grid,.phase-turn-selector,.intersection-image-preview,.turn-direction-choices .phase-matrix-choice,.signal-chart,.signal-ruler,.lane-card-matrix th,.direction-demand-matrix th){background:var(--raised);border-color:var(--line)}:root[data-theme=dark] :is(.tree-row.selected,.document-list .active-document,.road-slot.occupied,.lane-card-matrix .selected,.direction-demand-matrix .selected){background:var(--selected);border-color:#537bad}:root[data-theme=dark] .road-center{background:#3c5069}:root[data-theme=dark] :is(.muted,.eyebrow,.text-button,.list-actions button,.dialog p,.app-header span,.sidebar-toolbar,.image-filename,.phase-movement-caption,.signal-chart text,.turn-selector-approach h3,.result-table small){color:var(--muted)}:root[data-theme=dark] :is(.tabs button[aria-selected=true],.result-summary strong,.map-link){color:var(--accent)}:root[data-theme=dark] :is(.tabs,.document-list,.document-row,.sidebar-toolbar,.result-table td,.result-table th,.lane-card-matrix td,.direction-demand-matrix td,.lane-card-matrix th,.direction-demand-matrix th,.map-link){border-color:var(--line)}:root[data-theme=dark] :is(.lane-card-matrix td,.direction-demand-matrix td){background:var(--surface);color:var(--ink)}:root[data-theme=dark] :is(.lane-card-matrix th,.direction-demand-matrix th){color:var(--ink)}:root[data-theme=dark] :is(.lane-card-matrix td.selected,.direction-demand-matrix td.selected){background:var(--selected)}:root[data-theme=dark] :is(.notice,.snapshot-banner,.conflict-banner,.diagnostics-panel,.global-error){color:#f3d3bd;background:#302b31;border-color:#806855}:root[data-theme=dark] :is(.error,.editor-error,.editor-field small,.diagnostics-panel li button,.danger){color:#ff9ea9}:root[data-theme=dark] .save-state.saved{color:#9bdfbd}:root[data-theme=dark] .turn-direction-choices .phase-matrix-choice[aria-pressed=true]{background:#174833;border-color:#65c69c}:root[data-theme=dark] .matrix-direction-icon{color:#9bb3d0}:root[data-theme=dark] .phase-matrix-choice[aria-pressed=true] .matrix-direction-icon{color:#8ce0b5}:root[data-theme=dark] .phase-movement-svg rect{fill:var(--raised)}:root[data-theme=dark] .phase-movement-svg text{fill:var(--muted)}:root[data-theme=dark] .phase-movement-svg path[stroke=\#dfe6ef]{stroke:#40536b}:root[data-theme=dark] .phase-movement-svg path[data-direction-id]{stroke:#7dddab}:root[data-theme=dark] .phase-movement-svg marker path{fill:#7dddab}:root[data-theme=dark] .phase-movement-svg path[stroke=white]{stroke:#1b2535}:root[data-theme=dark] :is(.signal-selection,.signal-row-name,.phase-movement-card,.phase-directions,.signal-chart-title>strong){background:var(--raised);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .signal-phase-select{color:var(--accent)}:root[data-theme=dark] .signal-phase-select[aria-pressed=true]{background:var(--selected)}:root[data-theme=dark] .signal-ruler .signal-track{background:repeating-linear-gradient(90deg,#243247 0 calc(10% - 1px),#40516a calc(10% - 1px) 10%)}:root[data-theme=dark] .phase-movement-card[aria-pressed=true]{background:var(--selected)}:root[data-theme=dark] .phase-movement-card>strong{color:var(--accent)}:root[data-theme=dark] .signal-phase{background:var(--raised)}:root[data-theme=dark] button.signal-lamp-band.lamp-circular_red{color:#fff;background:#b93544}:root[data-theme=dark] button.signal-lamp-band.lamp-circular_yellow{color:#463606;background:#f1bd40}:root[data-theme=dark] button.signal-lamp-band.lamp-circular_green,:root[data-theme=dark] button.signal-lamp-band.lamp-arrow_green{color:#fff;background:#238157}@media (width<=1100px){.app-header .header-document-name,.header-selection h1,.header-selection>span:first-child{font-size:20px}.app-header{gap:10px}.app-header>.header-actions{gap:5px}.header-document-context{gap:4px 12px}.app-header .save-state{white-space:normal;max-width:110px}}.sidebar-company-logo{border-top:1px solid var(--line);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:10px;padding:18px 20px;display:flex}.sidebar-company-logo img{max-width:100%;height:auto}.company-logo-dark,[data-theme=dark] .company-logo-light{display:none}[data-theme=dark] .company-logo-dark{display:block}.sidebar-account-actions{border-top:1px solid var(--line);flex-shrink:0;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px;display:grid}.sidebar-account-actions .theme-toggle{grid-column:1/-1}.sidebar-account-actions button{min-width:0}.sidebar-app-brand{color:var(--ink);letter-spacing:.3px;font-size:20px}.support-contact{border-bottom:1px solid var(--line);padding:16px 0}.support-contact a{color:var(--ink);margin-right:14px}.sidebar-account-actions .diagnostics-trigger{padding-left:6px;padding-right:6px;font-size:12px}.app-header>.header-actions{grid-template-columns:220px;justify-content:end;align-self:center;align-items:stretch;gap:4px;display:grid}.app-header>.header-actions>.analysis-controls,.app-header>.header-actions>.save-state{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:8px;place-content:center;width:100%;max-width:none;min-height:27px;margin:0;padding:4px 10px;font-size:11px;line-height:17px}.app-header>.header-actions>.analysis-controls:empty{display:none}.app-header>.header-selectors{align-self:center;min-width:0}.app-header>.header-tabs{border-bottom:0;flex:none;align-self:stretch;gap:0;margin:0}.app-header>.header-tabs button{justify-content:center;align-items:center;min-height:80px;padding:0 16px;font-size:21px;display:flex}.app-header>.header-tabs button[aria-selected=true]{background:var(--selected)}@media (width<=1100px){.app-header>.header-tabs button{padding:0 12px;font-size:18px}}.sidebar-company-link{max-width:100%;color:var(--muted);flex-direction:row;align-items:center;gap:10px;font-size:13px;text-decoration:none;display:flex}.sidebar-company-link:hover{color:var(--ink)}.sidebar-company-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}.project-home{max-width:1200px;margin:0 auto}.project-home h1{margin:0 0 20px;font-size:24px}.project-home-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.project-home-toolbar p{color:var(--muted);margin:0}.home-document-list .project-picker{padding:0}.home-document-list ul{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.home-document-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px 4px;display:flex}.home-document-list .document-open{text-align:left;min-width:0;color:var(--ink);white-space:normal;overflow-wrap:anywhere;background:0 0;border:0;flex:1;font-size:16px;font-weight:600}.home-document-list .document-open:hover{color:var(--accent)}.home-document-list .list-actions,.home-document-list .create-document{gap:8px;display:flex}.home-document-list .create-document input{flex:1;min-width:0}.theme-toggle{border:1px solid var(--line);background:var(--page);isolation:isolate;border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;display:grid;position:relative}.theme-toggle .theme-slider{background:var(--selected);width:calc(33.3333% - 2px);transform:translateX(calc(var(--theme-position)*100%));z-index:-1;border-radius:6px;transition:transform .18s;position:absolute;inset:3px auto 3px 3px;box-shadow:0 1px 3px #0002}.theme-toggle label{cursor:pointer;min-height:29px;color:var(--muted);white-space:nowrap;justify-content:center;align-items:center;font-size:11px;display:flex;position:relative}.theme-toggle input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.theme-toggle label>span{pointer-events:none}.theme-toggle label:has(input:checked){color:var(--ink);font-weight:700}.theme-toggle label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-1px;border-radius:6px}@media (prefers-reduced-motion:reduce){.theme-toggle .theme-slider{transition:none}}.sidebar-company-link>span{white-space:nowrap}.sidebar-company-link img{min-width:0}.app-header{position:relative}.app-header>.toast-stack{gap:4px;max-width:min(620px,100% - 32px);max-height:calc(100% - 8px);position:absolute;inset:50% auto auto 50%;overflow-y:auto;transform:translate(-50%,-50%)}.app-header>.toast-stack>.notice{align-items:center;gap:10px;padding:8px 12px;font-size:17px;display:flex}.app-header>.toast-stack>.notice>span{margin:0}.app-header>.toast-stack>.notice button{flex-shrink:0;padding:4px 8px;font-size:11px}.app-header>.toast-stack>.repair-toast{font-size:17px}.home-document-list .project-picker>ul>li{display:block}.home-document-list .project-list-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.home-document-list .project-home-tree,.home-document-list .project-home-tree ul{border:0;border-left:1px solid var(--line);margin:4px 0 0 14px;padding-left:14px}.home-document-list .project-home-tree li{border:0;padding:2px 0;display:block}.home-document-list .project-home-tree button{color:var(--ink);white-space:normal;overflow-wrap:anywhere}.home-document-list .project-home-tree button:hover{color:var(--accent)}
