@import"https://fonts.googleapis.com/css2?family=Pacifico&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=DM+Serif+Display:ital@0;1&display=swap";:root{color-scheme:light;--violet: #8134af;--magenta: #c13584;--coral: #e1306c;--orange: #f56040;--amber: #f77737;--gold: #fcaf45;--butter: #ffdc80;--cream: #fff8f0;--espresso: #1a1017;--warm-gray: #3d2e36;--mid-gray: #8a7580;--linen: #e8dfe4;--sunrise: linear-gradient(135deg, var(--violet) 0%, var(--magenta) 25%, var(--coral) 50%, var(--orange) 75%, var(--gold) 100%);--golden-hour: linear-gradient(135deg, var(--coral) 0%, var(--orange) 50%, var(--gold) 100%);--dusk: linear-gradient(135deg, var(--violet) 0%, var(--magenta) 50%, var(--coral) 100%);--bg-app: #f6ecef;--bg-surface: #fff8f0;--bg-elevated: #fffdf9;--text-primary: var(--espresso);--text-secondary: var(--warm-gray);--text-tertiary: var(--mid-gray);--text-on-card: #ffffff;--text-on-card-sub: rgba(255, 255, 255, .9);--accent-contrast: #fff7ef;--radius-l: 16px;--radius-m: 16px;--radius-s: 12px;--font-main: "Plus Jakarta Sans", "Avenir Next", "Segoe UI", sans-serif;--font-display: "DM Serif Display", Georgia, serif;--font-wordmark: "Pacifico", cursive;--accent: var(--coral);--accent-strong: var(--orange);--accent-soft: rgba(225, 48, 108, .12);--accent-soft-strong: rgba(225, 48, 108, .18);--highlight: var(--gold);--highlight-soft: rgba(252, 175, 69, .16);--border-light: rgba(61, 46, 54, .14);--input-bg: #fff8ef;--modal-backdrop: rgba(27, 20, 16, .34);--card-bg-start: #fff8ee;--card-bg-end: #f4ece2;--card-border: rgba(61, 46, 54, .08);--insight-bg-start: rgba(255, 251, 245, .96);--insight-bg-end: rgba(247, 239, 230, .92);--approval-bg: rgba(255, 251, 245, .97);--pre-bg: #f0e4d7;--shadow-soft: 0 24px 56px rgba(61, 46, 54, .14);--shadow-card: 0 14px 28px rgba(61, 46, 54, .1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}html,body,#root{width:100%;height:100%}body{font-family:var(--font-main);background:linear-gradient(180deg,#fbf7f3,#f3ece7);background-color:var(--bg-app);color:var(--text-primary);overflow:hidden;min-height:100dvh}.app-shell{width:100%;height:100%;min-height:100dvh;display:flex;align-items:stretch;padding:12px}.app-container{width:100%;height:calc(100vh - 24px);max-width:1520px;margin:0 auto;background:var(--bg-elevated);display:flex;overflow:hidden;position:relative;border-radius:22px;border:1px solid rgba(110,77,56,.1);box-shadow:0 18px 44px #3d2e361a}.chat-area{flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 90%,transparent) 0%,var(--bg-surface) 100%);min-width:0;position:relative;overflow:hidden}.chat-area:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 22%);pointer-events:none}.chat-header{min-height:58px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:1;background:linear-gradient(135deg,#1a1017,#25151f)}.chat-title{display:flex;flex-direction:column;gap:0}.brand-lockup{display:flex;align-items:center;gap:10px}.brand-lockup-copy{display:flex;flex-direction:column;gap:2px}.brand-wordmark{font-family:var(--font-wordmark);font-size:22px;line-height:1;color:var(--espresso)}.brand-wordmark.on-dark{color:#ffffffeb;letter-spacing:1.5px}.brand-dot{background:var(--sunrise);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.chat-kicker{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ffffff80}.chat-kicker.light{color:var(--text-tertiary)}.chat-title h2{font-family:var(--font-display);font-size:15px;line-height:1.1;font-weight:400;letter-spacing:-.03em;color:#ffffffeb}.chat-title span{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-top:2px;padding:4px 8px;border-radius:999px;background:#ffffff14;color:#ffffffe6;font-size:11px;font-weight:700}.header-btn{border:1px solid var(--border-light);background:#ffffff0f;color:#ffffffeb;border-radius:999px;padding:8px 12px;font-size:11px;font-family:inherit;cursor:pointer;box-shadow:0 8px 18px #00000029;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.header-btn:hover:enabled{transform:translateY(-1px);border-color:#ffffff2e;box-shadow:0 12px 24px #00000038}.header-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.header-secondary-btn,.header-debug-btn{background:#ffffff14}.header-debug-btn.active{border-color:#fcaf454d;background:#fcaf4524;color:#ffffffeb}.header-btn:disabled{opacity:.6;cursor:not-allowed}.debug-panel{position:absolute;top:88px;right:18px;width:min(370px,calc(100% - 36px));max-height:min(60vh,560px);border-radius:16px;border:1px solid var(--border-light);background:color-mix(in srgb,var(--bg-surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 48px #07090e2e;z-index:9;display:flex;flex-direction:column;overflow:hidden}.debug-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-light);gap:8px}.debug-panel-header h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.debug-panel-actions{display:inline-flex;align-items:center;gap:6px}.debug-btn{border:1px solid var(--border-light);border-radius:999px;background:var(--input-bg);color:var(--text-primary);font-size:11px;padding:4px 9px;cursor:pointer}.debug-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px 12px;border-bottom:1px solid var(--border-light);font-size:11px;color:var(--text-secondary)}.debug-event-list{overflow:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.debug-empty{font-size:12px;color:var(--text-secondary);padding:12px}.debug-event{border:1px solid var(--border-light);border-radius:12px;padding:8px 9px;background:var(--bg-surface);display:flex;flex-direction:column;gap:5px}.debug-event-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.debug-event p{font-size:12px;color:var(--text-primary);line-height:1.4}.debug-event code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px;color:var(--text-secondary);word-break:break-word;white-space:pre-wrap}.debug-event.kind-error{border-color:#e04e4e66;background:color-mix(in srgb,#fff2f2 72%,var(--bg-surface))}.messages-container{flex:1;overflow:hidden;padding:14px 16px 12px;position:relative;z-index:1}.workspace-shell{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:12px;height:100%;min-height:0}.workspace-shell.is-empty{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.history-pane,.response-pane{min-height:0;border-radius:18px;border:1px solid rgba(61,46,54,.1);background:#fffdf9;box-shadow:0 10px 26px #3d2e360f;overflow:hidden}.history-pane{display:flex;flex-direction:column}.history-pane-head,.response-pane-head{padding:12px 14px 11px;border-bottom:1px solid var(--border-light)}.history-pane-head p,.response-pane-head p{font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--text-tertiary)}.history-pane-head span,.response-pane-head span{display:block;margin-top:4px;font-size:12px;color:var(--text-secondary)}.response-pane-head h3,.history-pane-empty h3,.response-empty-head h3,.hero-side-card h3{margin-top:6px;font-family:var(--font-display);font-size:22px;line-height:1;font-weight:400;color:var(--text-primary)}.history-list{flex:1;min-height:0;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.history-pane-empty{flex:1;min-height:0;padding:16px;display:flex;flex-direction:column;justify-content:flex-start;gap:6px}.history-pane-empty h3{margin-top:4px;font-family:var(--font-main);font-size:13px;line-height:1.4;font-weight:600;color:var(--text-secondary)}.history-pane-empty p{font-size:12px;line-height:1.5;color:var(--text-tertiary)}.history-entry{width:100%;border:1px solid var(--border-light);border-radius:16px;background:var(--bg-surface);padding:10px 11px;text-align:left;display:flex;flex-direction:column;gap:6px;cursor:default;box-shadow:0 8px 18px #3d2e360d;font:inherit;color:inherit;appearance:none}.history-entry.assistant{cursor:pointer}.history-entry.assistant:hover{border-color:#e1306c2e;box-shadow:0 12px 22px #3d2e3614}.history-entry.active{border-color:#e1306c47;background:color-mix(in srgb,rgba(225,48,108,.08) 50%,var(--bg-surface))}.history-entry.pending{border-style:dashed}.history-entry.user{background:color-mix(in srgb,rgba(252,175,69,.08) 42%,var(--bg-surface))}.history-entry-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-entry-top strong{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary)}.history-entry-top span{font-size:10px;color:var(--text-tertiary)}.history-entry p{font-size:13px;line-height:1.5;color:var(--text-secondary)}.response-pane{display:flex;flex-direction:column}.response-pane-body{flex:1;min-height:0;overflow:auto;padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}.response-pane-body>*{width:100%}.response-copy{border:1px solid var(--border-light);border-radius:18px;background:var(--bg-surface);padding:14px 16px;font-size:15px;line-height:1.66;color:var(--text-primary);box-shadow:0 10px 20px #3d2e360d}.response-empty{flex:1;min-height:0;overflow:auto;padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:22px;align-items:flex-start}.response-empty-head{width:min(680px,100%);padding:0}.response-empty-head h3{margin-top:0;font-size:38px;line-height:1.02}.response-empty-head p{max-width:520px;margin-top:12px;font-size:15px;line-height:1.6;color:var(--text-secondary)}.quick-start-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(760px,100%)}.quick-start-btn{width:100%;min-height:84px;padding:14px 15px;border-radius:12px;border:1px solid rgba(61,46,54,.1);background:#fff;color:var(--text-primary);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;box-shadow:0 6px 16px #3d2e360a;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.quick-start-btn strong{font-size:13px;line-height:1.3;font-weight:700;color:var(--text-primary)}.quick-start-btn span{font-size:12px;line-height:1.45;color:var(--text-secondary)}.quick-start-btn:hover{transform:translateY(-1px);border-color:#e1306c33;box-shadow:0 10px 22px #3d2e3614}.empty-state-shell{width:100%;display:flex;flex-direction:column;gap:22px}.empty-state-hero{width:min(880px,100%);padding:28px 30px;border-radius:28px;background:radial-gradient(circle at 15% 18%,rgba(129,52,175,.22),transparent 28%),radial-gradient(circle at 88% 12%,rgba(245,96,64,.22),transparent 24%),radial-gradient(circle at 58% 88%,rgba(252,175,69,.12),transparent 30%),linear-gradient(145deg,#21121cfa,#1a1017fa);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-soft)}.empty-state-brand{display:flex;align-items:center;gap:14px}.empty-state-brand-copy{display:flex;flex-direction:column;gap:4px}.empty-state-brand-copy p{margin:0;font-size:13px;line-height:1.4;color:#ffffff8c}.empty-state-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#ffffff14;color:#ffffffe0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:18px}.empty-state-hero h1{max-width:12ch;margin-top:14px;font-size:clamp(34px,5vw,58px);line-height:.95;letter-spacing:-.06em;color:#fffffff0;font-family:var(--font-display)}.empty-state-hero p{max-width:720px;margin-top:16px;font-size:17px;line-height:1.7;color:#ffffffc2}.empty-state-highlights{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.empty-state-highlights span{display:inline-flex;align-items:center;min-height:34px;padding:8px 14px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fffffff0;font-size:13px;font-weight:700}.prompt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;width:100%}.prompt-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.prompt-chip{padding:13px 14px 14px;border-radius:18px;background:linear-gradient(180deg,#fffffff5,#fffaf5f5);border:1px solid var(--border-light);color:var(--text-primary);text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.2,.8,.2,1);box-shadow:0 10px 24px #4c302014;display:flex;flex-direction:column;gap:6px}.prompt-chip em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}.prompt-chip strong{font-family:var(--font-display);font-size:18px;line-height:1.15;letter-spacing:-.02em;font-weight:400}.prompt-chip span{font-size:13px;line-height:1.5;color:var(--text-secondary)}.prompt-chip:hover{transform:translateY(-3px);background:linear-gradient(180deg,#fff,#fff7ef);border-color:#e1306c2e;box-shadow:0 20px 34px #3d2e361f}.response-empty-footer{margin-top:4px;border-radius:18px;border:1px dashed rgba(61,46,54,.12);background:linear-gradient(180deg,#ffffffa8,#fff8f094);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.response-empty-footer p{font-size:13px;line-height:1.55;color:var(--text-secondary)}.response-empty-pill-row{display:flex;flex-wrap:wrap;gap:8px}.response-empty-pill{display:inline-flex;align-items:center;min-height:26px;padding:5px 10px;border-radius:999px;background:#ffffffc2;border:1px solid rgba(61,46,54,.1);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.prompt-chip:active{transform:translateY(0)}.message-group{display:flex;flex-direction:column;gap:12px;max-width:min(780px,100%)}.message-group.user{align-self:flex-end;align-items:flex-end}.message-group.concierge{align-self:flex-start;align-items:flex-start;width:min(860px,100%)}.bubble{padding:14px 20px;border-radius:var(--radius-m);font-size:16px;line-height:1.65;max-width:100%;white-space:pre-wrap}.bubble.user{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:var(--accent-contrast);border-bottom-right-radius:4px;box-shadow:0 10px 20px #7e3b1f2e}.bubble.concierge{background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);color:var(--text-primary);border-bottom-left-radius:4px;border:1px solid var(--border-light);box-shadow:0 14px 28px #39241a12}.card-caption{font-size:12px;line-height:1.5;color:var(--text-tertiary);padding:0 2px}.bubble-error{background:#fff0f0;color:#7d1e1e;border:1px solid rgba(209,68,68,.2)}.approval-card{width:min(560px,100%);border-radius:20px;border:1px solid var(--border-light);background:linear-gradient(160deg,color-mix(in srgb,var(--approval-bg) 94%,transparent) 0%,var(--pre-bg) 100%);padding:16px;display:flex;flex-direction:column;gap:10px}.approval-card h4{font-family:var(--font-display);font-size:24px;font-weight:400}.approval-card p{font-size:13px;color:var(--text-secondary);line-height:1.55}.approval-card pre{border-radius:12px;background:var(--pre-bg);padding:10px;font-size:11px;line-height:1.35;white-space:pre-wrap;word-break:break-word}.approval-profile{display:grid;grid-template-columns:1fr;gap:10px}.approval-profile div{padding:12px 14px;border-radius:16px;background:#ffffff70;border:1px solid rgba(255,255,255,.42)}.approval-profile span{display:block;color:var(--text-tertiary);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.approval-profile strong{display:block;margin-top:6px;font-size:14px;line-height:1.4;color:var(--text-primary)}.approval-actions{display:flex;gap:8px}.approval-btn{border:1px solid var(--border-light);border-radius:999px;padding:7px 12px;font-size:12px;cursor:pointer}.approval-btn.approve{background:var(--accent);color:var(--bg-surface);border-color:var(--accent)}.approval-btn.reject{background:var(--bg-surface);color:var(--text-primary)}.tool-output-wrap,.assistant-stage{display:flex;flex-direction:column;gap:14px;width:100%;align-self:stretch}.result-stage{display:flex;flex-direction:column;gap:12px;width:100%;align-self:stretch}.result-stage.is-loading{min-height:224px}.tool-activity{display:flex;flex-wrap:wrap;gap:6px;width:100%;align-items:flex-start}.tool-activity.condensed{margin-bottom:2px}.tool-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;max-width:100%;padding:7px 11px;border-radius:999px;border:1px solid var(--border-light);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);color:var(--text-primary);box-shadow:0 2px 8px #0c0e120a}.tool-chip.state-running{border-color:#8134af38;background:color-mix(in srgb,rgba(129,52,175,.14) 78%,var(--bg-surface));color:var(--violet)}.tool-chip.state-complete{border-color:#fcaf4533;background:color-mix(in srgb,rgba(252,175,69,.14) 80%,var(--bg-surface));color:var(--orange)}.tool-chip.state-error{border-color:#d1444438;background:color-mix(in srgb,rgba(209,68,68,.1) 80%,var(--bg-surface));color:#a33a3a}.tool-chip.state-approval{border-color:#c47c243d;background:color-mix(in srgb,rgba(196,124,36,.12) 80%,var(--bg-surface));color:#9a5d12}.tool-chip-dot{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:currentColor;opacity:.88}.tool-chip.state-running .tool-chip-dot{box-shadow:0 0 0 4px color-mix(in srgb,currentColor 16%,transparent)}.tool-chip-label{font-size:11px;font-weight:600;color:var(--text-primary)}.tool-chip-detail{font-size:11px;color:var(--text-secondary);max-width:min(340px,60vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.followup-row{display:flex;flex-wrap:wrap;gap:8px;width:100%}.followup-chip{border:1px solid rgba(225,48,108,.16);border-radius:999px;background:#fffffff5;color:var(--text-primary);padding:8px 13px;font-size:11px;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.followup-chip:hover:enabled{transform:translateY(-1px);border-color:#e1306c38;box-shadow:0 6px 14px #3d2e361a}.followup-chip:disabled{opacity:.55;cursor:not-allowed}.message-action-row{display:flex;flex-wrap:wrap;gap:8px;width:100%}.message-action-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border-radius:999px;border:1px solid rgba(225,48,108,.14);background:#fffffff5;color:var(--text-primary);font-size:11px;font-weight:700;font-family:inherit;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.message-action-chip:hover{transform:translateY(-1px);border-color:#e1306c3d;box-shadow:0 8px 18px #3d2e361a}.message-action-chip.is-link{background:color-mix(in srgb,rgba(252,175,69,.16) 72%,var(--bg-elevated))}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;width:100%;align-self:stretch}.menu-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;width:100%;align-self:stretch}.insight-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;width:100%;align-self:stretch}.menu-card{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--card-border);background:linear-gradient(165deg,var(--card-bg-start) 0%,var(--card-bg-end) 100%);box-shadow:var(--shadow-card);transition:transform .15s ease,box-shadow .15s ease}.menu-card.no-image .menu-card-body{padding:14px 16px 16px}.insight-card{position:relative;border-radius:18px;padding:14px 14px 15px;border:1px solid var(--card-border);background:linear-gradient(150deg,var(--insight-bg-start) 0%,var(--insight-bg-end) 100%);box-shadow:var(--shadow-card);overflow:hidden}.insight-card-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--border-light);margin-bottom:10px;font-size:11px;color:var(--text-secondary)}.insight-card h4{font-family:var(--font-display);font-size:19px;line-height:1.35;font-weight:400;color:var(--text-primary);letter-spacing:-.01em}.insight-card p{margin-top:6px;font-size:11px;line-height:1.45;color:var(--text-secondary)}.menu-card-media{height:126px;background:var(--pre-bg)}.menu-card-media img{width:100%;height:100%;object-fit:cover;display:block}.menu-card-body{padding:11px 12px 12px;display:flex;flex-direction:column;gap:8px}.menu-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.menu-card-head h4{font-family:var(--font-display);font-size:19px;line-height:1.3;font-weight:400;letter-spacing:-.01em;color:var(--text-primary)}.menu-price-chip{border-radius:999px;background:var(--accent);color:var(--accent-contrast);font-size:12px;font-weight:600;padding:4px 8px;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}.menu-card:hover .menu-price-chip{transform:translateY(-1px);box-shadow:0 3px 9px #00000029}.menu-price-chip.is-missing{background:var(--pre-bg);color:var(--text-secondary)}.menu-card-meta{font-size:11px;color:var(--text-secondary)}.menu-card-description{font-size:12px;line-height:1.5;color:var(--text-primary)}.dna-card{position:relative;min-height:198px;border-radius:18px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;background:linear-gradient(145deg,#8134afeb,#e1306ce0 38%,#f56040db 72%,#fcaf45d1);box-shadow:var(--shadow-card)}.venue-card{min-height:auto;background:linear-gradient(180deg,#fffffffa,#fff8f0fa);border:1px solid var(--card-border);display:flex;flex-direction:column}.dna-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px #2f1f1629}.stream-card{animation:fadeInUp .2s ease both;animation-delay:calc(var(--card-index, 0) * .04s)}.dna-card img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease;filter:brightness(.78) saturate(1.02) contrast(1.04)}.venue-card-media{height:118px;background:linear-gradient(145deg,#8134af33,#f560402e);overflow:hidden}.venue-card-media img{width:100%;height:100%;object-fit:cover;filter:brightness(.94) saturate(1.02)}.card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#d97742,#2f6f6d);display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff9;text-transform:uppercase}.dna-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#100a0e4d,#100a0e2e 24%,#100a0e7a 58%,#100a0ee0);pointer-events:none}.venue-card:after{display:none}.card-meta-top{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:8px;z-index:2;padding:6px 9px;border-radius:999px;background:#0d0b0a85;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.venue-card .card-meta-top{display:none}.meta-dot{width:8px;height:8px;border:1.5px solid rgba(255,255,255,.8);border-radius:50%}.meta-filled{background:#ffffffe6;border:none}.meta-text{font-size:10px;font-weight:600;color:#ffffffe6;letter-spacing:.06em;text-transform:uppercase}.card-content{position:absolute;bottom:12px;left:12px;right:12px;z-index:2;display:flex;flex-direction:column;gap:6px}.venue-card .card-content{position:static;left:auto;right:auto;bottom:auto;padding:12px;gap:8px}.card-title{font-size:16px;font-weight:650;color:var(--text-on-card);letter-spacing:-.01em;text-shadow:0 3px 14px rgba(0,0,0,.42)}.venue-card .card-title{color:var(--text-primary);text-shadow:none;font-family:var(--font-display);font-size:21px;line-height:1.15;font-weight:400}.card-subtitle{font-size:13px;color:var(--text-on-card-sub);font-weight:500;line-height:1.55;text-shadow:0 2px 10px rgba(0,0,0,.34)}.venue-card .card-subtitle{color:var(--text-secondary);text-shadow:none;font-size:12px;line-height:1.5}.card-facts{display:flex;flex-direction:column;gap:4px}.card-facts p{font-size:12px;line-height:1.5;color:#ffffffeb;text-shadow:0 2px 8px rgba(0,0,0,.28)}.venue-card .card-facts p{color:var(--text-primary);text-shadow:none;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.card-pill-row{display:flex;flex-wrap:wrap;gap:8px}.card-pill{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.24);color:#fffffff5;font-size:10px;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.venue-card .card-pill{background:#e1306c14;border-color:#e1306c1f;color:var(--text-secondary);-webkit-backdrop-filter:none;backdrop-filter:none}.card-action-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.venue-card .card-action-row{margin-top:4px}@media(min-width:1280px){.response-pane .card-grid,.response-pane .menu-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1760px){.response-pane .card-grid,.response-pane .menu-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.card-action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.18);text-decoration:none;font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.card-action-btn.primary{background:#fffffff0;color:#111;border-color:#fffffff0}.card-action-btn.secondary{background:#1111116b;color:#fff;border-color:#ffffff4d}.card-action-btn.tertiary{background:#ffffff38;color:#fff;border-color:#ffffff42}.venue-card .card-action-btn.primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:var(--accent-contrast);border-color:transparent}.venue-card .card-action-btn.secondary,.venue-card .card-action-btn.tertiary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-light)}.card-action-btn:hover{transform:translateY(-1px)}.booking-modal{width:min(760px,100%);max-height:min(88vh,900px);overflow:auto;padding:0;gap:0}.booking-modal-hero{padding:24px 24px 18px;background:linear-gradient(135deg,#2f6f6d1f,#d977421f 56%,#fff3),var(--bg-elevated);border-bottom:1px solid var(--border-light)}.booking-modal-kicker{width:max-content;border:1px solid rgba(47,111,109,.18);border-radius:999px;padding:5px 10px;background:#2f6f6d14;color:var(--text-secondary);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.booking-modal .booking-modal-hero h3{margin-top:12px;font-family:var(--font-display);font-size:34px;line-height:.98;letter-spacing:0;font-weight:400}.booking-modal .booking-modal-hero p{max-width:620px;margin-top:10px;font-size:14px}.booking-summary-strip{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px}.booking-summary-strip span{display:inline-flex;align-items:center;min-height:30px;padding:6px 11px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(255,255,255,.76);color:var(--text-primary);font-size:12px;font-weight:800}.booking-form{gap:14px;padding:18px 24px 22px}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-grid.visit-grid{grid-template-columns:1.1fr 1fr .8fr}.booking-section{border:1px solid var(--border-light);border-radius:18px;background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);padding:14px}.booking-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px}.booking-section-header span{color:var(--text-primary);font-size:13px;font-weight:800}.booking-section-header strong{border-radius:999px;padding:4px 9px;background:#2f6f6d1a;color:#2f6f6d;font-size:11px;font-weight:800}.booking-route-card{width:100%;border-radius:18px;background:linear-gradient(160deg,#2f6f6d14,#ffffffb3),var(--bg-elevated)}.booking-technical-details{border:1px solid var(--border-light);border-radius:14px;background:#ffffff7a;overflow:hidden}.booking-technical-details summary{cursor:pointer;padding:10px 12px;color:var(--text-secondary);font-size:12px;font-weight:800}.booking-technical-details pre{border-top:1px solid var(--border-light);border-radius:0;max-height:180px;overflow:auto}.booking-modal .profile-form-actions{position:sticky;bottom:-22px;margin:4px -24px -22px;padding:14px 24px;background:color-mix(in srgb,var(--bg-surface) 92%,transparent);border-top:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tool-status{display:inline-flex;align-items:center;gap:10px}.typing-dots{display:inline-flex;align-items:center;gap:4px}.typing-dots i{width:5px;height:5px;border-radius:999px;background:var(--text-secondary);opacity:.35;animation:dotPulse 1s infinite ease-in-out}.typing-dots i:nth-child(2){animation-delay:.12s}.typing-dots i:nth-child(3){animation-delay:.24s}.typing-indicator-row{max-width:max-content}.typing-indicator-bubble{display:inline-flex;align-items:center;gap:10px;font-size:14px;padding-right:16px;background:var(--input-bg)}.typing-indicator-bubble .typing-dots i{background:var(--text-secondary)}.card-grid-loading .dna-card{cursor:default}.card-grid-loading .dna-card:hover{transform:none}.skeleton-card{background:var(--pre-bg)}.skeleton-card:after{background:linear-gradient(to bottom,#0000000d,#0000 38%,#0000001a 75%,#00000042)}.skeleton-shimmer{position:absolute;inset:0;z-index:1;background:linear-gradient(110deg,#ffffff14 20%,#ffffff6b,#ffffff14 70%);transform:translate(-100%);animation:shimmerMove 1.4s linear infinite}.skeleton-line{border-radius:999px;background:#ffffffd1}.skeleton-title{height:20px;width:72%;margin-bottom:8px}.skeleton-subtitle{height:13px;width:84%;opacity:.9}.match-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;width:100%}.match-card{border:1px solid var(--border-light);background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);border-radius:18px;padding:14px;box-shadow:0 10px 26px #3b251b0f}.match-card h4{font-family:var(--font-display);font-size:20px;margin-top:8px;margin-bottom:8px;color:var(--text-primary);font-weight:400}.match-card p{font-size:12px;color:var(--text-secondary);line-height:1.55}.match-header{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.match-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.match-tag{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#e1306c1a;color:var(--coral);font-size:11px;font-weight:700}.match-action-row{display:flex;margin-top:12px}.tool-json{width:100%;border:1px solid var(--border-light);border-radius:12px;background:var(--bg-elevated);padding:8px 10px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tool-json summary{cursor:pointer;font-size:12px;color:var(--text-secondary)}.tool-json pre{margin-top:8px;max-height:220px;overflow:auto;font-size:11px;line-height:1.4;white-space:pre-wrap;word-break:break-word;color:var(--text-primary)}.input-area{padding:14px 22px calc(22px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,color-mix(in srgb,var(--bg-elevated) 88%,transparent) 78%,transparent);position:relative;z-index:1;display:flex;justify-content:center}.input-wrapper{background:var(--input-bg);width:min(920px,100%);border-radius:24px;padding:6px 6px 6px 18px;display:flex;align-items:center;border:1px solid var(--border-light);box-shadow:0 10px 20px #39241a1a;transition:box-shadow .2s,border-color .2s,transform .2s}.input-wrapper:focus-within{transform:translateY(-1px);box-shadow:0 18px 36px #39241a24;background:var(--bg-elevated);border:1px solid rgba(182,90,52,.18)}.input-wrapper input{border:none;background:transparent;flex:1;font-size:15px;font-weight:500;color:var(--text-primary);outline:none;height:38px}.input-wrapper input::placeholder{color:var(--text-tertiary)}.send-btn{width:40px;height:40px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);border-radius:50%;border:none;color:var(--accent-contrast);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease}.send-btn:enabled{box-shadow:0 6px 14px #0000002e}.send-btn svg{transition:transform .2s ease}.send-btn:hover:enabled{transform:translateY(-1px)}.send-btn:hover:enabled svg{transform:translate(1px,-1px) rotate(-6deg)}.send-btn:active{transform:scale(.95)}.send-btn:disabled{opacity:.6;cursor:not-allowed}.profile-modal-backdrop{position:absolute;inset:0;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:12;display:flex;align-items:center;justify-content:center;padding:20px}.profile-modal{width:min(420px,100%);border-radius:24px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 94%,transparent) 0%,var(--bg-surface) 100%);border:1px solid color-mix(in srgb,var(--border-light) 100%,rgba(255,255,255,.14));box-shadow:0 28px 64px #0003;padding:22px;display:flex;flex-direction:column;gap:12px}.profile-modal h3{font-size:22px;letter-spacing:-.03em;color:var(--text-primary)}.profile-modal p{font-size:14px;line-height:1.55;color:var(--text-secondary)}.profile-form{display:flex;flex-direction:column;gap:10px}.profile-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--text-secondary)}.profile-form input{border:1px solid var(--border-light);border-radius:14px;background:var(--bg-elevated);color:var(--text-primary);min-height:42px;padding:0 14px;font-size:14px;outline:none}.profile-form input:focus{border-color:#b65a3447;box-shadow:0 0 0 4px #b65a3414}.profile-form-error{color:#8a1d1d;background:#fff1f1;border:1px solid rgba(138,29,29,.2);border-radius:10px;padding:8px 10px;font-size:13px}.profile-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;flex-wrap:wrap}.profile-btn{border:1px solid var(--border-light);border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700;font-family:inherit;cursor:pointer}.profile-btn.cancel{background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);color:var(--text-primary)}.profile-btn.save{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);border-color:var(--accent);color:var(--accent-contrast)}.booking-link-modal{width:min(460px,100%)}.booking-link-summary{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border-light);border-radius:16px;background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);padding:14px}.booking-link-summary span{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.booking-link-summary strong{font-size:16px;line-height:1.35;color:var(--text-primary)}.booking-link-summary code{display:block;max-width:100%;font-size:11px;line-height:1.5;color:var(--text-secondary);word-break:break-word;white-space:pre-wrap}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmerMove{to{transform:translate(100%)}}@keyframes dotPulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes sendIdlePulse{0%,to{box-shadow:0 6px 14px #0a0a0d33}50%{box-shadow:0 10px 18px #0a0a0d47}}@media(hover:hover)and (pointer:fine){.menu-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px #2f1f1624}.dna-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px #2f1f1629}.dna-card:hover img{transform:scale(1.04)}}@media(hover:none){.menu-card,.dna-card{transform:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:740px){.app-shell{padding:0}.app-container{height:100vh;border-radius:0;border:none}.chat-header{padding:16px 18px 14px;min-height:78px}.header-actions{gap:6px}.header-btn{padding:7px 11px;font-size:11px}.header-secondary-btn{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-container{padding:14px 14px 10px;gap:12px}.workspace-shell,.prompt-grid.compact,.quick-start-list{grid-template-columns:1fr}.history-pane{max-height:220px}.response-pane-head h3,.history-pane-empty h3,.response-empty-head h3{font-size:20px}.response-empty{padding:22px}.empty-state-hero{padding:22px 20px;border-radius:24px}.empty-state-hero h1{max-width:100%;font-size:40px}.empty-state-hero p{font-size:15px}.debug-panel{top:78px;right:10px;width:calc(100% - 20px);max-height:min(52vh,420px)}.debug-summary{grid-template-columns:1fr}.approval-card{width:100%}.input-area{padding:12px 14px calc(18px + env(safe-area-inset-bottom,0px))}.card-grid,.menu-card-grid{grid-template-columns:1fr}.dna-card{min-height:210px}.booking-grid{grid-template-columns:1fr}.profile-modal{padding:18px}}
