:root{--paper:#f6f4ef;--paper-deep:#eeebe3;--surface:#ffffff;--surface-soft:#f3f1ec;--ink:#2b2240;--ink-soft:#6f6885;--ink-faint:#a09ab0;--line:#e9e6ef;--line-strong:#d8d3e2;--terra:#6d4fc1;--terra-deep:#2e2145;--terra-soft:#ece5fb;--sea:#1e7a4e;--sea-soft:#e2f3e9;--olive:#7c6fa0;--olive-soft:#efebf7;--gold:#d9962b;--gold-soft:#fbeed6;--rose:#c2415f;--rose-soft:#fbe6ec;--bh-blue:#0e6db5;--bh-blue-deep:#0a4f84;--bh-blue-soft:#dcecf8;--bh-gold:#e8a13a;--accent:var(--terra);--accent-soft:var(--terra-soft);--lav:#b9a6f2;--lav-soft:#e9e1fc;--cta:var(--terra-deep);--cta-ink:#ffffff;--chip:#f1eef7;--radius-card:20px;--radius-bubble:22px;--radius-pill:999px;--shadow-card:0 10px 30px rgba(43,34,64,0.08);--shadow-pop:0 18px 50px rgba(43,34,64,0.16);--ease-spring:cubic-bezier(0.32,0.72,0.28,1)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body),"Quicksand",sans-serif;font-size:16px;font-weight:500;line-height:1.55;-webkit-font-smoothing:antialiased}@media (max-width:899.98px){input,select,textarea{font-size:16px}}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}.error-note{color:#a03a2e;background:#f9e5e1;border-radius:14px;padding:10px 14px;font-size:13.5px;margin:8px 0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}::-webkit-scrollbar-track{background:transparent}.shell{height:100dvh;display:flex;justify-content:center}.shell.landing{background:radial-gradient(circle at 72% 22%,rgba(233,225,252,.9),transparent 27%),radial-gradient(circle at 18% 76%,rgba(255,246,223,.7),transparent 24%),var(--paper);overflow:hidden}.chat-pane{display:flex;flex-direction:column;height:100%;width:100%;max-width:760px;position:relative}.shell.landing .chat-pane{max-width:none}.trip-stage{display:none;flex-direction:column;height:100%;position:relative;background:transparent}@media (max-width:899.98px){.shell.has-trip.view-trip .chat-pane{display:none}.shell.has-trip.view-trip .trip-stage{display:flex;width:100%}}@media (min-width:900px){.shell.has-trip .trip-stage{display:flex;flex:1 1;min-width:0}.shell.has-trip .chat-pane{order:-1;flex:0 0 var(--rail-width,424px);width:var(--rail-width,424px);max-width:var(--rail-width,424px);border-right:1px solid var(--line);background:var(--surface);box-shadow:14px 0 34px rgba(43,34,64,.04)}.shell.has-trip .rail-resizer{position:absolute;top:0;right:-4px;width:9px;height:100%;z-index:40;cursor:col-resize;touch-action:none}.shell.has-trip .rail-resizer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:42px;border-radius:var(--radius-pill);background:var(--line-strong);opacity:0;transition:opacity .13s,background .13s}.shell.has-trip .rail-resizer.dragging:after,.shell.has-trip .rail-resizer:hover:after{opacity:1;background:var(--accent)}}body.resizing-rail{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rail-resizer{display:none}@media (min-width:900px){.shell.has-trip .rail-resizer{display:block}.shell.has-trip.chat-hidden .chat-pane{display:none}}.header{display:flex;align-items:center;gap:10px;padding:14px 18px 10px}.shell.landing .header{position:fixed;inset:0 0 auto;z-index:20;align-items:flex-start;padding:12px clamp(18px,3.4vw,42px) 8px;background:linear-gradient(180deg,rgba(246,244,239,.96),rgba(246,244,239,0))}.brand{display:flex;align-items:center;min-width:0}.brand-logo{display:block;width:64px;height:auto;flex:0 0 auto}.shell.landing .brand-logo{width:96px}.home-actions{-webkit-margin-start:auto;margin-inline-start:auto;display:inline-flex;align-items:center;gap:8px}.lang-select{position:relative;display:inline-flex}.lang-trigger{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 11px;border:1px solid rgba(14,109,181,.28);background:rgba(255,255,255,.76);border-radius:var(--radius-pill);color:var(--ink);font-size:13px;font-weight:700;box-shadow:0 10px 22px rgba(10,79,132,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .14s var(--ease-spring),border-color .14s,background .14s}.lang-trigger:hover{border-color:var(--bh-blue);background:var(--surface)}.lang-trigger:active{transform:scale(.97)}.lang-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:40;min-width:176px;padding:6px;background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;box-shadow:0 24px 48px rgba(10,79,132,.16);display:flex;flex-direction:column;gap:2px}.lang-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border-radius:11px;background:transparent;color:var(--ink);font-size:14px;font-weight:600;text-align:start;transition:background .12s}.lang-option:hover{background:var(--accent-soft,rgba(14,109,181,.08))}.lang-option.on{background:var(--accent-soft,rgba(14,109,181,.1))}.lang-flag{display:inline-block;width:20px;height:14px;flex:0 0 auto;overflow:hidden;border-radius:3px;background-size:cover;background-position:50%;box-shadow:inset 0 0 0 1px rgba(17,36,64,.16),0 1px 2px rgba(17,36,64,.08)}.lang-name{flex:1 1 auto}.lang-check{color:var(--bh-blue)}.menu-lang{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px}.menu-lang-label{font-size:14px;font-weight:600;color:var(--ink-faint)}.home-actions .ha-pill{min-height:34px;border:1px solid rgba(14,109,181,.28);background:rgba(255,255,255,.76);border-radius:var(--radius-pill);padding:7px 14px;color:var(--ink);font-size:13px;font-weight:700;box-shadow:0 10px 22px rgba(10,79,132,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .14s var(--ease-spring),border-color .14s,background .14s}.home-actions .ha-pill:hover{border-color:var(--bh-blue);background:var(--surface)}.home-actions .ha-pill:active{transform:scale(.97)}.ha-avatar{display:none;align-items:center;gap:3px;height:40px;padding:0 9px 0 11px;border:1px solid rgba(14,109,181,.28);border-radius:var(--radius-pill);background:rgba(255,255,255,.82);color:var(--bh-blue-deep);box-shadow:0 10px 22px rgba(10,79,132,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .14s var(--ease-spring),border-color .14s,background .14s}.ha-avatar:hover{border-color:var(--bh-blue);background:var(--surface)}.ha-avatar:active{transform:scale(.96)}.ha-avatar-caret{color:var(--ink-faint)}@media (max-width:759.98px){.brand-logo{width:54px}.shell.landing .header{padding:10px 18px 6px}.shell.landing .brand-logo{width:80px}.home-actions .ha-pill{display:none}.ha-avatar{display:inline-flex}}.to-trip{-webkit-margin-start:auto;margin-inline-start:auto;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-pill);padding:7px 16px;font-size:13px;font-weight:700;color:var(--ink);transition:border-color .13s,background .13s}.to-trip:hover{border-color:var(--accent);background:var(--accent-soft)}.rail-hide{display:none}@media (min-width:900px){.shell.has-trip .chat-pane .header{border-bottom:1px solid var(--line);padding:12px 16px}.shell.has-trip .chat-pane .brand-logo{width:58px}.shell.has-trip .to-trip{display:none}.shell.has-trip .rail-hide{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:28px;height:28px;border-radius:10px;color:var(--ink-faint);font-size:15px;transition:background .12s,color .12s}.shell.has-trip .rail-hide:hover{background:var(--chip);color:var(--ink)}}.messages{flex:1 1;overflow-y:auto;padding:10px 20px 16px;scroll-behavior:smooth}.messages:has(.welcome){display:flex;flex-direction:column}.messages:has(.trip-chat-empty){display:flex;flex-direction:column}.shell.landing .messages{padding:0;overflow-y:auto}.shell.landing .messages:has(.welcome){display:block}.trip-chat-empty{margin:auto 0;padding:24px 4px;color:var(--ink-soft);font-size:14px;line-height:1.55}.trip-chat-empty-title{margin:0 0 6px;color:var(--ink);font-size:16px;font-weight:800}.trip-chat-empty p{margin:0}.msg{animation:rise .34s var(--ease-spring) both;margin:16px 0}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.msg.user{display:flex;justify-content:flex-end}.bubble{background:var(--lav-soft);color:var(--ink);border-radius:18px;padding:11px 16px;max-width:85%;font-size:15px;line-height:1.5;white-space:pre-wrap}.a-text{max-width:100%;font-size:15px;line-height:1.62}.a-text p{margin:0 0 .75em}.a-text p:last-child{margin-bottom:0}.a-text ul{margin:.35em 0 .75em;padding-left:1.25em}.a-text li{margin:.3em 0}.a-text li::marker{color:var(--accent)}.a-text strong{font-weight:700;color:var(--ink)}.welcome{width:min(1180px,100%);min-height:100dvh;margin:0 auto;padding:clamp(82px,12vh,130px) clamp(20px,4vw,44px) 42px;display:grid;grid-template-columns:minmax(300px,500px) minmax(260px,410px);align-items:center;justify-content:center;grid-gap:clamp(42px,7vw,96px);gap:clamp(42px,7vw,96px);text-align:left}.welcome-copy{position:relative;z-index:1}.eyebrow{margin:0 0 8px;color:var(--bh-blue);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.welcome h1{font-family:var(--font-display),sans-serif;font-weight:700;font-size:clamp(38px,5.2vw,64px);line-height:.92;letter-spacing:-.04em;color:var(--ink);margin:0 0 12px;max-width:14ch}.welcome h1 span{display:inline}.welcome-subtitle{color:var(--ink-soft);font-size:clamp(15px,1.3vw,18px);font-weight:700;line-height:1.38;margin:0 0 16px;max-width:52ch}.welcome-art{justify-self:center;position:relative;width:min(36vw,410px);min-width:260px;aspect-ratio:1}.welcome-art:after,.welcome-art:before{content:"";position:absolute;border-radius:999px;pointer-events:none}.welcome-art:before{inset:12% 8% 6% 6%;background:rgba(14,109,181,.16);filter:blur(38px);transform:translate(14px,24px)}.welcome-art:after{right:0;top:8%;width:34%;height:34%;background:rgba(232,161,58,.4);filter:blur(30px)}.hero-star{position:relative;z-index:1;display:block;width:100%;height:100%;filter:drop-shadow(0 26px 44px rgba(10,79,132,.18));animation:star-float 7s var(--ease-spring) infinite}@keyframes star-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-scene{opacity:0;animation:scene-cycle 18s ease-in-out infinite}.scene-1{animation-delay:0s}.scene-2{animation-delay:6s}.scene-3{animation-delay:12s}@keyframes scene-cycle{0%{opacity:0}4%{opacity:1}33%{opacity:1}38%{opacity:0}to{opacity:0}}.hero-sun{transform-origin:150px 150px;animation:sun-pulse 6s ease-in-out infinite}@keyframes sun-pulse{0%,to{transform:scale(.9);opacity:.7}50%{transform:scale(1.06);opacity:1}}.hero-tree{transform-box:fill-box;transform-origin:50% 100%;animation:tree-sway 4s ease-in-out infinite}@keyframes tree-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.hero-route{stroke-dashoffset:240;animation:route-draw 18s ease-in-out infinite}@keyframes route-draw{0%{stroke-dashoffset:240;opacity:.2}16%{stroke-dashoffset:0;opacity:1}92%{opacity:1}to{stroke-dashoffset:0;opacity:.2}}.hero-pin{transform-box:fill-box;transform-origin:50% 100%;opacity:0;animation:pin-drop 18s ease-in-out infinite}.hero-pin-1{animation-delay:.4s}.hero-pin-2{animation-delay:1.8s}.hero-pin-3{animation-delay:3.2s}@keyframes pin-drop{0%{opacity:0;transform:translateY(-8px) scale(.6)}6%{opacity:1;transform:translateY(0) scale(1)}90%{opacity:1}to{opacity:.6}}.hero-plane{offset-path:path("M112 150 C165 104 250 178 328 122");offset-rotate:auto;animation:plane-fly 18s ease-in-out infinite}@keyframes plane-fly{0%{offset-distance:0;opacity:0}6%{opacity:1}40%{offset-distance:100%;opacity:1}46%{offset-distance:100%;opacity:0}to{offset-distance:100%;opacity:0}}@media (prefers-reduced-motion:reduce){.hero-pin,.hero-plane,.hero-route,.hero-scene,.hero-star,.hero-sun,.hero-tree{animation:none}.hero-scene{opacity:1}.scene-2,.scene-3{opacity:0}.hero-route{stroke-dashoffset:0}.hero-pin{opacity:1}}.suggest{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start;margin-top:16px}.suggest button{background:var(--bh-blue-soft);color:var(--bh-blue-deep);border-radius:var(--radius-pill);padding:9px 15px;font-size:12.5px;font-weight:800;white-space:nowrap;text-align:center;box-shadow:0 8px 20px rgba(10,79,132,.1);transition:transform .13s var(--ease-spring),background .13s,box-shadow .13s}.suggest button:hover{background:#c8e2f6;box-shadow:0 10px 24px rgba(10,79,132,.16)}.suggest button:active{transform:scale(.96)}.build-own{display:inline-block;margin-top:18px;color:var(--bh-blue-deep);font-size:13.5px;font-weight:700;text-decoration:underline;text-underline-offset:3px;transition:color .13s,transform .13s var(--ease-spring)}.build-own:hover{color:var(--ink);transform:translateX(2px)}@media (min-width:900px){.shell.has-trip .welcome{padding:4vh 20px 20px}.shell.has-trip .welcome h1{font-size:24px;max-width:none}}@media (max-width:759.98px){.welcome{grid-template-columns:1fr;gap:22px;padding-top:84px;text-align:center}.welcome-copy{order:2}.welcome h1{max-width:12ch;margin-inline:auto}.welcome-subtitle{display:none}.suggest{justify-content:center}.landing-composer-zone{margin-inline:auto}.welcome-art{order:1;width:min(62vw,280px);min-width:220px}}@media (max-width:560px){.welcome{padding-inline:16px;padding-bottom:36px}.eyebrow{font-size:10.5px;letter-spacing:.12em}.welcome h1{font-size:clamp(36px,13vw,50px)}.welcome-art{width:min(66vw,250px);min-width:200px}.suggest button:nth-child(3){display:none}.suggest button{font-size:12px;padding:9px 14px}}.tool-note{display:inline-flex;align-items:center;gap:9px;color:var(--ink-soft);font-size:13px;padding:6px 0}.tool-note .spin{width:13px;height:13px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.typing{display:inline-flex;gap:5px;padding:10px 2px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-faint);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.composer-zone{padding:10px 16px calc(14px + env(safe-area-inset-bottom))}.landing-composer-zone{width:min(100%,440px);padding:0}.composer{display:flex;align-items:flex-end;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:9px 9px 9px 11px;position:relative;box-shadow:var(--shadow-card);transition:border-color .13s}.landing-composer{display:grid;grid-template-columns:34px 1fr 34px;grid-template-areas:"text text text" "plus .    send";grid-row-gap:14px;row-gap:14px;align-items:center;min-height:92px;border-color:rgba(14,109,181,.22);border-radius:22px;padding:16px 14px 14px;box-shadow:0 18px 46px rgba(10,79,132,.16)}.landing-composer:focus-within{border-color:var(--bh-blue)}.composer:focus-within{border-color:var(--line-strong)}.plus-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:var(--ink-soft);flex-shrink:0;transition:all .15s var(--ease-spring)}.plus-btn:hover{background:var(--chip);color:var(--ink)}.plus-btn.open{transform:rotate(45deg);background:var(--lav-soft);color:var(--ink)}.composer textarea{flex:1 1;border:none;outline:none;resize:none;background:transparent;font-family:inherit;font-size:15.5px;font-weight:500;line-height:1.45;color:var(--ink);max-height:120px;padding:7px 2px}.landing-composer textarea{grid-area:text;width:100%;min-height:24px;max-height:84px;padding:0;font-size:15px;font-weight:700}@media (max-width:899.98px){.composer textarea,.landing-composer textarea{font-size:16px}}.landing-composer .plus-btn{grid-area:plus;justify-self:start;width:34px;height:34px;font-size:19px}.landing-composer .send-btn{grid-area:send;justify-self:end;width:34px;height:34px;background:var(--bh-blue);color:#fff}.landing-composer .send-btn:not(:disabled):hover{background:var(--bh-blue-deep)}.landing-composer .menu{bottom:48px}.composer textarea::placeholder{color:var(--ink-faint)}.landing-composer textarea::placeholder{font-size:14px;line-height:1.35}@media (max-width:560px){.landing-composer textarea::placeholder{font-size:13px}}.send-btn{width:36px;height:36px;border-radius:50%;background:var(--lav);color:var(--cta-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .13s var(--ease-spring)}.send-btn:not(:disabled):hover{background:var(--cta)}.send-btn:not(:disabled):active{transform:scale(.92);background:var(--cta)}.send-btn:disabled{background:var(--chip);color:var(--ink-faint);cursor:default}.composer-note{margin:8px 0 0;text-align:center;font-size:11px;color:var(--ink-faint)}.menu{position:absolute;bottom:58px;left:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;min-width:230px;padding:6px;box-shadow:var(--shadow-pop);animation:rise .2s var(--ease-spring) both;z-index:30}.menu-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border-radius:11px;font-size:14.5px;font-weight:600;text-align:left;transition:background .12s}.menu-item:hover{background:var(--chip)}.menu-item .mi-icon{width:20px;text-align:center;color:var(--ink-soft)}.menu-item .soon{margin-left:auto;font-size:11px;font-weight:600;color:var(--ink-faint);border:1px solid var(--line);border-radius:var(--radius-pill);padding:1.5px 8px}.steps-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:14px 16px;margin:6px 0;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-card);animation:rise .38s var(--ease-spring) both}.steps-summary{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13.5px;color:var(--ink)}.steps-summary-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--lav-soft);color:var(--accent);font-size:.8rem;flex:0 0 22px}.steps-list{display:flex;flex-direction:column;gap:8px}.steps-list:before{content:"";display:block;height:5px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--lav),var(--accent));margin-bottom:2px}.step{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-soft)}.step.done{color:var(--ink)}.step.failed{color:var(--ink-soft)}.step-mark{width:18px;display:inline-flex;justify-content:center;color:var(--accent);flex:0 0 18px}.step.failed .step-mark{color:var(--ink-faint)}.step-mark .spin{width:12px;height:12px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}.chips-row{display:flex;flex-wrap:wrap;gap:8px;padding:8px 2px 12px}.chips-row .chip{max-width:100%;flex:0 1 auto;background:var(--lav-soft);border-color:transparent;color:var(--ink);font-weight:600;font-size:14px;padding:9px 16px}.chips-row .chip:hover{background:var(--accent-soft)}.step-count{color:var(--ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.8rem}.it-thumb{width:44px;height:34px;border-radius:10px;object-fit:cover;flex:0 0 44px}.view-nav{display:none}@media (max-width:899.98px){.shell.has-trip .view-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom));z-index:35;display:flex;gap:4px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-pop);animation:rise .34s var(--ease-spring) both}.shell.has-trip .chat-fab,.shell.has-trip .to-trip{display:none}.shell.has-trip.view-chat .composer-zone{padding-bottom:calc(70px + env(safe-area-inset-bottom))}}.view-nav-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius-pill);font-size:14px;font-weight:700;color:var(--ink-soft);transition:background .13s,color .13s}.view-nav-btn svg{flex:0 0 auto}.view-nav-btn.active{background:var(--lav-soft);color:var(--ink)}