/* R4R9: all styles scoped to Chiayi route controls / route-text dialog. */
body.r3r1-chiayi .r3r1-day-switch{width:min(590px,calc(100vw - 18px));box-sizing:border-box;gap:4px}
body.r3r1-chiayi .r3r1-day-button{flex:1;min-width:0;white-space:normal;line-height:1.3;padding:7px 6px}
body.r3r1-chiayi .r4r9-open{flex:0 1 76px;background:#fbbf24;color:#172033}
.r4r9-overlay[hidden]{display:none!important}
.r4r9-overlay{position:fixed;inset:0;z-index:4000;background:rgba(4,12,26,.7);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.r4r9-dialog{width:700px;max-width:100%;max-height:calc(100dvh - 36px);display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#f8fafc;color:#172033;box-shadow:0 20px 80px rgba(0,0,0,.35);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft JhengHei",sans-serif}
.r4r9-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:#13233b;color:#fff;flex-shrink:0;gap:12px}
.r4r9-header h2{font-size:21px;margin:0;letter-spacing:.02em}
.r4r9-close{background:transparent;color:#fff;border:1px solid #8191a8;border-radius:50%;width:40px;height:40px;font-size:26px;cursor:pointer;flex-shrink:0}
.r4r9-dates,.r4r9-phases{display:flex;gap:8px;flex-wrap:wrap}
.r4r9-dates{padding:14px 22px 8px;flex-shrink:0}
.r4r9-dates button,.r4r9-phases button,.r4r9-retry{min-height:40px;padding:8px 14px;border:1px solid #94a3b8;border-radius:10px;background:#fff;color:#172033;font:inherit;font-weight:650;cursor:pointer}
.r4r9-dates button{flex:1;min-width:0;padding:7px 6px}
.r4r9-dates button[aria-pressed="true"],.r4r9-phases button[aria-pressed="true"]{background:#13233b;color:#fff;border-color:#13233b}
.r4r9-dates button:disabled{opacity:.45;cursor:default}
.r4r9-dialog button:focus-visible,.r4r9-dialog a:focus-visible,.r4r9-dialog summary:focus-visible,.r4r9-open:focus-visible{outline:3px solid #c2410c;outline-offset:3px}
.r4r9-state,.r4r9-lock{margin:0;padding:0 22px 7px;font-size:13px;color:#854d0e;flex-shrink:0}
.r4r9-state:empty{display:none}
.r4r9-content{overflow:auto;overscroll-behavior:contain;padding:6px 22px 24px}
.r4r9-summary h3{margin:5px 0 4px;font-size:20px}
.r4r9-summary p{margin:0 0 14px;color:#475569;font-size:13px}
.r4r9-count{font-size:13px;color:#475569;margin:12px 0 4px}
.r4r9-stops{padding-left:27px;margin:0 0 18px}
.r4r9-stops li{padding:12px 0 12px 4px;border-bottom:1px solid #dbe3ed}
.r4r9-stops li::marker{font-weight:750;color:#9a3412}
.r4r9-stop-title{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.r4r9-stop-title strong{font-size:17px;overflow-wrap:anywhere}
.r4r9-role{display:inline-block;font-size:11px;padding:2px 8px;background:#e6eef6;border-radius:20px}
.r4r9-excerpt{font-size:13px;color:#526075;margin:5px 0 0;overflow-wrap:anywhere}
.r4r9-time{font-size:13px;font-weight:700;color:#9a3412;margin:3px 0}
.r4r9-address{font-size:12px;color:#526075;margin:7px 0 0}
.r4r9-address a{color:#175198;text-underline-offset:3px}
.r4r9-source{border:1px solid #cbd5e1;border-radius:12px;padding:10px 13px;margin:10px 0}
.r4r9-source summary{cursor:pointer;font-weight:650}
.r4r9-source-lines{font-size:14px;padding-top:8px}
.r4r9-source-lines p{margin:6px 0;overflow-wrap:anywhere}
.r4r9-source h4{font-size:13px;margin:14px 0 4px}
.r4r9-roads{font-size:13px;margin:0;overflow-wrap:anywhere}
.r4r9-notices{border-left:3px solid #d97706;background:#fff7e6;padding:8px 12px;margin-top:18px;font-size:12px;color:#614221}
.r4r9-notices p{margin:7px 0}
@media(max-width:480px){.r4r9-overlay{padding:8px}.r4r9-dialog{max-height:calc(100dvh - 16px);border-radius:14px}.r4r9-header{padding:12px 14px}.r4r9-header h2{font-size:19px}.r4r9-dates{padding:10px 14px 7px;gap:5px}.r4r9-dates button{font-size:12px}.r4r9-content{padding:5px 14px 18px}.r4r9-state,.r4r9-lock{padding-left:14px;padding-right:14px}.r4r9-stop-title strong{font-size:16px}body.r3r1-chiayi .r4r9-open{flex-basis:62px}}
@media(prefers-reduced-motion:reduce){.r4r9-overlay *{scroll-behavior:auto}}

.r4r9-summary p.r4r9-scope{border-left:3px solid #d97706;background:#fff7e6;color:#614221;padding:7px 10px;margin:0 0 8px;font-size:12px}
