.site-header,main,.site-footer{max-width:1180px}main{display:grid;gap:0 16px;align-items:start}@media(min-width:1040px){main{grid-template-columns:minmax(0,756px) minmax(300px,1fr)}.map-card{grid-column:1;grid-row:1}.pick-row{grid-column:1;grid-row:2}.list-card{grid-column:2;grid-row:1 / span 3;position:sticky;top:12px}#list-body{max-height:min(64vh,660px);overflow-y:auto}}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{padding:10px 16px;font-size:15px;border:0;background:var(--card);color:var(--muted);cursor:pointer}.seg button.active{background:var(--accent);color:var(--accent-ink)}.status{margin:8px 0 0;font-size:13.5px;color:var(--muted)}.pick-row{display:flex;gap:16px;flex-wrap:wrap;align-items:stretch}.pick-row>.card{flex:1 1 320px}.picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}.picker{padding:12px 14px}.picker .field{margin:8px 0 3px;font-size:13px}.picker select{padding:9px 10px}.picker .seg{width:100%}.picker .seg button{flex:1;padding:9px 8px;font-size:14px}.map-card{padding:10px}.map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.tool-label{font-size:13px;font-weight:600;color:var(--muted)}.map-toolbar .seg button{padding:6px 12px;font-size:13px}.toolbar-end{display:flex;align-items:center;gap:8px;margin-left:auto}#clear-btn,#prefs-btn{padding:6px 12px;font-size:13px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--muted);cursor:pointer}@media(hover:hover){#clear-btn:hover,#prefs-btn:hover{border-color:var(--accent);color:var(--ink)}}#map-viewport{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}#map-stage{position:relative;width:720px;height:720px;transform-origin:0 0;background:#fff;touch-action:manipulation}#map-img{display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}#overlay{position:absolute;top:0;right:0;bottom:0;left:0}.stn{position:absolute;display:flex;align-items:center;justify-content:center;width:22px;height:16px;border:2px solid var(--stn-line, #2f3742);border-radius:5px;background:#fff;font:700 10px/1 Arial,Helvetica Neue,sans-serif;letter-spacing:-.3px;white-space:nowrap;color:#111;cursor:pointer}.stn.wide{font-size:9px;letter-spacing:-.4px}.stn.na{color:#9aa3ad;font-weight:400}.stn[data-band]{border-color:#0000008c;box-shadow:0 0 0 1px #ffffffeb}.stn[data-band="0"]{background:#fbf3e3}.stn[data-band="1"]{background:#f2d9a4}.stn[data-band="2"]{background:#d79a63}.stn[data-band="3"]{background:#a24438;color:#fff}.stn[data-band="4"]{background:#4d1526;color:#fff}.stn.origin{background:#ff2d78;border-color:#ff2d78;box-shadow:0 0 0 3px #ff2d7859;color:#fff;z-index:2}.stn.dest{border-color:#10222e;box-shadow:0 0 0 3px #10222e,0 0 0 6px #ffffffd9;z-index:4}@media(hover:hover){.stn:hover{box-shadow:0 0 0 3px #0b3d644d;z-index:3}}.legend{display:flex;align-items:stretch;gap:2px;margin-bottom:8px;flex-wrap:wrap}.legend-cap{align-self:center;margin-right:6px;font-size:12px;color:var(--muted)}.legend-cell{flex:1 1 0;min-width:52px;padding:3px 4px;border-radius:4px;font-size:11px;font-weight:600;text-align:center;white-space:nowrap;color:#111}.legend-cell[data-band="0"]{background:#fbf3e3}.legend-cell[data-band="1"]{background:#f2d9a4}.legend-cell[data-band="2"]{background:#d79a63}.legend-cell[data-band="3"]{background:#a24438;color:#fff}.legend-cell[data-band="4"]{background:#4d1526;color:#fff}.trip{position:relative;display:flex;flex-direction:column;justify-content:center}.trip-route{margin:0 28px 8px 0;font-size:15px;font-weight:600}.trip-figs{display:flex;gap:28px;margin:0;flex-wrap:wrap}.trip-fig{display:flex;flex-direction:column}.trip-fig b{font-size:26px;line-height:1.1}.trip-fig small{font-size:12px;color:var(--muted)}#trip-close{position:absolute;top:8px;right:8px;width:30px;height:30px;font-size:18px;line-height:1;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--muted);cursor:pointer}@media(hover:hover){#trip-close:hover{border-color:var(--accent);color:var(--ink)}}.trip-close-hint{margin:10px 0 0;font-size:12px;color:var(--muted)}.prefs{width:min(420px,calc(100vw - 32px));padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink)}.prefs::backdrop{background:#00000073}.prefs h2{margin:0 0 4px;font-size:18px}.prefs-intro{margin:0 0 14px;font-size:13px;color:var(--muted)}.prefs-group{margin:0 0 4px;padding:4px 12px 8px;border:1px solid var(--line);border-radius:10px}.prefs-group legend{padding:0 6px;font-size:13px;font-weight:600;color:var(--muted)}.prefs .radio{display:flex;align-items:center;gap:9px;min-height:38px;font-size:15px;cursor:pointer}.prefs .radio input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.prefs .field{margin:14px 0 4px}.prefs select{margin-bottom:14px;padding:10px}.prefs-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.prefs-actions .spacer{flex:1 1 auto}.prefs-actions button{padding:10px 14px;font-size:14px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);cursor:pointer}.prefs-actions .prefs-save{font-weight:600;border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}#prefs-reset{color:var(--muted)}.list-card h2{margin:0 0 8px;font-size:15px;color:var(--muted)}#list-filter{width:100%;padding:10px 12px;margin-bottom:8px;font-size:16px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.list-group{margin:14px 0 4px;padding:4px 2px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--muted)}.list-row{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:6px 8px;border:0;border-bottom:1px solid var(--line);border-radius:8px;background:none;color:var(--ink);text-align:left;cursor:pointer}.list-row.selected{background:color-mix(in srgb,var(--accent) 12%,var(--card))}.row-val{flex:0 0 56px;padding:5px 0;border-radius:6px;font-size:14px;font-weight:700;text-align:center;color:#111;background:var(--line)}.row-val[data-band="0"]{background:#fbf3e3}.row-val[data-band="1"]{background:#f2d9a4}.row-val[data-band="2"]{background:#d79a63}.row-val[data-band="3"]{background:#a24438;color:#fff}.row-val[data-band="4"]{background:#4d1526;color:#fff}.row-val.na{color:var(--muted);background:none}.row-names{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.row-names small{font-size:12px;color:var(--muted)}.row-alt{flex:0 0 auto;font-size:13px;color:var(--muted)}.list-hint{margin:16px 2px;font-size:14px;color:var(--muted)}
