:root{color-scheme:dark;--bg:#101b24;--panel:#14212bed;--ink:#e3ebed;--muted:#9aadb6;--line:#30424d;--gold:#e5b76b;--mint:#83d6bf}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.5 system-ui,sans-serif;overflow:hidden}#viewport{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}button,input{font:inherit}button{cursor:pointer;color:var(--ink);background:#21313c;border:1px solid var(--line);border-radius:6px;padding:8px 10px}button:hover{border-color:var(--mint);color:var(--mint)}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:3px}#panel{position:fixed;left:22px;top:22px;bottom:48px;width:310px;padding:24px;overflow:auto;background:var(--panel);border:1px solid #3c515c80;border-radius:12px;scrollbar-width:thin;box-shadow:0 12px 60px #0003}.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--mint);display:flex;justify-content:space-between}h1{font-size:44px;line-height:1.03;letter-spacing:-2px;font-weight:550;margin:22px 0 10px}h1 span{color:var(--mint)}.intro{color:var(--muted);font-size:12px;margin-bottom:20px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:23px}.tabs button{font-size:11px}.tabs button:last-child{grid-column:span 2}.caption{display:block;font-size:10px;letter-spacing:1.2px;color:var(--muted);margin:16px 0 8px}.caption button{font-size:10px;float:right;padding:0 5px;border:0;background:none;color:var(--mint);letter-spacing:0}input[type=search]{width:100%;background:#0d1820;border:1px solid var(--line);padding:10px;color:var(--ink);border-radius:5px}#results{max-height:220px;overflow:auto}#results button{display:block;text-align:left;width:100%;border-radius:0;border-top:0;font-size:12px}.section{border-bottom:1px solid var(--line);padding:16px 0}.section>label:first-child{display:flex;justify-content:space-between}strong{color:var(--mint);font-weight:500}input[type=range]{width:100%;accent-color:var(--mint);margin-top:14px}.muted{font-size:10px;color:var(--muted);margin:5px 0}.switches{display:grid;grid-template-columns:1fr 1fr;gap:10px 4px;font-size:11px}.switches label{display:flex;gap:4px;align-items:center}.switches input{accent-color:var(--mint)}.gold{color:var(--gold)}#routes{display:flex;gap:7px;flex-wrap:wrap;padding:6px 0 14px}#routes button{border:0;border-radius:50%;width:29px;height:29px;padding:0;font-weight:700;font-size:12px;color:#fff;box-shadow:inset 0 0 0 1px #ffffff20}#routes button.off{opacity:.25}details{font-size:10px;color:var(--muted);margin-top:12px}summary{cursor:pointer;font-size:11px}a{color:var(--mint)}#export{font-size:10px;width:100%;margin-top:18px}#topnote{position:fixed;top:30px;left:362px;font-size:10px;letter-spacing:1.5px;color:#b4c5ce}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);margin-right:8px}.separator{margin:0 12px;color:#60727e}#bottom{position:fixed;bottom:15px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:var(--muted);pointer-events:none}#selection{position:fixed;right:24px;top:65px;width:285px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:20px}#selection h2{font-size:20px;font-weight:500;line-height:1.25;margin:5px 0 14px}#selection p{font-size:12px;color:var(--muted)}#selection button{float:right;padding:0 7px;background:none}#selection .caption{color:var(--gold);margin:0}#selection ul{padding-left:17px;color:var(--muted);font-size:11px}#loading{position:fixed;left:55%;top:45%;font-size:23px;font-weight:300}#loading span{display:block;color:var(--muted);font-size:12px;margin-top:8px}#menu{display:none}.yard-label{position:absolute;pointer-events:none;font-size:10px;color:#e5c38d;background:#101b24dc;padding:3px 6px;border:1px solid #b58d4540;border-radius:3px;white-space:nowrap;transform:translate(-50%,-100%)}@media(max-width:760px){#panel{left:12px;top:58px;bottom:50px;width:275px;padding:20px;display:none}body.controls-open #panel{display:block}#menu{display:block;position:fixed;top:12px;left:12px}#topnote{left:68px;top:24px;font-size:8px;letter-spacing:.6px}.separator{margin:0 5px}#selection{top:auto;bottom:55px;right:12px;width:245px;padding:15px}#bottom{left:12px;right:12px;font-size:8px}#bottom>span:first-child{display:none}#loading{left:20%;font-size:20px}h1{font-size:36px}}
.live-controls{font-size:11px}.live-controls label{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;gap:8px}.live-controls .live-toggle{font-size:13px}.live-toggle strong{font-size:8px;letter-spacing:1px}.live-controls input{accent-color:var(--mint)}.live-controls select{background:#0d1820;color:var(--ink);border:1px solid var(--line);padding:4px;border-radius:4px;font:inherit;max-width:145px}.live-controls p{margin:8px 0 0}.live-controls #liveStatus{color:var(--mint);font-size:11px}.trip-id{overflow-wrap:anywhere;font-size:9px!important}
.history-panel{font-size:11px}.history-panel>.caption{margin-top:0}.history-panel>p{margin:6px 0}.history-panel #historyStatus{color:var(--mint)}.history-panel details{margin-top:10px}.history-panel button{font-size:10px;margin:7px 0}.history-panel dl{display:grid;grid-template-columns:1fr auto;gap:5px 8px;font-size:10px}.history-panel dt,.history-panel dd{margin:0}.history-panel dd{color:var(--mint)}.history-panel .history-trip{display:block;width:100%;text-align:left;margin:3px 0;padding:5px 7px}.history-panel #historyEvents{max-height:190px;overflow:auto;overflow-wrap:anywhere}.history-panel #historyEvents p{font-size:10px;margin:5px 0}

#selection{max-height:75vh;overflow:auto}
