/* AGA-DESIGN:SEARCH | 2026-10-08 / v307 実装済みの設計ルール
 * 目的：地方→都道府県、鉄道会社→路線の親子関係を、見出し・インデント・余白で伝える。
 * 維持：路線の選択は直接リンク。路線一覧を閉じたアコーディオンやチェック選択に戻さない。
 * 維持：一般リンクの青・下線指定が広告CTA・プロフィールの色や背景を上書きしないようにする。
 * 実装済み：会社別の目次案内、駅検索候補の主情報／補足の強弱、地図周辺の入れ子余白を整理。
 * 変更時確認：スマホは縦並びを基本とし、PCの横並びは十分な表示幅がある場合のみ。
 * END AGA-DESIGN */
/* v288: selectors are scoped to the search experience; registered icons stay shared. */
.aga-search-v284{--aga-search-ink:#243d35;--aga-search-muted:#53675f;--aga-search-line:#d5e3dc;color:var(--aga-search-ink);font:inherit;line-height:1.85;overflow-wrap:anywhere;min-width:0}
.aga-search-v284,.aga-search-v284 *,.aga-search-v284 *::before,.aga-search-v284 *::after{box-sizing:border-box}
.agaclinic-db-public-page.aga-search-v284{max-width:1160px;margin:32px auto;padding:0 20px}
.aga-search-v284>article>h1{margin:0 0 24px;padding:0;border:0;background:none;box-shadow:none;font-size:clamp(1.5rem,3vw,2rem);line-height:1.6;color:var(--aga-search-ink)}
.aga-search-v284 h1::before,.aga-search-v284 h1::after,.aga-search-v284 h2::before,.aga-search-v284 h2::after,.aga-search-v284 h3::before,.aga-search-v284 h3::after{display:none;content:none}
.aga-search-v284 a[href]:not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out):not(:where(.aga-profile-v299 *,.post-profile-before-toc *,.aga-online-guide-card *,.aga-ad-sticky *)),.aga-search-actions a[href]:not(:where(.aga-profile-v299 *,.post-profile-before-toc *,.aga-online-guide-card *,.aga-ad-sticky *)){color:#00e!important;text-decoration:underline!important;text-underline-offset:.2em}
.aga-search-v284 a:focus-visible,.aga-search-v284 input:focus-visible,.aga-search-v284 select:focus-visible,.aga-search-v284 button:focus-visible,.aga-search-actions a:focus-visible{outline:3px solid #9b6500;outline-offset:3px}
.aga-search-intro{padding:24px;border:1px solid var(--aga-search-line);border-top:4px solid #18664d;border-radius:12px;background:#f1f7f3;font-size:1.05rem}
.aga-search-v284 .aga-search-breadcrumbs{font-size:.85rem;margin:0 0 20px;color:var(--aga-search-muted)}
.aga-search-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:0 10px;margin:0;padding:0;list-style:none}
.aga-search-breadcrumbs li{display:flex;max-width:100%;min-width:0;margin:0;padding:0;list-style:none}
.aga-search-breadcrumbs li+li::before{content:'\203A';flex:none;margin-right:10px;color:#63776f}
.aga-search-breadcrumbs a,.aga-search-breadcrumbs span{display:inline-block;min-height:44px;padding:10px 0;min-width:0}
.aga-search-medicine,.aga-search-query,.aga-search-picker{margin:24px 0;padding:20px;border:1px solid var(--aga-search-line);border-radius:10px;background:#fff;min-width:0}
.aga-search-v284 label,.aga-search-v284 legend{font-weight:700}
.aga-search-v284 input[type=search],.aga-search-v284 select{max-width:100%;width:min(100%,420px);min-height:46px;border:1px solid #829a8e;border-radius:6px;padding:10px;font:inherit;background:#fff;color:#243d35}
.aga-search-medicine>label,.aga-search-query>label{display:block;margin-bottom:8px}
.aga-search-query>div,.aga-search-submit{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.aga-search-v284 button{min-height:46px;border:1px solid #175c46;border-radius:6px;background:#18664d;color:#fff;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer}
.aga-search-v284 button:disabled{opacity:.6;cursor:default}
.aga-search-query a,.aga-search-submit a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
.aga-search-v284 .aga-search-hint,.aga-search-v284 .aga-search-footnote{font-size:.9rem;line-height:1.8;color:var(--aga-search-muted);margin:12px 0 0}
.aga-search-regions{display:grid;gap:24px;margin:28px 0}
.aga-search-region,.aga-search-zones{padding:24px;border:1px solid var(--aga-search-line);border-radius:12px;background:#fff;min-width:0}
.aga-search-v284 h2{font-size:1.25rem;line-height:1.65;color:var(--aga-search-ink);margin:0 0 16px;padding:0;border:0;background:transparent;box-shadow:none}
.aga-search-region-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.aga-search-region-heading h2{margin:0}
.aga-search-region-heading nav{display:flex;flex-wrap:wrap;gap:8px 16px}
.aga-search-region-heading a{display:inline-flex;align-items:center;min-height:44px}
.aga-search-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.aga-search-grid>li{min-width:0;margin:0;padding:0;list-style:none}
.aga-search-choice{display:flex;flex-direction:column;justify-content:center;gap:4px;height:100%;min-height:64px;border:1px solid var(--aga-search-line);border-radius:7px;padding:12px;background:#f8faf8;line-height:1.6}
.aga-search-choice-name{font-weight:700}.aga-search-count{font-size:.8rem;color:#53675f}
.aga-search-v284 .is-unavailable{background:#f3f4f3;color:#5e6d64;border-color:#dfe4e0}
.aga-search-v284 .aga-search-empty{margin:16px 0;padding:18px;border:1px solid var(--aga-search-line);background:#f8faf8;border-radius:8px}
.aga-search-pagination,.aga-search-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.aga-search-pagination a,.aga-search-actions a,.aga-search-pagination>span.is-current,.aga-search-actions>span.is-current{display:inline-flex;align-items:center;min-height:44px;border:1px solid #bdcfc3;border-radius:6px;padding:8px 14px;background:#f5f8f5;font-size:.94rem}.aga-search-actions .is-current{font-weight:700;background:#e5f1e8}
.aga-search-v284 .agaclinic-db-private-preview{margin:20px 0;padding:16px;border:1px solid #dfd4b3;border-radius:8px;background:#fcfaf3}.aga-search-v284 .agaclinic-db-private-preview a{display:inline-block;min-height:44px;padding:8px}
@media(max-width:800px){.aga-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aga-search-region{padding:20px}}
@media(max-width:480px){.agaclinic-db-public-page.aga-search-v284{padding:0 14px;margin:20px auto}.aga-search-medicine,.aga-search-query,.aga-search-picker,.aga-search-region,.aga-search-zones{padding:16px 12px}.aga-search-intro{padding:20px 16px}.aga-search-grid{gap:8px}.aga-search-choice{padding:10px;font-size:.92rem}}

.aga-seo-map-scope{padding:14px 18px;background:#f1f7f3;border:1px solid #d5e3dc;border-radius:8px}

/* v285 map sections use the shared, pinned Leaflet runtime. */
.aga-search-prefectures,.aga-search-prefecture-group{margin:24px 0;min-width:0}.aga-search-prefecture-group+.aga-search-prefecture-group{padding-top:24px;border-top:1px solid #d5e3dc}.aga-search-v284 .aga-search-prefecture-group>h3{margin:0 0 12px;padding:0;border:0;background:none;box-shadow:none;font-size:1.2rem;line-height:1.7}
.aga-search-map{grid-column:1/-1;min-width:0;width:100%;margin:12px 0 22px;padding:16px;border:1px solid #c9ded1;border-radius:10px;background:#fff}.aga-search-v284 .aga-search-map h4{margin:0 0 8px;padding:0;border:0;background:none;box-shadow:none;font-size:1rem;line-height:1.7}.aga-search-map-caption,.aga-search-map-counts,.aga-search-map-status{margin:8px 0;font-size:.88rem;line-height:1.7}.aga-search-map-frame{height:360px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #d5e3dc;border-radius:8px;background:#edf1f2}.aga-search-map-canvas{height:100%;width:100%;z-index:0}.aga-search-map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;background:#edf1f2}.aga-search-map-placeholder[hidden],.aga-search-map-canvas[hidden],.aga-search-map-links[hidden]{display:none}.aga-search-map-placeholder.is-map-warning{inset:auto 8px 8px;padding:8px;background:rgba(255,255,255,.94);pointer-events:none;font-size:.8rem}.aga-search-map-load[hidden]{display:none}.aga-search-map-links{margin-top:12px}.aga-search-map-links>summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:700}.aga-search-map-links ul{max-height:300px;overflow:auto;margin:0;padding:0;list-style:none}.aga-search-map-links li{padding:0;margin:0;list-style:none}.aga-search-map-links a{display:block;min-height:44px;padding:10px 6px}@media(max-width:480px){.aga-search-map{padding:12px}.aga-search-map-frame{height:320px}.aga-search-map-placeholder{padding:14px}}
.aga-search-map.is-empty-clinics .aga-search-map-placeholder>.aga-search-map-status{width:100%;margin:0;padding:0;text-align:center;overflow-wrap:anywhere}

.aga-search-v284 .aga-search-map h4::before,.aga-search-v284 .aga-search-map h4::after{display:none;content:none}

.aga-search-map-omissions{margin:8px 0;font-size:.88rem;line-height:1.7;color:#76551c}.aga-search-map-omissions[hidden]{display:none}


/* v286: linked route sections and registered decorative assets. */
.aga-search-company{margin:28px 0;padding:22px;border:1px solid var(--aga-search-line);border-radius:12px;min-width:0}
.aga-search-v284 .aga-search-company>h3{margin:0 0 12px;padding:0;border:0;background:none;box-shadow:none;font-size:1.2rem;line-height:1.7}
.aga-search-line{min-width:0;padding-top:20px;margin-top:24px;border-top:1px solid var(--aga-search-line)}
.aga-search-v284 .aga-search-line-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:0;border:0;background:none;box-shadow:none;font-size:1.08rem;line-height:1.7}
.aga-search-v284 .aga-search-line-title::before,.aga-search-v284 .aga-search-line-title::after{content:none;display:none}
.aga-search-line-title a{display:inline-block;min-height:44px;padding:8px 0}.aga-search-line-count{margin:8px 0;font-size:.9rem}
.aga-search-v284 .aga-ui-icon,.aga-search-actions .aga-ui-icon{display:inline-block;flex:none;width:1.15em;height:1.15em;min-width:0;max-width:none;margin:0 .4em 0 0;vertical-align:-.15em;object-fit:contain;border:0;box-shadow:none;background:none;padding:0}
.aga-search-v284 button .aga-ui-icon{filter:brightness(0) invert(1)}
.aga-search-v284 .aga-search-medicine-controls{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;min-width:0}
.aga-search-v284 .aga-search-medicine-controls select{min-height:48px;margin:0;line-height:1.5}
.aga-search-v284 .aga-search-medicine-controls button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;line-height:1.5}
.aga-search-v284 .aga-search-medicine-controls button .aga-ui-icon{margin-right:.45em}
.aga-search-map-spinner[hidden]{display:none}.aga-search-map-spinner:not([hidden]) .aga-ui-icon{animation:aga-search-spin 1s linear infinite}
@keyframes aga-search-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.aga-search-map-spinner:not([hidden]) .aga-ui-icon{animation:none}}
@media(max-width:480px){.aga-search-company{padding:16px 12px}.aga-search-medicine-controls select,.aga-search-medicine-controls button{width:100%}.aga-search-line{margin-top:18px}}
/* Reset theme pseudo-element geometry and align each separator to its text item. */
.aga-search-v284 .aga-search-breadcrumbs ol{align-items:center}
.aga-search-v284 .aga-search-breadcrumbs li{align-items:center}
.aga-search-v284 .aga-search-breadcrumbs li+li::before{content:'\203A';position:static;display:flex;align-items:center;justify-content:center;align-self:center;flex:0 0 auto;inset:auto;width:auto;height:1em;min-height:0;margin:0 10px 0 0;padding:0;border:0;background:none;transform:none;font:inherit;line-height:1;color:#63776f}
.aga-search-v284 .aga-search-breadcrumbs li:first-child::before{content:none;display:none}
.aga-search-v284 .aga-search-breadcrumbs a,.aga-search-v284 .aga-search-breadcrumbs [aria-current=page]{display:inline-block;min-height:44px;padding:10px 0;line-height:1.75}

/* v288: HTML fragment navigation; meaningful content remains in the initial document. */
.aga-search-v284 [id^="aga-search-"]{scroll-margin-top:calc(var(--aga-search-header-offset,0px) + 8px)}
.aga-search-v284 .aga-search-jump-nav{margin:24px 0;padding:20px;border:1px solid var(--aga-search-line);border-radius:10px;background:#f5f8f5;min-width:0}
.aga-search-v284 .aga-search-jump-title{margin:0 0 10px;font-size:1rem;font-weight:700}
.aga-search-v284 .aga-search-jump-list,.aga-search-v284 .aga-search-jump-companies,.aga-search-v284 .aga-search-jump-company ul{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;list-style:none}
.aga-search-v284 .aga-search-jump-nav > ul > li{min-width:0;margin:0;padding:0;list-style:none}
.aga-search-v284 .aga-search-jump-nav a[href^="#"]{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 12px;border:1px solid #bdcfc3;border-radius:6px;background:#fff;font-size:.94rem;line-height:1.6;overflow-wrap:anywhere}
.aga-search-v284 .aga-search-jump-companies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.aga-search-v284 .aga-search-jump-company{padding:12px;border:1px solid var(--aga-search-line);border-radius:8px;background:#fff}
.aga-search-v284 .aga-search-jump-company>a{font-weight:700}
.aga-search-v284 .aga-search-jump-company summary{min-height:44px;padding:10px 0;cursor:pointer;font-size:.9rem}
.aga-search-v284 .aga-search-jump-company summary:focus-visible{outline:3px solid #9b6500;outline-offset:3px}
.aga-search-v284 .aga-search-jump-company ul{padding-top:8px}
.aga-search-v284 .aga-search-map-placeholder>.aga-search-map-status{width:100%;margin:0;padding:0;text-align:center;overflow-wrap:anywhere}
@media(max-width:600px){.aga-search-v284 .aga-search-jump-companies{grid-template-columns:1fr}.aga-search-v284 .aga-search-jump-nav{padding:16px 12px}.aga-search-v284 .aga-search-jump-list{gap:8px}.aga-search-v284 .aga-search-jump-nav a[href^="#"]{padding:8px 10px}}

/* v288: initial-HTML equivalents of map content. */
.aga-search-v284 .aga-search-map-index{margin-block:2rem;scroll-margin-top:calc(var(--aga-search-header-offset,0px) + 8px)}
.aga-search-v284 .aga-search-map-index-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:.75rem 1.25rem;padding-left:1.25rem}
.aga-search-v284 .aga-search-map-index-list li{min-width:0;overflow-wrap:anywhere}
.aga-search-v284 .aga-search-map-index-meta{display:block;font-size:.875rem;line-height:1.65;margin-top:.2rem}
.aga-search-v284 .aga-search-map-index-link a{display:inline-block;padding:.4rem 0}

.aga-search-v284 .aga-search-map .leaflet-container{font-family:inherit}

.aga-search-v284 .aga-search-map .aga-map-station-pin{font-family:inherit}
.aga-search-v284 .aga-search-map .aga-map-canvas .leaflet-control-attribution{font-family:inherit!important}

/* v289: current navigation remains readable and arrows follow link text. */
.aga-search-v284 .aga-ui-icon.aga-ui-icon-trailing,.aga-search-actions .aga-ui-icon.aga-ui-icon-trailing{width:.8em;height:.8em;margin:0 0 0 .45em;vertical-align:-.08em}

/* v290: station jump search, static route choices and kana sections. */
.aga-search-v284,.aga-search-v284 *{font-feature-settings:"palt"}
.aga-search-v284 .aga-search-jump-companies{gap:20px;margin-top:24px;align-items:start}
.aga-search-v284 .aga-search-jump-company{padding:18px;min-width:0}
.aga-search-v284 .aga-search-jump-company>a{display:flex;width:100%;margin-bottom:16px}
.aga-search-v284 .aga-search-line-choices{margin:0;padding-top:16px;border-top:1px solid var(--aga-search-line)}
.aga-search-v284 .aga-search-line-choices-title{margin:0 0 12px;padding:0;font-size:.94rem;font-weight:700;line-height:1.7}
.aga-search-v284 .aga-search-line-choices ul{display:grid;grid-template-columns:1fr;gap:10px;padding:0;margin:0}
.aga-search-v284 .aga-search-line-choices a{display:flex;width:100%}
.aga-search-v284 .aga-search-station-search{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--aga-search-line)}
.aga-search-v284 .aga-search-station-search>h2{display:flex;align-items:center;gap:.2em}
.aga-search-v284 .aga-search-station-search label{display:inline;margin:0}
.aga-search-v284 .aga-search-station-search input{width:100%;max-width:600px}
.aga-search-v284 [data-aga-station-results]{display:grid;grid-template-columns:1fr;gap:10px;max-height:360px;overflow:auto;overscroll-behavior:contain;margin:12px 0 0;padding:3px;list-style:none;scroll-padding:4px}
.aga-search-v284 [data-aga-station-results][hidden]{display:none}
.aga-search-v284 [data-aga-station-results] a{display:flex;width:100%;min-height:44px}
.aga-search-v284 [data-aga-station-status]{font-size:.875rem;line-height:1.7;margin:10px 0 0;color:var(--aga-search-muted)}
.aga-search-v284 [data-aga-station-status]:empty{display:none}
.aga-search-v284 .aga-search-map-index-prefecture{margin-top:28px;padding-top:24px;border-top:1px solid var(--aga-search-line)}
.aga-search-v284 .aga-search-map-index-prefecture>h3{margin:0 0 18px;padding:0;border:0;background:none;box-shadow:none;font-size:1.15rem;line-height:1.7}
.aga-search-v284 .aga-search-map-index-kana{margin-top:20px}
.aga-search-v284 .aga-search-map-index-kana>h4{margin:0 0 12px;padding:8px 12px;border:0;border-left:4px solid #18664d;background:#f1f7f3;box-shadow:none;font-size:1rem;line-height:1.7}
.aga-search-v284 .aga-search-map-index-kana>h4::before,.aga-search-v284 .aga-search-map-index-kana>h4::after{display:none;content:none}
.aga-search-v284 .aga-search-map-index-kana>.aga-search-map-index-list{margin:0;padding:0;list-style:none}
.aga-search-v284 .aga-search-map-index-list a{display:block;min-height:44px;padding-block:10px}
@media(max-width:600px){.aga-search-v284 .aga-search-jump-company{padding:14px}.aga-search-v284 .aga-search-jump-companies{gap:16px}}

/* v291: visible station cards and clear company-to-line hierarchy. */
.aga-search-v284 .aga-search-line-search>h2{display:flex;align-items:center;gap:.2em;font-size:1.25rem;font-weight:700;line-height:1.65;margin:0 0 16px}
.aga-search-v284 .aga-search-jump-companies{grid-template-columns:1fr;gap:24px;margin-top:24px}
.aga-search-v284 .aga-search-jump-company{padding:0;border:0;border-radius:0;background:transparent}
.aga-search-v284 .aga-search-jump-company>.aga-search-jump-company-link{margin:0 0 16px;padding:12px 16px;border:0;border-left:4px solid #18664d;border-radius:0;background:#e8f1ec;font-size:1rem;font-weight:700;line-height:1.7}
.aga-search-v284 .aga-search-line-choices{margin:0 0 0 20px;padding:0 0 0 16px;border:0;border-left:2px solid #cadbd0}
.aga-search-v284 .aga-search-line-choices-title{margin:0 0 12px;font-size:.85rem;font-weight:400;color:var(--aga-search-muted)}
.aga-search-v284 .aga-search-line-choices>.aga-search-jump-lines{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.aga-search-v284 .aga-search-jump-lines a{min-width:0;padding:10px 12px;border:1px solid #d5e3dc;border-radius:6px;background:#fff;font-weight:400;font-size:.93rem;line-height:1.7}
.aga-search-v284 .aga-search-station-cards{margin:12px 0 18px}
.aga-search-v284 .aga-search-station-cards>.aga-search-station-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;max-height:none;overflow:visible;margin:0;padding:0;list-style:none}
.aga-search-v284 .aga-search-station-card-list>li{min-width:0;margin:0;padding:0;list-style:none}
.aga-search-v284 .aga-search-station-card-list .aga-search-station-card{display:block;position:relative;min-height:44px;height:100%;padding:12px;border:1px solid #d5e3dc;border-radius:7px;background:#f8faf8;font-size:.9rem;line-height:1.7;overflow-wrap:anywhere}
.aga-search-v284 .aga-search-station-name{font-weight:700}
.aga-search-v284 .aga-search-station-nearby{display:inline-block;font-size:.85em;font-weight:400;color:var(--aga-search-muted)}
.aga-search-v284 .aga-search-map>h4{margin-bottom:4px}
.aga-search-v284 .aga-search-map>h4+.aga-search-map-counts,.aga-search-v284 .aga-search-line-title+.aga-search-line-count{margin:0 0 12px;font-size:.88rem;line-height:1.7;color:var(--aga-search-muted)}
@media(max-width:600px){.aga-search-v284 .aga-search-line-choices{margin-left:10px;padding-left:12px}.aga-search-v284 .aga-search-line-choices>.aga-search-jump-lines{grid-template-columns:1fr}.aga-search-v284 .aga-search-jump-companies{gap:24px}.aga-search-v284 .aga-search-jump-company>.aga-search-jump-company-link{padding-left:12px}}
/* Keep the separator attached to its item and aligned with its first text line.
   A fixed first-line box avoids vertical centering against wrapped labels. */
.aga-search-v284 .aga-search-breadcrumbs ol{align-items:flex-start;gap:4px 10px}
.aga-search-v284 .aga-search-breadcrumbs li{align-items:flex-start;min-width:0;max-width:100%;line-height:1.75}
.aga-search-v284 .aga-search-breadcrumbs li+li::before{align-self:flex-start;display:block;width:.65em;height:auto;line-height:1.75;margin:10px 10px 0 0;padding:0;text-align:center;white-space:nowrap}
.aga-search-v284 .aga-search-breadcrumbs li>a,.aga-search-v284 .aga-search-breadcrumbs li>span{display:block;min-width:0;max-width:100%;min-height:44px;padding:10px 0;line-height:1.75;overflow-wrap:anywhere}

/* v293: zero or unconfirmed station counts do not occupy the card. */
.aga-search-v284 .aga-search-station-nearby[hidden]{display:none!important}
.aga-search-v284 .aga-search-map-frame+.aga-search-station-cards{margin-top:18px}
.aga-search-v284 .aga-search-map.aga-public-media .aga-search-station-label{font-family:inherit!important}
/* v305: station counts arrive separately; reserve their line without empty spans. */
.aga-search-v284 .aga-search-station-card-list .aga-search-station-card{position:relative;box-sizing:border-box;padding-bottom:calc(12px + 1.7em)}
.aga-search-v284 .aga-search-station-card-list .aga-search-station-nearby{position:absolute;left:12px;right:30px;bottom:12px;line-height:1.7;white-space:nowrap}

/* AGA-DESIGN:SEARCH-307
 * Main text stays 16px; secondary hints are at least 14px. Scope rules to
 * navigation/map content, leaving profile and advertiser-selected styles intact.
 * Container width, not device width, controls paired map/links (PC ads reduce it).
 * All candidate links remain in the initial HTML and usable without JavaScript.
 */
.aga-search-v284{font-size:16px;line-height:1.75}
.aga-search-v284 .aga-search-choice,.aga-search-v284 .aga-search-jump-nav a[href^="#"],.aga-search-v284 .aga-search-station-card-list .aga-search-station-card{font-size:1rem;line-height:1.65}
.aga-search-v284 .aga-search-line-choices-title,.aga-search-v284 .aga-search-hint,.aga-search-v284 .aga-search-footnote,.aga-search-v284 .aga-search-map-caption,.aga-search-v284 .aga-search-map-counts,.aga-search-v284 .aga-search-map-status,.aga-search-v284 .aga-search-map-omissions,.aga-search-v284 .aga-search-map-index-meta{font-size:max(14px,.875rem);line-height:1.75}
.aga-search-v284 .aga-search-map>.aga-search-map-title{margin:0 0 12px;padding:0;border:0;background:none;box-shadow:none;font-size:1rem;font-weight:700;line-height:1.7}
.aga-search-v284 .aga-search-map>.aga-search-map-title::before,.aga-search-v284 .aga-search-map>.aga-search-map-title::after{content:none;display:none}
.aga-search-v284 .aga-search-company-index{margin:24px 0;padding:16px;border:1px solid #bdcfc3;border-radius:8px;background:#fff}
.aga-search-v284 .aga-search-company-index-title{margin:0 0 12px;font-size:1rem;font-weight:700}
.aga-search-v284 .aga-search-company-index-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px 12px;margin:0;padding:0;list-style:none}
.aga-search-v284 .aga-search-company-index-list>li{margin:0;padding:0;list-style:none;min-width:0}
.aga-search-v284 .aga-search-company-index-list a{display:flex;width:100%;font-weight:700}
.aga-search-v284 .aga-search-jump-company>.aga-search-jump-company-link{font-size:1.0625rem;padding:12px 36px 12px 16px}
.aga-search-v284 .aga-search-line-choices{margin-left:16px;padding-left:16px}
.aga-search-v284 .aga-search-line-choices-title{font-weight:700}
.aga-search-v284 .aga-search-station-result-label{display:block;min-width:0}
.aga-search-v284 .aga-search-station-result-name{display:block;font-weight:700;font-size:1rem;line-height:1.65}
.aga-search-v284 .aga-search-station-result-meta{display:block;margin-top:4px;color:var(--aga-search-muted);font-size:max(14px,.875rem);line-height:1.65;font-weight:400}
.aga-search-v284 .aga-search-candidates-jump{margin:12px 0}
.aga-search-v284 .aga-search-candidates-jump a{position:relative;display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 34px 8px 12px;border:1px solid #bdcfc3;border-radius:6px;background:#f5f8f5;font-size:1rem;line-height:1.65}
.aga-search-v284 .aga-search-candidates-jump .aga-ui-icon-trailing,.aga-search-v284 .aga-search-company-index-list .aga-ui-icon-trailing{position:absolute;right:12px;top:50%;transform:translateY(-50%);margin:0}
.aga-search-v284 .aga-search-company-index-list a{position:relative;padding-right:34px}
.aga-search-map-choice-layout{container-type:inline-size;min-width:0}
.aga-search-map-choice-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.aga-search-map-choice-columns>.aga-search-map{margin:0;grid-column:auto}
.aga-search-area-choices{min-width:0;scroll-margin-top:calc(var(--aga-search-header-offset,0px) + 8px)}
.aga-search-map{container-type:inline-size}
.aga-search-map-content{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.aga-search-map-visual{min-width:0}
.aga-search-v284 .aga-search-map-content>.aga-search-station-cards{margin:0}
.aga-search-map-links[id]{scroll-margin-top:calc(var(--aga-search-header-offset,0px) + 8px)}
@container(min-width:760px){
 .aga-search-candidates-jump{display:none}
 .aga-search-map-choice-columns{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px}
 .aga-search-area-choices>.aga-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .aga-search-map-content:has(>.aga-search-station-cards[data-ssr-candidates]){grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px}
 .aga-search-map-content>.aga-search-station-cards>.aga-search-station-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .aga-search-v284 .aga-search-region,.aga-search-v284 .aga-search-zones,.aga-search-v284 .aga-search-company{padding:16px 8px}
 .aga-search-v284 .aga-search-map{padding:12px 8px}
 .aga-search-v284 .aga-search-jump-nav{padding:16px 12px}
 .aga-search-v284 .aga-search-company-index{padding:12px}
 .aga-search-v284 .aga-search-line-choices{margin-left:8px;padding-left:10px}
 .aga-search-v284 .aga-search-line-choices>.aga-search-jump-lines{grid-template-columns:1fr;gap:12px}
 .aga-search-v284 .aga-search-line{margin-top:24px;padding-top:24px}
 .aga-search-v284 .aga-search-region-heading{gap:16px;margin-bottom:16px}
 .aga-search-v284 .aga-search-map-choice-columns{gap:16px}
}

/* AGA-DESIGN v308: match compact comparison/detail breadcrumbs on mobile.
 * Direct children only: icon spans are not independent breadcrumb rows. */
@media(max-width:800px){
 :is(.aga-search-v284,.aga-page-breadcrumbs) .aga-search-breadcrumbs{margin-bottom:16px;line-height:1.65}
 :is(.aga-search-v284,.aga-page-breadcrumbs) .aga-search-breadcrumbs ol{align-items:flex-start;gap:2px 8px}
 :is(.aga-search-v284,.aga-page-breadcrumbs) .aga-search-breadcrumbs li{align-items:flex-start;line-height:1.65}
 :is(.aga-search-v284,.aga-page-breadcrumbs) .aga-search-breadcrumbs li+li::before{align-self:flex-start;display:block;width:.65em;height:auto;line-height:1.65;margin:3px 8px 0 0;padding:0;white-space:nowrap}
 :is(.aga-search-v284,.aga-page-breadcrumbs) .aga-search-breadcrumbs li>a,:is(.aga-search-v284,.aga-page-breadcrumbs) .aga-search-breadcrumbs li>span{min-height:28px;padding:3px 0;line-height:1.65}
}

/* AGA-DESIGN:ROUTE-ACTIONS | v314
 * These are destination links (area/train selection), not display-mode tabs.
 * The two choices share one visual rule; use a vertical stack when the content
 * width cannot hold two useful touch targets. Cross-region lines keep their
 * region label with its own pair. Do not apply these rules to advertisement
 * buttons, pagination, or profile links. Trailing SVGs retain public-icons.css
 * ownership and the reserved right-hand space.
 */
.aga-search-actions.aga-search-route-actions-v314{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin:24px 0;min-width:0;max-width:100%}
.aga-search-route-actions-v314>:is(a,span.is-current),.aga-search-route-actions-v314 .aga-search-route-links-v314>:is(a,span.is-current){display:flex;flex:0 1 auto;align-items:center;min-width:0;max-width:100%;min-height:48px;padding:10px 36px 10px 14px;border:1px solid #bdcfc3;border-radius:8px;background:#f5f8f5;font-size:16px;font-weight:600;line-height:1.6;overflow-wrap:anywhere;box-sizing:border-box}
.aga-search-route-actions-v314>a:hover,.aga-search-route-actions-v314 .aga-search-route-links-v314>a:hover{background:#edf4ef;border-color:#8daf9d;text-decoration:none!important}
.aga-search-route-actions-v314 span.is-current{color:#243d35;background:#e5f1e8;font-weight:700}
.aga-search-route-actions-v314 .aga-search-route-group-v314{display:flex;flex:1 1 100%;flex-wrap:wrap;align-items:center;gap:10px 16px;min-width:0;margin:0;padding:0}
.aga-search-route-actions-v314 .aga-search-route-region-v314{flex:0 1 7em;min-width:0;color:#243d35;font-size:16px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.aga-search-route-actions-v314 .aga-search-route-links-v314{display:flex;flex:1 1 340px;flex-wrap:wrap;align-items:stretch;gap:12px;min-width:0;max-width:100%}
@media(max-width:480px){
 .aga-search-actions.aga-search-route-actions-v314{gap:10px;margin:20px 0}
 .aga-search-route-actions-v314>:is(a,span.is-current),.aga-search-route-actions-v314 .aga-search-route-links-v314>:is(a,span.is-current){flex-basis:100%;width:100%}
 .aga-search-route-actions-v314 .aga-search-route-group-v314{gap:8px}
 .aga-search-route-actions-v314 .aga-search-route-region-v314{flex-basis:100%}
 .aga-search-route-actions-v314 .aga-search-route-links-v314{flex-basis:100%;gap:10px}
 .aga-search-route-actions-v314 .aga-search-route-group-v314+.aga-search-route-group-v314{margin-top:8px}
}

/* AGA-DESIGN v316: scope controls may contain national, region, prefecture and
 * parent municipality. Wrap by available width; never compress long Japanese
 * labels into a forced single row or style advertisement/profile links. */
.aga-search-hierarchy-v316>a,.aga-search-hierarchy-v316 .aga-search-route-links-v314>a{flex:1 1 12em}
@media(max-width:480px){
 .aga-search-hierarchy-v316>a,.aga-search-hierarchy-v316 .aga-search-route-links-v314>a{flex-basis:100%}
}

/* AGA-DESIGN:MAP-STATUS-SPACE | v329
 * Reserve count/feedback lines in the initial stylesheet, before map JavaScript
 * starts. Moving the live status between the fixed map and its home must not
 * move following anchors. Long warnings remain readable via scrolling rather
 * than being clipped; font-relative space also follows enlarged text.
 */
.aga-search-v284 .aga-search-map>.aga-search-map-counts{box-sizing:content-box;block-size:3.5em;min-block-size:3.5em;overflow:auto;margin-block:0 12px}
.aga-search-v284 .aga-search-map.aga-public-media .aga-search-map-feedback{display:block;box-sizing:content-box;block-size:5.25em;min-block-size:5.25em;padding-block:8px;overflow:auto;font-size:max(14px,.875rem);line-height:1.75;overflow-wrap:anywhere}
.aga-search-v284 .aga-search-map.aga-public-media .aga-search-map-status-home>.aga-search-map-status,.aga-search-v284 .aga-search-map.aga-public-media .aga-search-map-feedback>.aga-search-map-omissions{margin:0;padding:0;font-size:inherit;line-height:inherit}
.aga-search-v284 .aga-search-map.aga-public-media .aga-search-map-status-home{min-height:0}
.aga-search-v284 .aga-search-map.aga-public-media.has-map-omissions .aga-search-map-status-home{display:none}

/* AGA-DESIGN:ANCHOR-OFFSET | v330: normal anchors use a small 8px gap.
 * The exclusive JS owner measures actual fixed/sticky overlays; do not restore
 * a guessed 96/100/200px header here. Explicit host offsets remain opt-in for
 * native anchors if JavaScript is unavailable. */

/* Route connection groups stay full-width, outside the station-card columns. */
.aga-search-v284 .aga-search-station-card-list > .aga-search-station-order-label{grid-column:1 / -1;font-weight:700;padding:8px 0 2px;list-style:none}

/* AGA-DESIGN v331: separate map task from the major-area hierarchy in the TOC.
 * The 28px group space is constant across desktop/mobile. Native nested lists
 * retain prefecture links in initial HTML and keep a 44px minimum tap target. */
.aga-search-v284 .aga-search-jump-area-groups{min-width:0}
.aga-search-v284 .aga-search-jump-area-groups>.aga-search-jump-area-group{margin-top:28px}
.aga-search-v284 .aga-search-jump-area-group>li{width:100%;min-width:0;margin:0;padding:0;list-style:none}
.aga-search-v284 .aga-search-jump-area-group>li>a{font-weight:400}
.aga-search-v284 :is(.aga-search-jump-prefectures,.aga-search-jump-regions){display:flex;flex-wrap:wrap;gap:8px 12px;margin:12px 0 0;padding:0 0 0 16px;border-left:2px solid #bdcfc3;list-style:none;min-width:0}
.aga-search-v284 :is(.aga-search-jump-prefectures,.aga-search-jump-regions)>li{min-width:0;margin:0;padding:0;list-style:none}
@media(max-width:600px){.aga-search-v284 :is(.aga-search-jump-prefectures,.aga-search-jump-regions){gap:8px;padding-left:12px}}

/* AGA-DESIGN:FULL-LINE-REGIONS | Region changes supplement verified connection segments. */
.aga-search-v284 .aga-search-station-card-list > .aga-search-station-region-label{padding:12px 0 4px;color:#484a4e;border-top:1px solid #d9dde2;margin-top:8px}

/* AGA-DESIGN:ROUTE-PRESENTATION | v333
 * Prepared connection groups remain visible before and after map hydration.
 * Shared junction cards are intentional display repeats, not additional map
 * stations. Separate the endpoint heading, shared-station notice and regional
 * link/supplement. Registered icons are decorative and keep a visible gap.
 * Applies to both search hubs and individual route pages; no new accordion.
 */
.aga-search-v284 [data-route-presentation="333"]>.aga-search-station-card-list{display:block;grid-template-columns:none;max-height:none;overflow:visible}
[data-route-presentation="333"] .aga-route-group{display:block;min-width:0;margin:0;padding:0;list-style:none}
[data-route-presentation="333"] .aga-route-group+.aga-route-group,.aga-search-v284 [data-route-presentation="333"]>.aga-search-station-card-list>.aga-route-group+.aga-route-group{margin-top:28px;padding-top:22px;border-top:1px solid #d9dde2}
[data-route-presentation="333"] .aga-route-group-title{display:block;margin:0 0 12px;padding:0;border:0;background:none;box-shadow:none;color:#243d35;font-size:1rem;font-weight:700;line-height:1.7;overflow-wrap:anywhere}
[data-route-presentation="333"] .aga-route-group-title>.aga-ui-icon{display:inline-block;position:static;width:20px;height:20px;margin:0 8px 0 0;vertical-align:-3px;flex-shrink:0}
[data-route-presentation="333"] .aga-route-shared,[data-route-presentation="333"] .aga-route-note{margin:8px 0 14px;padding:0;color:#484a4e;font-size:.875rem;font-weight:400;line-height:1.75;overflow-wrap:anywhere}
[data-route-presentation="333"] .aga-route-shared>.aga-ui-icon,[data-route-presentation="333"] .aga-route-note>.aga-ui-icon{display:inline-block;position:static;width:18px;height:18px;margin:0 8px 0 0;vertical-align:-3px}
.aga-search-v284 [data-route-presentation="333"] .aga-route-station-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;max-height:none;overflow:visible;margin:0;padding:0;list-style:none}
[data-route-presentation="333"] .aga-route-station-list>li{min-width:0;margin:0;padding:0;list-style:none}
[data-route-presentation="333"] .aga-route-station-list>.aga-route-region{grid-column:1 / -1;margin:12px 0 2px;padding:12px 0 0;border-top:1px solid #d9dde2}
[data-route-presentation="333"] .aga-route-station-list>.aga-route-region:first-child{margin-top:0;padding-top:0;border-top:0}
[data-route-presentation="333"] .aga-route-region-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;min-width:0;color:#484a4e;font-size:1rem;font-weight:700;line-height:1.7;overflow-wrap:anywhere}
[data-route-presentation="333"] .aga-route-region-title>.aga-ui-icon{display:block;position:static;width:20px;height:20px;margin:0;flex:0 0 20px}
[data-route-presentation="333"] .aga-route-region-title .aga-route-region-link{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;min-height:44px;padding:6px 0;box-sizing:border-box;text-decoration:underline;text-underline-offset:.15em;overflow-wrap:anywhere}
[data-route-presentation="333"] .aga-route-region-link>.aga-ui-icon{display:block;position:static;width:16px;height:16px;margin:0;flex:0 0 16px;transform:none}
[data-route-presentation="333"] .aga-route-region-link:focus-visible{outline:2px solid #18664d;outline-offset:4px;border-radius:2px}
[data-route-presentation="333"] .aga-route-region-note{display:flex;align-items:flex-start;gap:8px;margin:2px 0 12px;padding:0;color:#484a4e;font-size:.875rem;font-weight:400;line-height:1.75;overflow-wrap:anywhere}
[data-route-presentation="333"] .aga-route-region-note>.aga-ui-icon{display:block;position:static;width:18px;height:18px;margin:3px 0 0;flex:0 0 18px}
@media(min-width:900px){.aga-search-map-content>[data-route-presentation="333"] .aga-route-station-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){[data-route-presentation="333"] .aga-route-group+.aga-route-group,.aga-search-v284 [data-route-presentation="333"]>.aga-search-station-card-list>.aga-route-group+.aga-route-group{margin-top:24px;padding-top:18px}}
/* Existing public-icons rules position arrows absolutely on station cards.
 * Region links are inline text, so reset only their own arrow and spacing. */
[data-route-presentation="333"] .aga-route-region-title .aga-route-region-link:has(>img.aga-ui-icon-trailing){display:inline-flex;padding-right:0!important}
[data-route-presentation="333"] .aga-route-region-title .aga-route-region-link>img.aga-ui-icon-trailing{position:static!important;inset:auto!important;width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;transform:none!important;flex:0 0 16px}
[data-route-presentation="333"] .aga-route-region-title>img.aga-ui-icon,[data-route-presentation="333"] .aga-route-region-note>img.aga-ui-icon{margin-right:0!important}
/* A regional heading is not a numbered station: no station rail/indent. */
.aga-seo-train-navigation[data-route-presentation="333"] ol.aga-seo-train-stations>li.aga-route-region{min-height:0;margin:10px 0;padding:8px 0;list-style:none}
.aga-seo-train-navigation[data-route-presentation="333"] ol.aga-seo-train-stations>li.aga-route-region:first-child{margin-top:0;padding-top:0}
.aga-seo-train-navigation[data-route-presentation="333"] ol.aga-seo-train-stations>li.aga-route-region::after{content:none}
.aga-seo-train-navigation[data-route-presentation="333"] ol.aga-seo-train-stations>li:has(+.aga-route-region)::after{bottom:0}

/* AGA-DESIGN:PREPARED-ROUTE-DIAGRAM | v334
 * Prepared lanes/rows, never measured during scroll. The rail color belongs
 * only to the route; blue/gray map pins retain clinical-presence semantics.
 * Each number is local to its route and shared by the list and route map.
 * One/two lanes use available width; larger graphs scroll inside this diagram.
 * Keep text readable and station/accordion targets at least 44px high.
 */
[data-route-presentation="334"]{min-width:0;max-width:100%}
.aga-search-v284 .aga-search-map-content:has(>[data-route-presentation="334"]){grid-template-columns:minmax(0,1fr)}
.aga-search-v284 [data-route-presentation="334"]>.aga-search-station-card-list{display:block;max-height:none;overflow:visible;margin:0;padding:0;list-style:none}
[data-route-presentation="334"] .aga-route-diagram{box-sizing:border-box;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 2px 8px;scrollbar-width:thin}
[data-route-presentation="334"] .aga-route-diagram:focus-visible{outline:2px solid #18664d;outline-offset:2px}
[data-route-presentation="334"] .aga-route-diagram-grid{display:grid;position:relative;isolation:isolate;grid-template-columns:var(--aga-route-columns,repeat(var(--aga-route-lanes,1),minmax(0,1fr)));gap:0;min-width:calc(var(--aga-route-lanes,1)*144px);align-items:start;margin:0;padding:0;list-style:none}
[data-route-presentation="334"] [data-route-lanes="1"] .aga-route-diagram-grid,[data-route-presentation="334"] [data-route-lanes="2"] .aga-route-diagram-grid,[data-route-presentation="334"] .aga-route-diagram-grid[data-route-lanes="1"],[data-route-presentation="334"] .aga-route-diagram-grid[data-route-lanes="2"]{min-width:0}
[data-route-presentation="334"] .aga-route-diagram-node{position:relative;z-index:2;min-width:0;align-self:start;box-sizing:border-box;margin:0;padding:0 8px 16px 0;list-style:none}
[data-route-presentation="334"] .aga-route-diagram-node:last-child{margin:0}
[data-route-presentation="334"] .aga-route-station-card,.aga-search-v284 [data-route-presentation="334"] .aga-search-station-card-list .aga-search-station-card,[data-route-presentation="334"] .aga-route-diagram-node .aga-search-station-card{display:grid;position:relative;grid-template-columns:28px minmax(0,1fr) 12px;column-gap:6px;align-items:start;box-sizing:border-box;min-height:44px;height:auto;margin:0;padding:7px!important;border:1px solid #d5ddd8;border-radius:6px;background:#fff;color:#174f3c;font-size:15px;line-height:1.45;text-decoration:none;overflow-wrap:anywhere;box-shadow:none}
[data-route-presentation="334"] a.aga-route-station-card:hover,[data-route-presentation="334"] a.aga-search-station-card:hover{background:#f3f7f4;border-color:#839e8b}
[data-route-presentation="334"] a.aga-route-station-card:focus-visible,[data-route-presentation="334"] a.aga-search-station-card:focus-visible{outline:2px solid #18664d;outline-offset:2px}
[data-route-presentation="334"] .aga-route-number{display:inline-flex;grid-column:1;grid-row:1 / span 3;align-items:center;justify-content:center;box-sizing:border-box;width:28px;height:28px;min-width:28px;margin:0;border:1px solid #cbd4cf;border-radius:50%;background:#fff;color:#334b40;font:700 12px/1 sans-serif;text-align:center}
[data-route-presentation="334"] .aga-route-station-label{display:block;grid-column:2;grid-row:1;min-width:0;margin:0;padding:0}
[data-route-presentation="334"] .aga-search-station-name,[data-route-presentation="334"] .aga-route-station-name{display:block;grid-column:2;grid-row:1;margin:0;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
[data-route-presentation="334"] .aga-route-reading{display:block;grid-column:2;grid-row:2;margin:3px 0 0;color:#555e59;font-size:12px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
[data-route-presentation="334"] .aga-route-station-card .aga-search-station-nearby,.aga-search-v284 [data-route-presentation="334"] .aga-search-station-card-list .aga-search-station-nearby{display:block;position:static;grid-column:2;grid-row:3;align-self:start;margin:4px 0 0;color:#46564c;font-size:12px;font-weight:400;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
[data-route-presentation="334"] .aga-search-station-nearby[hidden]{display:none!important}
[data-route-presentation="334"] .aga-route-diagram-node .aga-route-station-card>.aga-ui-icon-trailing{display:block!important;position:static!important;grid-column:3;grid-row:1 / span 3;align-self:center;inset:auto!important;width:12px!important;height:12px!important;min-width:12px!important;max-width:12px!important;margin:0!important;transform:none!important}
[data-route-presentation="334"] .aga-route-diagram-node .aga-seo-current-page-badge{display:block;width:max-content;max-width:100%;margin:0 0 4px;font-size:11px}
[data-route-presentation="334"] .aga-route-region{position:relative;z-index:2;min-width:0;margin:0;padding:4px 8px 12px 0;list-style:none}
[data-route-presentation="334"] .aga-route-region-title{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;color:#484a4e;font-size:14px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
[data-route-presentation="334"] .aga-route-region-title>.aga-ui-icon,[data-route-presentation="334"] .aga-route-region-note>.aga-ui-icon{position:static!important;width:16px!important;height:16px!important;flex:0 0 16px;margin:0!important}
[data-route-presentation="334"] .aga-route-region-title .aga-route-region-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;max-width:100%;box-sizing:border-box;padding:4px 0!important;text-decoration:underline;text-underline-offset:.15em}
[data-route-presentation="334"] .aga-route-region-link>.aga-ui-icon-trailing{position:static!important;inset:auto!important;width:12px!important;height:12px!important;min-width:12px!important;margin:0!important;transform:none!important;flex:0 0 12px}
[data-route-presentation="334"] .aga-route-region-note{display:flex;align-items:flex-start;gap:6px;margin:2px 0 0;padding:0;color:#555e59;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
[data-route-presentation="334"] .aga-route-region-note>.aga-ui-icon{margin-top:2px!important}
[data-route-presentation="334"] .aga-route-diagram-node details{min-width:0;margin:6px 0 0}
[data-route-presentation="334"] .aga-route-diagram-node summary{box-sizing:border-box;min-height:44px;overflow-wrap:anywhere}
[data-route-presentation="334"] .aga-route-group-title{margin:20px 0 12px;color:#243d35;font-size:1rem;font-weight:700;line-height:1.7;overflow-wrap:anywhere}
[data-route-presentation="334"] .aga-route-group-title>.aga-ui-icon{position:static;display:inline-block;width:20px;height:20px;margin:0 8px 0 0;vertical-align:-3px}
[data-route-presentation="334"] .aga-route-note,[data-route-presentation="334"] .aga-route-shared{margin:8px 0 14px;color:#484a4e;font-size:.875rem;line-height:1.7;overflow-wrap:anywhere}

[data-route-presentation="334"] .aga-route-diagram-region{position:relative;z-index:2;min-width:0;margin:0;padding:0 8px 0 0}
[data-route-presentation="334"] .aga-route-edge-h,[data-route-presentation="334"] .aga-route-edge-v{position:relative;z-index:0;box-sizing:border-box;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:2px;background:var(--aga-route-color,#6b7280);box-shadow:0 0 0 1px rgb(46 55 50 / 35%);pointer-events:none}
[data-route-presentation="334"] .aga-route-edge-h{height:4px;align-self:start;margin-top:20px;transform:translateX(22px)}
[data-route-presentation="334"] .aga-route-edge-v{width:4px;justify-self:start;align-self:stretch;margin-left:20px;transform:translateY(22px)}
[data-route-presentation="334"] .aga-route-number-note{margin:0 0 12px;color:#555e59;font-size:.8125rem;line-height:1.7;overflow-wrap:anywhere}
[data-route-presentation="334"] .aga-route-diagram-component+.aga-route-diagram-component,[data-route-presentation="334"] .aga-route-diagram-unknown{margin-top:24px;padding-top:18px;border-top:1px solid #d9dde2}
[data-route-presentation="334"] .aga-route-unconnected-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:0;padding:0;list-style:none}
[data-route-presentation="334"] .aga-route-unconnected-list>li{min-width:0;margin:0;padding:0;list-style:none}
[data-route-presentation="334"] .aga-route-unconnected-list .aga-route-station-card>.aga-ui-icon-trailing{display:block!important;position:static!important;grid-column:3;grid-row:1 / span 3;align-self:center;inset:auto!important;width:12px!important;height:12px!important;min-width:12px!important;margin:0!important;transform:none!important}
@media(prefers-reduced-motion:reduce){[data-route-presentation="334"] .aga-route-diagram{scroll-behavior:auto}}
/* Registered img icons trigger older inline-link rules; keep these cards grid. */
[data-route-presentation="334"] .aga-route-unconnected-list .aga-route-station-card{display:grid}
[data-route-presentation="334"] .aga-route-unconnected-list>.aga-route-region{grid-column:1 / -1}
[data-route-presentation="334"] .aga-route-region-title{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center}
[data-route-presentation="334"] .aga-route-region-title>span{min-width:0}
[data-route-presentation="334"] .aga-route-region-title:not(:has(>.aga-ui-icon)){grid-template-columns:minmax(0,1fr)}
/* A pure ring has one station lane and one return rail, not a half-empty card lane. */
[data-route-presentation="334"] .aga-route-diagram[data-route-kind="cycle"][data-route-return-lane="1"]>.aga-route-diagram-grid{grid-template-columns:var(--aga-route-columns,minmax(0,1fr) 28px);min-width:0}
/* Region annotations interrupt the decorative rail: never draw through text. */
[data-route-presentation="334"] .aga-route-diagram-region{background:var(--aga-route-surface,#fff)}
/* v355: a confirmed incoming rail continues below the regional heading's
 * opaque background. Expose 14px before the first station without moving its
 * number relative to the card or drawing an inferred connection. */
[data-route-presentation="334"] .aga-route-diagram-grid:has(>.aga-route-region-frame)>.aga-route-diagram-region.aga-route-region-continued-above{margin-bottom:14px}
.aga-seo-train-navigation[data-route-presentation="334"]{--aga-route-surface:#f8fbfd}
@media(forced-colors:active){
 [data-route-presentation="334"] .aga-route-region-title{grid-template-columns:minmax(0,1fr)}
 [data-route-presentation="334"] .aga-route-edge-h,[data-route-presentation="334"] .aga-route-edge-v{forced-color-adjust:none;background:CanvasText;box-shadow:none}
 [data-route-presentation="334"] .aga-route-number{border-color:CanvasText}
}

/* AGA-DESIGN:STATION-GROUP v335
 * The station and its own closed transfer panel form one group. Keep the
 * prepared rail at x=22px, outside the group, and its number on that rail.
 * Shared link rules underline names only: numbers/readings/counts are not
 * separate destinations. Never apply station-grid arrows to nested links.
 * Branch lanes reserve 220px each and scroll locally instead of crushing
 * names/disclosures. A cycle return lane has no stations and stays narrow.
 */
[data-route-presentation="334"] .aga-route-station-group{position:relative;min-width:0;margin-left:42px;border:1px solid #d5ddd8;border-radius:6px;background:#fff}
[data-route-presentation="334"] .aga-route-station-group>.aga-route-station-card{grid-template-columns:minmax(0,1fr) 12px;min-width:0;border:0;border-radius:5px;padding:7px!important;overflow:visible}
[data-route-presentation="334"] .aga-route-station-group .aga-route-number{position:absolute;left:-35px;top:7px;grid-column:auto;grid-row:auto;background:#fff}
[data-route-presentation="334"] .aga-route-station-group>.aga-route-station-card>.aga-search-station-name,
[data-route-presentation="334"] .aga-route-station-group>.aga-route-station-card>.aga-route-reading,
[data-route-presentation="334"] .aga-route-station-group>.aga-route-station-card>.aga-search-station-nearby{grid-column:1}
[data-route-presentation="334"] .aga-route-station-group>.aga-route-station-card>.aga-ui-icon-trailing{grid-column:2}
:is(.aga-search-v284,.aga-seo-page,.aga-public-media) [data-route-presentation="334"] .aga-route-station-group>a.aga-route-station-card[href],
:is(.aga-search-v284,.aga-seo-page,.aga-public-media) [data-route-presentation="334"] .aga-route-station-group>a.aga-route-station-card[href]:hover{ text-decoration:none!important }
:is(.aga-search-v284,.aga-seo-page,.aga-public-media) [data-route-presentation="334"] a.aga-route-station-card[href]>.aga-search-station-name{text-decoration:underline;text-underline-offset:.2em}
:is(.aga-search-v284,.aga-seo-page,.aga-public-media) [data-route-presentation="334"] a.aga-route-station-card[href]>:is(.aga-route-number,.aga-route-reading,.aga-search-station-nearby){text-decoration:none!important}
[data-route-presentation="334"] .aga-route-station-group>.aga-route-station-transfer{margin:0!important;border:0!important;border-top:1px solid #e0e7e5!important;border-radius:0 0 5px 5px;background:#f7fafb}
/* v360: full saved station lanes retain 220px; rail-only lanes use 32px.
 * A one-station-lane loop uses the remaining width. Older cached HTML retains
 * its prior fallback until refreshed; no client-side measuring is required. */
[data-route-presentation="334"] .aga-route-diagram:not([data-route-lanes="1"]):not([data-route-return-lane="1"])>.aga-route-diagram-grid{min-width:var(--aga-route-min-width,calc(var(--aga-route-lanes,1)*220px))}
[data-route-presentation="334"] .aga-route-region-title>span{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;row-gap:2px}
[data-route-presentation="333"] .aga-route-region-title>span{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;row-gap:2px}

/* AGA-DESIGN:COMPANY-ROUTE-PICKER v335
 * One closed route picker per company; search only already-rendered choices.
 * Visible labels, a 16px input and 44px links remain usable on touch devices.
 * A company overview map has no duplicated station list alongside it.
 */
.aga-search-v284 .aga-company-route-picker{min-width:0;margin:12px 0 20px;border:1px solid #d5e3dc;border-radius:7px;background:#f7faf8}
.aga-search-v284 .aga-company-route-picker-body{padding:12px;min-width:0}
.aga-search-v284 .aga-company-route-picker-body>label{display:block;margin:0 0 8px;font-size:14px}
.aga-search-v284 .aga-company-route-picker-body>input[type=search]{display:block;width:100%;max-width:100%;min-height:44px;font-size:16px}
.aga-search-v284 .aga-company-route-picker-body>p{margin:8px 0;font-size:14px;line-height:1.6}
.aga-search-v284 .aga-company-route-picker-body>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.aga-search-v284 .aga-company-route-picker-body>ul>li{min-width:0;margin:0;padding:0;list-style:none}
.aga-search-v284 .aga-company-route-picker-body>ul>li[hidden]{display:none!important}
.aga-search-v284 .aga-company-route-picker-body>ul>li>a{display:flex;align-items:center;min-height:44px;max-width:100%;height:100%;padding:8px 12px!important;border:1px solid #d8e3dd;border-radius:5px;background:#fff;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.aga-search-v284 .aga-company-route-picker-body>ul>li>a:has(>.aga-ui-icon-trailing){padding-right:32px!important}
@media(max-width:900px){.aga-search-v284 .aga-company-route-picker-body>ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.aga-search-v284 .aga-company-route-picker-body>ul{grid-template-columns:minmax(0,1fr)}}
.aga-search-v284 .aga-search-map[data-station-list="none"] .aga-search-map-content{grid-template-columns:minmax(0,1fr)}
/* Keep the v329 reserved feedback height throughout loading. Place its text
 * at the bottom of that existing slot so the following number note is nearby;
 * auto margins collapse safely for longer messages rather than hiding lines. */
.aga-search-v284 .aga-search-map.aga-public-media .aga-search-map-feedback{display:flex;flex-direction:column}
.aga-search-v284 .aga-search-map.aga-public-media .aga-search-map-status-home{flex:0 0 auto;margin-top:auto}
.aga-search-v284 .aga-search-map.aga-public-media .aga-search-map-feedback>.aga-search-map-omissions{flex:0 0 auto;margin-top:auto}
.aga-search-v284 .aga-search-map-content:has(>[data-route-presentation="334"]){row-gap:2px}

/* v338: company symbols identify the company level; route colours remain on routes. */
.aga-search-v284 .aga-search-company-index-title{display:flex;align-items:center;line-height:1.6}
.aga-search-v284 .aga-search-company-index-list a,
.aga-search-v284 .aga-search-jump-company>.aga-search-jump-company-link{align-items:flex-start;min-width:0}
.aga-search-v284 .aga-search-company-index-list a>.aga-ui-icon-building,
.aga-search-v284 .aga-search-jump-company-link>.aga-ui-icon-building{align-self:flex-start;margin-top:.2em!important}
.aga-search-v284 img.aga-ui-icon-building{filter:brightness(0) opacity(.72)!important;flex-shrink:0}

/* v338: keep the station badge on the rail; endpoint text occupies the final text row. */
[data-route-presentation="334"] .aga-route-endpoint-label{display:flex;grid-column:2;grid-row:4;align-items:center;gap:5px;min-width:0;margin:3px 0 0;color:#52615a;font-size:11px;line-height:1.35;font-weight:600;text-decoration:none}
[data-route-presentation="334"] .aga-route-station-group>.aga-route-station-card>.aga-route-endpoint-label{grid-column:1}
[data-route-presentation="334"] .aga-route-endpoint-label>.aga-route-colored-icon{width:12px;height:12px;flex:0 0 12px}

/* v340: SSR legend establishes its natural height before map loading.
 * Keep legacy reserved slots for cached older HTML; long current warnings
 * grow normally and remain readable rather than clipping or scrolling. */
.aga-search-v284 .aga-search-map.aga-public-media .aga-search-map-feedback[data-map-feedback="340"]{display:block;block-size:auto;min-block-size:0;padding-block:8px 0;overflow:visible}
.aga-search-v284 .aga-search-map.aga-public-media .aga-search-map-feedback[data-map-feedback="340"]>.aga-search-map-legend{margin:0;padding:0;font-size:inherit;line-height:inherit}
.aga-search-v284 .aga-search-map.aga-public-media .aga-search-map-feedback[data-map-feedback="340"]>.aga-search-map-omissions{margin:4px 0 0;max-height:none;overflow:visible}

/* AGA-DESIGN:MAP-STATS v358
 * SSR emits all metric slots with unknown values before the existing request.
 * Optional omitted-station metrics retain their slot. Loading/error status is
 * inside the fixed map frame, with no separate blank row below the metrics. */
.aga-search-v284 .aga-search-map>.aga-search-map-counts.aga-map-stats{
    box-sizing:border-box;block-size:auto;min-block-size:0;min-height:0;overflow:visible;margin:0 0 12px;padding:0;
    font-size:14px;line-height:1.75;color:#52646f;
}
.aga-search-v284 .aga-map-stats-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr));gap:8px;min-width:0}
.aga-search-v284 .aga-map-stats[data-stat-kind="stations"]>.aga-map-stats-items{grid-template-columns:repeat(2,minmax(0,1fr))}
.aga-search-v284 .aga-map-stat{
    box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;min-width:0;margin:0;padding:10px;
    border:1px solid #dbe2e6;border-radius:6px;background:#f7f9fa;color:#293b48;
}
.aga-search-v284 .aga-map-stat.is-empty{visibility:hidden}
.aga-search-v284 .aga-map-stat-label{display:block;min-width:0;min-height:3em;margin:0;font-size:13px;line-height:1.5;font-weight:400;color:#52646f;overflow-wrap:anywhere}
.aga-search-v284 .aga-map-stat-value{display:block;min-width:0;min-height:1.35em;margin:3px 0 0;font-size:22px;font-weight:700;line-height:1.35;letter-spacing:normal;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.aga-search-v284 .aga-map-stat-unit{margin-left:3px;font-size:13px;font-weight:400;white-space:nowrap}
.aga-search-v284 .aga-map-count-spinner{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;vertical-align:-.12em}
.aga-search-v284 .aga-map-count-spinner:empty{display:none}
.aga-search-v284 .aga-map-count-spinner>.aga-ui-icon{display:block!important;width:1em!important;height:1em!important;margin:0!important;vertical-align:baseline!important;animation:aga-search-spin 1s linear infinite}
.aga-search-v284 .aga-map-count-loading-text{font-size:13px;font-weight:400}
.aga-search-v284 .aga-map-count-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(prefers-reduced-motion:reduce){.aga-search-v284 .aga-map-count-spinner>.aga-ui-icon{animation:none}}

/* v360: distinguish map and major-area TOC links with assigned SVGs. The
 * existing absolute chevron keeps its reserved right padding. Flex gaps close
 * naturally when an icon is unassigned or hidden in forced-colour mode. */
.aga-search-v284 .aga-search-jump-nav a.aga-search-jump-purpose[href^="#"]{display:inline-flex;align-items:center;gap:.4em;min-width:0;max-width:100%;font-weight:400}
.aga-search-v284 .aga-search-jump-purpose>.aga-search-jump-text{display:block;flex:1 1 auto;min-width:0;max-width:100%;line-height:inherit;overflow-wrap:anywhere}
.aga-search-v284 .aga-search-jump-purpose>img.aga-ui-icon:not(.aga-ui-icon-trailing){display:block;position:static;flex:0 0 1.2em;width:1.2em!important;height:1.2em!important;min-width:1.2em!important;margin:0!important;vertical-align:0;transform:none}
@media(forced-colors:active){.aga-search-v284 .aga-search-jump-purpose>img.aga-ui-icon:not(.aga-ui-icon-trailing){display:none!important}}
