:root{--brand: #2A5FCF;--brand-strong: #1E4CB3;--brand-2: #0ACBFF;--grad: linear-gradient(135deg, #2F6BFF 0%, #17B7FF 100%);--grad-hero: linear-gradient(160deg, #1B2C63 0%, #0E1830 70%);--ink: #0E1B2E;--ink-2: #57687A;--ink-3: #93A2B2;--line: #EAEFF4;--line-2: #F1F5F9;--bg: #F4F6FA;--surface: #FFFFFF;--tint: rgba(42, 95, 207, .08);--tint-strong: rgba(42, 95, 207, .12);--danger: #E5484D;--success: #12B76A;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--pill: 999px;--sh-1: 0 2px 12px rgba(16, 27, 46, .05);--sh-2: 0 10px 30px rgba(16, 27, 46, .08);--sh-cta: 0 8px 20px rgba(42, 95, 207, .3);--sh-nav: 0 -4px 24px rgba(16, 27, 46, .06);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--nav-h: 64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4;font-weight:500;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font-family:inherit}.app{display:flex;flex-direction:column;min-height:100dvh}.app-main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s4))}.screen{padding:var(--s4)}.screen.flush{padding:0}.header{position:sticky;top:0;z-index:30;height:54px;display:flex;align-items:center;justify-content:center;background:#ffffffdb;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.header .logo{height:21px;display:block}.header .hback{position:absolute;left:var(--s3);top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:var(--pill);border:none;background:var(--line-2);color:var(--ink);display:grid;place-items:center;cursor:pointer}.header .hback:active{background:var(--line)}.t-display{font-size:28px;line-height:34px;font-weight:800;letter-spacing:-.02em}.t-h1{font-size:24px;line-height:30px;font-weight:800;letter-spacing:-.02em}.t-h2{font-size:20px;line-height:26px;font-weight:700;letter-spacing:-.01em}.t-title{font-size:17px;line-height:22px;font-weight:700}.t-body{font-size:16px;line-height:22px;font-weight:500}.t-sm{font-size:14px;line-height:20px;font-weight:500}.t-cap{font-size:12.5px;line-height:17px;font-weight:600;letter-spacing:.01em}.muted{color:var(--ink-2)}.muted3{color:var(--ink-3)}.card{background:var(--surface);border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--sh-1)}.card+.card{margin-top:var(--s3)}.card.tappable{transition:transform .12s ease,box-shadow .12s ease;cursor:pointer}.card.tappable:active{transform:scale(.988);box-shadow:var(--sh-2)}.btn{width:100%;padding:16px;font-size:16px;font-weight:700;border:none;border-radius:var(--r-md);background:var(--brand);color:#fff;cursor:pointer;transition:transform .1s ease,opacity .15s,box-shadow .15s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;box-shadow:none}.btn.cta{background:var(--grad);box-shadow:var(--sh-cta)}.btn.cta:disabled{background:var(--ink-3)}.btn.ghost{background:var(--tint);color:var(--brand)}.btn.link{background:none;color:var(--brand);font-weight:700;padding:10px;width:auto}.btn.block{display:flex}.searchpanel{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-1);position:relative;overflow:visible}.srow{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s4);position:relative}.srow+.srow:before{content:"";position:absolute;top:0;left:52px;right:var(--s4);height:1px;background:var(--line)}.srow .dot{width:22px;display:grid;place-items:center;color:var(--brand);flex-shrink:0}.srow .sbody{flex:1;min-width:0}.srow .slabel{font-size:12px;color:var(--ink-3);font-weight:600;margin-bottom:2px}.srow .sinput{width:100%;border:none;outline:none;background:transparent;font-size:17px;font-weight:600;color:var(--ink);padding:0}.srow .sinput::placeholder{color:var(--ink-3);font-weight:500}.swapbtn{position:absolute;right:var(--s4);top:50%;transform:translateY(-50%);z-index:4;width:40px;height:40px;border-radius:var(--pill);border:1px solid var(--line);background:var(--surface);color:var(--brand);display:grid;place-items:center;cursor:pointer;box-shadow:var(--sh-1)}.swapbtn:active{transform:translateY(-50%) scale(.92)}.pillrow{display:flex;gap:var(--s3);margin-top:var(--s3)}.pill{flex:1;display:flex;align-items:center;gap:var(--s2);padding:14px var(--s4);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--sh-1);position:relative;color:var(--ink)}.pill .plabel{font-size:11px;color:var(--ink-3);font-weight:600;display:block}.pill .pval{font-size:15px;font-weight:700}.pill svg{color:var(--brand);flex-shrink:0}.pill input,.pill select{border:none;background:transparent;outline:none;font-family:inherit;font-size:15px;font-weight:700;color:var(--ink);width:100%}.input{width:100%;padding:15px var(--s4);font-size:16px;font-weight:600;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);transition:border-color .15s}.input:focus{outline:none;border-color:var(--brand)}.input::placeholder{color:var(--ink-3);font-weight:500}.field{margin-bottom:var(--s3)}.label{display:block;font-size:12px;color:var(--ink-3);font-weight:600;margin-bottom:6px}.suggest{position:relative}.suggest-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--sh-2);overflow:hidden;max-height:300px;overflow-y:auto}.suggest-item{padding:14px var(--s4);border-bottom:1px solid var(--line-2);font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.suggest-item:last-child{border-bottom:none}.suggest-item:active{background:var(--tint)}.suggest-item svg{color:var(--ink-3)}.ride-top{display:flex;align-items:center;justify-content:space-between}.ride-time{font-size:22px;line-height:26px;font-weight:800;letter-spacing:-.01em}.ride-track{flex:1;display:flex;align-items:center;gap:6px;margin:0 var(--s3);color:var(--ink-3)}.ride-track .ln{flex:1;height:2px;background:var(--line);border-radius:2px}.ride-track .dur{font-size:11px;font-weight:700;color:var(--ink-3);white-space:nowrap}.price{font-size:20px;font-weight:800;color:var(--ink);white-space:nowrap}.price .cur{font-size:13px;font-weight:700;color:var(--ink-2);margin-left:2px}.ride-sub{display:flex;align-items:center;justify-content:space-between;margin-top:var(--s2)}.seats-badge{font-size:12.5px;font-weight:700;color:var(--success)}.seats-badge.low{color:var(--danger)}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--brand);background:var(--tint);border-radius:var(--pill);padding:5px 10px;margin-top:var(--s3)}.amenities{display:flex;flex-wrap:wrap;gap:14px;margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line-2)}.amenities svg{width:19px;height:19px;fill:var(--ink-3)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-top:1px solid var(--line);box-shadow:var(--sh-nav)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:none;cursor:pointer;color:var(--ink-3);padding:8px 0}.nav-item .nlabel{font-size:11px;font-weight:700}.nav-item svg{width:24px;height:24px}.nav-item.active{color:var(--brand)}.hero{background:var(--grad-hero);color:#fff;padding:calc(env(safe-area-inset-top) + var(--s8)) var(--s5) var(--s8);text-align:center;border-radius:0 0 28px 28px}.hero .logo{height:30px;margin-bottom:var(--s5)}.hero h1{font-size:26px;line-height:32px;font-weight:800;margin:0 0 var(--s2);letter-spacing:-.02em}.hero p{font-size:15px;color:#ffffffad;margin:0;font-weight:500}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.stack>*+*{margin-top:var(--s3)}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;gap:var(--s3);text-align:center;padding:var(--s6)}.error-banner{background:#e5484d1a;color:var(--danger);padding:12px var(--s4);border-radius:var(--r-md);font-size:14px;font-weight:600}.spinner{width:30px;height:30px;border:3px solid var(--tint);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--line-2) 25%,var(--line) 37%,var(--line-2) 63%);background-size:400% 100%;animation:sh 1.3s ease infinite;border-radius:var(--r-md)}@keyframes sh{0%{background-position:100% 50%}to{background-position:0 50%}}.progress-card{background:var(--surface);border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--sh-1)}.progress-stage{font-weight:700;font-size:15px}.progress-timer{color:var(--ink-3);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.progress-track{height:8px;background:var(--tint);border-radius:var(--pill);overflow:hidden;margin-top:var(--s3)}.progress-fill{height:100%;background:var(--grad);border-radius:var(--pill);transition:width .6s ease;position:relative}.progress-fill:not(.done):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.4s infinite}.progress-fill.done{background:var(--success)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}
