.op-panels{color:inherit;font-size:.94rem;line-height:1.45}.op-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));gap:1rem;align-items:start}.op-card{min-width:0;padding:1rem 1.15rem;border:1px solid #75899d55;border-radius:.65rem;background:#7891a009}.op-card h3,.op-confirm h3{font-size:1.03rem;letter-spacing:.01em;margin:0 0 .8rem}.op-card p{margin:.4rem 0 .85rem}.op-wide{grid-column:1/-1}.op-card form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.7rem;align-items:end}.op-field{display:grid;gap:.3rem;min-width:0}.op-field span,.op-card small{font-size:.78rem;opacity:.8}.op-field select,.op-field input,.op-field textarea{box-sizing:border-box;width:100%;min-width:0;min-height:2.55rem;padding:.45rem .55rem;font:inherit;color:inherit;background:var(--panel,#16252e);border:1px solid #75899d88;border-radius:.35rem}.op-field textarea{resize:vertical}.op-card button,.op-confirm button{min-height:2.55rem;padding:.4rem .8rem;cursor:pointer;font:inherit;color:inherit;background:transparent;border:1px solid #75899d88;border-radius:.35rem}.op-card .op-primary,.op-confirm .op-primary{background:#8cdec4;color:#122820;border-color:#8cdec4;font-weight:650}.op-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}.op-overflow{overflow-x:auto}.op-card table{width:100%;border-collapse:collapse;font-size:.88rem;text-align:left;font-variant-numeric:tabular-nums}.op-card th,.op-card td{padding:.5rem .6rem;white-space:nowrap;border-bottom:1px solid #75899d44}.op-card thead th{font-size:.75rem;opacity:.78}.op-chart{display:block;width:100%;height:auto;margin-top:.6rem}.op-grid path{stroke:#788b9b55;fill:none}.op-grid text{fill:currentColor;font:11px system-ui}.op-plan,.op-actual,.op-now{fill:none;stroke-width:2}.op-plan{stroke:#b3843e;stroke-dasharray:5 3}.op-actual{stroke:#4cae9f}.op-now{stroke:#879daf;stroke-dasharray:2 3;stroke-width:1}.op-status:empty{display:none}.op-status{padding:.7rem 1rem;border-left:3px solid #60b69e;background:#60b69e15}.op-events{list-style:none;padding:0;margin:0;max-height:25rem;overflow:auto}.op-events li{display:flex;gap:1rem;padding:.5rem 0;border-bottom:1px solid #75899d33;overflow-wrap:anywhere}.op-events time,.op-departure b{font:600 .9rem ui-monospace,monospace}.op-events time{opacity:.75}.op-score{display:grid;grid-template-columns:1fr auto;gap:.45rem}.op-score dd{margin:0;font-weight:700}.op-ranking{padding-left:1.2rem}.op-departure{display:grid;grid-template-columns:3rem 1fr auto;gap:.25rem .6rem;border-bottom:1px solid #75899d44;padding:.5rem 0}.op-departure small{grid-column:2/-1}.op-departure:last-child{margin-bottom:.8rem}.op-confirm{max-width:min(28rem,85vw);box-sizing:border-box;padding:1.5rem;background:#17252f;color:#e4f0f1;border:1px solid #748b95;border-radius:.6rem}.op-confirm::backdrop{background:#051118bb}.op-card :focus-visible,.op-confirm :focus-visible{outline:3px solid #eca84c;outline-offset:2px}.op-queue{overflow-wrap:anywhere}.op-field input[type=file]{font-size:.8rem;margin-top:.3rem}.op-note{font-size:.8rem;opacity:.75}html[data-estw-palette=accessible] .op-actual{stroke:#0072b2}html[data-estw-palette=accessible] .op-plan{stroke:#e69f00}html[data-theme=light] .op-field :is(select,input,textarea),body.light .op-field :is(select,input,textarea){background:#f3f7f8;color:#18252b}:root{color-scheme:dark;--bg:#0d1318;--panel:#141d23;--ink:#e8f1f2;--sub:#a3b3bc;--line:#303c42;--accent:#99e6c6;--canvas:#101a1e;--chip:#203b34;font-family:Inter,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--ink)}:root[data-theme=light]{color-scheme:light;--bg:#edf2f2;--panel:white;--ink:#152c33;--sub:#495f69;--line:#c3d0d1;--accent:#22624f;--canvas:#f3f8f7;--chip:#d8efe6}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit}button{cursor:pointer}button,select{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:.45rem .75rem}button:hover,select:hover{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}header,nav,main,footer{padding-inline:max(4.3vw,calc((100vw - 1440px)/2))}header{height:4.1rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--line);background:var(--panel)}.brand{display:flex;align-items:center;gap:.45rem;font-size:1.1rem;font-weight:650;letter-spacing:-.025em}.brand svg{width:2rem;margin-right:.35rem}.brand b{color:var(--sub);font-weight:450}.system{margin-left:auto;color:var(--sub);font-size:.78rem}.system i,.chip:before{display:inline-block;content:"";width:.43rem;height:.43rem;border-radius:100%;background:var(--accent);margin-right:.45rem}.chip{background:var(--chip);color:var(--accent);padding:.3rem .65rem;border-radius:20px;font:600 .72rem ui-monospace,Consolas,monospace}#theme{font-size:1.25rem;width:2.35rem;padding:.12rem}nav{display:flex;gap:1.5rem;overflow:auto;border-bottom:1px solid var(--line);background:var(--panel)}nav button{flex:none;position:relative;display:flex;align-items:center;gap:.45rem;border:0;border-radius:0;background:none;height:3rem;padding:.25rem 0;font-size:.85rem;color:var(--sub)}nav svg{width:1rem;height:1rem}nav button[aria-current=page]{box-shadow:inset 0 -2px var(--accent);color:var(--accent)}main{padding-block:1.85rem}.eyebrow{color:var(--sub);font:600 .65rem ui-monospace,Consolas,monospace;letter-spacing:.14em}.heading,.cardhead{display:flex;justify-content:space-between;align-items:center;gap:1rem}.heading{margin:.45rem 0 1.4rem}.heading h1{font-size:clamp(1.85rem,3vw,2.8rem);letter-spacing:-.05em;margin:0}.heading p{color:var(--sub);margin:.35rem 0;font-size:.93rem}.clockbox{text-align:right;flex:none}.clockbox strong{display:block;font:500 1.6rem ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;margin-top:.2rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.cardhead{padding:1rem 1.25rem;border-bottom:1px solid var(--line)}h2{font-size:1.1rem;letter-spacing:-.025em;margin:.2rem 0 0}#diagram{background:var(--canvas);color:var(--ink);padding:.3rem .7rem}.legend,.legend span,.legend label{display:flex;align-items:center}.legend{gap:1.1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding:.65rem 1.2rem;color:var(--sub);font-size:.77rem}.legend span{gap:.4rem}.legend i{width:1rem;height:3px;background:#aebbc1}.legend span:nth-child(2) i{background:var(--fr-lock,#64ceac)}.legend span:nth-child(3) i{background:var(--fr-train,#fa8378)}.legend span:nth-child(4) i{background:#e6a4fd}.legend label{gap:.5rem;margin-left:auto}.legend select{padding:.22rem .5rem}.lower{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.inside{padding:1rem 1.25rem}.modes{display:flex;border:1px solid var(--line);border-radius:6px;padding:2px}.modes button{border:none;font-size:.75rem;padding:.3rem .55rem}.modes .on{color:var(--accent);background:var(--chip)}.pair{display:flex;align-items:center;gap:1rem}.pair b{color:var(--sub);padding-top:1rem}.pair label{flex:1;min-width:0;font-size:.78rem;color:var(--sub)}.pair select{display:block;margin-top:.3rem;width:100%;font-size:.88rem;color:var(--ink)}.primary{background:#9ae9cb;color:#113228;border:none;font-weight:650;margin-top:.7rem;width:100%;text-align:left}.primary span{float:right}#hint,.inspect{font-size:.82rem;line-height:1.5;color:var(--sub);margin:.7rem 0 0}.inspect:empty{display:none}.link{font-size:.78rem;color:var(--accent);background:transparent;border:none}.logrow{display:flex;align-items:baseline;gap:1rem;padding:.7rem 1.25rem;border-bottom:1px solid var(--line);font-size:.82rem}.logrow time{font:.72rem ui-monospace,Consolas,monospace;color:var(--sub)}footer{display:flex;justify-content:space-between;gap:1rem;color:var(--sub);font-size:.74rem;border-top:1px solid var(--line);padding-block:1rem}html[data-estw-palette=accessible]{--fr-lock:#50b7fb;--fr-train:#ffb643}html:not([data-theme=light])[data-visibility=limited] #diagram{background:#202c32}[hidden]{display:none!important}@media(max-width:750px){header,nav,main,footer{padding-inline:1rem}nav{gap:1.2rem}.lower{grid-template-columns:1fr}.legend{gap:.65rem}.cardhead{padding:.8rem 1rem}.heading{align-items:start}.clockbox strong{font-size:1.1rem}.clockbox .eyebrow{font-size:.55rem}.heading p{font-size:.8rem}.system{font-size:0}.system i,.legend label{margin:0}.fr-map{min-height:165px!important}footer{flex-direction:column}.brand{font-size:1rem}main{padding-block:1.2rem}}
