.search-box{min-width:250px;flex:1 1 270px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px 11px;font:inherit;color:var(--ink)}
.site-nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}.site-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:650;text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible{border-color:#6b87a8;background:#edf4fb}.site-nav a[aria-current=page]{border-color:#5c94bb;background:#e6f1f8;color:#154e78}
.search-box:focus-visible{outline:2px solid #8db4d8;outline-offset:1px}
.track-filter{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.track-filter button{min-width:49px}
.search-results{margin:-4px 0 15px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 5px 20px #17243b12}
.search-results[hidden]{display:none}
.search-results-head{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;margin-bottom:8px}
.search-results-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:7px;max-height:320px;overflow:auto}
.search-result{display:block;padding:9px 10px;border:1px solid var(--line);border-radius:7px;text-decoration:none;color:var(--ink)}
.search-result:hover,.search-result:focus-visible{border-color:#6b87a8;background:#edf4fb}
.search-result small{display:block;color:var(--muted);margin-top:3px}
.ongoing-marker{display:flex;align-items:center;gap:5px;padding:5px 7px;margin:0 0 7px;background:#e5f2ed;color:#295e4d;border-left:3px solid var(--other);border-radius:3px;font-size:11px;line-height:1.35;font-weight:650}
.time-note{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:400}
.cell.o.has-ongoing{box-shadow:inset -4px 0 #457a69}
.recommend-route{margin:0 0 16px;padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:10px}
.recommend-route h2{margin:0 0 4px;font-size:17px}.recommend-route>p{margin:0 0 12px;color:var(--muted);font-size:12px}
.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-card{padding:12px 13px;background:#f6f9fd;border:1px solid var(--line);border-left:4px solid var(--route-color);border-radius:8px}
.route-card .route-time{display:block;color:var(--muted);font-size:12px}.route-card .route-open{display:block;width:100%;margin:5px 0 7px;padding:0;border:0;background:none;color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer}.route-card .route-open:hover{text-decoration:underline}.route-card .route-open:focus-visible,.context-jumps button:focus-visible{outline:2px solid #8db4d8;outline-offset:3px}
.route-card details{font-size:12px}.route-card summary{cursor:pointer;color:#165e95;font-weight:650}.route-card p{margin:6px 0 0}.route-card dl{margin:7px 0 0}.route-card dt{font-weight:700;margin-top:5px}.route-card dd{margin:1px 0 0;color:var(--muted)}
.sticky-context{position:sticky;top:0;z-index:7;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 3px 12px #17243b18}.context-main{display:flex;align-items:baseline;gap:8px;flex:1 1 210px}.context-main strong{font-size:13px}.context-main span{font-size:11px;color:var(--muted)}.context-jumps{display:flex;gap:5px}.context-jumps button{border:1px solid var(--line);border-radius:6px;background:#f8fbfd;color:var(--ink);padding:6px 8px;font:inherit;font-size:12px;cursor:pointer}.sticky-context .track-filter button{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);cursor:pointer;padding:5px 8px;font:inherit;font-size:12px}.sticky-context .track-filter button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.session[id],.time{scroll-margin-top:100px}.session.recommended h3{color:#9b5221}.session .recommend-badge{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:4px;background:#b9602a;color:#fff;font-size:10px;vertical-align:middle}
.session-analysis-link{display:inline-block;margin-top:5px;padding:4px 7px;border:1px solid #a7c1d6;border-radius:5px;background:#eaf3f9;color:#235d87;font-size:11px;font-weight:750;text-decoration:none}.session-analysis-link:hover,.session-analysis-link:focus-visible{background:#dbeaf5;border-color:#6e9dc0}
.sticky-context .track-filter button:focus-visible{outline:2px solid #8db4d8;outline-offset:2px}
body[data-track="a"] .grid,body[data-track="b"] .grid,body[data-track="c"] .grid,body[data-track="o"] .grid{grid-template-columns:92px minmax(0,1fr);min-width:0}
body[data-track="a"] .grid .b,body[data-track="a"] .grid .c,body[data-track="a"] .grid .o,
body[data-track="b"] .grid .a,body[data-track="b"] .grid .c,body[data-track="b"] .grid .o,
body[data-track="c"] .grid .a,body[data-track="c"] .grid .b,body[data-track="c"] .grid .o,
body[data-track="o"] .grid .a,body[data-track="o"] .grid .b,body[data-track="o"] .grid .c{display:none}
@media(max-width:700px){
  .wrap{padding:16px 12px 40px}
  .toolbar{align-items:stretch}
  .search-box{flex-basis:100%;min-width:0}
  .route-grid{grid-template-columns:1fr}
  .sticky-context{padding:8px;gap:7px}.context-main{flex-basis:100%}.context-jumps{flex:1 1 auto}.context-jumps button{flex:1}
  .track-filter{width:100%}
  .track-filter button{flex:1}
  .grid{min-width:1120px}
  body[data-track="a"] .grid,body[data-track="b"] .grid,body[data-track="c"] .grid,body[data-track="o"] .grid{grid-template-columns:67px minmax(0,1fr)}
  .time,.cell{padding:8px 6px}
  .head>div{padding:9px 6px}
  .search-results-list{grid-template-columns:1fr}
}
@media print{
  .site-nav,.search-box,.track-filter,.search-results,.recommend-route,.sticky-context{display:none!important}
  body[data-track="a"] .grid,body[data-track="b"] .grid,body[data-track="c"] .grid,body[data-track="o"] .grid{min-width:0;grid-template-columns:75px repeat(4,minmax(0,1fr))}
  body[data-track="a"] .grid .b,body[data-track="a"] .grid .c,body[data-track="a"] .grid .o,
  body[data-track="b"] .grid .a,body[data-track="b"] .grid .c,body[data-track="b"] .grid .o,
  body[data-track="c"] .grid .a,body[data-track="c"] .grid .b,body[data-track="c"] .grid .o,
  body[data-track="o"] .grid .a,body[data-track="o"] .grid .b,body[data-track="o"] .grid .c{display:block}
  .ongoing-marker{box-shadow:none;border-color:#457a69}
}
