@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/web/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/web/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/web/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:400;src:url(/web/assets/noto-serif-thai-thai-400-normal-CvrP933u.woff2) format("woff2"),url(/web/assets/noto-serif-thai-thai-400-normal-B98Q1sHK.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:400;src:url(/web/assets/noto-serif-thai-latin-ext-400-normal-BB1RY-JM.woff2) format("woff2"),url(/web/assets/noto-serif-thai-latin-ext-400-normal-BxN53HqO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:400;src:url(/web/assets/noto-serif-thai-latin-400-normal-BVYgoRdi.woff2) format("woff2"),url(/web/assets/noto-serif-thai-latin-400-normal-BnSCagmU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:600;src:url(/web/assets/noto-serif-thai-thai-600-normal-BPIYqBcd.woff2) format("woff2"),url(/web/assets/noto-serif-thai-thai-600-normal-Bi2iA5nV.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:600;src:url(/web/assets/noto-serif-thai-latin-ext-600-normal-CCPw-m5N.woff2) format("woff2"),url(/web/assets/noto-serif-thai-latin-ext-600-normal-Bn5dVPRl.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:600;src:url(/web/assets/noto-serif-thai-latin-600-normal-DrhQiPUG.woff2) format("woff2"),url(/web/assets/noto-serif-thai-latin-600-normal-B_GHqjz6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:700;src:url(/web/assets/noto-serif-thai-thai-700-normal-DasJixn8.woff2) format("woff2"),url(/web/assets/noto-serif-thai-thai-700-normal-CLQijqWF.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:700;src:url(/web/assets/noto-serif-thai-latin-ext-700-normal-DX4j1cOA.woff2) format("woff2"),url(/web/assets/noto-serif-thai-latin-ext-700-normal-Dvnam3sG.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:700;src:url(/web/assets/noto-serif-thai-latin-700-normal-dflTGLoO.woff2) format("woff2"),url(/web/assets/noto-serif-thai-latin-700-normal-DDPBPVNp.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/web/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2) format("woff2"),url(/web/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/web/assets/noto-sans-thai-latin-ext-400-normal-nBP59pVw.woff2) format("woff2"),url(/web/assets/noto-sans-thai-latin-ext-400-normal-B-1H0YkH.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/web/assets/noto-sans-thai-latin-400-normal-BaWBrqFP.woff2) format("woff2"),url(/web/assets/noto-sans-thai-latin-400-normal-Dh_FJjOB.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/web/assets/noto-sans-thai-thai-600-normal-Cs73sVjl.woff2) format("woff2"),url(/web/assets/noto-sans-thai-thai-600-normal-CmgB8_JK.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/web/assets/noto-sans-thai-latin-ext-600-normal-maHHBsez.woff2) format("woff2"),url(/web/assets/noto-sans-thai-latin-ext-600-normal-PkMZo0xa.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/web/assets/noto-sans-thai-latin-600-normal-CemcjnVR.woff2) format("woff2"),url(/web/assets/noto-sans-thai-latin-600-normal-Dbc-dNO6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--good:#2FE3A7;--danger:#FF5C7A;--warn:#FFCC66;--shadow: none;--shadowSoft: none;--shadow-soft: none;--radius: 22px;--radius2: 16px;--radius3: 999px;--font: "Inter Tight", ui-sans-serif, system-ui, -apple-system, "SF Pro Display", "SF Pro Text", Segoe UI, Roboto, "Noto Sans Thai", Helvetica, Arial;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}:root{--bx-ivory: #F8F5EE;--bx-ivory-2: #F2EDE2;--bx-white: #FFFFFF;--bx-scrim: #2A3D35;--bx-forest: #058076;--bx-forest-2: #07978B;--bx-forest-grad: linear-gradient(135deg,#07978B,#058076);--bx-green-accent: #14958C;--bx-green-dot: #3FB07E;--bx-brass: #A8763A;--bx-brass-2: #C99A52;--bx-brass-icon: #E9C886;--bx-pay-grad: linear-gradient(135deg,#B8863F,#9A6B2C);--bx-ink: #1E2937;--bx-text: #334155;--bx-muted: #7B847C;--bx-faint: #9AA29B;--bx-disabled: #CBC9BE;--bx-line: rgba(20,51,41,.1);--bx-line-strong: rgba(20,51,41,.18);--bx-hair: #E2DCCE;--bx-perf: #DED7C8;--bx-amber-ink: #7A4A18;--bx-amber-bg: #FBF1DD;--bx-alert-grad: linear-gradient(135deg,#E2A23A,#C8801C);--bx-alert-icon: #7A4A18;--bx-r-modal: 20px;--bx-r-card: 13px;--bx-r-field: 12px;--bx-shadow-modal: 0 24px 60px rgba(0,0,0,.3);--bx-shadow-card: 0 2px 8px rgba(20,51,41,.08);--bx-shadow-btn: 0 4px 14px rgba(20,51,41,.22);--bx-serif: "Fraunces Variable","Noto Serif Thai","Georgia",serif;--bx-sans: var(--font)}.bx-ticket{--bx-container-bg: var(--bx-ivory);display:flex;background:var(--bx-white);border:1px solid var(--bx-line);border-radius:var(--bx-r-card);box-shadow:var(--bx-shadow-card);font-family:var(--bx-sans);color:var(--bx-text)}.bx-ticket--modal,.bx-modal .bx-ticket{--bx-container-bg: var(--bx-scrim)}.bx-ticket__journey{flex:1 1 auto;padding:14px 16px;min-width:0}.bx-ticket__op{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bx-ticket__logo{width:20px;height:20px;border-radius:4px;object-fit:contain}.bx-ticket__operator{font-family:var(--bx-serif);font-weight:600;font-size:15px;color:var(--bx-ink)}.bx-ticket__class{font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;letter-spacing:.02em}.bx-ticket__class--vip{color:#fff;background:var(--bx-brass)}.bx-ticket__class--ac{color:#fff;background:var(--bx-green-accent)}.bx-ticket__class--standard{color:var(--bx-muted);background:var(--bx-ivory-2)}.bx-ticket__promo{font-size:11px;font-weight:600;color:var(--bx-green-accent);background:#3f7a5f1f;padding:2px 7px;border-radius:999px}.bx-ticket__times{display:flex;align-items:center;gap:10px;margin-top:10px}.bx-ticket__time{font-family:var(--bx-serif);font-weight:600;font-size:20px;color:var(--bx-ink);font-variant-numeric:tabular-nums}.bx-ticket__plus{font-size:11px;color:var(--bx-muted);font-weight:600}.bx-ticket__connector{flex:1 1 auto;display:flex;align-items:center;gap:6px;color:var(--bx-faint)}.bx-ticket__rule{flex:1 1 auto;height:1px;background:var(--bx-line-strong)}.bx-ticket__dur{font-size:11px;color:var(--bx-muted);white-space:nowrap}.bx-ticket__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.bx-ticket__amenities{font-size:12px;color:var(--bx-muted)}.bx-ticket__scarcity{font-size:12px;font-weight:600;color:var(--bx-amber-ink)}.bx-ticket__perf{position:relative;width:0;border-left:1.5px dashed var(--bx-perf);margin:10px 0}.bx-ticket__notch{position:absolute;left:-7px;width:14px;height:14px;border-radius:50%;background:var(--bx-container-bg)}.bx-ticket__notch--top{top:-17px}.bx-ticket__notch--bottom{bottom:-17px}.bx-ticket__stub{flex:0 0 116px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;text-align:center}.bx-ticket__fare{display:flex;flex-direction:column;align-items:center;line-height:1.05}.bx-ticket__amount{font-family:var(--bx-serif);font-weight:600;font-size:19px;color:var(--bx-ink);font-variant-numeric:tabular-nums}.bx-ticket__ccy{font-size:11px;color:var(--bx-muted)}.bx-ticket__action{font-family:var(--bx-sans);font-weight:600;font-size:13px;color:#fff;background:var(--bx-forest-grad);border:0;border-radius:10px;padding:9px 14px;min-height:40px;min-width:84px;cursor:pointer;box-shadow:var(--bx-shadow-btn)}.bx-ticket__action:hover{filter:brightness(1.06)}.bx-ticket__action:disabled{opacity:.5;cursor:default;box-shadow:none}.bx-ticket__action:focus-visible{outline:3px solid rgba(20,51,41,.35);outline-offset:2px}@media (max-width:359px){.bx-ticket{flex-direction:column}.bx-ticket__perf{width:auto;height:0;border-left:0;border-top:1.5px dashed var(--bx-perf);margin:0 10px}.bx-ticket__notch{top:-7px}.bx-ticket__notch--top{left:-17px}.bx-ticket__notch--bottom{right:-17px;left:auto}.bx-ticket__stub{flex-direction:row;width:100%;justify-content:space-between}}@media (prefers-reduced-motion: reduce){.bx-ticket__action:hover{filter:none}}.btn.btnPay{background:var(--bx-pay-grad);color:#fff;border:0;box-shadow:var(--bx-shadow-btn);font-weight:700}.btn.btnPay:hover{filter:brightness(1.06)}.btn.btnPay:disabled{opacity:.55;filter:none;box-shadow:none}.resHoldCountdown{margin-top:8px;font-weight:800;font-size:14px;letter-spacing:.02em;color:var(--bx-amber-ink);font-variant-numeric:tabular-nums}.resHoldCountdown--expired{color:var(--danger)}.resQrFrame--locked{position:relative}.resQrFrame--locked svg{opacity:.22;filter:grayscale(1)}.resQrLock{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;pointer-events:none}.resQrLockIcon{font-size:24px;line-height:1}.resQrLockStamp{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--bx-amber-ink);max-width:92px;line-height:1.15}@media (prefers-reduced-motion: reduce){.btn.btnPay:hover{filter:none}}.bsTicketList{display:grid;gap:10px}[data-theme=dark],:root:not([data-theme]){--btn-hover-fill: rgba(214,178,94,.22);--btn-hover-fill-soft: rgba(232,238,249,.1);--bg:#0B0B0C;--surface:#191A1C;--surface2:#131315;--text:#E8EDF5;--text2:#7E8FA8;--muted:#7E8FA8;--border:#1E2D3F;--glass: rgba(232,238,249,.06);--accent:#D6B25E;--accent2:#E3C87A;--accent-text:#0B0B0C;--focus: 0 0 0 4px rgba(214,178,94,.35)}[data-theme=light-gold]{--btn-hover-fill: rgba(20,51,41,.12);--btn-hover-fill-soft: rgba(20,51,41,.06);--bg:#FFFFFF;--surface:#FFFFFF;--surface2:#F1F5F9;--text:#1E2937;--text2:#334155;--muted:#64748B;--border:#E2E8F0;--glass: rgba(15,118,110,.05);--accent:#058076;--accent2:#07978B;--accent-text:#FFFFFF;--cta:#F97316;--cta-2:#FB8A3A;--cta-text:#FFFFFF;--focus: 0 0 0 4px rgba(15,118,110,.3)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background:var(--bg);color:var(--text)}.mono,.resValue.mono,.summaryValue.mono,.resAmount,.resBookingId,.mgrBookCodeValue,.mgrTripDate{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}[data-theme=dark] body,:root:not([data-theme]) body{background:radial-gradient(circle 55vw at 50% 42%,rgba(214,178,94,.11) 0%,transparent 70%),radial-gradient(ellipse 80% 50% at 15% 0%,rgba(214,178,94,.07) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 85% 100%,rgba(214,178,94,.05) 0%,transparent 55%),radial-gradient(ellipse 50% 60% at 50% 50%,rgba(26,26,28,.6) 0%,transparent 70%),linear-gradient(160deg,#0b0b0c,#141416 45%,#0b0b0c)}[data-theme=light-gold] body{background:#e7ecf2}.app{min-height:100vh;height:100vh;display:flex;flex-direction:column;background:var(--bg)}@media (min-width: 640px){.app{width:100%;max-width:620px;margin:0 auto;background:radial-gradient(ellipse 90% 35% at 50% 0%,rgba(14,122,120,.04) 0%,transparent 55%),var(--bg)}[data-theme=dark] .app,:root:not([data-theme]) .app{box-shadow:0 0 120px #000000a6,inset 0 1px #d6b25e14}}.sideRails{display:none}@media (min-width: 640px){.sideRails{display:block;position:fixed;top:0;bottom:0;left:calc(50% - 310px);right:calc(50% - 310px);pointer-events:none;z-index:200;background:transparent}[data-theme=dark] .sideRails,:root:not([data-theme]) .sideRails{border-left:1px solid rgba(214,178,94,.22);border-right:1px solid rgba(214,178,94,.22)}[data-theme=light-gold] .sideRails{border-left:1px solid var(--accent);border-right:1px solid var(--accent)}}@media (min-width: 900px){.sideRails{left:calc(50% - 340px);right:calc(50% - 340px)}.app{max-width:680px}}.topWrap{position:sticky;top:0;z-index:10;display:flex;flex-direction:column}[data-theme=light-gold] .topWrap{box-shadow:0 2px 12px #8c64141a}.topbar{z-index:2;display:flex;align-items:center;flex-wrap:wrap;row-gap:6px;column-gap:clamp(6px,1.5vw,10px);padding:clamp(6px,2vw,10px) clamp(10px,3vw,16px);background:var(--surface);border-top:2px solid var(--accent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.progressRow{background:var(--surface2);border-bottom:1px solid var(--border);padding:6px 12px;display:flex;justify-content:center}.brand{display:flex;gap:10px;align-items:center}.topActions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto}.topActions .btn{height:34px;min-height:34px;padding-top:0;padding-bottom:0;display:inline-flex;align-items:center;justify-content:center}.langPicker{position:relative;display:inline-block}.langPickerTrigger{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--border);border-radius:14px;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--text2);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease,border-color .12s ease}.langPickerTrigger:hover{background:var(--surface2, var(--surface));border-color:var(--accent, var(--border))}.langPickerTrigger:focus-visible{outline:2px solid var(--accent, #d4af37);outline-offset:2px}.langFlagImg{display:inline-block;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #00000026;vertical-align:middle}.langPickerFlag{width:1.25rem;height:.95rem}.langPickerCode{font-size:.68rem}.langPickerAutoBadge{font-size:.6rem;opacity:.7;margin-left:-2px}.langPickerCaret{font-size:.55rem;opacity:.7}.langPickerMenu{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;max-width:340px;max-height:70vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #00000059;padding:12px;z-index:1000;font-size:.85rem}.langPickerHeader{padding:0 4px 8px;border-bottom:1px solid var(--border);margin-bottom:8px}.langPickerTitle{font-weight:700;color:var(--text);font-size:.95rem}.langPickerSubtitle{color:var(--text2);font-size:.75rem;margin-top:2px}.langPickerSearch{margin-top:8px;width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.85rem}.langPickerSearch:focus-visible{outline:2px solid var(--accent, #d4af37);outline-offset:1px}.topInline{display:none;align-items:center;gap:8px}@media (min-width: 640px){.topInline{display:flex}.topMenuWrap{display:none}}.topMenuWrap{position:relative}.topHamburger{font-size:1.15rem;line-height:1}.topMenuBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.topMenu{position:absolute;top:calc(100% + 8px);right:0;min-width:210px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #00000059;padding:6px;z-index:1000}.topMenuItem{display:block;width:100%;text-align:left;padding:10px 12px;border:none;background:transparent;color:var(--text);font-size:.88rem;border-radius:8px;cursor:pointer;text-decoration:none}.topMenuItem:hover{background:var(--surface2, rgba(255, 255, 255, .05))}.topMenuItem:disabled{opacity:.5;cursor:default}.topMenuDanger{color:var(--danger, #FF5C7A)}.topMenuDivider{height:1px;background:var(--border);margin:6px 4px}.topMenuConfirm{display:flex;align-items:center;gap:8px;padding:8px 10px;flex-wrap:wrap}.topMenuConfirmText{font-size:.85rem;color:var(--text2);flex:1 1 100%}.langPickerSectionLabel{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text2);padding:10px 4px 4px}.langPickerItem{display:flex;width:100%;align-items:center;gap:10px;padding:8px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background 80ms ease}.langPickerItem:hover{background:var(--surface2, rgba(255,255,255,.04))}.langPickerItem:focus-visible{outline:2px solid var(--accent, #d4af37);outline-offset:-1px}.langPickerItemActive{background:#d4af3714}.langPickerItemActive .langPickerItemName{color:var(--accent, #d4af37)}.langPickerItemFlag{width:1.6rem;height:1.2rem;flex:0 0 auto}.langPickerItemIcon{font-size:1rem;color:var(--accent, #d4af37);flex:0 0 auto;width:1.15rem;text-align:center}.langPickerItemBody{flex:1 1 auto;min-width:0}.langPickerItemName{font-weight:600;line-height:1.2}.langPickerItemNative{font-size:.72rem;color:var(--text2);margin-top:2px}.langPickerCheck{color:var(--accent, #d4af37);font-weight:700;flex:0 0 auto}.langPickerAuto{border:1px dashed var(--border);margin-bottom:4px}.langPickerAuto .langPickerItemNative{color:var(--text2)}.langPickerList{display:flex;flex-direction:column;gap:1px}.langPickerEmpty{padding:12px;color:var(--text2);font-size:.8rem;text-align:center}.langPickerFooter{padding:8px 4px 2px;font-size:.7rem;color:var(--text2);border-top:1px solid var(--border);margin-top:8px;text-align:center}.topDivider{width:1px;height:20px;background:var(--border);opacity:.6;flex-shrink:0;margin:0 2px}.topResetBtn{font-size:.8rem;color:var(--muted);border-color:transparent;background:transparent}.topResetBtn:hover{color:var(--text);border-color:var(--border);background:var(--surface2)}.btnGhost{background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);color:var(--text)}.btnGhost:disabled{opacity:.55}.btn.btnManage{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);color:var(--accent)!important;text-decoration:none!important}.btn.btnManage:hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.themeToggle{font-size:16px;padding:4px 10px;min-width:unset;opacity:.7}.themeToggle:hover{opacity:1}.btnReturn{background:color-mix(in srgb,var(--good, #4caf87) 15%,var(--surface));border:1px solid color-mix(in srgb,var(--good, #4caf87) 40%,var(--border));color:var(--text)}.btnTicket{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--text);text-decoration:none;font-weight:700;font-size:.88rem;border-radius:22px;transition:background .15s,border-color .15s,transform .13s}.btnTicket:hover{background:color-mix(in srgb,var(--accent) 24%,var(--surface));border-color:var(--accent);transform:translateY(-1px)}.btnReturn:hover{background:color-mix(in srgb,var(--good, #4caf87) 22%,var(--surface));border-color:color-mix(in srgb,var(--good, #4caf87) 55%,var(--border))}.btnReturn:disabled{opacity:.55}.brandLogo{height:21px;width:auto;display:block}.agentBadge{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;margin-left:8px;cursor:pointer;transition:opacity .2s;font:inherit}.agentBadge:hover{opacity:.8}.agentBadge:active{opacity:.65}.brandAiBadge{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);line-height:0;flex-shrink:0}.agentLabel{font-size:15px;font-weight:800;color:var(--accent);letter-spacing:.02em;text-transform:uppercase}@media (max-width: 480px){.stepBarLabel,.themeToggle{display:none}}.muted{color:var(--muted)}.tripBar{display:flex;align-items:center;justify-content:center;gap:0;padding:0 4px;background:transparent;border:none;animation:tripBarIn .25s ease both}@keyframes tripBarIn{0%{opacity:0}to{opacity:1}}.tripChip{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:none;background:transparent;flex-shrink:0;transition:transform .12s,opacity .15s,background .15s}.tripChipFilled{background:color-mix(in srgb,var(--accent) 22%,var(--surface));cursor:pointer;opacity:1}.tripChipFilled:hover{background:color-mix(in srgb,var(--accent) 35%,var(--surface));transform:scale(1.15)}.tripChipEmpty{opacity:.28;cursor:default}.tripChipIcon{font-size:15px;line-height:1}.tripChip>span:last-child{display:none}.tripStep{display:inline-flex;align-items:center}.tripDivider{display:block;width:10px;height:2px;background:color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:1px;flex-shrink:0}.chat{flex:1;display:flex;flex-direction:column;justify-content:flex-start;padding:10px 14px 110px;max-width:720px;width:100%;margin:12px auto;overflow-y:auto;min-height:0;background:radial-gradient(ellipse 80% 30% at 50% 0%,rgba(214,178,94,.06) 0%,transparent 50%),var(--surface);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:var(--radius)}.row{display:flex;margin:12px 0}.row.bot{justify-content:flex-start;align-items:flex-start;gap:10px}.row.user{justify-content:flex-end}.botAvatarWrap{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0;padding-top:2px}.botAvatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:400;flex-shrink:0;box-shadow:0 2px 8px #d6b25e66}[data-theme=light-gold] .botAvatar{box-shadow:0 2px 10px #b8892a4d}.botEyes{display:flex;align-items:center;gap:5px}.botEye{width:4px;height:4px;border-radius:50%;background:#fff;transform-origin:center;animation:botBlink 4s infinite}@keyframes botBlink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}97%{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){.botEye{animation:none}}.buaEye{transform-box:fill-box;transform-origin:center;animation:botBlink 4s infinite}@media (prefers-reduced-motion: reduce){.buaEye{animation:none}}.botName{font-size:9px;font-weight:700;color:var(--accent);letter-spacing:.05em;text-transform:uppercase;opacity:.9;white-space:nowrap}.botAiTag{display:inline-block;font-size:7px;font-weight:800;letter-spacing:.06em;color:var(--accent-text);background:linear-gradient(135deg,var(--accent2),var(--accent));border-radius:3px;padding:1px 4px;vertical-align:middle;margin-left:2px;opacity:1}.bubble{max-width:86%;padding:13px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--glass);white-space:pre-wrap;line-height:1.5;font-size:.95rem}[data-theme=light-gold] .row.bot .bubble{background:#fff;border-color:#b48a2a2e;box-shadow:0 1px 6px #8c641412}.row.user .bubble{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}[data-theme=light-gold] .row.user .bubble{background:color-mix(in srgb,var(--accent) 14%,#fff);border-color:#b48a2a4d}.aiSuggest{margin-top:14px;padding-top:14px;border-top:1px dashed color-mix(in srgb,var(--accent) 30%,var(--border))}.aiSuggestLoading{display:flex;align-items:center;gap:8px;padding:14px 0 4px;color:var(--muted);font-size:.82rem;font-style:italic}.aiSuggestHeader{display:flex;align-items:center;gap:6px;margin-bottom:8px}.aiSuggestSparkle{color:var(--accent);font-size:1rem;animation:aiSparkle 2s ease-in-out infinite}@keyframes aiSparkle{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.aiSuggestTitle{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);opacity:.85}.aiSuggestList{display:flex;flex-direction:column;gap:6px}.aiSuggestItem{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,var(--surface)) 0%,var(--surface) 100%);cursor:pointer;text-align:left;transition:border-color .13s,background .13s,transform .13s,box-shadow .13s}.aiSuggestItem:hover:not(:disabled){border-color:var(--accent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,var(--surface)),color-mix(in srgb,var(--accent) 3%,var(--surface)));transform:translate(2px);box-shadow:0 3px 12px #00000014}.aiSuggestItem:disabled{opacity:.55;cursor:not-allowed}.aiSuggestIcon{font-size:1.3rem;line-height:1;flex-shrink:0}.aiSuggestBody{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.aiSuggestKindTag{font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:.72;margin-bottom:1px}.aiSuggestLabel{font-size:.9rem;font-weight:700;color:var(--text);line-height:1.3}.aiSuggestReason{font-size:.75rem;color:var(--text2);line-height:1.35;margin-top:1px}.aiSuggestArrow{color:var(--accent);font-size:1.1rem;font-weight:700;opacity:.6;transition:transform .13s,opacity .13s;flex-shrink:0}.aiSuggestItem:hover:not(:disabled) .aiSuggestArrow{transform:translate(3px);opacity:1}.summary{display:none}@media (min-width: 860px){.summary{display:block;position:fixed;top:100px;left:calc(50% + 340px);width:220px;max-height:calc(100vh - 160px);overflow-y:auto;z-index:150;pointer-events:auto}}@media (min-width: 1000px){.summary{left:calc(50% + 360px);width:260px}}@media (min-width: 1200px){.summary{left:calc(50% + 380px);width:280px}}.summaryCard{background:color-mix(in srgb,var(--accent) 4%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:14px;padding:16px 16px 14px;box-shadow:0 4px 20px #0000000f}.summaryTitle{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);opacity:.8;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--accent) 20%,var(--border))}.summaryGrid{display:flex;flex-direction:column;gap:10px}.summaryRow{display:flex;flex-direction:column;gap:2px;padding:4px 8px;margin:0 -8px;border-radius:6px;transition:background .4s ease-out}.summaryRowPulse{animation:summaryPulse 1s ease-out}@keyframes summaryPulse{0%{background:color-mix(in srgb,var(--accent) 32%,transparent);box-shadow:0 0 color-mix(in srgb,var(--accent) 40%,transparent)}30%{background:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent)}to{background:transparent;box-shadow:0 0 0 0 transparent}}.summaryLabel{font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.summaryValue{font-size:.78rem;font-weight:600;color:var(--text);line-height:1.35;word-break:break-word}.summaryValue.mono{font-family:var(--font-mono);font-size:.74rem}.summaryArrow{color:var(--accent);font-weight:700;margin:0 3px}.summaryPill{display:inline-block;font-size:.75rem;font-weight:500;margin-right:8px;background:transparent;border:none;padding:0}.agentBanner{display:flex;align-items:center;gap:10px;padding:8px 14px;margin:8px auto 12px;max-width:min(640px,92%);border-radius:20px;font-size:.82rem;font-weight:500;background:linear-gradient(90deg,color-mix(in srgb,#4caf87 12%,transparent),color-mix(in srgb,#4caf87 4%,transparent));border:1px solid color-mix(in srgb,#4caf87 45%,transparent);color:var(--text)}.agentBannerDot{width:8px;height:8px;border-radius:50%;background:#4caf87;box-shadow:0 0 0 3px color-mix(in srgb,#4caf87 30%,transparent);animation:agentPulse 1.6s ease-in-out infinite}@keyframes agentPulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,#4caf87 30%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,#4caf87 10%,transparent)}}.agentBanner{flex-wrap:wrap}.agentBannerText{flex:1 1 220px}.agentBannerHint{opacity:.78;font-weight:400}.agentBannerOpenBtn{flex:0 0 auto;padding:5px 12px;border-radius:14px;border:1px solid color-mix(in srgb,#4caf87 65%,transparent);background:color-mix(in srgb,#4caf87 18%,transparent);color:var(--text);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}.agentBannerOpenBtn:hover{background:color-mix(in srgb,#4caf87 28%,transparent)}.agentAvatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4caf87,#2f8c66);color:#fff;font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #4caf8759}.agentBubble{background:color-mix(in srgb,#4caf87 6%,var(--surface))!important;border-color:color-mix(in srgb,#4caf87 30%,var(--border))!important}.agentName{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4caf87;margin-bottom:3px}.welcomeHeroWrap{flex:1 1 auto;min-width:0;max-width:480px;display:flex;flex-direction:column;gap:14px}.welcomeStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(85px,100%),1fr));align-items:stretch;gap:4px 0;padding:10px 4px}.welcomeLastRoute{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-top:10px;padding:12px 16px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:14px;color:var(--text);font-family:var(--font);text-align:left;cursor:pointer;transition:background .15s ease,transform .08s ease,border-color .15s ease}.welcomeLastRoute:hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.welcomeLastRoute:active{transform:scale(.99)}.welcomeLastRouteHead{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.welcomeLastRouteRoute{font-size:.95rem;font-weight:700}.welcomeLastRouteArrow{color:var(--accent);margin:0 6px}.welcomeRecent{width:100%;margin-top:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:14px}.welcomeRecentHead{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.welcomeRecentList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.welcomeRecentItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--accent) 4%,transparent);border:1px solid color-mix(in srgb,var(--accent) 12%,var(--border))}.welcomeRecentItemMain{flex:1;min-width:0}.welcomeRecentItemRoute{font-size:.85rem;font-weight:700;color:var(--text)}.welcomeRecentItemArrow{color:var(--accent);margin:0 4px}.welcomeRecentItemMeta{font-size:.72rem;color:var(--muted);margin-top:2px}.welcomeRecentItemDate{margin-left:6px}.welcomeRecentItemAction{flex-shrink:0;padding:6px 12px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:.78rem;font-weight:700;text-decoration:none}.welcomeRecentItemAction:hover{background:var(--accent2)}.welcomeStat{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 6px;text-align:center}.welcomeStatNum{font-size:1.05rem;font-weight:800;color:var(--accent);letter-spacing:-.01em;line-height:1.1}.welcomeStatLabel{font-size:clamp(.55rem,1.5vw,.62rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:normal;text-align:center;line-height:1.2}.welcomeStatDivider{position:absolute;right:0;top:15%;bottom:15%;width:1px;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--accent) 35%,var(--border)) 50%,transparent 100%)}.spotlightCard{position:relative;display:block;width:100%;min-height:120px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:14px;overflow:hidden;padding:0;cursor:pointer;text-align:left;background:var(--surface);transition:transform .15s,box-shadow .15s,border-color .15s}.spotlightCard:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 22px #00000024;border-color:var(--accent)}.spotlightImg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.spotlightGrad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#000000ad,#00000059 55%,#00000026)}.spotlightBody{position:relative;z-index:1;padding:16px 16px 44px;display:flex;flex-direction:column;gap:2px;max-width:72%}.spotlightLabel{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#ffffffc7;margin-bottom:4px}.spotlightName{font-size:1.35rem;font-weight:800;color:#fff;line-height:1.1;text-shadow:0 1px 6px rgba(0,0,0,.4);letter-spacing:-.01em}.spotlightPitch{font-size:.8rem;font-weight:500;color:#ffffffe0;line-height:1.35;text-shadow:0 1px 4px rgba(0,0,0,.4);margin-top:2px}.spotlightCta{position:absolute;bottom:14px;left:16px;z-index:1;display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:800;letter-spacing:.02em;color:var(--accent-text, #1a1200);background:var(--accent);border:1px solid var(--accent);padding:8px 16px;border-radius:22px;box-shadow:0 3px 12px #00000047,0 0 0 3px #d6b25e25;transition:transform .15s,box-shadow .15s,background .15s}.spotlightCard:hover .spotlightCta{transform:translateY(-1px);box-shadow:0 5px 16px #00000059,0 0 0 4px #d6b25e40}.spotlightCtaArrow{transition:transform .15s;font-size:.95rem}.spotlightCard:hover .spotlightCtaArrow{transform:translate(3px)}.welcomeHeroCard{position:relative;width:100%;min-height:180px;border-radius:16px;overflow:hidden;box-shadow:0 4px 24px #0000002e}.welcomeHeroImg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.welcomeHeroGrad{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 40%,transparent 0%,rgba(0,0,0,.35) 85%),linear-gradient(180deg,#d6b25e12,#0000008c)}.welcomeHeroCard:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;pointer-events:none;box-shadow:inset 0 0 0 1px #d6b25e25;z-index:2}.welcomeHeroBody{position:relative;z-index:1;padding:22px 20px 20px;display:flex;flex-direction:column;gap:6px;min-height:180px;justify-content:flex-end}.welcomeHeroBadge{position:absolute;top:14px;left:16px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffbf;background:#00000047;padding:3px 9px;border-radius:20px;border:1px solid rgba(255,255,255,.2)}.welcomeHeroTitle{font-size:1.05rem;font-weight:700;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5);line-height:1.35}.welcomeHeroSub{font-size:.85rem;font-weight:500;color:#ffffffe0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.welcomeHeroUnderstand{display:inline-block;font-weight:700;color:#7cdba5;padding:1px 8px 1px 6px;margin-left:2px;border-radius:10px;background:#56c48629;border:1px solid rgba(124,219,165,.35);text-shadow:0 1px 3px rgba(0,40,20,.45);white-space:nowrap}.welcomeHeroFade{animation:heroFade .7s cubic-bezier(.2,.8,.3,1) both}@keyframes heroFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bubbleCard{max-width:92%;width:520px;padding:14px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,var(--surface)),color-mix(in srgb,var(--accent) 2%,var(--surface)));box-shadow:0 2px 10px #8c64140d}[data-theme=dark] .bubbleCard,:root:not([data-theme]) .bubbleCard{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),color-mix(in srgb,var(--accent) 3%,var(--surface)));border-color:color-mix(in srgb,var(--accent) 28%,var(--border));box-shadow:0 2px 12px #0003}.dateCta{display:flex;flex-direction:column;gap:0;padding:18px 16px}.dateChipRow{display:flex;gap:8px}.dateChip{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 6px 9px;border-radius:var(--radius);border:1.5px solid color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--surface));cursor:pointer;transition:transform .13s,box-shadow .13s,border-color .13s,background .13s}.dateChip:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 14px #0000001a;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.dateChip:active:not(:disabled){transform:translateY(0)}.dateChip:disabled{opacity:.5;cursor:not-allowed}.dateChipDay{font-size:.6rem;font-weight:700;letter-spacing:.1em;color:var(--accent);opacity:.75}.dateChipNum{font-size:1.75rem;font-weight:800;line-height:1;color:var(--accent);letter-spacing:-.03em}.dateChipNumSm{font-size:1.2rem;letter-spacing:-.02em}.dateChipMonth{font-size:.6rem;font-weight:600;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}.dateChipFlexIcon{font-size:1.1rem;font-weight:300;color:var(--accent);opacity:.6;line-height:1}.dateChipBadge{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--surface);background:var(--accent);padding:2px 7px;border-radius:20px;margin-top:2px;opacity:.88}.dateCtaDivider{display:flex;align-items:center;gap:14px;margin:16px 0 14px;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;opacity:.7}.dateCtaDivider:before,.dateCtaDivider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--accent) 55%,transparent) 50%,transparent 100%)}.dateCtaCalBtn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;font-size:.92rem;font-weight:600;border:1.5px solid color-mix(in srgb,var(--accent) 28%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),color-mix(in srgb,var(--accent) 2%,var(--surface)));color:var(--text);border-radius:var(--radius);transition:border-color .15s,background .15s,transform .13s,box-shadow .13s}.dateCtaCalBtn:hover:not(:disabled){border-color:var(--accent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),color-mix(in srgb,var(--accent) 6%,var(--surface)));transform:translateY(-1px);box-shadow:0 4px 14px #00000014}.dateCtaArrow{font-size:1.25rem;line-height:1;color:var(--accent);opacity:.75;transition:transform .15s}.dateCtaCalBtn:hover:not(:disabled) .dateCtaArrow{transform:translate(2px);opacity:1}.dateCtaHint{margin-top:12px;font-size:.75rem;color:var(--text2);text-align:center}.terminalPicker{display:flex;flex-direction:column;gap:12px}.terminalPickerHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.terminalPickerTitle{font-weight:700;font-size:14px}.terminalPickerSub{margin-top:4px;font-size:12px;opacity:.8}.terminalGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:8px}.terminalCard{text-align:left;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 85%,transparent);padding:0;cursor:pointer;display:flex;flex-direction:row;gap:0;overflow:hidden;align-items:stretch}.terminalCardThumb{width:68px;min-height:80px;flex-shrink:0;position:relative;overflow:hidden;border-radius:0}.terminalCardThumb img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.terminalCardThumbFallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;background:color-mix(in srgb,var(--accent) 18%,var(--surface2));color:var(--accent)}.terminalCardThumbIcon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface2)),color-mix(in srgb,var(--accent) 4%,var(--surface2)));color:var(--accent);opacity:.85}.terminalCardInfo{padding:9px 11px;display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.terminalCard:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface));box-shadow:0 6px 18px #00000014;transform:translateY(-1px)}.terminalCard:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:2px}.terminalCard.recommended{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent) inset}.terminalCard--stop{border-style:dashed;border-color:var(--border);background:transparent;padding:9px 12px;border-radius:10px;opacity:.82}.terminalCard--stop:hover{opacity:1;border-style:solid;border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--surface));box-shadow:none;transform:none}.terminalName--stop{font-weight:500;font-size:12px;color:var(--muted, #888)}.terminalBadge--stop{font-size:10px;padding:2px 7px;border-radius:999px;border:1px dashed var(--border);background:transparent;color:var(--muted, #888);white-space:nowrap}.terminalTop{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.terminalName{font-weight:700;font-size:13px;color:var(--text)}[data-theme=dark] .terminalName,:root:not([data-theme]) .terminalName{color:var(--accent)}[data-theme=dark] .terminalBadge,:root:not([data-theme]) .terminalBadge{color:#fff}[data-theme=dark] .terminalHint,[data-theme=dark] .terminalThai,[data-theme=dark] .terminalName--stop,:root:not([data-theme]) .terminalHint,:root:not([data-theme]) .terminalThai,:root:not([data-theme]) .terminalName--stop{color:#ffffffb8}.terminalHint{font-size:11px;color:var(--muted, #888);margin-top:2px;font-weight:400}.terminalBadge{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent);white-space:nowrap}.terminalPrice{margin-top:5px;font-size:12px;font-weight:700;color:var(--accent)}.terminalThai{font-size:11px;color:var(--muted);letter-spacing:.2px}.terminalBadge--trips{background:color-mix(in srgb,var(--good) 12%,transparent);border-color:color-mix(in srgb,var(--good) 40%,var(--border));color:color-mix(in srgb,var(--good) 45%,var(--text))}.terminalGeoRow{display:flex;align-items:center;gap:8px;margin:2px 0 10px}.terminalGeoBtn{font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent);color:color-mix(in srgb,var(--accent) 70%,var(--text));cursor:pointer;transition:background .15s ease}.terminalGeoBtn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 18%,transparent)}.terminalGeoBtn:disabled{opacity:.6;cursor:default}.terminalGeoStatus{font-size:12px;line-height:1.45;padding:4px 10px;border-radius:999px}.terminalGeoStatus--ok{color:color-mix(in srgb,var(--good) 45%,var(--text));background:color-mix(in srgb,var(--good) 12%,transparent);border:1px solid color-mix(in srgb,var(--good) 35%,var(--border));font-weight:600}.terminalGeoStatus--ok i{opacity:.8;font-style:normal;font-weight:400}.terminalGeoStatus--warn{color:var(--text);opacity:.75;background:color-mix(in srgb,var(--text) 6%,transparent);border:1px solid var(--border)}.terminalBadge--dist{background:color-mix(in srgb,var(--good) 14%,transparent);border-color:color-mix(in srgb,var(--good) 45%,var(--border));color:color-mix(in srgb,var(--good) 45%,var(--text));font-weight:700}.terminalEmpty{font-size:12px;opacity:.85}.resCard{width:100%;padding:16px 16px 14px;border-radius:18px;background:var(--surface);border:1px solid rgba(35,48,67,.28);box-shadow:none;position:relative}.resCard:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:18px 18px 0 0;background:linear-gradient(90deg,#d6b25e00,#d6b25e8c,#d6b25e00);pointer-events:none}.resHead{display:flex;align-items:center;gap:8px;margin-bottom:12px}.resHeadLeft{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.resTitle{font-weight:850;font-size:16px;letter-spacing:.2px}.resName{font-size:13px;font-weight:650;color:var(--text);opacity:.9}.resCarrier{font-size:13px;font-weight:700;color:var(--accent);margin-top:2px}.resPaidPill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.65rem;font-weight:800;letter-spacing:.12em;color:#fff;background:#1a7f4f;vertical-align:middle}.resPendingPill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.65rem;font-weight:800;letter-spacing:.12em;color:#1c1500;background:#f6c252;vertical-align:middle}.resCarrierLogo{width:56px;height:56px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);flex-shrink:0}.resBadge{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--good) 18%,transparent);border:1px solid color-mix(in srgb,var(--good) 48%,rgba(255,255,255,.1));font-weight:900}.resBadge.resBadgePending{background:#e89e162e;border-color:#e89e168c;color:#e89e16}.resDivider{height:1px;background:#2330432e;margin:8px 0 12px}.resGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:12px}@media (max-width: 560px){.resGrid{grid-template-columns:1fr}}.resLabel{font-size:14px;font-weight:800;color:var(--muted);letter-spacing:.3px;text-transform:uppercase}.resValue{font-size:13px;font-weight:600;color:var(--text)}.resTicketHero{display:flex;align-items:center;gap:16px;padding:14px;margin-bottom:14px;background:color-mix(in srgb,var(--accent) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:12px}.resQrFrame{flex-shrink:0;width:96px;height:96px;display:flex;align-items:center;justify-content:center;padding:6px;background:#fff;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:8px;color:#1a1208}.resTicketIds{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0;text-align:left}.resTicketIdRow{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.resTicketIdValue{font-size:1.05rem;font-weight:800;letter-spacing:.04em;color:var(--text);word-break:break-all;text-align:left}.resBiGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:12px}@media (max-width: 560px){.resBiGrid{grid-template-columns:1fr}}.resBiRow{display:flex;flex-direction:column;gap:4px;min-width:0}.resBiLabel{font-size:.7rem;font-weight:700;color:var(--muted);letter-spacing:.02em;line-height:1.25}.resBiLabelTh{font-weight:700}.resBiLabelSep{opacity:.5;margin:0 2px}.resBiLabelEn{opacity:.85}.resBiValue{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.35;word-break:break-word}.departurePinBtn{display:inline-flex;align-items:center;margin-top:8px;padding:5px 10px;border-radius:var(--radius3);border:1px dashed color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s;-webkit-user-select:none;user-select:none}.departurePinBtn:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.departurePinBtn:active{transform:scale(.97)}.mono{font-family:var(--font-mono)}.resActions{display:flex;gap:10px;flex-wrap:wrap}.resActions .btn{flex:1}.resPerson{grid-column:1 / -1;padding-top:4px}.resMeta{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap}.resMetaItem{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);padding:4px 10px;border-radius:999px;border:1px solid rgba(35,48,67,.22);background-color:#2330430d}.resHint{margin-top:10px;font-size:12px;color:var(--muted)}.resTclAdvisory{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#0000000a;border-left:3px solid var(--accent);font-size:.82rem;line-height:1.45;color:var(--text)}[data-theme=dark] .resTclAdvisory,:root:not([data-theme]) .resTclAdvisory{background:#ffffff0a}.resTclOrigin{font-weight:600;margin-bottom:4px}.resTclNoteTh{color:var(--muted)}.resTclNoteEn{color:var(--muted);font-style:italic}.resAlertBanner,.resCounterBanner{display:flex;gap:14px;align-items:flex-start;margin:0 0 14px;padding:14px 16px;border-radius:10px;background:linear-gradient(180deg,#f6c252,#e89e16);color:#1c1500;box-shadow:0 2px 6px #00000026;border:1px solid rgba(0,0,0,.12)}.resAlertBannerIcon,.resCounterBannerIcon{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#1c1500;color:#ffd54a;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}.resAlertBannerBody,.resCounterBannerBody{flex:1 1 auto;min-width:0}.resAlertBannerTitle,.resCounterBannerTitle{font-size:18px;font-weight:800;margin-bottom:4px;line-height:1.2}.resAlertBannerText,.resCounterBannerText{font-size:13.5px;line-height:1.45;color:#2a1f00}.resAlertBannerText strong,.resCounterBannerText strong{color:#1c1500}.resPaxLine{display:flex;align-items:baseline;gap:6px;padding:2px 0;line-height:1.4}.resPaxNum{color:var(--muted);font-variant-numeric:tabular-nums;min-width:1.4em}.resPaxName{font-weight:600}.resPaxMeta{color:var(--muted);font-size:.85em}.summaryPaxLine{display:flex;align-items:baseline;gap:4px;padding:1px 0;font-size:13px;line-height:1.4}.summaryPaxNum{color:var(--muted);font-variant-numeric:tabular-nums;min-width:1.2em}.summaryPaxName{font-weight:600}.summaryPaxMeta{color:var(--muted);font-size:11px}.mgrPaxBlock{display:flex;flex-direction:column;gap:6px}.mgrPaxLine{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-top:1px solid var(--border, rgba(180,138,42,.18))}.mgrPaxLine:first-child{border-top:none;padding-top:0}.mgrPaxHead{display:flex;align-items:baseline;gap:6px}.mgrPaxNum{color:var(--muted);font-variant-numeric:tabular-nums;min-width:1.4em}.mgrPaxName{font-weight:700}.mgrPaxTicket{color:var(--muted);font-size:12px;padding-left:1.4em}.resCounterPill{display:inline-block;margin-bottom:8px;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border-radius:999px;background:#e89e1629;border:1px solid rgba(232,158,22,.45);color:var(--text)}.composer{position:fixed;bottom:0;left:0;right:0;padding:12px 12px 0;background:var(--surface);border-bottom:2px solid var(--accent)}[data-theme=dark] .composer,:root:not([data-theme]) .composer{background:linear-gradient(to top,#0b0e14f5 50%,#0b0e1400);border-bottom:2px solid rgba(214,178,94,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=light-gold] .composer{background:var(--surface);border-bottom:2px solid var(--accent);box-shadow:0 -8px 40px #ffffffe6,0 -1px #b48a2a0f}@media (min-width: 640px){.composer{position:static!important;bottom:auto;left:auto;right:auto;flex-shrink:0;clip-path:inset(-200px 0 0 0)}}.composerInner{max-width:920px;margin:0 auto;display:flex;gap:10px;align-items:flex-end}input[type=text],input[type=email],select{width:100%;padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--surface2);color:var(--text);outline:none}input:focus,select:focus,textarea:focus,button:focus{box-shadow:var(--focus)}.btn{border:1px solid var(--border);background-color:var(--surface);background-image:none;color:var(--text);padding:12px 14px;border-radius:14px;cursor:pointer;font-weight:600;transition:background .12s ease,border-color .12s ease,transform .08s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{background-color:var(--btn-hover-fill);border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}@supports not (color-mix(in srgb,white,black)){.btn:hover{border-color:#d6b25e73}}.btn:active{transform:translateY(1px)}.btnPrimary{background:linear-gradient(180deg,var(--accent2),var(--accent));border-color:transparent;color:var(--accent-text);font-weight:700}.btnPrimary.gbSearchBtn,.btnPrimary.btnPay{background:linear-gradient(180deg,var(--cta-2, var(--accent2)),var(--cta, var(--accent)));color:var(--cta-text, var(--accent-text))}.btnPrimary.gbSearchBtn:hover,.btnPrimary.btnPay:hover{background:linear-gradient(180deg,var(--cta, var(--accent)),var(--cta-2, var(--accent2)))}.bxLauncher{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:900;display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border:1px solid transparent;border-radius:999px;background:var(--bx-forest-grad);color:#fff;font-weight:800;font-size:.95rem;line-height:1;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 12px 30px #00000047;animation:bxLauncherIn .3s cubic-bezier(.22,1,.36,1),bxFloat 3.4s ease-in-out .4s infinite}.bxLauncher:hover{filter:brightness(1.06);box-shadow:0 16px 42px #00000057}.bxLauncher:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bxLauncherDragging{cursor:grabbing;animation-play-state:paused;box-shadow:0 20px 50px #0000006b}.bxLauncherAvatar{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%;background:#ffffffeb;color:#058076;font-size:1.3rem;box-shadow:inset 0 0 0 1px #0000000f}@keyframes bxLauncherIn{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes bxFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (max-width: 480px){.bxLauncher{right:12px;bottom:max(12px,env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion: reduce){.bxLauncher{animation:bxLauncherIn .3s cubic-bezier(.22,1,.36,1)}}.btnPrimary:hover{background:linear-gradient(180deg,var(--accent),var(--accent2));opacity:.92}.btn:disabled{opacity:.55;cursor:not-allowed}.btnPrimary:disabled{opacity:1}.conciergePanel{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:900;width:clamp(288px,calc(100vw - 24px),420px);height:clamp(380px,calc(100dvh - 32px - env(safe-area-inset-bottom,0px) - env(safe-area-inset-top,0px)),640px);background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:16px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #d6b25e1f inset;display:flex;flex-direction:column;overflow:hidden;transition:height .25s ease-out,width .25s ease-out}@media (max-width: 480px){.conciergePanel{right:0;left:0;bottom:0;width:100vw;max-width:none;height:clamp(380px,calc(100dvh - env(safe-area-inset-top,0px)),100dvh);border-radius:18px 18px 0 0;border-left:none;border-right:none;border-bottom:none}.conciergeHeader{padding-top:calc(14px + env(safe-area-inset-top,0px))}.conciergeComposer{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}}@media (max-height: 480px) and (orientation: landscape){.conciergePanel{height:100dvh;border-radius:0}.conciergeHeader{padding:10px 14px}.conciergeComposer{padding:8px 12px}.conciergeEmpty{margin:8px 0}.conciergeEmptyTitle{font-size:1.2rem}}[data-theme=dark] .conciergePanel,:root:not([data-theme]) .conciergePanel{box-shadow:0 20px 60px #0000008c,0 0 0 1px #d6b25e2e inset}.conciergeBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000080;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:conciergeBackdropIn .18s ease-out}.conciergePanel--modal{position:relative;inset:auto;right:auto;left:auto;top:auto;bottom:auto;margin:0;width:min(100%,420px);max-width:420px;height:clamp(380px,calc(100dvh - 48px),640px);max-height:calc(100dvh - 48px);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:16px;animation:conciergeModalIn .2s ease-out}@keyframes conciergeBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes conciergeModalIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.conciergeBackdrop,.conciergePanel--modal{animation:none}}.conciergeHeader{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 14px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,var(--surface)) 0%,var(--surface) 100%);border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,var(--border))}.conciergeTitle{display:inline-flex;align-items:center;gap:6px;font-size:1rem;font-weight:800;color:var(--text)}.conciergeTitleDot{color:var(--accent)}.conciergeSub{font-size:.72rem;color:var(--muted);margin-top:2px}.conciergeHeadActions{display:flex;gap:6px}.conciergeHeadBtn{background:transparent;border:1px solid var(--border);color:var(--text2);padding:3px 9px;border-radius:6px;font-size:.78rem;cursor:pointer}.conciergeHeadBtn:hover{border-color:var(--accent);color:var(--text)}.conciergeLog{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--accent) 2%,var(--surface))}.conciergeEmpty{text-align:center;margin:auto 0;color:var(--muted)}.conciergeEmptyTitle{font-size:1.6rem;margin-bottom:4px}.conciergeEmptyBody{font-size:.85rem;max-width:260px;margin:0 auto;line-height:1.4}.conciergeRow{display:flex;flex-direction:column;max-width:85%}.conciergeRow--user{align-self:flex-end;align-items:flex-end}.conciergeRow--bot,.conciergeRow--admin{align-self:flex-start}.conciergeRow--system{align-self:center}.conciergeAgentTag{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4caf87;margin-bottom:2px}.conciergeBubble{padding:8px 12px;border-radius:14px;font-size:.88rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.conciergeRow--user .conciergeBubble{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));color:var(--text)}.conciergeRow--bot .conciergeBubble{background:var(--surface);border:1px solid var(--border);color:var(--text)}.conciergeRow--admin .conciergeBubble{background:color-mix(in srgb,#4caf87 10%,var(--surface));border:1px solid color-mix(in srgb,#4caf87 40%,var(--border));color:var(--text)}.conciergeRow--system .conciergeBubble{background:transparent;border:none;color:var(--muted);font-style:italic;font-size:.75rem;padding:4px 0}.conciergeTyping{display:inline-flex;gap:4px;padding:10px 14px}.conciergeTyping span{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.5;animation:conciergeTypingDot 1.2s ease-in-out infinite}.conciergeTyping span:nth-child(2){animation-delay:.15s}.conciergeTyping span:nth-child(3){animation-delay:.3s}@keyframes conciergeTypingDot{0%,60%,to{transform:translateY(0);opacity:.3}30%{transform:translateY(-4px);opacity:1}}.conciergeComposer{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface)}.conciergeComposer input{flex:1;padding:9px 14px;border:1px solid var(--border);border-radius:22px;background:var(--surface2, var(--surface));color:var(--text);font-size:.9rem;outline:none;transition:border-color .15s}.conciergeComposer input:focus{border-color:var(--accent)}.conciergeSend{width:38px;height:38px;border-radius:50%;border:none;background:linear-gradient(135deg,#d6b25e,#b48a2a);color:#1a1200;font-size:1rem;font-weight:800;cursor:pointer;transition:transform .13s,opacity .13s}.conciergeSend:disabled{opacity:.5;cursor:not-allowed}.conciergeSend:hover:not(:disabled){transform:scale(1.06)}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.paxTicketRow{display:flex;gap:10px;flex-wrap:wrap}.paxTicket{flex:0 0 auto;width:70px;padding:11px 6px 10px;cursor:pointer;border:1.5px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface));border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:3px;transition:transform .12s,filter .12s,background .12s,border-color .12s;mask:radial-gradient(circle at 0% 50%,transparent 8px,white 9px),radial-gradient(circle at 100% 50%,transparent 8px,white 9px);mask-composite:intersect;-webkit-mask:radial-gradient(circle at 0% 50%,transparent 8px,white 9px),radial-gradient(circle at 100% 50%,transparent 8px,white 9px);-webkit-mask-composite:destination-in}.paxTicket:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface));transform:translateY(-2px);filter:drop-shadow(0 4px 10px rgba(0,0,0,.13))}.paxTicket:active:not(:disabled){transform:translateY(0);filter:none}.paxTicket:disabled{opacity:.5;cursor:not-allowed}.paxTicketIcon{color:var(--accent);opacity:.75;line-height:0}.paxTicketNum{font-size:1.55rem;font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.02em}.paxTicketLabel{font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.quickToLabel{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--accent);margin-bottom:2px;margin-top:4px}.chipOther{border-style:dashed;opacity:.75}.choiceList{display:flex;flex-direction:column;gap:12px;margin-top:10px}.choiceRow{cursor:pointer;background-color:#ffffff0a;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:16px;border:1px solid rgba(35,48,67,.22);color:var(--text);box-shadow:none;transition:transform .15s cubic-bezier(.22,1,.36,1),background .15s ease,border-color .15s ease,box-shadow .15s ease}.choiceRow:hover{background-color:#d6b25e24!important;border-color:#d6b25e80!important;transform:translateY(-2px);box-shadow:0 4px 16px color-mix(in srgb,var(--accent) 12%,transparent)}.choiceRow:active{transform:translateY(1px);background-color:#d6b25e3d!important;border-color:#d6b25ea6!important}.choiceRow:disabled{opacity:.6}.choiceRowMain{display:flex;flex-direction:column;gap:4px;min-width:0}.choiceTime{font-weight:800;letter-spacing:.2px;white-space:nowrap}.choiceTripHead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.choiceCarrierLogoLg{flex:0 0 auto;height:2.1em;width:2.1em;align-self:flex-end;border-radius:5px;object-fit:contain;background:#fff;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}.choiceDurationInline{font-size:.85em;color:var(--muted);white-space:nowrap}.choiceCarrierInline{font-size:.92em;color:var(--accent);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}.choiceSub{color:var(--accent);font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.choiceCarrierRow{display:flex;align-items:center;gap:6px;min-width:0}.choiceCarrierLogo{flex:0 0 18px;width:18px;height:18px;border-radius:4px;object-fit:contain;background:#fff;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}.choiceRowMeta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}.choiceTclAdvisory{margin-top:6px;padding:6px 8px;border-radius:6px;background:#0000000a;border-left:2px solid var(--accent);font-size:11.5px;line-height:1.4;text-align:left;color:var(--text)}[data-theme=dark] .choiceTclAdvisory,:root:not([data-theme]) .choiceTclAdvisory{background:#ffffff0a}.choiceTclOrigin{font-weight:600;color:var(--text)}.choiceTclNote{color:var(--muted)}.cabinBadge{display:inline-block;background:#d6b25e25;color:var(--accent);border:1px solid rgba(214,178,94,.4);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.choiceMeta{color:#a7b2c7eb;font-size:12px}.choiceDuration{color:#a7b2c7cc;font-size:11px;margin-top:-2px;letter-spacing:.1px}.choicePriceBlock{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.choicePrice{white-space:nowrap;font-weight:900;color:var(--accent-text, #131315);background:linear-gradient(180deg,var(--accent2),var(--accent));border:1px solid rgba(0,0,0,.24);padding:10px 12px;border-radius:999px}.choicePriceTotal{white-space:nowrap;font-size:11px;color:color-mix(in srgb,var(--accent) 75%,var(--muted));text-align:right}.bsBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000059;animation:bsFadeIn .22s ease both}@keyframes bsFadeIn{0%{opacity:0}to{opacity:1}}.bsSheet{position:fixed;bottom:8vh;left:max(15%,calc(50% - 250px));right:max(15%,calc(50% - 250px));z-index:201;background:var(--surface);border:2px solid var(--accent);border-radius:20px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 -8px 40px #00000059;animation:bsSlideUp .28s cubic-bezier(.22,1,.36,1) both}@media (max-width: 720px){.bsSheet{bottom:0;left:0;right:0;border:none;border-top:2px solid var(--accent);border-radius:20px 20px 0 0}}@keyframes bsSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bsDragZone{flex-shrink:0;cursor:grab;touch-action:none;padding:12px 0 6px;display:flex;justify-content:center}.bsDragZone:active{cursor:grabbing}.bsHandle{width:40px;height:4px;border-radius:999px;background:var(--border);pointer-events:none}.bsTitle{font-weight:700;font-size:15px;color:var(--text);padding:10px 20px 0;flex-shrink:0;letter-spacing:.1px}.bsSortRow{display:flex;gap:8px;padding:10px 16px 8px;overflow-x:auto;flex-shrink:0;scrollbar-width:none}.bsSortRow::-webkit-scrollbar{display:none}.bsSortPill{flex-shrink:0;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.bsSortPill:hover{background:var(--btn-hover-fill);color:var(--text)}.bsSortPillActive{background:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.bsBody{flex:1;overflow-y:auto;padding:4px 16px 24px;overscroll-behavior:contain;animation:bsBodyIn .25s ease .2s both}@keyframes bsBodyIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bsEmpty{padding:24px 0;text-align:center;color:var(--muted);font-size:14px}.bsTypeInstead{display:block;width:100%;margin-top:12px;padding:8px 0;background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;text-align:center;letter-spacing:.01em;transition:color .15s}.bsTypeInstead:hover{color:var(--text)}.chip{border:1px solid rgba(35,48,67,.28);color:var(--text);padding:10px 12px;border-radius:999px;cursor:pointer;font-weight:650;transition:transform .08s ease,background .12s ease,border-color .12s ease}.chip:hover{background:#ffffff0f;border-color:#23304373}.chip:active{transform:translateY(1px);background:#ffffff08;border-color:#d6b25e73}.chip:disabled{opacity:.55;cursor:not-allowed}.chipSelected{background:#d6b25e29;border-color:#d6b25e8c}.typingBubble{display:inline-flex;padding:12px 16px!important;width:auto!important}.dots{display:inline-flex;align-items:center;gap:6px}.dots span{width:6px;height:6px;border-radius:999px;background:var(--muted);display:inline-block;animation:dotBounce 1s infinite ease-in-out}.dots span:nth-child(2){animation-delay:.12s}.dots span:nth-child(3){animation-delay:.24s}@keyframes dotBounce{0%,80%,to{transform:translateY(0);opacity:.55}40%{transform:translateY(-5px);opacity:1}}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 520px){.grid2{grid-template-columns:1fr}}.err{color:#ffb4b4;margin-top:10px;font-weight:600}.seatTabs{display:flex;gap:8px;margin:6px 0 10px;flex-wrap:wrap}.seatTab{border:1px solid var(--border);background:#ffffff0f;color:var(--text);padding:6px 10px;border-radius:999px;cursor:pointer;font-size:12px}.seatTab.active{outline:2px solid var(--accent)}.seatMapWrap{border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--surface2);overflow:auto;max-height:52vh;max-height:52dvh;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.seatGrid{display:grid;gap:8px;min-width:360px}.seatCell{height:44px;border-radius:12px;border:none;position:relative;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;-webkit-user-select:none;user-select:none;transition:background .12s,transform .1s}.seatCell.empty{background:transparent}.seatCell.obj{background:transparent;color:var(--muted);font-weight:500;font-size:9px;letter-spacing:.06em;text-transform:uppercase;opacity:.45;border:1px dashed color-mix(in srgb,var(--border) 60%,transparent)}.seatCell.seat.ok{background:#fff;border:2px solid #1a7f4f;color:#0d5a37;font-weight:700;cursor:pointer}.seatCell.seat.ok:hover{background:#eafaf1;transform:scale(1.06)}.seatCell.seat.bad{background:#6b7280;border:2px solid #374151;color:#fff;opacity:.75;cursor:not-allowed}.seatCell.seat.bad:after{content:"🔒";position:absolute;top:2px;right:3px;font-size:8px;line-height:1;opacity:.9}.seatCell.seat.active{background:var(--bx-forest)!important;color:#fff!important;border:2px solid var(--bx-forest-2)!important;transform:scale(1.08);box-shadow:0 2px 12px #14332973}@media (max-width: 520px){.seatGrid{min-width:300px;gap:6px}.seatCell{height:40px;border-radius:10px}}.resPerson{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.resMeta{margin-top:6px;display:flex;gap:12px;flex-wrap:wrap;color:#e8eef9cc;font-size:13px}.resSub{margin-top:4px;color:var(--muted);font-size:13px}.manageMenu{position:absolute;top:56px;right:18px;display:flex;gap:10px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:none;z-index:50}.manageWrap{position:relative;flex:1}.manageMenu{position:absolute;right:0;top:calc(100% + 8px);min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:none;padding:6px;z-index:50}.manageItem{width:100%;text-align:left;padding:10px;border-radius:10px;background:transparent;border:0;color:var(--text)}.manageItem:hover{background:#ffffff0f}.choiceBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--border);background-color:var(--surface2);color:var(--text);cursor:pointer;font-weight:600;line-height:1;transition:background-color .12s ease,border-color .12s ease,transform .08s ease}.choiceBtn:active{transform:translateY(1px)}.choiceBtn:hover{background-color:var(--btn-hover-fill);border-color:#d6b25e73}button.choiceBtn,.choiceBtn,button.btn,.btn{background-color:transparent;border:1px solid rgba(35,48,67,.55)}@media (hover: hover) and (pointer: fine){button.choiceBtn:hover,.choiceBtn:hover,button.btn:hover,.btn:hover{background-color:#d6b25e2e!important;border-color:#d6b25e8c!important}}button.choiceBtn:active,.choiceBtn:active,button.btn:active,.btn:active{transform:translateY(1px);background-color:#d6b25e3d!important}.askCard button,.askCard .chip,.askCard .choicePill,.askCard .optionBtn,.choiceGrid button,.choiceRow button,button.chip,button.optionBtn,button.choicePill{background-color:transparent!important;border:1px solid rgba(35,48,67,.55)!important;color:inherit}@media (hover: hover) and (pointer: fine){.askCard button:hover,.askCard .chip:hover,.askCard .choicePill:hover,.askCard .optionBtn:hover,.choiceGrid button:hover,.choiceRow button:hover,button.chip:hover,button.optionBtn:hover,button.choicePill:hover{background-color:#d6b25e2e!important;border-color:#d6b25e8c!important}}.askCard button:active,.askCard .chip:active,.askCard .choicePill:active,.askCard .optionBtn:active,.choiceGrid button:active,.choiceRow button:active,button.chip:active,button.optionBtn:active,button.choicePill:active{transform:translateY(1px);background-color:#d6b25e3d!important}.topbarHidden{opacity:0;pointer-events:none;visibility:hidden}.welcomeHero{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 120px);overflow:hidden;animation:heroFadeIn .5s cubic-bezier(.22,.9,.36,1) both;background:radial-gradient(ellipse 90% 60% at 50% 8%,color-mix(in srgb,var(--accent) 16%,var(--bg)),var(--bg) 68%)}@keyframes heroFadeIn{0%{opacity:0}to{opacity:1}}.welcomeHero.heroCompact{min-height:auto}.heroContentCompact{display:flex;flex-direction:row;align-items:center;gap:10px;padding:6px 20px 14px}.heroMapWrapCompact{position:relative;width:36px;height:52px;overflow:hidden;flex-shrink:0;opacity:.45}.heroMapWrapCompact .heroSeaMap{width:100%;height:100%;display:block}.heroContentCompact .heroTitle{font-size:clamp(14px,3vw,18px)}.heroSplit{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:48px;padding:28px 48px 36px;min-height:calc(100vh - 120px)}.heroLeft{display:flex;flex-direction:column;align-items:flex-start;gap:20px;flex:1;max-width:420px;min-width:0}.heroRight{display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex-shrink:0;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px}.heroMapWrap{position:relative;width:120px;max-height:180px;overflow:hidden;flex-shrink:0;aspect-ratio:130 / 230}.heroSeaMap{width:100%;height:100%;display:block}.heroMapFadeBottom{position:absolute;bottom:0;left:0;right:0;height:45%;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none}.heroMapFadeSides{display:none}.heroContent{display:flex;flex-direction:column;align-items:center;gap:18px;padding:0 20px 36px;text-align:center;margin-top:-28px;position:relative;z-index:1}.heroHead{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.myTripsBtn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius3);border:1.5px solid var(--border);background:var(--surface2);color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.myTripsBtn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface2))}.myTripsBtn:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 680px){.heroSplit{flex-direction:column;align-items:center;gap:24px;padding:24px 20px 32px;min-height:calc(100vh - 120px)}.heroLeft{align-items:center;text-align:center;max-width:100%}.heroLeft .heroHead{align-items:center}.heroLeft .trustStrip{justify-content:center}.heroLeft .heroMapWrap{margin:0 auto}.heroRight{width:100%;max-width:340px}}.heroTitle{font-size:clamp(28px,7vw,44px);font-weight:850;letter-spacing:-.04em;line-height:1.1;margin:0;color:var(--text);text-shadow:0 2px 24px var(--bg),0 0 48px var(--bg)}.heroAccent{color:var(--accent);position:relative}.heroAccent:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.5}.heroSub{font-size:14px;color:var(--muted);margin:0;line-height:1.5;max-width:300px;text-shadow:0 1px 8px var(--bg)}.heroSection{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:360px}.heroSectionLabel{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.heroDateTitle{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.01em}.destInputWrap{position:relative;width:100%;display:flex;gap:8px;align-items:center}.destInput{flex:1;padding:13px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius3);color:var(--text);font-size:14px;font-family:var(--font);outline:none;transition:border-color .18s,box-shadow .18s;box-shadow:0 2px 10px #0000001a}.destInput::placeholder{color:var(--muted)}.destInput:focus{border-color:var(--accent);box-shadow:var(--focus)}.destInput:disabled{opacity:.45}.destGo{padding:12px 18px;border-radius:var(--radius3);font-size:13px;font-weight:700;white-space:nowrap;flex-shrink:0}.destSuggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden;z-index:10;box-shadow:0 8px 24px #0000002e}.destSuggItem{width:100%;padding:11px 16px;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:14px;font-family:var(--font);cursor:pointer;transition:background .12s}.destSuggItem:last-child{border-bottom:none}.destSuggItem:hover{background:var(--btn-hover-fill)}.langStrip{display:flex;gap:6px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none;-ms-overflow-style:none;max-width:360px;width:100%;flex-wrap:nowrap}.langStrip::-webkit-scrollbar{display:none}.langPill{flex-shrink:0;font-size:11px;font-weight:600;padding:4px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--muted);white-space:nowrap;letter-spacing:.01em}.popularDests{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}.popularDestChip{font-size:12px;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.popularDestChip:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--text)}.popularDestChip:disabled{opacity:.45;cursor:not-allowed}.heroContent .chips{justify-content:center;flex-wrap:wrap;gap:10px;margin-top:0}.trustStrip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;width:100%;max-width:380px}.trustBadge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--surface));font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.trustCheck{color:var(--accent);font-size:13px;font-weight:900;line-height:1}.stepBar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0}.stepBarTrack{display:flex;align-items:center;gap:6px}.stepDot{width:8px;height:8px;border-radius:50%;background:var(--border);flex-shrink:0;transition:background .2s,transform .2s}.stepDotDone{background:color-mix(in srgb,var(--accent) 55%,var(--border))}.stepDotActive{background:var(--accent);transform:scale(1.4);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 60%,transparent)}.stepBarLabel{font-size:11px;font-weight:600;color:var(--accent);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.resetConfirm{display:flex;align-items:center;gap:6px}.resetConfirmText{font-size:12px;color:var(--muted);white-space:nowrap}.btnDanger{padding:5px 10px;border-radius:var(--radius3);border:1.5px solid #27ae60;background:transparent;color:#27ae60;font-size:12px;font-weight:700;cursor:pointer}.btnDanger:hover{background:#27ae60;color:#fff}.seaCountry{fill:var(--surface2);stroke:var(--border);stroke-width:.8;stroke-linejoin:round}.seaThailand{fill:var(--accent);opacity:.28;stroke:var(--accent);stroke-width:1;stroke-linejoin:round}.mapCityDot{fill:var(--accent);opacity:.9}.mapCityPrimary{opacity:1;filter:drop-shadow(0 0 4px var(--accent))}.mapCitySmall{opacity:.6}.mapCityPulse{fill:none;stroke:var(--accent);stroke-width:1.2;opacity:0;animation:cityPulse 2.4s ease-out infinite}@keyframes cityPulse{0%{r:6;opacity:.7}to{r:20;opacity:0}}.mapCityLabel{font-size:7.5px;fill:var(--muted);font-family:var(--font);font-weight:600;letter-spacing:.02em}.mapCityLabelPrimary{font-size:8.5px;fill:var(--accent);font-weight:700}.mapCountryLabel{font-size:6.5px;fill:var(--border);font-family:var(--font);letter-spacing:.08em;text-transform:uppercase}.thBody{fill:var(--accent);opacity:.32;stroke:var(--accent);stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}@media (prefers-color-scheme: light){.thBody{opacity:.62}.mapCityDot{opacity:1}.mapCitySmall{opacity:.75}.mapCityLabel{fill:var(--text)}.mapCityLabelPrimary{fill:var(--accent);opacity:1}}.scrollPicker{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.scrollPickerDisabled{opacity:.55;pointer-events:none}.drumRow{display:flex;gap:0;align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden}.drumWrap{position:relative;flex-shrink:0;height:220px}.drumScroll{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none}.drumScroll::-webkit-scrollbar{display:none}.drumItem{height:44px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500;color:var(--text);scroll-snap-align:center;-webkit-user-select:none;user-select:none;cursor:default;white-space:nowrap;padding:0 8px;transition:color .1s}.drumPad{pointer-events:none}.drumSel{font-weight:700;color:var(--accent);font-size:16px}.drumBar{position:absolute;top:50%;left:0;right:0;height:44px;transform:translateY(-50%);background:color-mix(in srgb,var(--accent) 12%,transparent);border-top:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent);pointer-events:none;z-index:1}.drumFade{position:absolute;left:0;right:0;height:40%;pointer-events:none;z-index:2}.drumFadeTop{top:0;background:linear-gradient(to bottom,var(--surface),transparent)}.drumFadeBot{bottom:0;background:linear-gradient(to top,var(--surface),transparent)}.calPicker{display:flex;flex-direction:column;gap:10px;width:100%;animation:calContentIn .22s ease .18s both}@keyframes calContentIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.calQuickRow{display:flex;gap:8px}.calHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.calMonthLabel{font-size:clamp(13px,2vw,16px);font-weight:700;color:var(--text);flex:1;text-align:center;letter-spacing:.02em}.calNavBtn{width:clamp(28px,4vw,36px);height:clamp(28px,4vw,36px);border-radius:50%;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:clamp(16px,2.5vw,20px);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s;flex-shrink:0}.calNavBtn:hover{background:var(--btn-hover-fill);border-color:var(--accent)}.calNavBtn:disabled{opacity:.4;cursor:not-allowed}.calGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(2px,.5vw,6px)}.calDow{text-align:center;font-size:clamp(9px,1.2vw,12px);font-weight:600;color:var(--muted);padding:2px 0 4px}.calDay{aspect-ratio:1;border-radius:50%;border:none;background:transparent;color:var(--text);font-size:clamp(11px,1.6vw,15px);font-weight:500;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s,transform .1s;display:flex;align-items:center;justify-content:center;padding:0;width:100%;min-width:0}.calDay:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 28%,transparent);transform:scale(1.08)}.calDayPast{opacity:.22;cursor:not-allowed}.calDayToday{font-weight:700;color:var(--bx-brass);border:1.5px solid var(--bx-brass)}.calDaySel{background:var(--accent)!important;color:var(--accent-text)!important;font-weight:700;border:none;animation:calSelPop .3s cubic-bezier(.22,1,.36,1) both}@keyframes calSelPop{0%{transform:scale(.75);box-shadow:0 0 color-mix(in srgb,var(--accent) 45%,transparent)}55%{transform:scale(1.18);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 20%,transparent)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}.calConfirmBtn{margin-top:4px;padding:clamp(9px,1.5vw,13px) 0;width:100%;border-radius:var(--radius2);border:none;background:var(--accent);color:var(--accent-text);font-size:clamp(13px,2vw,16px);font-weight:700;cursor:pointer;letter-spacing:.02em;transition:opacity .15s,transform .1s}.calConfirmBtn:hover{opacity:.88}.calConfirmBtn:active{transform:scale(.98)}.calConfirmBtn:disabled{opacity:.45;cursor:not-allowed}*{-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;overflow-x:clip}button,a,.btn,.chip,.choiceBtn,.choiceRow,.terminalCard,.calDay,.calNavBtn,.tripChip,.popularDestChip,.bsSortPill,[role=button]{touch-action:manipulation}input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{font-size:max(16px,1em)}.topWrap{padding-top:env(safe-area-inset-top)}.composerInner{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.chat{padding-bottom:calc(110px + env(safe-area-inset-bottom))}@media (min-width: 640px){.chat{padding-bottom:16px}}.dateChipWrap{display:flex;flex-direction:column;gap:8px}.dateChipHint{font-size:.72rem;color:var(--muted);text-align:center;padding:0 4px;opacity:.8}.dateChipFlex{border-style:dashed!important}.dateChipFlex:hover:not(:disabled){border-color:var(--accent)!important}@media (max-width: 480px){.dateChipRow{gap:6px}.dateChip{flex:1 1 0;min-width:0;padding:8px 4px 7px}.dateChipNum{font-size:1.4rem}.dateChipNumSm{font-size:1rem}.dateChipDay,.dateChipMonth{font-size:.55rem}.dateChipBadge{font-size:.55rem;padding:2px 5px;letter-spacing:.03em}}@media (max-width: 480px){.welcomeStats{grid-template-columns:repeat(4,1fr);padding:8px 0;gap:2px}.welcomeStat{padding:0 2px;min-width:0}.welcomeStatNum{font-size:.82rem}.welcomeStatLabel{font-size:.52rem;letter-spacing:.02em;line-height:1.15}}@media (max-width: 480px){.topActions .btnManage{font-size:.7rem!important;padding:5px 9px!important;line-height:1.1;max-width:92px;white-space:normal}.topDivider{display:none}.langPickerTrigger{padding:3px 7px;font-size:.68rem}.langPickerFlag{width:1.1rem;height:.82rem}.langPickerMenu{min-width:260px;right:-8px}.themeToggle,.topResetBtn{padding:5px 9px!important;font-size:.75rem!important}}.destPhotoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.destPhotoCard{display:flex;flex-direction:column;background:none;border:none;padding:0;cursor:pointer;border-radius:12px;overflow:hidden;transition:transform .15s,box-shadow .15s;text-align:left}.destPhotoCard:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.destPhotoCard:disabled{opacity:.5;cursor:not-allowed}.destPhotoCard--recent .destPhotoImg{outline:2px solid var(--accent);outline-offset:-2px}.destPhotoImg{position:relative;width:100%;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--surface2)}.destPhotoImg img{width:100%;height:100%;object-fit:cover;display:block}.destPhotoFallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface2))}.destPhotoBadge{position:absolute;top:5px;right:5px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--accent);color:var(--accent-text);border-radius:4px;padding:2px 5px}.destPhotoLabel{font-size:.78rem;font-weight:600;color:var(--text);padding:5px 2px 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.destPhotoLabelSecondary{font-size:.66rem;font-weight:500;color:var(--text2);padding:0 2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}.destPhotoLabelDot{opacity:.6}.showMoreBtn{display:block;width:100%;margin-top:10px;padding:8px 12px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius2);color:var(--accent);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;text-align:center}.showMoreBtn:hover:not(:disabled){background:var(--btn-hover-fill);border-color:var(--accent)}.showMoreBtn:disabled{opacity:.45;cursor:default}.seatMapTitle{font-weight:800;font-size:1rem;margin-bottom:12px}.seatLegend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:12px;padding:12px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius2)}.legendItem{display:flex;align-items:center;gap:8px}.legendSwatch{display:inline-block;width:22px;height:22px;border-radius:5px;flex-shrink:0;box-sizing:border-box}.legendLabel{font-size:.85rem;font-weight:700;color:var(--text)}.legendSwatch.legendItem--avail{background:#fff;border:2px solid #1a7f4f}.legendSwatch.legendItem--picked{background:var(--bx-forest);border:2px solid var(--bx-forest-2)}.legendSwatch.legendItem--taken{background:#6b7280;border:2px solid #374151}.legendSwatch.legendItem--vip{background:#fff;border:2px solid #b8892a;box-shadow:0 0 0 2px #b8892a inset}.legendSwatch.legendItem--stair{background:#e5e7eb;border:1px solid #9ca3af}.legendSwatch.legendItem--walk{background:transparent;border:1px dashed #9ca3af}.legendSwatch.legendItem--empty{background:transparent;border:1px dotted #d1d5db}.legendSwatch.legendItem--driver{background:#374151;border:1px solid #1f2937}.legendSwatch.legendItem--toilet{background:#e5e7eb;border:1px solid #9ca3af}.seatFilters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.seatFilterBtn{padding:5px 12px;border-radius:var(--radius3);border:1px solid var(--border);background:var(--surface2);color:var(--text2);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s}.seatFilterBtn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.seatFilterBtn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.seatFilterBtn:disabled{opacity:.45;cursor:default}.seatCell.seat.vip.ok{border:2px solid var(--accent)!important;box-shadow:0 0 0 1px #d6b25e40}.seatCell.seat.vip.ok.active{background:var(--accent);color:var(--accent-text)}.seatCell.dimmed{opacity:.25;pointer-events:none}.seatConfirmRow{position:sticky;bottom:0;z-index:2;margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--bg);border-top:1px solid var(--border);padding-top:12px;padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}.seatLivePrice{font-size:.9rem;color:var(--accent);font-weight:700}.btnPrimaryLarge{padding:14px 20px!important;font-size:1rem!important;font-weight:800!important;letter-spacing:.01em}.bookingProgress{display:flex;align-items:center;justify-content:center;gap:0;padding:10px 16px 8px;width:100%}.bpStep{display:flex;align-items:center;gap:0;position:relative}.bpDot{width:24px;height:24px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:var(--surface2);color:color-mix(in srgb,var(--accent) 55%,var(--muted));font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s;z-index:1;opacity:.7}.bpLabel{font-size:.7rem;color:var(--text2);margin-left:6px;white-space:nowrap;transition:color .2s,opacity .2s;opacity:.65}.bpStep.done .bpDot{background:var(--accent);border-color:var(--accent);color:var(--accent-text);opacity:1}.bpStep.done .bpLabel{color:var(--text2);opacity:.75}.bpStep.current .bpDot{border-color:var(--accent);background:var(--surface);color:var(--accent);box-shadow:0 0 0 3px #d6b25e38;opacity:1}.bpStep.current .bpLabel{color:var(--accent);font-weight:700;opacity:1}.bpCheck,.bpNum{font-size:.65rem}.bpLine{height:2px;width:28px;background:color-mix(in srgb,var(--accent) 22%,var(--border));margin:0 4px;flex-shrink:0;transition:background .25s;opacity:.7}.bpLine.done{background:var(--accent);opacity:1}@media (max-width: 400px){.bpLabel{display:none}.bpLine{width:16px}}[data-theme=dark] .chat,:root:not([data-theme]) .chat{background-image:none;background-color:var(--bg)}[data-theme=light-gold] .chat{background-color:var(--bg);background-image:radial-gradient(ellipse 90% 40% at 50% 112%,rgba(14,122,120,.05) 0%,transparent 64%)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:none;box-shadow:var(--focus)}.chip:hover:not(:disabled){border-color:var(--accent)}.terminalCard:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.dateChip:hover:not(:disabled){border-color:#ffffff73}.bsBody{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.btn,.chip,.choiceBtn{min-height:44px}.calNavBtn{min-width:44px;min-height:44px}.bsSheet{font-size:clamp(11px,2.3vw,15px)}.bsTitle{font-size:1em;padding:.67em 1.33em 0}.bsSortPill{font-size:.87em;padding:.4em .93em}.bsBody{padding-left:1.07em;padding-right:1.07em}.choiceRow{padding:.93em 1.07em;gap:.93em;border-radius:1.07em}.choiceTime{font-size:1em}.choiceSub{font-size:.87em}.choiceMeta{font-size:.8em}.choiceDuration{font-size:.73em}.choicePrice{font-size:.93em;padding:.67em .8em}.choicePriceTotal{font-size:.73em}.cabinBadge{font-size:.73em;padding:.07em .4em}.bsEmpty{font-size:.93em}@keyframes msgSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.row{animation:msgSlideUp .2s ease-out both}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeletonBubble{display:flex;flex-direction:column;gap:8px;padding:13px 15px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:140px;max-width:70%}.skeletonLine{height:10px;border-radius:6px;background:linear-gradient(90deg,var(--surface2) 25%,color-mix(in srgb,var(--surface2) 60%,var(--muted) 10%) 50%,var(--surface2) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear}.payModalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.payModal{background:var(--surface);border-radius:var(--radius2);width:100%;max-width:480px;height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px #00000080}.payModalHeader{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.payModalTitle{font-weight:600;font-size:.95rem;color:var(--text1)}.payModalClose{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text2);padding:.25rem .5rem;border-radius:6px}.payModalClose:hover{background:var(--btn-hover-fill)}.payModalFrame{flex:1;border:none;width:100%}.payModalBlocked{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:var(--text2)}.payModalPaid{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:3rem 2rem;text-align:center}.payModalPaidIcon{width:76px;height:76px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#1a7f4f;color:#fff;box-shadow:0 8px 24px #1a7f4f59}.payModalPaidTitle{font-size:1.4rem;font-weight:800;color:var(--text)}.payModalPaidSub{font-size:.95rem;color:var(--muted)}.paySheetBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:300;display:flex;align-items:flex-end;justify-content:center;animation:payFadeIn .18s ease-out}@keyframes payFadeIn{0%{opacity:0}to{opacity:1}}.paySheet{background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:var(--radius) var(--radius) 0 0;padding:0 1.5rem 2.5rem;width:100%;max-width:620px;animation:paySlideUp .26s cubic-bezier(.32,.72,0,1)}@keyframes paySlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.paySheetHandle{width:36px;height:4px;border-radius:2px;background:var(--border);margin:14px auto 1.5rem}.paySheetTitle{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.paySheetAmount{font-size:36px;font-weight:800;color:var(--accent);letter-spacing:-1px;margin-bottom:6px}.paySheetRef{font-size:13px;color:var(--muted);font-family:var(--font-mono);margin-bottom:1.75rem}.paySheetActions{display:flex;flex-direction:column;gap:10px}.paySheetNote{font-size:12px;color:var(--muted);text-align:center;margin-top:10px}.payIframeWrap{display:flex;flex-direction:column;width:100%;height:100%;background:var(--surface);animation:payFadeIn .18s ease-out}.payIframeBar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.payIframeTitle{font-size:14px;font-weight:600;color:var(--text)}.payIframeClose{background:none;border:1px solid var(--border);border-radius:var(--radius2);color:var(--muted);font-size:13px;padding:4px 10px;cursor:pointer}.payIframeClose:hover{color:var(--text);border-color:var(--text2)}.payIframe{flex:1;width:100%;border:none;display:block}.heroRouteChips{display:flex;flex-wrap:wrap;gap:8px;margin:1rem 0 .25rem}.heroRouteChipLabel{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:1rem 0 6px}.heroRouteChip{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius3);color:var(--text2);font-size:13px;padding:7px 14px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;line-height:1}.heroRouteChip:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent);color:var(--text)}.heroRouteChip:disabled{opacity:.45;cursor:default}.resDetailsToggle{background:none;border:none;color:var(--muted);font-size:12px;padding:4px 0;cursor:pointer;display:flex;align-items:center;gap:4px;margin:2px 0 6px;transition:color .15s}.resDetailsToggle:hover{color:var(--text)}.resDetailsExtra{display:contents}.mapModalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#14332980;display:flex;align-items:center;justify-content:center;padding:16px}.mapModal{position:relative;width:min(92vw,560px);height:min(72vh,560px);background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px #0006}.mapModalHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#143329;color:#fff;cursor:move;touch-action:none;user-select:none;-webkit-user-select:none}.mapModalTitle{font-weight:700;font-size:.95rem}.mapModalClose{background:transparent;border:none;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;padding:0 4px}.mapModalFrame{flex:1;width:100%;border:0}.mapModalOpenExt{padding:8px 14px;font-size:.82rem;font-weight:600;color:#143329;text-decoration:none;border-top:1px solid rgba(0,0,0,.08);text-align:center}.mapModalOpenExt:hover{text-decoration:underline}@media (prefers-reduced-motion: no-preference){.mapModal{animation:mapModalIn .18s ease-out}}@keyframes mapModalIn{0%{opacity:0;transform:scale(.98)}to{opacity:1}}.resMapPin{display:inline-flex;align-items:center;margin-left:6px;padding:2px;background:none;border:none;color:var(--accent);cursor:pointer;vertical-align:middle;line-height:0}.resMapPin:hover{color:var(--accent2, var(--accent));transform:translateY(-1px)}.chat{position:relative}.chatBooting{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;background:var(--bg)}@media (min-width: 640px){[data-theme=light-gold] .app{box-shadow:0 1px 3px #0f172a12,0 22px 60px #0f172a24}}
