:root{--fg:#1a1a1a;--muted:#6b6b6b;--accent:#1456a8;--accent-hover:#0e3f7a;--bg:#fafafa;--panel:#fff;--border:#e2e2e2;--direct:#1b6a2e;--nodirect:#8a4a00}*{box-sizing:border-box}body{max-width:42rem;color:var(--fg);background:var(--bg);margin:2rem auto;padding:0 1rem 3rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}h1{margin:0 0 .25rem}h2{margin-top:2rem;font-size:1.15rem}h3{color:var(--fg);margin:1.1rem 0 .35rem;font-size:.95rem;font-weight:600}h3 small{color:var(--muted);font-weight:400}.lede{color:var(--muted);margin-top:0}form{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:.9rem;margin:1.75rem 0;padding:1.25rem;display:grid}label{color:var(--muted);font-size:.9rem}input,button,select{font:inherit;border:1px solid var(--border);border-radius:5px;padding:.55rem .7rem}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.field{gap:.3rem;display:grid}.field select{background:var(--panel)}.combobox{gap:.3rem;display:grid;position:relative}.combo-control{display:flex;position:relative}.combo-control input{flex:1;padding-right:2rem}.combobox.is-selected input{border-color:var(--accent);color:var(--fg);cursor:default;background:#eef4fb;font-weight:600}.combobox.is-selected input:focus{outline-color:var(--accent)}.combo-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 .45rem;font-size:1.2rem;line-height:1;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.combo-clear:hover{color:var(--fg);background:#0000000d}.combo-list{z-index:10;background:var(--panel);border:1px solid var(--border);border-radius:5px;margin:2px 0 0;padding:.25rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 6px 16px #00000014}.combo-list li{cursor:pointer;color:var(--fg);padding:.45rem .75rem;font-size:.95rem}.combo-list li .crs{color:var(--muted);margin-left:.35rem;font-size:.85rem}.combo-list li.hl{background:var(--accent);color:#fff}.combo-list li.hl .crs{color:#ffffffd9}.combo-list .combo-empty{color:var(--muted);cursor:default;padding:.6rem .75rem}button{cursor:pointer;background:var(--accent);color:#fff;border:0;justify-self:start;padding:.65rem 1rem;font-weight:600}button:hover{background:var(--accent-hover)}.slot-row{grid-template-columns:1fr auto;align-items:end;gap:.5rem;display:grid}.slot-remove{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;align-self:end;padding:.55rem .85rem;font-size:1rem;font-weight:400}.slot-remove:hover{color:var(--fg);border-color:var(--accent);background:#f1f4f9}.add-station{color:var(--accent);border:1px dashed var(--border);background:0 0;justify-self:start;padding:.5rem .9rem;font-size:.9rem;font-weight:500}.add-station:hover{color:var(--accent-hover);border-color:var(--accent);background:#eef4fb}#results{margin-top:1rem}.direct{color:var(--direct);font-size:1.05rem}.nodirect{color:var(--nodirect)}ul{columns:2;column-gap:2rem;padding-left:1.25rem}li{break-inside:avoid;margin:.15rem 0}small{color:var(--muted);font-weight:400}footer{color:var(--muted);border-top:1px solid var(--border);margin-top:3rem;padding-top:1rem}@media (max-width:480px){ul{columns:1}}
