:root{--bg-page:#0a0e18;--bg-panel:#111729;--bg-card:#151c31;--bg-card-hover:#1a2238;--border:#252d47;--border-soft:#1c2338;--gold:#d9a441;--gold-dim:#8a6d33;--gold-tint:#d9a4411f;--text-primary:#eceef3;--text-secondary:#9aa2b8;--text-muted:#5f6780;--user-bubble:#1b2036}body.light{--bg-page:#f7f3ea;--bg-panel:#fffdf8;--bg-card:#fff;--bg-card-hover:#faf6ec;--border:#e6ddc8;--border-soft:#ece4d2;--gold:#b9822c;--gold-dim:#c9a463;--gold-tint:#b9822c1a;--text-primary:#26241d;--text-secondary:#6b6555;--text-muted:#a29c88;--user-bubble:#f1e9d6}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg-page);color:var(--text-primary);margin:0;font-family:Inter,sans-serif;overflow:hidden}main{flex-direction:column;height:100vh;display:flex}.logo-font{font-family:Marcellus,serif}header{border-bottom:1px solid var(--border);background:var(--bg-page);flex:none;height:72px}.header-inner{justify-content:space-between;align-items:center;max-width:1400px;height:72px;margin:0 auto;padding:0 32px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-text .name{color:var(--gold);letter-spacing:.3px;font-size:22px;line-height:1.1}.brand-text .tagline{letter-spacing:1.5px;color:var(--text-secondary);margin-top:2px;font-size:10px}.header-right{align-items:center;gap:14px;display:flex}.powered-pill{border:1px solid var(--border);color:var(--text-primary);background:var(--bg-panel);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex}.btn-outline{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:9px 18px;font-family:Inter,sans-serif;font-size:14px;transition:background .15s,border-color .15s;display:flex}.btn-outline:hover{background:var(--bg-card-hover);border-color:var(--gold-dim)}.icon-toggle{border:1px solid var(--border);background:var(--bg-panel);cursor:pointer;width:38px;height:38px;color:var(--gold);border-radius:50%;justify-content:center;align-items:center;display:flex}.avatar-wrap{position:relative}.avatar{border:1.5px solid var(--gold);width:38px;height:38px;color:var(--gold);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:14px;font-weight:600;display:flex}.profile-popover{z-index:20;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:200px;padding:14px 16px;position:absolute;top:48px;right:0;box-shadow:0 8px 24px #0000004d}.profile-label{color:var(--text-primary);font-size:13.5px;font-weight:600}.profile-divider{background:var(--border);height:1px;margin:8px 0}.profile-note{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.profile-email{color:var(--gold);word-break:break-all;font-size:12.5px;text-decoration:none}.profile-email:hover{text-decoration:underline}.app-body{flex:auto;min-height:0;display:flex}.chat-panel{flex-direction:column;flex:auto;min-width:0;display:flex;position:relative}.messages-scroll{flex:auto;padding:32px 24px 8px;overflow-y:auto}.messages-scroll::-webkit-scrollbar{width:8px}.messages-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.hero{text-align:center;max-width:640px;margin:60px auto 0}.hero .mark{opacity:.15;margin-bottom:18px}.hero h1{margin:0 0 8px;font-size:26px;font-weight:600}.hero h1 .accent{color:var(--gold)}.hero .sub{color:var(--text-primary);margin:0 0 10px;font-size:16px;font-weight:500}.hero .desc{color:var(--text-secondary);margin:0 0 32px;font-size:14px;line-height:1.6}.suggestions{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;max-width:960px;margin:0 auto;display:grid}@media (max-width:760px){.suggestions{grid-template-columns:repeat(2,1fr)}}.sugg-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;padding:16px;font-family:Inter,sans-serif;transition:border-color .15s,background .15s,transform .1s;display:flex}.sugg-card:hover{border-color:var(--gold-dim);background:var(--bg-card-hover);transform:translateY(-1px)}.sugg-card .emo{flex:none;font-size:20px}.sugg-card .label{color:var(--text-primary);font-size:14px;line-height:1.35}.thread{flex-direction:column;gap:22px;max-width:760px;margin:0 auto;padding-bottom:16px;display:flex}.msg-row{gap:12px;display:flex}.msg-row.user{justify-content:flex-end}.msg-row .hazel-icon{background:var(--gold-tint);border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;margin-top:2px;font-size:14px;display:flex}.bubble{max-width:78%;font-size:14.5px;line-height:1.75}.msg-row.user .bubble{background:var(--user-bubble);border:1px solid var(--border);color:var(--text-primary);border-radius:16px 16px 4px;padding:12px 16px}.msg-row.assistant .bubble{color:var(--text-primary);padding-top:2px}.bubble p{margin:0 0 14px}.bubble p:last-child{margin-bottom:0}.bubble ul{margin:4px 0 14px;padding-left:22px}.bubble li{margin-bottom:9px;padding-left:2px}.bubble li:last-child{margin-bottom:0}.bubble li::marker{color:var(--gold)}.bubble strong{color:var(--gold);font-weight:600}.stream-cursor{color:var(--gold);margin-left:1px;animation:1s step-end infinite blink}.save-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.save-chip{border:1px dashed var(--gold-dim);color:var(--gold);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-family:Inter,sans-serif;font-size:12px;transition:background .15s}.save-chip:hover{background:var(--gold-tint)}.save-chip.saved{opacity:.6;cursor:default;border-style:solid}.quick-replies{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.quick-reply-card{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:10px;padding:9px 15px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:500;transition:border-color .15s,background .15s,transform .1s}.quick-reply-card:hover{border-color:var(--gold-dim);background:var(--bg-card-hover);transform:translateY(-1px)}.quick-reply-card:disabled{opacity:.5;cursor:default;transform:none}.feedback-row{gap:6px;margin-top:10px;display:flex}.feedback-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:5px 9px;font-size:13px;line-height:1;transition:border-color .15s,background .15s,opacity .15s}.feedback-btn:hover,.feedback-btn.active{border-color:var(--gold-dim);background:var(--gold-tint)}.feedback-btn:disabled{cursor:default}.feedback-btn:disabled:not(.active){opacity:.35}.timeline-list{flex-direction:column;gap:8px;display:flex}.timeline-item{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px}.timeline-day{color:var(--gold);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.timeline-title{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:600}.timeline-summary{color:var(--text-secondary);margin-top:3px;font-size:12px;line-height:1.4}.place-price{color:var(--text-muted);font-size:12px}.hotel-cards-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:12px;display:grid}.hotel-disclaimer{color:var(--text-muted);margin-top:10px;font-size:11px;line-height:1.5}.hotel-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:6px;padding:14px;display:flex}.tier-badge{letter-spacing:.4px;text-transform:uppercase;background:var(--gold-tint);color:var(--gold);border:1px solid var(--gold-dim);border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:10.5px;font-weight:600}.hotel-name{color:var(--text-primary);margin-top:2px;font-size:14.5px;font-weight:600}.hotel-price{color:var(--gold);font-size:13px;font-weight:500}.hotel-note{color:var(--text-secondary);font-size:12px;line-height:1.4}.hotel-actions{gap:8px;margin-top:8px;display:flex}.hotel-btn{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 10px;font-family:Inter,sans-serif;font-size:12px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.hotel-btn:hover{border-color:var(--gold-dim);background:var(--gold-tint)}.hotel-btn.saved{opacity:.55;cursor:default;border-color:var(--gold-dim)}.typing-row{align-items:center;gap:10px;padding:6px 0;display:flex}.typing{gap:5px;display:flex}.typing span{background:var(--gold-dim);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite blink}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.typing-phrase{color:var(--text-secondary);font-size:12.5px;animation:.4s fadeText}@keyframes fadeText{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.error-note{color:#e0836f;background:#e0836f14;border:1px solid #e0836f40;border-radius:8px;max-width:78%;padding:10px 14px;font-size:13px}.input-wrap{flex:none;padding:14px 24px 28px}.input-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:10px;max-width:1040px;margin:0 auto;padding:10px 10px 10px 20px;display:flex;box-shadow:0 6px 24px #00000059}.input-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:Inter,sans-serif;font-size:14px}.input-bar input::placeholder{color:var(--text-muted)}.icon-btn{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.icon-btn:hover{color:var(--text-primary)}.icon-btn.listening{color:#e0836f;animation:1.2s infinite micPulse}@keyframes micPulse{0%,to{opacity:1}50%{opacity:.4}}.send-btn{background:var(--gold);color:#1a1408;cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;transition:filter .15s;display:flex}.send-btn:hover{filter:brightness(1.08)}.send-btn:disabled{opacity:.5;cursor:default}.disclaimer{text-align:center;color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:11.5px;display:flex}.footer-email{color:var(--gold);text-decoration:none}.footer-email:hover{text-decoration:underline}.sidebar{border-left:1px solid var(--border);background:var(--bg-page);flex-direction:column;flex:none;width:300px;display:flex;overflow-y:auto}@media (max-width:900px){.sidebar{display:none}}.sidebar-header{cursor:pointer;flex:none;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.sidebar-header .title{align-items:center;gap:10px;font-size:14.5px;font-weight:600;display:flex}.sidebar-header .chev{color:var(--text-secondary);transition:transform .2s}.sidebar-header .chev.collapsed{transform:rotate(180deg)}.sidebar-content{flex-direction:column;gap:22px;padding:0 20px 20px;display:flex}.save-box{border:1px dashed var(--border);text-align:center;color:var(--text-muted);border-radius:12px;padding:26px 16px;font-size:13px;line-height:1.5}.save-box .b-icon{color:var(--text-muted);margin-bottom:10px}.section-label{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:13.5px;font-weight:600;display:flex}.row-line{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:7px 0;font-size:13.5px;display:flex}.row-line .val{color:var(--text-primary);font-weight:500}.row-line .val.editable{cursor:pointer;color:var(--gold)}.row-line .val input{background:var(--bg-card);border:1px solid var(--gold-dim);width:90px;color:var(--text-primary);text-align:right;border-radius:6px;padding:3px 8px;font-family:Inter,sans-serif;font-size:13px}.places-empty{color:var(--text-muted);font-size:13px;line-height:1.55}.place-item{background:var(--bg-card);border:1px solid var(--border-soft);color:var(--text-primary);border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:9px 12px;font-size:13px;display:flex}.place-item .rm{color:var(--text-muted);cursor:pointer;margin-left:auto;font-size:12px}.place-item .rm:hover{color:#e0836f}.export-btn{border:1px solid var(--gold);color:var(--gold);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px;font-family:Inter,sans-serif;font-size:14px;transition:background .15s;display:flex}.export-btn:hover,::selection{background:var(--gold-tint)}
