:root{--accent: #008e88;--accent-dark: #007570;--accent-soft: #d6f1ee;--accent-tint: #edf8f6;--bg: #f6f8fa;--surface: #ffffff;--border: #e3e8ee;--text: #15191e;--text-muted: #667085;--text-faint: #98a2b3;--warn-bg: #fff6e5;--warn-text: #7a4b00;--warn-border: #ffe1a8;--info-bg: #eef4ff;--info-text: #2b4a8a;--danger: #c23b3b;--radius-lg: 22px;--radius-md: 16px;--radius-sm: 12px;--shadow: 0 6px 24px rgba(16, 24, 40, .1);--nav-h: 64px;--safe-bottom: env(safe-area-inset-bottom, 0px);--content-max: 480px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:16px;line-height:1.35;color:var(--text);background:var(--bg);overflow:hidden;overscroll-behavior:none}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0;margin:0;-webkit-tap-highlight-color:transparent}a{color:var(--accent-dark)}:focus-visible{outline:3px solid rgba(0,142,136,.55);outline-offset:2px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{height:100%;max-width:var(--content-max);margin:0 auto;display:flex;flex-direction:column;background:var(--bg);position:relative}@media(min-width:520px){.app{box-shadow:0 0 0 1px var(--border)}}.app__main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.screen{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 16px calc(24px + var(--nav-h) + var(--safe-bottom))}.screen--flush{padding:0;overflow:hidden;display:flex;flex-direction:column}.screen--no-nav{padding-bottom:24px}.bottom-nav{position:absolute;left:0;right:0;bottom:0;height:calc(var(--nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--surface);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);z-index:20}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:500;color:var(--text-muted);text-decoration:none;min-height:44px}.bottom-nav__item svg{width:26px;height:26px}.bottom-nav__item.is-active{color:var(--accent);font-weight:600}.page-title{font-size:32px;line-height:1.1;font-weight:800;letter-spacing:-.02em;margin:10px 0 14px}.page-subtitle{margin:-8px 0 16px;color:var(--text-muted);font-size:16px}.back-header{display:flex;align-items:center;gap:12px;margin:6px 0 14px}.back-header .page-title{margin:0;flex:1;min-width:0;font-size:28px}.icon-btn{width:44px;height:44px;border-radius:14px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--text);flex:0 0 auto}.icon-btn svg{width:22px;height:22px}.icon-btn.is-active{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent-dark)}.icon-btn--plain{border:0;background:transparent}.icon-btn__badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.relative{position:relative}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 20px;border-radius:999px;font-size:17px;font-weight:700;text-decoration:none;border:1px solid transparent;transition:background .15s ease,transform .05s ease}.btn:active{transform:scale(.99)}.btn svg{width:20px;height:20px;flex:0 0 auto}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-dark)}.btn--secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn--soft{background:var(--accent-soft);color:var(--accent-dark)}.btn--ghost{background:transparent;color:var(--text-muted);min-height:44px}.btn--block{width:100%}.btn--sm{min-height:44px;font-size:15px;padding:0 16px}.btn[aria-disabled=true],.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn-stack{display:grid;gap:10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips--scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 6px}.chips--scroll::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:15px;font-weight:600;color:var(--text);white-space:nowrap;flex:0 0 auto}.chip svg{width:16px;height:16px}.chip[aria-pressed=true],.chip.is-selected{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent-dark)}.chip--solid[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px}.card+.card,.stack>*+*{margin-top:12px}.list-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;color:inherit;text-decoration:none}.list-card:active{background:var(--accent-tint)}.list-card__thumb{flex:0 0 auto;width:84px;height:84px;border-radius:var(--radius-md);overflow:hidden}.list-card__thumb--sm{width:64px;height:64px}.list-card__body{flex:1 1 auto;min-width:0}.list-card__title{font-size:17px;font-weight:700;line-height:1.25;margin:0 0 4px;overflow-wrap:anywhere}.list-card__meta{color:var(--text-muted);font-size:14px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.list-card__meta svg{width:16px;height:16px;vertical-align:-3px;margin-right:3px}.list-card__chevron{flex:0 0 auto;color:var(--text-faint);width:22px;height:22px}.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:var(--accent-tint);color:var(--accent-dark);font-size:13px;font-weight:600}.tag-pill--neutral{background:var(--bg);color:var(--text-muted)}.dot-sep:before{content:"·";margin-right:8px;color:var(--text-faint)}.route-card{position:relative;display:block;width:100%;text-align:left;border-radius:var(--radius-lg);overflow:hidden;color:#fff;text-decoration:none;min-height:150px;border:0;background:#0b5b57}.route-card__art{position:absolute;inset:0}.route-card__body{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;padding:14px 64px 14px 16px;background:linear-gradient(180deg,#00000014,#00000047 35%,#001414db)}.route-card__title{font-size:21px;font-weight:800;line-height:1.15;margin:0 0 6px;text-shadow:0 1px 3px rgba(0,0,0,.55)}.route-card__meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:14px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.35)}.route-card__meta span{display:inline-flex;align-items:center;gap:5px}.route-card__meta svg{width:16px;height:16px}.route-card__chevron{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;background:#ffffffeb;color:var(--text);display:flex;align-items:center;justify-content:center}.route-card__chevron svg{width:20px;height:20px}.route-card__badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#ffffffeb;color:var(--text);font-size:12px;font-weight:700}.route-card__badge svg{width:14px;height:14px}.note{display:flex;gap:10px;padding:12px 14px;border-radius:var(--radius-md);font-size:14px;line-height:1.4}.note svg{flex:0 0 auto;width:20px;height:20px;margin-top:1px}.note--warn{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border)}.note--info{background:var(--info-bg);color:var(--info-text)}.note--muted{background:var(--bg);color:var(--text-muted)}.note__title{font-weight:700;display:block;margin-bottom:2px}.empty{text-align:center;padding:36px 16px;color:var(--text-muted)}.empty__icon{width:56px;height:56px;margin:0 auto 12px;color:var(--text-faint)}.empty__title{font-size:18px;font-weight:700;color:var(--text);margin:0 0 6px}.empty p{margin:0 0 16px}.sheet-backdrop{position:absolute;inset:0;background:#10182866;z-index:30;display:flex;align-items:flex-end}.sheet{width:100%;max-height:calc(100% - 40px);background:var(--surface);border-radius:24px 24px 0 0;padding:10px 16px calc(16px + var(--safe-bottom));display:flex;flex-direction:column;box-shadow:0 -8px 30px #1018282e;animation:sheet-in .2s ease-out}@keyframes sheet-in{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.sheet__grip{width:44px;height:5px;border-radius:3px;background:var(--border);margin:0 auto 10px}.sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sheet__title{font-size:24px;font-weight:800;margin:0}.sheet__body{overflow-y:auto;min-height:0;padding-bottom:8px}.sheet__section{padding:10px 0 14px}.sheet__section+.sheet__section{border-top:1px solid var(--border)}.sheet__label{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;margin:0 0 10px}.sheet__label svg{width:20px;height:20px;color:var(--text-muted)}.sheet__footer{padding-top:12px;border-top:1px solid var(--border)}.search-row{display:flex;gap:10px;align-items:center}.search{flex:1 1 auto;display:flex;align-items:center;gap:8px;min-height:52px;padding:0 8px 0 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.search svg{width:22px;height:22px;color:var(--text-muted);flex:0 0 auto}.search input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font-size:16px;height:44px}.search input::placeholder{color:var(--text-faint)}.search input::-webkit-search-cancel-button,.search input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.search__clear{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.search__clear svg{width:18px;height:18px}.map-screen{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.map-screen__top{padding:12px 16px 10px;background:var(--bg);position:relative;z-index:12}.map-screen__top .page-title{margin:10px 0 12px}.map-screen__body{position:relative;flex:1 1 auto;min-height:0;margin-bottom:calc(var(--nav-h) + var(--safe-bottom))}.map-view{position:absolute;inset:0;background:#e9edf1;isolation:isolate;z-index:0}.leaflet-container{width:100%;height:100%;font-family:var(--font);background:#e9edf1}.leaflet-container .leaflet-control-attribution{font-size:11px;background:#ffffffd9}.leaflet-container .leaflet-control-attribution a{color:var(--accent-dark)}.poi-pin{background:none;border:0}.poi-pin__svg{width:32px;height:40px;display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));transition:transform .15s ease}.poi-pin--selected .poi-pin__svg{transform:scale(1.3);transform-origin:bottom center}.poi-cluster{background:#008e88e6;color:#fff;border:3px solid rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;box-shadow:0 2px 8px #00000040}.stop-pin{background:none;border:0}.stop-pin__dot{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;border:3px solid #fff;box-shadow:0 2px 6px #0000004d;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.map-overlay-top{position:absolute;top:10px;left:12px;right:12px;z-index:10;display:flex;flex-direction:column;gap:8px}.map-banner{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:10px 12px;display:flex;align-items:center;gap:10px;font-size:14px}.map-banner svg{width:20px;height:20px;flex:0 0 auto;color:var(--warn-text)}.map-banner__text{flex:1 1 auto;min-width:0}.map-banner .btn{flex:0 0 auto}.map-unavailable{position:absolute;inset:0;z-index:9;background:var(--bg);overflow-y:auto;padding:14px 16px 20px}.map-unavailable__head{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-md);background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border);margin-bottom:12px;font-size:14px}.map-unavailable__head svg{width:22px;height:22px;flex:0 0 auto}.mini-card__link{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;color:inherit;text-decoration:none}.mini-card{position:absolute;left:12px;right:12px;bottom:12px;z-index:10;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:12px;display:flex;align-items:center;gap:12px}.mini-card__thumb{width:72px;height:72px;border-radius:var(--radius-md);overflow:hidden;flex:0 0 auto}.mini-card__body{flex:1 1 auto;min-width:0}.mini-card__title{font-size:17px;font-weight:700;margin:0 0 2px;line-height:1.2}.mini-card__desc{color:var(--text-muted);font-size:13px;margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-card__more{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-dark);background:var(--accent-tint)}.mini-card__more svg{width:22px;height:22px}.mini-card__close{position:absolute;top:-10px;right:-4px;width:36px;height:36px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.mini-card__close svg{width:16px;height:16px}.search-results{position:absolute;left:16px;right:16px;top:100%;margin-top:6px;background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow);max-height:44vh;overflow-y:auto;z-index:15}.search-results__item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 14px;min-height:52px;border-bottom:1px solid var(--border)}.search-results__item:last-child{border-bottom:0}.search-results__item svg{width:18px;height:18px;color:var(--accent);flex:0 0 auto}.search-results__name{font-weight:600;font-size:15px}.search-results__cat{color:var(--text-muted);font-size:13px}.search-results__empty{padding:16px 14px;text-align:center;color:var(--text-muted);font-size:14px}.map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.hero{border-radius:var(--radius-lg);overflow:hidden;height:210px;position:relative}.hero__caption{position:absolute;right:10px;bottom:10px;background:#ffffffd9;color:var(--text-muted);font-size:11px;padding:3px 8px;border-radius:999px}.detail-title{font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.01em;margin:16px 0 8px;overflow-wrap:anywhere}.detail-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.detail-desc{margin:0 0 14px;font-size:16px;line-height:1.45}.info-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:2px 14px;margin-bottom:14px}.info-list__row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;font-size:15px}.info-list__row+.info-list__row{border-top:1px solid var(--border)}.info-list__row svg{flex:0 0 auto;width:20px;height:20px;color:var(--text-muted);margin-top:1px}.info-list__label{color:var(--text-muted);font-size:12px;display:block}.route-summary{display:flex;gap:12px;align-items:flex-start;background:var(--accent-tint);border-radius:var(--radius-lg);padding:14px;margin-bottom:12px}.route-summary svg.route-summary__icon{width:32px;height:32px;color:var(--accent);flex:0 0 auto}.route-summary__title{font-size:20px;font-weight:800;margin:0 0 4px;line-height:1.2}.route-summary__meta{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--text-muted);font-size:14px;font-weight:600}.route-summary__meta span{display:inline-flex;align-items:center;gap:4px}.route-summary__meta svg{width:16px;height:16px}.route-map{height:220px;border-radius:var(--radius-lg);overflow:hidden;position:relative;background:#e9edf1;margin-bottom:12px;isolation:isolate;z-index:0}.route-map--compact{height:170px}.route-map__fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;color:var(--text-muted);font-size:14px;background:var(--bg);z-index:5}.stops{list-style:none;margin:0 0 14px;padding:0}.stops__item{position:relative;padding-left:46px}.stops__item+.stops__item{margin-top:4px}.stops__item:before{content:"";position:absolute;left:15px;top:0;bottom:0;border-left:2px dashed var(--accent-soft)}.stops__item:first-child:before{top:50%}.stops__item:last-child:before{bottom:50%}.stops__num{position:absolute;left:0;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface);z-index:1}.stops__link{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 10px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);color:inherit;text-decoration:none;width:100%;text-align:left}.stops__thumb{width:40px;height:40px;border-radius:10px;overflow:hidden;flex:0 0 auto}.stops__name{flex:1 1 auto;min-width:0;font-weight:600;font-size:15px}.stops__cat{display:block;color:var(--text-muted);font-size:12px;font-weight:500}.section-title{font-size:20px;font-weight:800;margin:18px 0 10px}.muted{color:var(--text-muted)}.small{font-size:13px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-12{margin-bottom:12px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.share-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:92px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:600;font-size:15px;text-decoration:none}.share-action svg{width:28px;height:28px;color:var(--accent)}.share-url{display:block;width:100%;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;background:var(--surface);font-size:14px;color:var(--text);overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}.copy-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--accent-tint);border-radius:var(--radius-lg);padding:14px;min-height:72px}.copy-card svg{width:28px;height:28px;color:var(--accent);flex:0 0 auto}.copy-card__title{font-size:17px;font-weight:700;display:block}.copy-card__url{display:block;color:var(--text-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-card__body{min-width:0;flex:1 1 auto}.toast{position:absolute;left:16px;right:16px;bottom:calc(var(--nav-h) + var(--safe-bottom) + 16px);z-index:40;background:#1f2937;color:#fff;padding:12px 16px;border-radius:var(--radius-md);font-size:15px;font-weight:600;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow);animation:sheet-in .2s ease-out}.toast svg{width:20px;height:20px;color:#6ee7b7}.welcome{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(180deg,#cfe9f5,#8fcde6 45%,#2b8fb0 75%,#0f5e7a);color:var(--text)}.welcome__art{position:absolute;inset:0;width:100%;height:100%}.welcome__content{position:relative;flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(ellipse 60% 40% at 50% 50%,#ffffffbf,#fff0 70%)}.welcome__logo{width:110px;height:110px;color:var(--accent)}.welcome__title{font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:12px 0 0}.welcome__subtitle{font-size:24px;font-weight:500;margin:2px 0 0}.welcome__footer{position:relative;padding:16px 24px calc(24px + var(--safe-bottom))}.onboarding{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:16px 20px calc(20px + var(--safe-bottom));background:var(--surface);overflow-y:auto}.onboarding__art{border-radius:28px;overflow:hidden;aspect-ratio:1 / 1;max-height:44vh;width:100%;margin:0 auto;flex:0 1 auto}.onboarding__text{flex:1 1 auto;text-align:center;padding:22px 4px 12px}.onboarding__title{font-size:32px;font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0 0 10px}.onboarding__desc{font-size:17px;color:var(--text-muted);margin:0}.onboarding__dots{display:flex;justify-content:center;gap:10px;margin:8px 0 14px}.onboarding__dot{width:10px;height:10px;border-radius:50%;background:var(--border)}.onboarding__dot.is-active{background:var(--accent)}.onboarding__actions{display:flex;flex-direction:column;gap:6px}.picker-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;margin-bottom:12px}.picker-card__title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:800;margin:0 0 12px}.picker-card__title svg{width:22px;height:22px;color:var(--text-muted)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.segmented .chip{justify-content:center;padding:0 8px}.result-list{margin-top:4px}.result-count{color:var(--text-muted);font-size:14px;margin:0 0 10px}.filter-banner{display:flex;align-items:center;gap:10px;background:var(--accent-tint);border-radius:var(--radius-md);padding:10px 12px 10px 14px;margin-bottom:12px;font-size:14px}.filter-banner>svg{width:22px;height:22px;flex:0 0 auto;color:var(--accent)}.filter-banner__text{flex:1 1 auto;min-width:0}.filter-banner__text strong{display:block;font-size:15px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.toolbar .chips--scroll{flex:1 1 auto;margin:0;padding:2px 0;min-width:0}.sticky-top{position:sticky;top:-12px;margin:-12px -16px 0;padding:12px 16px 6px;background:var(--bg);z-index:5}@media(max-width:340px){.page-title{font-size:28px}.btn{font-size:16px;padding:0 14px}.chip{padding:0 12px;font-size:14px}.share-actions{grid-template-columns:1fr}}.photo{display:block;width:100%;height:100%;object-fit:cover;background:var(--border)}.hero__credit{position:absolute;left:0;right:0;bottom:0;margin:0;padding:22px 12px 9px;background:linear-gradient(180deg,#0000,#0000009e);color:#fff;font-size:11.5px;line-height:1.35;overflow-wrap:anywhere}.hero__credit a{color:#fff;text-decoration:underline;text-underline-offset:2px}.hero__credit a:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:3px}.photo-note{display:flex;gap:8px;align-items:flex-start;margin:8px 0 0;color:var(--text-muted);font-size:12px;line-height:1.35}.photo-note svg{flex:0 0 auto;width:16px;height:16px;margin-top:1px}.route-cover{position:relative;height:170px;margin:0 0 12px;border-radius:var(--radius-lg);overflow:hidden}.audio{margin:14px 0 4px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.audio__head{display:flex;align-items:center;gap:10px;margin:0 0 10px}.audio__head svg{width:22px;height:22px;color:var(--accent);flex:0 0 auto}.audio__title{font-size:17px;font-weight:700;margin:0}.audio__controls{display:flex;flex-wrap:wrap;gap:8px}.audio__controls .btn{flex:1 1 auto;min-width:128px}.audio__status{margin:10px 0 0;font-size:13px;line-height:1.4;color:var(--text-muted)}.audio__status--active{color:var(--accent-dark);font-weight:600}.audio__status--error{color:var(--warn-text)}.audio__text{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.audio__text summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--accent-dark);list-style:none;display:flex;align-items:center;gap:6px;min-height:32px}.audio__text summary::-webkit-details-marker{display:none}.audio__text summary:before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;flex:0 0 auto;margin-left:2px}.audio__text[open] summary:before{transform:rotate(45deg)}.audio__text summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.audio__body{margin:8px 0 0;font-size:15px;line-height:1.5;white-space:pre-line;user-select:text;-webkit-user-select:text}.audio__badge{margin-left:auto;padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:12px;font-weight:600;white-space:nowrap}.audio__player audio{display:none}.audio__row{display:flex;align-items:center;gap:12px}.audio__main{flex:0 0 auto;width:52px;height:52px;border-radius:50%;border:0;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;position:relative}.audio__main:hover{background:var(--accent-dark)}.audio__main svg{width:22px;height:22px}.audio__main--loading:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--accent);animation:audio-spin .9s linear infinite}@keyframes audio-spin{to{transform:rotate(360deg)}}.audio__track{flex:1 1 auto;min-width:0}.audio__seek{-webkit-appearance:none;appearance:none;display:block;width:100%;height:28px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y}.audio__seek:disabled{cursor:default;opacity:.6}.audio__seek::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--accent) var(--audio-progress, 0%),var(--border) var(--audio-progress, 0%))}.audio__seek::-moz-range-track{height:6px;border-radius:3px;background:var(--border)}.audio__seek::-moz-range-progress{height:6px;border-radius:3px;background:var(--accent)}.audio__seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;border:2px solid #fff;background:var(--accent);box-shadow:0 1px 4px #00000040}.audio__seek::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:2px solid #fff;background:var(--accent);box-shadow:0 1px 4px #00000040}.audio__seek:disabled::-webkit-slider-thumb{visibility:hidden}.audio__times{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.audio__extra{display:flex;align-items:center;gap:8px;margin-top:8px}.audio__extra .audio__status{flex:1 1 auto;margin:0;text-align:center}.audio__skip{flex:0 0 auto;min-width:52px;min-height:40px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.audio__skip:disabled{opacity:.45}.audio__main:focus-visible,.audio__skip:focus-visible,.audio__seek:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.audio__again{margin-top:10px;min-height:44px;font-size:15px}@media(prefers-reduced-motion:reduce){.audio__main--loading:after{animation-duration:2.5s}}.title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 14px}.title-row .page-title{margin:0;min-width:0;overflow-wrap:anywhere}.lang{display:inline-flex;flex:0 0 auto;padding:3px;border-radius:999px;background:var(--accent-tint);border:1px solid var(--border);gap:2px}.lang__btn{min-width:36px;height:30px;padding:0 8px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:700;letter-spacing:.02em;line-height:1;white-space:nowrap}.lang__btn.is-active{background:var(--accent);color:#fff}.lang__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang--light{background:#ffffff38;border-color:#ffffff73}.lang--light .lang__btn{color:#ffffffeb}.lang--light .lang__btn.is-active{background:#fff;color:var(--accent-dark)}.welcome__lang{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:16px;z-index:2}.back-header .lang{margin-left:auto}.chip,.bottom-nav__item span,.tag-pill,.btn{overflow-wrap:anywhere}:lang(zh-CN){font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,Noto Sans SC,Segoe UI,Roboto,sans-serif;letter-spacing:0}:lang(zh-CN) .page-title,:lang(zh-CN) .detail-title,:lang(zh-CN) .route-card__title{letter-spacing:0}@media(max-width:340px){.lang__btn{min-width:32px;padding:0 6px;font-size:12px}.title-row .page-title{font-size:28px}}.stars{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-muted);white-space:nowrap}.stars__icons{display:inline-flex;gap:1px;line-height:1}.stars__icon{color:#d8dde6;font-size:15px;line-height:1}.stars__icon.is-filled{color:#d9a21b}.stars--compact{gap:4px}.stars--compact .stars__icon{font-size:14px}.stars-block{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:-4px 0 12px}.stars-block .stars{font-size:14px}.stars-block .stars__icon{font-size:18px}.stars-info{font-size:13px;color:var(--text-muted)}.stars-info__summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 10px 0 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.stars-info__summary::-webkit-details-marker{display:none}.stars-info__summary svg{width:16px;height:16px}.stars-info[open]{flex-basis:100%}.stars-info__text{margin:8px 0 0;padding:10px 12px;border-radius:var(--radius-md);background:var(--bg);line-height:1.4}.chips--sub{margin-top:-2px}.chip__star{color:#d9a21b;font-size:15px;line-height:1}.food-link{color:var(--accent-dark);font-weight:600;overflow-wrap:anywhere}
