body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root,[data-theme=dark]{--bg:#0a0d12;--surface:#11151c;--surface-2:#161b23;--surface-3:#1d232c;--text:#f2f4f7;--text-dim:#8a94a3;--text-faint:#565f6b;--accent:#f0a83f;--accent-strong:#ffc266;--accent-ink:#241503;--teal:#34d6ab;--red:#f2626a;--line:hsla(0,0%,100%,.055);--line-strong:#ffffff1c;--shadow-lg:0 1px 1px #0000004d,0 30px 60px -30px #000000bf,0 0 0 1px var(--line);--shadow:0 1px 1px #00000047,0 18px 36px -22px #000000b3,0 0 0 1px var(--line);--shadow-sm:0 1px 2px #0000004d;--shadow-btn:0 1px 0 #ffffff24 inset,0 10px 22px -10px #f0a83f80;--board-bg:#0d1117;--board-text:#f0a83f;--mesh-1:#f0a83f1a;--mesh-2:#34d6ab0f}[data-theme=light]{--bg:#f5f6f8;--surface:#fff;--surface-2:#f2f3f5;--surface-3:#e9ebee;--text:#12161c;--text-dim:#5f6b78;--text-faint:#97a1ab;--accent:#b5690a;--accent-strong:#935608;--accent-ink:#fff8ee;--teal:#0e9a76;--red:#cf3944;--line:rgba(15,20,26,.065);--line-strong:#0f141a21;--shadow-lg:0 1px 1px #10161c08,0 30px 60px -32px #10161c38,0 0 0 1px var(--line);--shadow:0 1px 1px #10161c08,0 18px 36px -24px #10161c2e,0 0 0 1px var(--line);--shadow-sm:0 1px 3px #10161c12;--shadow-btn:0 1px 0 #ffffff59 inset,0 10px 22px -12px #b5690a66;--board-bg:#13181f;--board-text:#ffc266;--mesh-1:#b5690a17;--mesh-2:rgba(14,154,118,.075)}*{box-sizing:border-box}html{background:#0a0d12;background:var(--bg)}body{background:#0a0d12;background:var(--bg)}.app,body{color:#f2f4f7;color:var(--text);transition:background-color .25s ease,color .25s ease}.app{--font-display:"Sora",-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;background:radial-gradient(640px 320px at 15% -8%,#f0a83f1a,#0000 60%),radial-gradient(520px 300px at 100% 10%,#34d6ab0f,#0000 60%),#0a0d12;background:radial-gradient(640px 320px at 15% -8%,var(--mesh-1),#0000 60%),radial-gradient(520px 300px at 100% 10%,var(--mesh-2),#0000 60%),var(--bg);font-family:var(--font-body);isolation:isolate;margin:0 auto;max-width:600px;min-height:100vh;padding:22px 18px 64px;position:relative}@media (min-width:720px){.app{padding:40px 28px 80px}}::selection{background:color-mix(in srgb,#f0a83f 35%,#0000);background:color-mix(in srgb,var(--accent) 35%,#0000)}.icon{stroke-width:1.7;flex-shrink:0;height:17px;width:17px}.icon-xs{stroke-width:1.8;flex-shrink:0;height:13px;margin-right:1px;vertical-align:-2px;width:13px}.icon-lg{stroke-width:1.4;height:26px;width:26px}.alt-buses-title,.bus-type-badge,.info-with-icon,.locate-btn,.next-bus-label,.quick-title,.result-title,.stops-title,.timing-title{align-items:center;display:flex;gap:5px}.header{backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);background:color-mix(in srgb,#0a0d12 78%,#0000);background:color-mix(in srgb,var(--bg) 78%,#0000);border-bottom:1px solid hsla(0,0%,100%,.055);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px 10px;justify-content:space-between;margin-bottom:30px;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:30}.header,.logo{align-items:center;display:flex}.logo{flex-shrink:0;gap:12px}.logo-icon{align-items:center;background:#0d1117;background:var(--board-bg);border-radius:11px;box-shadow:inset 0 0 0 1px #ffffff12,0 4px 10px -4px #00000080;color:#f0a83f;color:var(--board-text);display:flex;height:38px;justify-content:center;overflow:hidden;width:38px}.logo-icon img{height:100%;object-fit:cover;width:100%}.logo-text{min-width:0}.logo-text h1{color:#f2f4f7;color:var(--text);font-family:var(--font-display);font-size:17px;font-weight:800;letter-spacing:-.015em;margin:0;white-space:nowrap}.logo-text span{color:#565f6b;color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.header-actions{background:#11151c;background:var(--surface);border-radius:24px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);flex-shrink:0;gap:2px;padding:4px}.header-actions,.theme-toggle{align-items:center;display:flex}.theme-toggle{background:#0000;border:none;border-radius:50%;cursor:pointer;font-size:13px;height:26px;justify-content:center;transition:background-color .2s ease,transform .15s ease;width:26px}.theme-toggle:hover{background:#161b23;background:var(--surface-2)}.explore-link{color:#8a94a3;color:var(--text-dim);text-decoration:none}.explore-link:hover{color:#f0a83f;color:var(--accent)}.theme-toggle:active{transform:scale(.9)}.currency-toggle{background:#0000;border:none;border-radius:14px;color:#8a94a3;color:var(--text-dim);cursor:pointer;font-family:var(--font-display);font-size:10.5px;font-weight:700;height:26px;letter-spacing:.02em;padding:0 7px;transition:background-color .2s ease,color .2s ease}.currency-toggle:hover{background:#161b23;background:var(--surface-2);color:#f2f4f7;color:var(--text)}.badge{align-items:center;background:color-mix(in srgb,#34d6ab 13%,#0000);background:color-mix(in srgb,var(--teal) 13%,#0000);border-radius:20px;color:#34d6ab;color:var(--teal);display:flex;font-size:10.5px;font-weight:700;gap:5px;height:26px;letter-spacing:.02em;padding:0 9px 0 7px;white-space:nowrap}.badge:before{background:#34d6ab;background:var(--teal);border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.hero{margin-bottom:24px}.hero h2{color:#f2f4f7;color:var(--text);font-family:var(--font-display);font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.12;margin:0 0 8px}.hero h2 span{background:linear-gradient(95deg,#ffc266,#f0a83f);background:linear-gradient(95deg,var(--accent-strong),var(--accent));-webkit-background-clip:text;background-clip:text;color:#0000}.hero p{color:#8a94a3;color:var(--text-dim);font-size:14.5px;font-weight:450;margin:0}@media (min-width:720px){.hero h2{font-size:40px}}.hero-photo{align-items:flex-end;background-color:#161b23;background-color:var(--surface-2);background-position:50%;background-size:cover;border-radius:24px;box-shadow:0 1px 1px #0000004d,0 30px 60px -30px #000000bf,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow-lg);display:flex;min-height:220px;overflow:hidden;padding:0;position:relative}.hero-photo-overlay{background:linear-gradient(180deg,#0a0d1233,#0a0d1299 60%,#0a0d12eb);inset:0;position:absolute}[data-theme=light] .hero-photo-overlay{background:linear-gradient(180deg,#0a0d124d,#0a0d12a6 60%,#0a0d12f0)}.hero-photo-content{padding:22px 20px 20px;position:relative;width:100%;z-index:1}.hero-photo-content h2{color:#fff;font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.16;margin:0 0 6px}.hero-photo-content h2 span{background:linear-gradient(95deg,#ffc266,#f0a83f);background:linear-gradient(95deg,var(--accent-strong),var(--accent));-webkit-background-clip:text;background-clip:text;color:#0000}.hero-photo-content p{color:#ffffffd1;font-size:13.5px;font-weight:450;margin:0}@media (min-width:720px){.hero-photo{min-height:280px}.hero-photo-content{padding:32px 30px 28px}.hero-photo-content h2{font-size:34px}}.install-banner{align-items:center;animation:install-in .45s cubic-bezier(.16,1,.3,1) both;background:#11151c;background:var(--surface);border:1px solid color-mix(in srgb,#f0a83f 30%,#0000);border:1px solid color-mix(in srgb,var(--accent) 30%,#0000);border-radius:16px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);color:#f2f4f7;color:var(--text);display:flex;gap:8px;margin-bottom:20px;padding:12px 10px 12px 14px;position:relative;text-align:left;transition:box-shadow .15s ease;width:100%}.install-banner:hover{box-shadow:0 1px 1px #00000047,0 18px 36px -22px #000000b3,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow)}@keyframes install-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.install-banner-main{background:none;border:none;color:inherit;flex:1 1;font:inherit;gap:12px;margin:0;min-width:0;padding:0;text-align:left}.install-banner-close,.install-banner-main{align-items:center;cursor:pointer;display:flex}.install-banner-close{background:#0000;border:none;border-radius:50%;color:#565f6b;color:var(--text-faint);flex-shrink:0;font-size:12px;height:26px;justify-content:center;line-height:1;transition:background-color .15s ease,color .15s ease;width:26px}.install-banner-close:hover{background:#161b23;background:var(--surface-2);color:#f2f4f7;color:var(--text)}.install-banner-logo{border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff14;flex-shrink:0;height:36px;object-fit:cover;width:36px}.install-banner-main span:nth-child(2){display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.install-banner strong{font-family:var(--font-display);font-size:13.5px;font-weight:700}.install-banner small{color:#8a94a3;color:var(--text-dim);font-size:11.5px}.install-cta{color:#f0a83f;color:var(--accent);flex-shrink:0;font-family:var(--font-display);font-size:12.5px;font-weight:700}.search-card{background:#11151c;background:var(--surface);border-radius:24px;box-shadow:0 1px 1px #0000004d,0 30px 60px -30px #000000bf,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow-lg);margin-bottom:26px;overflow:hidden;padding:20px;position:relative}.search-card:before{background:linear-gradient(90deg,#0000,#ffffff1c,#0000);background:linear-gradient(90deg,#0000,var(--line-strong),#0000);content:"";height:1px;left:16px;position:absolute;right:16px;top:0}.input-wrapper{position:relative}.input-group{align-items:center;background:#161b23;background:var(--surface-2);border:1px solid #0000;border-radius:14px;display:flex;gap:11px;padding:14px 15px;transition:border-color .15s ease,box-shadow .15s ease,background-color .2s ease}.input-group:focus-within{background:#11151c;background:var(--surface);border-color:color-mix(in srgb,#f0a83f 55%,#0000);border-color:color-mix(in srgb,var(--accent) 55%,#0000);box-shadow:0 0 0 4px color-mix(in srgb,#f0a83f 13%,#0000);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,#0000)}.input-icon{flex-shrink:0;font-size:15px;opacity:.8}.input-group input{background:#0000;border:none;color:#f2f4f7;color:var(--text);flex:1 1;font-family:var(--font-body);font-size:15px;font-weight:500;outline:none}.input-group input::placeholder{color:#565f6b;color:var(--text-faint)}.suggestions-box{background:#11151c;background:var(--surface);border-radius:14px;box-shadow:0 1px 1px #0000004d,0 30px 60px -30px #000000bf,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow-lg);left:0;max-height:240px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:20}.suggestion-item{align-items:center;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px}.suggestion-item:hover{background:#161b23;background:var(--surface-2)}.suggestion-name{color:#f2f4f7;color:var(--text);font-size:14px;font-weight:600}.suggestion-district{color:#565f6b;color:var(--text-faint);font-size:11.5px}.divider{align-items:center;display:flex;gap:10px;margin:8px 0}.divider-line{background:hsla(0,0%,100%,.055);background:var(--line);flex:1 1;height:1px}.swap-btn{align-items:center;background:#161b23;background:var(--surface-2);border:none;border-radius:50%;color:#8a94a3;color:var(--text-dim);cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:30px;justify-content:center;transition:transform .25s ease,color .2s ease,background-color .2s ease;width:30px}.swap-btn:hover{background:#1d232c;background:var(--surface-3);color:#f0a83f;color:var(--accent);transform:rotate(180deg)}.search-actions{display:flex;gap:10px;margin-top:16px}.search-btn{background:linear-gradient(180deg,#ffc266,#f0a83f);background:linear-gradient(180deg,var(--accent-strong),var(--accent));border:none;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff24,0 10px 22px -10px #f0a83f80;box-shadow:var(--shadow-btn);color:#241503;color:var(--accent-ink);cursor:pointer;flex:1 1;font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:-.01em;padding:15px 16px;transition:transform .12s ease,box-shadow .15s ease,filter .15s ease}.search-btn:hover{filter:brightness(1.05)}.search-btn:active{box-shadow:none;transform:scale(.98)}.fav-btn{background:#161b23;background:var(--surface-2);border:none;border-radius:14px;cursor:pointer;font-size:17px;transition:transform .12s ease,background-color .15s ease;width:50px}.fav-btn:hover{background:#1d232c;background:var(--surface-3)}.fav-btn:active{transform:scale(.9)}.result-card{animation:ticket-in .4s cubic-bezier(.16,1,.3,1);background:#11151c;background:var(--surface);border-radius:24px;box-shadow:0 1px 1px #0000004d,0 30px 60px -30px #000000bf,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow-lg);margin-bottom:26px;padding:22px 20px;position:relative}@keyframes ticket-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-title-row{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:16px}.result-title{color:#8a94a3;color:var(--text-dim);font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.02em;margin:0;text-transform:uppercase}.share-btn{align-items:center;background:color-mix(in srgb,#25d366 14%,#0000);border:none;border-radius:20px;color:#1da851;cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-body);font-size:12px;font-weight:600;gap:5px;padding:6px 12px;transition:background-color .15s ease}[data-theme=dark] .share-btn{color:#3ddb7a}.share-btn:hover{background:color-mix(in srgb,#25d366 22%,#0000)}.bus-option{background:#161b23;background:var(--surface-2);border-radius:14px;margin-bottom:10px;padding:14px 16px}.bus-option-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:9px}.bus-type-badge{background:#0d1117;background:var(--board-bg);border-radius:20px;color:#f0a83f;color:var(--board-text);font-family:var(--font-display);font-size:11.5px;font-weight:700;padding:4px 10px}.ac-badge{color:#34d6ab;color:var(--teal)}.bus-fare-tag{font-feature-settings:"tnum";color:#f2f4f7;color:var(--text);font-family:var(--font-display);font-size:17px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em}.ac-fare{color:#34d6ab;color:var(--teal)}.bus-option-info{color:#8a94a3;color:var(--text-dim);font-size:12.5px;gap:16px}.bus-book-btn,.bus-option-info{align-items:center;display:flex}.bus-book-btn{background:#11151c;background:var(--surface);border:1px solid color-mix(in srgb,#f0a83f 35%,#0000);border:1px solid color-mix(in srgb,var(--accent) 35%,#0000);border-radius:20px;color:#f0a83f;color:var(--accent);flex-shrink:0;font-family:var(--font-body);font-size:11.5px;font-weight:600;gap:4px;margin-left:auto;padding:4px 11px;text-decoration:none;transition:background-color .15s ease}.bus-book-btn:hover{background:color-mix(in srgb,#f0a83f 12%,#0000);background:color-mix(in srgb,var(--accent) 12%,#0000)}.timing-box{border-top:1px dashed #ffffff1c;border-top:1px dashed var(--line-strong);margin-top:18px;padding-top:18px;position:relative}.alt-buses-title,.stops-title,.timing-title{color:#565f6b;color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.07em;margin-bottom:12px;text-transform:uppercase}.timing-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.timing-item{background:#161b23;background:var(--surface-2);border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:11px 13px}.timing-item.full{grid-column:1/-1}.timing-label{color:#565f6b;color:var(--text-faint);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.timing-value{font-feature-settings:"tnum";color:#f2f4f7;color:var(--text);font-family:var(--font-display);font-size:14.5px;font-variant-numeric:tabular-nums;font-weight:700}.next-bus-box{align-items:baseline;background:color-mix(in srgb,#f0a83f 11%,#0000);background:color-mix(in srgb,var(--accent) 11%,#0000);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding:12px 14px}.next-bus-box.waiting{background:#161b23;background:var(--surface-2)}.next-bus-box.no_more{background:color-mix(in srgb,#f2626a 11%,#0000);background:color-mix(in srgb,var(--red) 11%,#0000)}.next-bus-label{color:#f2f4f7;color:var(--text);font-size:12.5px;font-weight:600}.next-bus-time{color:#f0a83f;color:var(--accent);font-family:var(--font-display);font-size:17px;font-weight:800;letter-spacing:-.01em}.next-bus-wait{color:#8a94a3;color:var(--text-dim);font-size:12px}.remind-btn{background:#11151c;background:var(--surface);border:1px solid color-mix(in srgb,#f0a83f 35%,#0000);border:1px solid color-mix(in srgb,var(--accent) 35%,#0000);border-radius:20px;color:#f0a83f;color:var(--accent);cursor:pointer;font-family:var(--font-body);font-size:11.5px;font-weight:600;margin-left:auto;padding:5px 12px;transition:background-color .15s ease}.remind-btn:hover{background:color-mix(in srgb,#f0a83f 12%,#0000);background:color-mix(in srgb,var(--accent) 12%,#0000)}.remind-btn:disabled{border-color:color-mix(in srgb,#34d6ab 35%,#0000);border-color:color-mix(in srgb,var(--teal) 35%,#0000);color:#34d6ab;color:var(--teal);cursor:default}.schedule-toggle{align-items:center;background:#161b23;background:var(--surface-2);border:none;border-radius:12px;color:#8a94a3;color:var(--text-dim);cursor:pointer;display:flex;font-family:var(--font-body);font-size:12.5px;font-weight:600;gap:7px;justify-content:center;margin-top:12px;padding:11px 14px;transition:background-color .15s ease,color .15s ease;width:100%}.schedule-toggle:hover{background:#1d232c;background:var(--surface-3);color:#f2f4f7;color:var(--text)}.schedule-chevron{font-size:14px;line-height:1;transition:transform .2s ease}.schedule-chevron.open{transform:rotate(180deg)}.schedule-panel{animation:ticket-in .25s ease;margin-top:12px}.schedule-note{color:#565f6b;color:var(--text-faint);font-size:11.5px;margin:0 0 10px}.schedule-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);max-height:220px;overflow-y:auto;padding-right:2px}@media (min-width:480px){.schedule-grid{grid-template-columns:repeat(4,1fr)}}.schedule-slot{font-feature-settings:"tnum";background:#161b23;background:var(--surface-2);border-radius:8px;color:#f2f4f7;color:var(--text);font-family:var(--font-display);font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:600;padding:7px 4px;text-align:center}.schedule-slot.passed{background:#0000;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.055);box-shadow:inset 0 0 0 1px var(--line);color:#565f6b;color:var(--text-faint);font-weight:500}.alt-buses{margin-top:18px}.alt-buses-list{display:flex;flex-direction:column;gap:4px}.alt-bus-item{align-items:center;border-radius:10px;display:flex;font-size:12.5px;gap:10px;justify-content:space-between;padding:9px 10px;transition:background-color .15s ease}.alt-bus-item:hover{background:#161b23;background:var(--surface-2)}.alt-bus-number{background:#0d1117;background:var(--board-bg);border-radius:6px;color:#f0a83f;color:var(--board-text);flex-shrink:0;font-family:var(--font-display);font-size:10.5px;font-weight:700;padding:3px 8px}.alt-bus-type{color:#8a94a3;color:var(--text-dim);flex:1 1}.alt-bus-fare{font-feature-settings:"tnum";color:#f2f4f7;color:var(--text);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:700}.stops-title{margin:20px 0 12px}.stops{display:flex;flex-direction:column;gap:12px}.stop{align-items:center;color:#f2f4f7;color:var(--text);display:flex;font-size:13.5px;font-weight:500;gap:11px}.stop-dot{background:#f0a83f;background:var(--accent);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,#f0a83f 18%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,#0000);flex-shrink:0;height:7px;width:7px}.transfer-note{color:#8a94a3;color:var(--text-dim);font-size:13px;line-height:1.5;margin:0 0 16px}.transfer-legs{display:flex;flex-direction:column;gap:10px}.transfer-leg{background:#161b23;background:var(--surface-2);border-radius:14px;padding:13px 15px;position:relative}.transfer-leg:not(:last-child):after{bottom:-14px;color:#565f6b;color:var(--text-faint);content:"↓";font-size:13px;left:15px;position:absolute;z-index:1}.transfer-leg-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.transfer-leg-number{background:color-mix(in srgb,#f0a83f 14%,#0000);background:color-mix(in srgb,var(--accent) 14%,#0000);border-radius:8px;color:#f0a83f;color:var(--accent);flex-shrink:0;font-size:10.5px;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase}.transfer-leg-number,.transfer-leg-route{font-family:var(--font-display);font-weight:700}.transfer-leg-route{color:#f2f4f7;color:var(--text);font-size:14px}.transfer-leg-info{align-items:center;color:#8a94a3;color:var(--text-dim);display:flex;flex-wrap:wrap;font-size:12px;gap:14px;margin-bottom:10px}.transfer-leg-btn{background:#11151c;background:var(--surface);border:1px solid color-mix(in srgb,#f0a83f 30%,#0000);border:1px solid color-mix(in srgb,var(--accent) 30%,#0000);border-radius:10px;color:#f0a83f;color:var(--accent);cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:600;padding:8px 12px;transition:background-color .15s ease;width:100%}.transfer-leg-btn:hover{background:color-mix(in srgb,#f0a83f 10%,#0000);background:color-mix(in srgb,var(--accent) 10%,#0000)}.transfer-disclaimer{color:#565f6b;color:var(--text-faint);font-size:11px;line-height:1.5;margin:16px 0 0}.not-found{background:#11151c;background:var(--surface);border-radius:24px;box-shadow:0 1px 1px #00000047,0 18px 36px -22px #000000b3,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow);margin-bottom:26px;padding:34px 24px;text-align:center}.not-found-icon{font-size:26px;margin-bottom:12px;opacity:.85}.not-found p{color:#f2f4f7;color:var(--text);font-size:14.5px;font-weight:600;margin:0 0 6px}.not-found-sub{color:#8a94a3!important;color:var(--text-dim)!important;font-size:13px!important;font-weight:450!important}.ask-ai-btn{background:linear-gradient(180deg,#ffc266,#f0a83f);background:linear-gradient(180deg,var(--accent-strong),var(--accent));border:none;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff24,0 10px 22px -10px #f0a83f80;box-shadow:var(--shadow-btn);color:#241503;color:var(--accent-ink);cursor:pointer;font-family:var(--font-display);font-size:13.5px;font-weight:700;margin-top:16px;padding:12px 20px;transition:filter .15s ease,transform .12s ease}.ask-ai-btn:hover{filter:brightness(1.05)}.ask-ai-btn:active{transform:scale(.98)}.nearby-section{margin-bottom:26px}.nearby-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.nearby-header .quick-title{margin-bottom:0}.locate-btn{background:#11151c;background:var(--surface);border:none;border-radius:10px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);color:#f2f4f7;color:var(--text);cursor:pointer;font-size:12.5px;font-weight:600;padding:8px 14px;transition:box-shadow .15s ease}.locate-btn:hover{box-shadow:0 1px 1px #00000047,0 18px 36px -22px #000000b3,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow)}.location-error{color:#f2626a;color:var(--red);font-size:12.5px;margin:0 0 10px}.nearby-stops{display:flex;flex-direction:column;gap:8px}.nearby-stop{background:#11151c;background:var(--surface);border-radius:14px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);cursor:pointer;padding:13px 15px;transition:box-shadow .15s ease,transform .15s ease}.nearby-stop:hover{box-shadow:0 1px 1px #00000047,0 18px 36px -22px #000000b3,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow);transform:translateY(-2px)}.nearby-stop-info{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:7px}.nearby-stop-name{color:#f2f4f7;color:var(--text);font-size:13.5px;font-weight:700}.nearby-stop-distance{color:#565f6b;color:var(--text-faint);font-size:11px;font-weight:500}.nearby-stop-routes{display:flex;flex-wrap:wrap;gap:6px}.nearby-route-badge{background:#0d1117;background:var(--board-bg);border-radius:5px;color:#f0a83f;color:var(--board-text);font-family:var(--font-display);font-size:10px;font-weight:700;padding:2px 7px}.map-container{border-radius:24px;box-shadow:0 1px 1px #00000047,0 18px 36px -22px #000000b3,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow);height:260px;margin-bottom:26px;overflow:hidden}@media (min-width:720px){.map-container{height:340px}}.quick-routes{margin-bottom:26px}.quick-title{color:#565f6b;color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.07em;margin:0 0 12px;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:8px}.trail-sub{color:#8a94a3;color:var(--text-dim);font-size:12px;margin:-6px 0 10px}.trail-note{color:#565f6b;color:var(--text-faint);font-size:11.5px;line-height:1.5;margin:10px 0 0}.tips-panel{gap:14px}.tip-block,.tips-panel{display:flex;flex-direction:column}.tip-block{gap:4px}.tip-heading{color:#f2f4f7;color:var(--text);font-family:var(--font-display);font-size:13px;font-weight:700;margin:0}.tip-text{line-height:1.55;margin:0}.chip,.tip-text{color:#8a94a3;color:var(--text-dim);font-size:12.5px}.chip{align-items:center;background:#11151c;background:var(--surface);border:none;border-radius:20px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-weight:600;gap:6px;padding:9px 14px;transition:color .15s ease,box-shadow .15s ease,background-color .15s ease}.chip:hover{box-shadow:0 1px 1px #00000047,0 18px 36px -22px #000000b3,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow);color:#f0a83f;color:var(--accent)}.favorite-chip{padding-right:8px}.count-badge{background:#1d232c;background:var(--surface-3);border-radius:10px;color:#8a94a3;color:var(--text-dim);font-size:10px;font-weight:700;padding:1px 6px}.remove-fav{color:#565f6b;color:var(--text-faint);font-size:11px;margin-left:2px;padding:2px}.remove-fav:hover{color:#f2626a;color:var(--red)}.chat-section{margin-bottom:8px}.chat-box{background:#11151c;background:var(--surface);border-radius:24px;box-shadow:0 1px 1px #00000047,0 18px 36px -22px #000000b3,0 0 0 1px hsla(0,0%,100%,.055);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;margin-bottom:12px;max-height:320px;min-height:140px;overflow-y:auto;padding:16px}.chat-placeholder{color:#565f6b;color:var(--text-faint);font-size:13px;margin:auto;text-align:center}.chat-msg{display:flex}.chat-msg p{border-radius:14px;font-size:13.5px;line-height:1.55;margin:0;max-width:88%;padding:11px 14px;white-space:pre-wrap}.chat-msg.user{justify-content:flex-end}.chat-msg.user p{background:#f0a83f;background:var(--accent);color:#241503;color:var(--accent-ink);font-weight:500}.chat-msg.assistant p{background:#161b23;background:var(--surface-2);color:#f2f4f7;color:var(--text)}.chat-input-row{display:flex;gap:8px}.chat-input-row input{background:#161b23;background:var(--surface-2);border:1px solid #0000;border-radius:14px;color:#f2f4f7;color:var(--text);flex:1 1;font-family:var(--font-body);font-size:14px;outline:none;padding:13px 15px;transition:border-color .15s ease,background-color .15s ease}.chat-input-row input:focus{background:#11151c;background:var(--surface);border-color:color-mix(in srgb,#f0a83f 55%,#0000);border-color:color-mix(in srgb,var(--accent) 55%,#0000)}.chat-input-row input::placeholder{color:#565f6b;color:var(--text-faint)}.chat-input-row button{background:linear-gradient(180deg,#ffc266,#f0a83f);background:linear-gradient(180deg,var(--accent-strong),var(--accent));border:none;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff24,0 10px 22px -10px #f0a83f80;box-shadow:var(--shadow-btn);color:#241503;color:var(--accent-ink);cursor:pointer;font-family:var(--font-display);font-size:13.5px;font-weight:700;padding:0 20px;transition:filter .15s ease}.chat-input-row button:hover{filter:brightness(1.05)}.chip:focus-visible,.swap-btn:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #f0a83f;outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.home-hero-photo{align-items:flex-end;background-position:50%;background-size:cover;border-radius:24px;box-shadow:var(--shadow-lg);display:flex;margin-bottom:26px;min-height:380px;overflow:hidden;position:relative}.home-hero-overlay{background:linear-gradient(180deg,#0a0d1247,#0a0d1294 55%,#0a0d12ed);inset:0;position:absolute;z-index:1}[data-theme=light] .home-hero-overlay{background:linear-gradient(180deg,#0a0d125c,#0a0d129e 55%,#0a0d12f2)}.home-hero-content{padding:32px 22px 28px;position:relative;width:100%;z-index:2}@keyframes home-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.home-eyebrow{align-items:center;animation:home-fade-up .6s cubic-bezier(.16,1,.3,1) both;backdrop-filter:blur(8px) saturate(1.3);-webkit-backdrop-filter:blur(8px) saturate(1.3);background:#0a0d1280;border-radius:20px;box-shadow:inset 0 0 0 1px #ffffff24;color:var(--accent-strong);display:inline-flex;font-family:var(--font-display);font-size:11px;font-weight:700;gap:7px;letter-spacing:.09em;margin-bottom:14px;padding:7px 13px;text-shadow:0 1px 3px #00000080;text-transform:uppercase}.home-eyebrow:before{background:var(--accent);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,#0000);content:"";flex-shrink:0;height:6px;width:6px}.home-hero-content h1{animation:home-fade-up .7s cubic-bezier(.16,1,.3,1) .08s both;color:#fff;font-family:var(--font-display);font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.14;margin:0 0 10px;text-shadow:0 2px 12px #00000059}.home-hero-content h1 span{background:linear-gradient(95deg,var(--accent-strong),var(--accent));-webkit-background-clip:text;background-clip:text;color:#0000}.home-hero-content p{animation:home-fade-up .7s cubic-bezier(.16,1,.3,1) .16s both;color:#ffffffdb;font-size:14.5px;font-weight:450;margin:0 0 20px;max-width:46ch;text-shadow:0 1px 6px #0000004d}.home-hero-actions{animation:home-fade-up .7s cubic-bezier(.16,1,.3,1) .24s both;display:flex;flex-wrap:wrap;gap:10px}.home-cta-primary,.home-cta-secondary{align-items:center;border-radius:12px;display:flex;font-family:var(--font-display);font-size:13.5px;font-weight:700;gap:7px;padding:12px 18px;text-decoration:none;transition:filter .15s ease,transform .15s ease,background-color .15s ease,box-shadow .15s ease}.home-cta-primary{background:linear-gradient(180deg,var(--accent-strong),var(--accent));box-shadow:var(--shadow-btn);color:var(--accent-ink)}.home-cta-primary:hover{filter:brightness(1.05);transform:translateY(-2px)}.home-cta-primary:active{transform:scale(.98)}.home-cta-secondary{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff40;color:#fff}.home-cta-secondary:hover{background:#fff3;transform:translateY(-2px)}.home-cta-secondary:active{transform:scale(.98)}@media (min-width:720px){.home-hero-photo{min-height:440px}.home-hero-content{padding:44px 36px 36px}.home-hero-content h1{font-size:40px}}.home-scroll-indicator{align-items:center;animation:home-scroll-bounce 1.8s ease-in-out infinite;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffff1f;border-radius:50%;bottom:14px;color:#ffffffd9;display:flex;height:30px;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);width:30px;z-index:2}@keyframes home-scroll-bounce{0%,to{opacity:.7;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(5px)}}.home-features{display:flex;flex-direction:column;gap:16px;margin-bottom:30px}@media (min-width:720px){.home-features{flex-direction:row}}.home-feature-card{background:var(--surface);border-radius:20px;box-shadow:var(--shadow);color:var(--text);display:block;flex:1 1;opacity:0;overflow:hidden;text-decoration:none;transform:translateY(18px);transition:box-shadow .22s ease,opacity .5s ease,transform .5s ease}.home-feature-card.is-revealed{opacity:1;transform:translateY(0);transition-delay:0s;transition-delay:var(--reveal-delay,0s)}.home-feature-card:hover{box-shadow:var(--shadow-lg)}.home-feature-tilt{transform-style:preserve-3d;transition:transform .15s ease-out}.home-feature-photo{align-items:flex-end;background-position:50%;background-size:cover;display:flex;height:140px;padding:12px;position:relative;transition:transform .5s cubic-bezier(.16,1,.3,1)}.home-feature-card:hover .home-feature-photo{transform:scale(1.07)}.home-feature-photo:before{background:linear-gradient(180deg,#0a0d1200 40%,#0a0d128c);content:"";inset:0;position:absolute}.home-feature-shine{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:1}.home-feature-shine:after{background:linear-gradient(100deg,#0000 30%,#ffffff59 50%,#0000 70%);content:"";height:200%;left:-60%;position:absolute;top:-50%;transform:translateX(-40%) rotate(8deg);transition:transform .65s ease;width:40%}.home-feature-card:hover .home-feature-shine:after{transform:translateX(320%) rotate(8deg)}.home-feature-icon{align-items:center;background:var(--feature-accent);border-radius:10px;box-shadow:0 4px 10px -4px #00000080;color:#16110a;display:flex;height:36px;justify-content:center;position:relative;transition:transform .3s cubic-bezier(.16,1,.3,1);width:36px;z-index:1}.home-feature-card:hover .home-feature-icon{transform:scale(1.1) rotate(-4deg)}.home-feature-body{padding:16px 18px 20px}.home-feature-body h3{color:var(--text);font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}.home-feature-body p{color:var(--text-dim);font-size:12.5px;line-height:1.55;margin:0 0 12px}.home-feature-cta{align-items:center;color:var(--feature-accent);display:inline-flex;font-family:var(--font-display);font-size:12.5px;font-weight:700;gap:4px;transition:gap .2s ease}.home-feature-card:hover .home-feature-cta{gap:8px}.home-footer{color:var(--text-faint);font-size:12px;margin-top:10px;text-align:center}@media (prefers-reduced-motion:reduce){.home-eyebrow,.home-hero-actions,.home-hero-content h1,.home-hero-content p,.home-scroll-indicator{animation:none!important}.home-cta-primary:hover,.home-cta-secondary:hover,.home-feature-card,.home-feature-card:hover,.home-feature-card:hover .home-feature-icon,.home-feature-card:hover .home-feature-photo,.home-feature-shine:after{transform:none!important}.home-feature-card{opacity:1!important;transition:none!important}}.lankora-nav{grid-gap:10px;align-items:center;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);background:color-mix(in srgb,var(--bg) 80%,#0000);border-bottom:1px solid var(--line);display:grid;gap:10px;grid-template-columns:1fr auto 1fr;margin:-22px -18px 26px;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:40}@media (min-width:720px){.lankora-nav{margin:-40px -28px 32px;padding:14px 28px}}.lankora-nav-brand{align-items:center;color:var(--text);display:flex;flex-direction:row;flex-shrink:0;gap:10px;justify-self:start;text-decoration:none}.lankora-nav-logo{border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff14;flex-shrink:0;height:26px;object-fit:cover;width:26px}.lankora-wordmark{align-items:center;color:var(--text);display:flex;font-family:var(--font-display);font-size:13px;font-weight:800;letter-spacing:.02em;line-height:1}.lankora-o-icon{background:linear-gradient(180deg,var(--accent-strong),var(--accent));border-radius:50%;display:inline-block;flex-shrink:0;height:11px;margin:0 1px;position:relative;vertical-align:middle;width:11px}.lankora-o-icon:after{background:#1a1206;border-radius:50% 50% 50% 0;content:"";height:5px;left:50%;position:absolute;top:50%;transform:translate(-50%,-62%) rotate(-45deg);width:5px}@media (min-width:480px){.lankora-nav-logo{height:30px;width:30px}.lankora-wordmark{font-size:15px}.lankora-o-icon{height:13px;width:13px}.lankora-o-icon:after{height:6px;width:6px}}.lankora-nav-links{align-items:center;background:var(--surface);border-radius:24px;box-shadow:var(--shadow-sm);display:flex;flex-shrink:0;gap:2px;justify-self:center;padding:4px}.lankora-nav-link{align-items:center;border-radius:18px;color:var(--text-dim);display:flex;font-family:var(--font-body);font-size:12px;font-weight:600;gap:5px;padding:7px 10px;text-decoration:none;transition:color .15s ease,background-color .15s ease}.lankora-nav-link span{display:none}@media (min-width:480px){.lankora-nav-link span{display:inline}}.lankora-nav-link:hover{color:var(--text)}.lankora-nav-link.active{background:linear-gradient(180deg,var(--accent-strong),var(--accent));color:var(--accent-ink)}.lankora-nav-extra{align-items:center;display:flex;flex-shrink:0;justify-self:end}.nav-more{position:relative}.nav-more-trigger{align-items:center;background:var(--surface);border:none;border-radius:50%;box-shadow:var(--shadow-sm);color:var(--text-dim);cursor:pointer;display:flex;height:34px;justify-content:center;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease;width:34px}.nav-more-trigger:hover{box-shadow:var(--shadow);color:var(--text)}.nav-more-panel{animation:nav-more-in .15s ease;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-lg);min-width:190px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:50}@keyframes nav-more-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-more-row{align-items:center;background:none;border:none;border-radius:10px;color:var(--text);cursor:pointer;display:flex;gap:9px;padding:10px;text-align:left;transition:background-color .15s ease;width:100%}.nav-more-row-icon,.nav-more-row:hover{background:var(--surface-2)}.nav-more-row-icon{align-items:center;border-radius:7px;color:var(--accent);display:flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.nav-more-row-label{flex:1 1;font-family:var(--font-body);font-size:13px;font-weight:500}.nav-more-row-value{color:var(--text-faint);font-family:var(--font-display);font-size:11.5px;font-weight:700}.trust-section{margin-bottom:26px}.trust-stats-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}@media (min-width:480px){.trust-stats-row{grid-template-columns:repeat(4,1fr)}}.trust-stat{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:16px 12px;text-align:center}.trust-stat-number{font-feature-settings:"tnum";color:var(--accent);font-family:var(--font-display);font-size:24px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.01em}.trust-stat-label{color:var(--text-faint);font-size:10.5px;font-weight:600;letter-spacing:.04em;margin-top:4px;text-transform:uppercase}.trust-average-row{align-items:center;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;gap:12px;justify-content:center;margin-bottom:16px;padding:14px 16px}.trust-average-number{font-feature-settings:"tnum";color:var(--accent);font-family:var(--font-display);font-size:28px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.01em}.trust-average-stars{align-items:center;display:flex;flex-wrap:wrap;gap:3px}.trust-star-icon-lg{height:17px;width:17px}.trust-average-count{color:var(--text-faint);font-size:11.5px;font-weight:500;margin-left:6px}.trust-testimonial-text-muted{color:var(--text-faint);font-style:italic}.trust-testimonials-area{min-height:150px}.trust-testimonial-card{animation:trust-fade-in .35s ease;background:var(--surface);border-radius:20px;box-shadow:var(--shadow);padding:22px 20px}@keyframes trust-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.trust-quote-icon{color:color-mix(in srgb,var(--accent) 55%,#0000);height:26px;margin-bottom:8px;width:26px}.trust-testimonial-text{color:var(--text);font-size:14.5px;font-weight:450;line-height:1.6;margin:0 0 16px}.trust-testimonial-footer{align-items:center;display:flex;gap:10px;justify-content:space-between}.trust-testimonial-name{color:var(--text);font-family:var(--font-display);font-size:13.5px;font-weight:700}.trust-testimonial-location{color:var(--text-faint);font-size:11.5px;margin-top:1px}.trust-stars{display:flex;gap:2px}.trust-star-icon{color:var(--accent);height:14px;width:14px}.trust-dots{display:flex;gap:6px;justify-content:center;margin-top:14px}.trust-dot{background:var(--line-strong);border:none;border-radius:50%;cursor:pointer;height:6px;padding:0;transition:background-color .2s ease,transform .2s ease;width:6px}.trust-dot.active{background:var(--accent);transform:scale(1.3)}.trust-see-all-link{color:var(--accent);display:block;font-family:var(--font-display);font-size:12.5px;font-weight:700;margin-top:14px;text-align:center;text-decoration:none}.trust-see-all-link:hover{text-decoration:underline}.trust-empty-card{background:var(--surface);border:1px dashed var(--line-strong);border-radius:20px;padding:28px 20px;text-align:center}.trust-quote-icon-empty{color:var(--text-faint);margin-bottom:10px}.trust-empty-title{color:var(--text);font-family:var(--font-display);font-size:14.5px;font-weight:700;margin:0 0 6px}.trust-empty-sub{color:var(--text-dim);font-size:12.5px;line-height:1.5;margin:0 auto 16px;max-width:320px}.trust-empty-cta{background:linear-gradient(180deg,var(--accent-strong),var(--accent));border:none;border-radius:14px;box-shadow:var(--shadow-btn);color:var(--accent-ink);cursor:pointer;font-family:var(--font-display);font-size:13px;font-weight:700;padding:11px 20px;transition:filter .15s ease,transform .12s ease}.trust-empty-cta:hover{filter:brightness(1.05)}.trust-empty-cta:active{transform:scale(.98)}.feedback-fab{align-items:center;background:linear-gradient(180deg,var(--accent-strong),var(--accent));border:none;border-radius:50%;bottom:20px;box-shadow:var(--shadow-btn),var(--shadow-lg);color:var(--accent-ink);cursor:pointer;display:flex;height:52px;justify-content:center;position:fixed;right:20px;transition:transform .15s ease,filter .15s ease;width:52px;z-index:90}.feedback-fab:hover{filter:brightness(1.05)}.feedback-fab:active{transform:scale(.94)}.feedback-fab-icon{stroke-width:1.7;height:22px;width:22px}.feedback-overlay{align-items:flex-end;animation:feedback-fade-in .18s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#06080b8c;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}@media (min-width:560px){.feedback-overlay{align-items:center}}@keyframes feedback-fade-in{0%{opacity:0}to{opacity:1}}.feedback-modal{animation:feedback-slide-up .25s cubic-bezier(.16,1,.3,1);background:var(--surface);border-radius:22px 22px 0 0;box-shadow:var(--shadow-lg);color:var(--text);max-height:88vh;max-width:420px;overflow-y:auto;padding:20px 20px 24px;width:100%}@media (min-width:560px){.feedback-modal{border-radius:22px;margin-bottom:0}}@keyframes feedback-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.feedback-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.feedback-modal-header h3{color:var(--text);font-family:var(--font-display);font-size:17px;font-weight:800;margin:0}.feedback-close-btn{align-items:center;background:var(--surface-2);border:none;border-radius:50%;color:var(--text-dim);cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:background-color .15s ease,color .15s ease;width:30px}.feedback-close-btn:hover{background:var(--surface-3);color:var(--text)}.feedback-close-icon{height:14px;width:14px}.feedback-field{margin-bottom:14px}.feedback-field label{color:var(--text-faint);display:block;font-size:11.5px;font-weight:700;letter-spacing:.05em;margin-bottom:7px;text-transform:uppercase}.feedback-field input,.feedback-field textarea{background:var(--surface-2);border:1px solid #0000;border-radius:12px;color:var(--text);font-family:var(--font-body);font-size:14px;outline:none;padding:12px 13px;resize:vertical;transition:border-color .15s ease,background-color .15s ease;width:100%}.feedback-field input:focus,.feedback-field textarea:focus{background:var(--surface);border-color:color-mix(in srgb,var(--accent) 55%,#0000)}.feedback-field input::placeholder,.feedback-field textarea::placeholder{color:var(--text-faint)}.feedback-star-row{display:flex;gap:4px}.feedback-star-row-lg{gap:8px;justify-content:center;padding:8px 0 4px}.feedback-star-btn{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:2px;transition:color .12s ease,transform .1s ease}.feedback-star-btn:hover{transform:scale(1.15)}.feedback-star-icon{color:inherit;height:26px;width:26px}.feedback-star-row-lg .feedback-star-icon{height:36px;width:36px}.feedback-star-icon.filled{color:var(--accent)}.feedback-error{color:var(--red);font-size:12.5px;margin:0 0 12px}.feedback-submit-btn{background:linear-gradient(180deg,var(--accent-strong),var(--accent));border:none;border-radius:14px;box-shadow:var(--shadow-btn);color:var(--accent-ink);cursor:pointer;font-family:var(--font-display);font-size:14.5px;font-weight:700;padding:14px 16px;transition:filter .15s ease,transform .12s ease;width:100%}.feedback-submit-btn:hover:not(:disabled){filter:brightness(1.05)}.feedback-submit-btn:active:not(:disabled){transform:scale(.98)}.feedback-submit-btn:disabled{cursor:default;opacity:.65}.feedback-success{align-items:center;display:flex;flex-direction:column;gap:10px;padding:10px 0 4px;text-align:center}.feedback-success-icon{color:var(--teal);height:44px;width:44px}.feedback-success p{color:var(--text);font-size:14px;font-weight:500;margin:0}.feedback-done-btn{margin-top:10px}.hero-slideshow{inset:0;overflow:hidden;position:absolute;z-index:0}.hero-slideshow-slide{background-position:50%;background-size:cover;inset:0;opacity:0;position:absolute;transform:scale(1);transition:opacity 1.6s ease}.hero-slideshow-slide.active{animation:hero-slide-zoom 6.5s ease-out forwards;opacity:1;z-index:1}@keyframes hero-slide-zoom{0%{transform:scale(1)}to{transform:scale(1.09)}}@media (prefers-reduced-motion:reduce){.hero-slideshow-slide{animation:none!important;transition:opacity .3s ease}}.route-map{background:var(--board-bg);inset:0;overflow:hidden;perspective:900px;position:absolute}.route-map-svg{display:block;height:100%;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.16,1,.3,1);width:100%;will-change:transform}.route-map-island{fill:color-mix(in srgb,var(--accent) 7%,#0000);stroke:color-mix(in srgb,var(--accent) 28%,#0000);stroke-width:1.5}.route-map-particle{fill:var(--accent);animation:route-map-particle-drift 9s ease-in-out infinite;animation:route-map-particle-drift var(--dur,9s) ease-in-out infinite;animation-delay:0s;animation-delay:var(--delay,0s);opacity:0}@keyframes route-map-particle-drift{0%{opacity:0;transform:translateY(0)}15%{opacity:.55}50%{opacity:.25;transform:translateY(-16px)}85%{opacity:.55}to{opacity:0;transform:translateY(-28px)}}.route-map-content{opacity:1;transition:opacity .5s ease}.route-map-content.is-fading{opacity:0}.route-map-line{stroke:url(#rm-route-gradient);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:260;stroke-dasharray:var(--dash-length,260);stroke-dashoffset:260;stroke-dashoffset:var(--dash-length,260);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent-strong) 60%,transparent))}.route-map-line,.route-map-line-bloom{fill:none;animation:route-map-draw 4.5s ease-in-out infinite}.route-map-line-bloom{stroke:var(--accent-strong);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:260;stroke-dasharray:var(--dash-length,260);stroke-dashoffset:260;stroke-dashoffset:var(--dash-length,260);filter:url(#rm-bloom);opacity:.45}@keyframes route-map-draw{0%{stroke-dashoffset:260;stroke-dashoffset:var(--dash-length,260);opacity:.4}55%{stroke-dashoffset:0;opacity:1}85%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-260;stroke-dashoffset:calc(var(--dash-length, 260)*-1);opacity:0}}.route-map-flow{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:2 14;animation:route-map-flow-move 1.6s linear infinite;opacity:.85}@keyframes route-map-flow-move{to{stroke-dashoffset:-32}}.route-map-marker{animation:route-map-marker-in .6s ease forwards;animation-delay:inherit;opacity:0}@keyframes route-map-marker-in{0%{opacity:0}to{opacity:1}}.route-map-marker-ring{fill:none;stroke:color-mix(in srgb,var(--accent-strong) 55%,#0000);stroke-width:1;stroke-dasharray:3 4;animation:route-map-ring-spin 6s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes route-map-ring-spin{to{transform:rotate(1turn)}}.route-map-marker-dot{fill:var(--accent-strong);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent-strong) 80%,transparent))}.route-map-marker-pulse{fill:none;stroke:var(--accent-strong);stroke-width:1.4;animation:route-map-pulse 2.4s ease-out infinite;opacity:0;transform-box:fill-box;transform-origin:center}@keyframes route-map-pulse{0%{opacity:.7;transform:scale(.5)}70%{opacity:0;transform:scale(2.3)}to{opacity:0;transform:scale(2.3)}}.route-map-label-bg{fill:#0a0d128c;stroke:color-mix(in srgb,var(--accent-strong) 35%,#0000);stroke-width:.75}.route-map-label{fill:#fffffff2;font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.01em}.route-map-bus{animation:route-map-bus-fade 9s ease-in-out infinite}@keyframes route-map-bus-fade{0%{opacity:0}4%{opacity:1}92%{opacity:1}to{opacity:0}}.route-map-bus-bounce{animation:route-map-bus-bounce .9s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}@keyframes route-map-bus-bounce{0%{transform:translateY(0)}to{transform:translateY(-.6px)}}.route-map-bus-body{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.route-map-wheel-spin{animation:route-map-wheel-spin .6s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes route-map-wheel-spin{to{transform:rotate(1turn)}}.route-map-bus-shine{animation:route-map-shine-sweep 3.5s ease-in-out infinite;transform-box:fill-box}@keyframes route-map-shine-sweep{0%{opacity:0;transform:translateX(0)}10%{opacity:.6}45%{opacity:.6;transform:translateX(46px)}55%{opacity:0}to{opacity:0;transform:translateX(46px)}}@media (prefers-reduced-motion:reduce){.route-map-svg{transform:none!important;transition:none}.route-map-bus,.route-map-bus-bounce,.route-map-bus-shine,.route-map-flow,.route-map-line,.route-map-line-bloom,.route-map-marker-pulse,.route-map-marker-ring,.route-map-particle,.route-map-wheel-spin{animation:none}.route-map-line{stroke-dashoffset:0;opacity:1}.route-map-marker{opacity:1}.route-map-content{transition:none}}.featured-carousel{border-radius:16px;box-shadow:0 8px 24px #00000040;height:320px;margin:0 0 32px;max-width:100%;overflow:hidden;position:relative;width:100%}.carousel-track{height:100%;position:relative;width:100%}.carousel-slide{inset:0;pointer-events:none;position:absolute;transition:opacity .8s ease-in-out}.carousel-slide.active{pointer-events:auto}.carousel-slide img{display:block;height:100%;object-fit:cover;width:100%}.carousel-caption{background:linear-gradient(0deg,#0a0c10d9 0,#0a0c1000);bottom:0;left:0;padding:20px 24px;position:absolute;right:0}.carousel-caption h3{color:#fff;font-family:Sora,sans-serif;font-size:1.4rem;margin:0 0 4px}.carousel-caption p{color:#f5a623;font-family:Inter,sans-serif;font-size:.95rem;margin:0}.carousel-dots{bottom:12px;display:flex;gap:8px;position:absolute;right:20px;z-index:2}.carousel-dot{background:#fff6;border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:all .3s ease;width:8px}.carousel-dot.active{background:#f5a623;border-radius:4px;width:22px}[data-theme=light] .carousel-caption{background:linear-gradient(0deg,#ffffffe6 0,#fff0)}[data-theme=light] .carousel-caption h3{color:#1c1f26}@media (max-width:600px){.featured-carousel{border-radius:12px;height:220px}.carousel-caption h3{font-size:1.1rem}}.back-link{align-items:center;color:var(--text);display:flex;font-family:var(--font-display);font-size:14px;font-weight:700;gap:6px;text-decoration:none}.back-link .icon{height:18px;width:18px}.back-link:hover{color:var(--accent)}.category-tabs{display:flex;gap:8px;margin-bottom:22px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab{background:var(--surface);border:none;border-radius:20px;box-shadow:var(--shadow-sm);color:var(--text-dim);cursor:pointer;flex-shrink:0;font-family:var(--font-body);font-size:12.5px;font-weight:600;padding:9px 16px;transition:color .15s ease,box-shadow .15s ease}.category-tab.active{box-shadow:var(--shadow),inset 0 0 0 1.5px var(--accent);box-shadow:var(--shadow),inset 0 0 0 1.5px var(--tab-accent,var(--accent));color:var(--accent);color:var(--tab-accent,var(--accent))}.place-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr;margin-bottom:30px}@media (min-width:640px){.place-grid{grid-template-columns:1fr 1fr}}.place-card{background:var(--surface);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;padding:18px;position:relative}.place-card:before{background:var(--accent);background:var(--place-accent,var(--accent));content:"";height:4px;left:0;position:absolute;right:0;top:0}.place-card-top{margin-bottom:10px}.place-district{color:var(--accent);color:var(--place-accent,var(--accent));font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.place-name{color:var(--text);font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:-.01em;margin:0 0 8px}.place-blurb{color:var(--text-dim);font-size:13px;line-height:1.6;margin:0 0 10px}.place-tip{align-items:flex-start;background:color-mix(in srgb,var(--accent) 10%,#0000);background:color-mix(in srgb,var(--place-accent,var(--accent)) 10%,#0000);border-radius:10px;color:var(--accent);color:var(--place-accent,var(--accent));display:flex;font-size:12px;gap:6px;line-height:1.5;margin:0 0 14px;padding:8px 10px}.place-tip .icon-xs{flex-shrink:0;margin-top:1px}.place-actions{display:flex;flex-wrap:wrap;gap:6px}.place-action-btn,.place-bus-btn{align-items:center;background:var(--surface-2);border-radius:10px;color:var(--text);display:inline-flex;flex:1 1;font-size:12px;font-weight:600;gap:5px;justify-content:center;padding:8px 11px;text-decoration:none;transition:background-color .15s ease;white-space:nowrap}.place-bus-btn{background:var(--accent);background:var(--place-accent,var(--accent));color:#fff;flex:1.3 1}.place-bus-btn:hover{filter:brightness(1.08)}.place-action-btn:hover{background:var(--surface-3)}.booking-section{margin-bottom:26px}.booking-cards{display:flex;flex-direction:column;gap:10px}@media (min-width:480px){.booking-cards{flex-direction:row}}.booking-card{align-items:center;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);color:var(--text);display:flex;flex:1 1;gap:12px;padding:14px 16px;text-decoration:none;transition:box-shadow .15s ease}.booking-card:not(.disabled):hover{box-shadow:var(--shadow)}.booking-card .icon{color:var(--accent);flex-shrink:0;height:24px;width:24px}.booking-card strong{display:block;font-family:var(--font-display);font-size:13.5px}.booking-card small{color:var(--text-faint);display:block;font-size:11.5px;margin-top:2px}.booking-card.disabled{cursor:default;opacity:.55}.explore-footer{color:var(--text-faint);font-size:12px;padding-bottom:20px;text-align:center}.explore-footer a{color:var(--accent);font-weight:600;text-decoration:none}.explore-search-wrap{margin-bottom:18px}.explore-search-group{align-items:center;background:var(--surface);border:1px solid #0000;border-radius:16px;box-shadow:var(--shadow-sm);display:flex;gap:10px;padding:13px 16px;transition:border-color .15s ease,box-shadow .15s ease}.explore-search-group:focus-within{border-color:color-mix(in srgb,var(--accent) 50%,#0000);box-shadow:var(--shadow)}.explore-search-group input{background:#0000;border:none;color:var(--text);flex:1 1;font-family:var(--font-body);font-size:14.5px;font-weight:500;outline:none}.explore-search-group input::placeholder{color:var(--text-faint)}.explore-search-clear{align-items:center;background:var(--surface-2);border:none;border-radius:50%;color:var(--text-dim);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:22px;justify-content:center;width:22px}.explore-search-clear:hover{background:var(--surface-3);color:var(--text)}.explore-search-results-label{color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.07em;margin:0 0 12px;text-transform:uppercase}.explore-search-empty{color:var(--text-dim);font-size:13.5px;padding:30px 10px;text-align:center}.explore-pagination{align-items:center;display:flex;gap:14px;justify-content:center;margin:18px 0 8px}.explore-page-btn{align-items:center;background:var(--surface);border:none;border-radius:20px;box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;display:flex;font-family:var(--font-body);font-size:13px;font-weight:600;gap:5px;padding:9px 16px;transition:box-shadow .15s ease,opacity .15s ease}.explore-page-btn:hover:not(:disabled){box-shadow:var(--shadow)}.explore-page-btn:disabled{cursor:default;opacity:.35}.explore-page-indicator{color:var(--text-faint);font-family:var(--font-display);font-size:12px;font-weight:700;min-width:52px;text-align:center}.explore-result-category-tag{background:color-mix(in srgb,var(--place-accent) 14%,#0000);border-radius:8px;color:var(--place-accent);display:inline-block;font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.03em;margin-bottom:8px;padding:3px 9px}.category-tabs{flex-wrap:wrap!important;row-gap:8px}.book-options{display:flex;flex-direction:column;gap:14px;margin-bottom:30px}.book-option-card{align-items:flex-start;background:var(--surface);border-radius:20px;box-shadow:var(--shadow);color:var(--text);display:flex;gap:16px;padding:20px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.book-option-card:not(.disabled):hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.book-option-card.disabled{cursor:default;opacity:.6}.book-option-icon{align-items:center;background:color-mix(in srgb,var(--book-accent) 16%,#0000);border-radius:14px;color:var(--book-accent);display:flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.book-option-body{flex:1 1;min-width:0}.book-option-body h3{color:var(--text);font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}.book-option-body p{color:var(--text-dim);font-size:13px;line-height:1.55;margin:0 0 12px}.book-option-cta{align-items:center;color:var(--book-accent);display:inline-flex;font-family:var(--font-display);font-size:12.5px;font-weight:700;gap:5px}.book-footer,.book-option-soon{color:var(--text-faint)}.book-footer{font-size:12px;margin-top:10px;text-align:center}.reviews-page{padding-top:22px}.reviews-back-link{align-items:center;color:var(--text-dim);display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-bottom:18px;text-decoration:none;transition:color .15s ease}.reviews-back-link:hover{color:var(--accent)}.reviews-back-icon{height:15px;width:15px}.reviews-title{color:var(--text);font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.reviews-subtitle{color:var(--text-dim);font-size:13.5px;margin:0 0 22px}.reviews-loading{color:var(--text-faint);font-size:13.5px;padding:40px 0;text-align:center}.reviews-summary-card{background:var(--surface);border-radius:20px;box-shadow:var(--shadow-lg);display:flex;flex-wrap:wrap;gap:24px;margin-bottom:16px;padding:22px 20px}.reviews-summary-left{align-items:center;display:flex;flex-direction:column;gap:6px;min-width:110px}.reviews-summary-number{color:var(--accent);font-family:var(--font-display);font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1}.reviews-summary-count{color:var(--text-faint);font-size:12px;font-weight:500}.reviews-stars{display:flex;gap:2px}.reviews-stars-sm .reviews-star-icon{height:13px;width:13px}.reviews-stars-lg .reviews-star-icon{height:18px;width:18px}.reviews-star-icon{color:var(--accent)}.reviews-breakdown{display:flex;flex:1 1;flex-direction:column;gap:6px;justify-content:center;min-width:160px}.reviews-breakdown-row{align-items:center;display:flex;gap:8px}.reviews-breakdown-label{color:var(--text-faint);flex-shrink:0;font-size:11px;font-weight:600;width:26px}.reviews-breakdown-bar-track{background:var(--surface-2);border-radius:4px;flex:1 1;height:6px;overflow:hidden}.reviews-breakdown-bar-fill{background:linear-gradient(90deg,var(--accent-strong),var(--accent));border-radius:4px;height:100%;transition:width .4s ease}.reviews-breakdown-count{font-feature-settings:"tnum";color:var(--text-faint);flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;text-align:right;width:18px}.reviews-rate-btn{background:linear-gradient(180deg,var(--accent-strong),var(--accent));border:none;border-radius:14px;box-shadow:var(--shadow-btn);color:var(--accent-ink);cursor:pointer;font-family:var(--font-display);font-size:13.5px;font-weight:700;padding:12px 20px;transition:filter .15s ease,transform .12s ease}.reviews-rate-btn:hover{filter:brightness(1.05)}.reviews-rate-btn:active{transform:scale(.98)}.reviews-rate-btn-full{margin-bottom:22px;width:100%}.reviews-empty-card{background:var(--surface);border:1px dashed var(--line-strong);border-radius:20px;padding:34px 20px;text-align:center}.reviews-empty-title{color:var(--text);font-family:var(--font-display);font-size:15px;font-weight:700;margin:0 0 6px}.reviews-empty-sub{color:var(--text-dim);font-size:13px;margin:0 0 18px}.reviews-list{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}.reviews-row{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:16px 18px}.reviews-row-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.reviews-row-name{color:var(--text);font-family:var(--font-display);font-size:13.5px;font-weight:700;margin-bottom:4px}.reviews-row-date{color:var(--text-faint);flex-shrink:0;font-size:11px;white-space:nowrap}.reviews-row-text{color:var(--text-dim);font-size:13.5px;line-height:1.55;margin:0}
/*# sourceMappingURL=main.4fcc5192.css.map*/