:root{--bg-app: #f8f8f9;--bg-surface: #ffffff;--text-primary: #1a1a1a;--text-secondary: #8e8e93;--text-on-card: #ffffff;--text-on-card-sub: rgba(255, 255, 255, .75);--radius-l: 28px;--radius-m: 20px;--radius-s: 12px;--font-main: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{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-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:center;justify-content:center;padding:clamp(16px,2.2vw,32px)}.app-container{width:min(1260px,100%);height:min(92vh,980px);background:var(--bg-surface);border-radius:var(--radius-l);box-shadow:0 40px 80px #00000014;display:flex;overflow:hidden;border:1px solid rgba(0,0,0,.02);position:relative;isolation:isolate}.app-container:before{content:"";position:absolute;inset:-160px -280px;background:conic-gradient(from 0deg,#78b4ff14,#82d2a012,#ffb97814,#78b4ff14);z-index:-1;pointer-events:none;opacity:.6}.sidebar{width:290px;background:#fff;border-right:1px solid rgba(0,0,0,.04);padding:32px 24px;display:flex;flex-direction:column;gap:28px;flex-shrink:0}.brand{font-size:18px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.brand:before{content:"";width:10px;height:10px;background:#111;border-radius:50%;display:block}.nav-group{position:relative;display:flex;flex-direction:column;gap:8px}.nav-indicator{position:absolute;top:0;left:0;right:0;height:44px;border-radius:var(--radius-s);background:linear-gradient(145deg,#f3f3f6,#ececf2);box-shadow:0 2px 10px #1010180f;transition:transform .4s cubic-bezier(.22,1,.36,1);z-index:0;pointer-events:none;will-change:transform}.nav-item{position:relative;z-index:1;padding:12px 16px;height:44px;border-radius:var(--radius-s);font-size:14px;font-weight:550;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center;border:none;background:transparent;text-align:left;cursor:pointer;transition:color .22s ease,transform .22s ease;width:100%}.nav-item.active{color:var(--text-primary)}.nav-item:hover{transform:translate(2px);color:var(--text-primary)}.nav-item span:last-child{min-width:12px;text-align:right;opacity:.88}.nav-item.active span:last-child{animation:activeDot 1.25s ease-in-out infinite}.prompt-group{display:flex;flex-direction:column;gap:10px;margin-top:auto}.prompt-group h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.prompt-btn{border:1px solid rgba(0,0,0,.06);background:#fafafa;color:#202022;border-radius:12px;padding:10px 12px;font-size:12px;text-align:left;cursor:pointer;transition:all .2s ease}.prompt-btn:hover:enabled{background:#f1f1f2}.prompt-btn:disabled{opacity:.6;cursor:not-allowed}.prompt-group a{font-size:12px;color:#36363b;text-decoration:none}.chat-area{flex:1;display:flex;flex-direction:column;background:#fff;min-width:0;position:relative;overflow:hidden}.chat-bg-glow{position:absolute;width:520px;height:520px;border-radius:999px;filter:blur(72px);opacity:.24;pointer-events:none;z-index:0;will-change:transform,opacity;transform:translateZ(0)}.chat-bg-glow-1{top:-220px;right:-140px;background:radial-gradient(circle at 30% 30%,#78b4ff73,#78b4ff00);animation:floatDrift 28s ease-in-out infinite}.chat-bg-glow-2{bottom:-250px;left:-200px;background:radial-gradient(circle at 60% 40%,#82d2a066,#82d2a000);animation:none}.chat-bg-grid{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.32;background-image:linear-gradient(rgba(19,19,25,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(19,19,25,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 60% 35%,rgba(0,0,0,.8),transparent 72%);mask-image:radial-gradient(circle at 60% 35%,rgba(0,0,0,.8),transparent 72%)}.chat-header{height:80px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.03);position:relative;z-index:1}.chat-title h2{font-size:16px;font-weight:600}.chat-title span{font-size:13px;color:var(--text-secondary)}.header-btn{border:1px solid rgba(0,0,0,.08);background:#f4f4f5;color:#1a1a1a;border-radius:999px;padding:8px 14px;font-size:12px;cursor:pointer}.header-actions{display:inline-flex;align-items:center;gap:10px}.header-secondary-btn{background:#fff}.header-btn:disabled{opacity:.6;cursor:not-allowed}.messages-container{flex:1;overflow-y:auto;padding:34px 36px;display:flex;flex-direction:column;gap:26px;position:relative;z-index:1}.empty-state-shell{width:100%;display:flex;flex-direction:column;align-items:center;gap:26px}.empty-state-message{width:min(860px,100%);max-width:min(860px,100%);margin-inline:auto}.empty-state-shell .empty-state-message{align-self:center}.message-group{display:flex;flex-direction:column;gap:12px;max-width:min(780px,100%);opacity:0;animation:messageInConcierge .24s cubic-bezier(.22,1,.36,1) forwards;will-change:transform,opacity}.message-group.user{align-self:flex-end;align-items:flex-end;animation-name:messageInUser}.message-group.concierge{align-self:flex-start;align-items:flex-start}.bubble{padding:14px 20px;border-radius:var(--radius-m);font-size:15px;line-height:1.5;max-width:100%;white-space:pre-wrap}.bubble.user{background:#111;color:#fff;border-bottom-right-radius:4px}.bubble.concierge{background:#f4f4f5;color:var(--text-primary);border-bottom-left-radius:4px}.card-caption{font-size:12px;line-height:1.5;color:#595e68;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:16px;border:1px solid rgba(0,0,0,.08);background:#fcfcfd;padding:14px;display:flex;flex-direction:column;gap:10px}.approval-card h4{font-size:14px;font-weight:600}.approval-card p{font-size:12px;color:#5a5a60}.approval-card pre{border-radius:12px;background:#f2f2f5;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:8px}.approval-profile div{border-radius:10px;background:#f2f2f5;padding:8px 10px;display:flex;justify-content:space-between;gap:8px}.approval-profile span{color:#6a6a72;font-size:12px}.approval-profile strong{font-size:12px;text-align:right}.approval-actions{display:flex;gap:8px}.approval-btn{border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:7px 12px;font-size:12px;cursor:pointer}.approval-btn.approve{background:#111;color:#fff;border-color:#111}.approval-btn.reject{background:#fff;color:#222}.tool-output-wrap{display:flex;flex-direction:column;gap:14px;width:100%}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;width:100%}.menu-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;width:100%}.insight-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%}.menu-card{position:relative;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.9);background:linear-gradient(165deg,#fff,#f6f7fb);box-shadow:0 14px 32px #0f142017;transition:transform .34s cubic-bezier(.22,1,.36,1),box-shadow .34s ease}.interactive-card{will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.card-sheen{position:absolute;inset:-24% -48%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.46) 50%,transparent 62%);transform:translate(-135%) rotate(9deg);transition:transform .7s cubic-bezier(.22,1,.36,1);pointer-events:none;z-index:1}.menu-sheen{inset:-34% -56%;mix-blend-mode:screen;opacity:.9}.insight-card{position:relative;border-radius:18px;padding:14px 14px 15px;border:1px solid rgba(255,255,255,.82);background:linear-gradient(150deg,#fffffff0,#f2f4f8eb);box-shadow:0 12px 28px #1017231a;overflow:hidden;isolation:isolate}.insight-card:before{content:"";position:absolute;inset:-40% -20%;background:radial-gradient(circle at 25% 20%,rgba(143,190,255,.28),transparent 62%);opacity:.68;pointer-events:none;z-index:-1}.insight-card.tone-status:before{background:radial-gradient(circle at 22% 20%,rgba(126,215,178,.26),transparent 62%)}.insight-card.tone-error:before{background:radial-gradient(circle at 22% 20%,rgba(246,133,133,.26),transparent 62%)}.insight-card-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#ffffffad;border:1px solid rgba(255,255,255,.92);box-shadow:inset 0 1px #ffffffd9;margin-bottom:10px;font-size:11px;color:#4a4e57}.insight-card h4{font-size:15px;line-height:1.35;font-weight:620;color:#1f232c;letter-spacing:-.01em}.insight-card p{margin-top:6px;font-size:12px;line-height:1.45;color:#505564}.menu-card-media{height:138px;background:#f0f0f2}.menu-card-media img{width:100%;height:100%;object-fit:cover;display:block}.menu-card-body{padding:12px 14px 14px;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-size:15px;line-height:1.3;font-weight:600;letter-spacing:-.01em;color:#202024}.menu-price-chip{border-radius:999px;background:#111;color:#fff;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:#ececef;color:#5f5f66}.menu-card-meta{font-size:12px;color:#65656d}.menu-card-description{font-size:12px;line-height:1.45;color:#3e3e44}.dna-card{position:relative;height:320px;border-radius:var(--radius-l);overflow:hidden;cursor:pointer;transition:transform .34s cubic-bezier(.22,1,.36,1),box-shadow .34s ease;background-color:#e0e0e0;box-shadow:0 14px 32px #1112172e}.stream-card{opacity:0;animation:cardStreamIn .5s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--card-index, 0) * 58ms)}.dna-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.dna-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0000001a,#0000,#0003 60%,#0009);pointer-events:none}.card-meta-top{position:absolute;top:24px;left:24px;display:flex;align-items:center;gap:8px;z-index:2}.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:11px;font-weight:500;color:#ffffffe6;letter-spacing:.02em}.card-content{position:absolute;bottom:24px;left:24px;right:24px;z-index:2}.card-title{font-size:20px;font-weight:500;color:var(--text-on-card);margin-bottom:6px;letter-spacing:-.01em}.card-subtitle{font-size:13px;color:var(--text-on-card-sub);font-weight:400;display:flex;align-items:center;gap:6px}.dna-card.variant-purple:before{content:"";position:absolute;inset:0;background:#7850c833;z-index:1;mix-blend-mode:overlay}.dna-card.variant-green:before{content:"";position:absolute;inset:0;background:#50966433;z-index:1;mix-blend-mode:overlay}.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:#7a7a82;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:#f0f0f2}.typing-indicator-bubble .typing-dots i{background:#6a6a72}.card-grid-loading .dna-card{cursor:default}.card-grid-loading .dna-card:hover{transform:none}.skeleton-card{background:#dcdce1}.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(220px,1fr));gap:12px;width:100%}.match-card{border:1px solid rgba(0,0,0,.06);background:#fafafa;border-radius:16px;padding:14px}.match-card h4{font-size:14px;margin-top:8px;margin-bottom:8px}.match-card p{font-size:12px;color:#555;line-height:1.4}.match-header{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6a6a72}.tool-json{width:100%;border:1px solid rgba(0,0,0,.06);border-radius:12px;background:#f7f7f8;padding:8px 10px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tool-json summary{cursor:pointer;font-size:12px;color:#555}.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}.input-area{padding:24px 36px 36px;background:linear-gradient(to top,#fff 80%,#fff0);position:relative;z-index:1}.input-wrapper{background:#f4f4f5;border-radius:32px;padding:8px 8px 8px 24px;display:flex;align-items:center;box-shadow:0 2px 6px #00000005;transition:box-shadow .2s}.input-wrapper:focus-within{box-shadow:0 4px 12px #0000000f;background:#fff;border:1px solid rgba(0,0,0,.05)}.input-wrapper input{border:none;background:transparent;flex:1;font-size:16px;color:var(--text-primary);outline:none;height:40px}.input-wrapper input::placeholder{color:#a1a1aa}.send-btn{width:44px;height:44px;background:#111;border-radius:50%;border:none;color:#fff;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 #0a0a0d2e}.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:#0c0c1052;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:12;display:flex;align-items:center;justify-content:center;padding:20px}.profile-modal{width:min(420px,100%);border-radius:18px;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 28px 64px #0000002e;padding:18px;display:flex;flex-direction:column;gap:10px}.profile-modal h3{font-size:18px;letter-spacing:-.01em}.profile-modal p{font-size:13px;color:#616168}.profile-form{display:flex;flex-direction:column;gap:10px}.profile-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#4b4b53}.profile-form input{border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fff;height:38px;padding:0 12px;font-size:14px;outline:none}.profile-form input:focus{border-color:#0000004d}.profile-form-error{color:#8a1d1d;background:#fff1f1;border:1px solid rgba(138,29,29,.2);border-radius:10px;padding:8px 10px;font-size:12px}.profile-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.profile-btn{border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:8px 13px;font-size:12px;cursor:pointer}.profile-btn.cancel{background:#fff;color:#222}.profile-btn.save{background:#111;border-color:#111;color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e4e4e7;border-radius:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes messageInConcierge{0%{opacity:0;transform:translateY(10px) translate(-4px);filter:blur(4px)}to{opacity:1;transform:translateY(0) translate(0);filter:blur(0)}}@keyframes messageInUser{0%{opacity:0;transform:translateY(10px) translate(4px);filter:blur(4px)}to{opacity:1;transform:translateY(0) translate(0);filter:blur(0)}}@keyframes cardStreamIn{0%{opacity:0;transform:translateY(16px) scale(.978);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes floatDrift{0%{transform:translate(0) scale(1)}50%{transform:translate(20px,-14px) scale(1.05)}to{transform:translate(0) scale(1)}}@keyframes ambientSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bgParallax{0%{transform:translateZ(0)}50%{transform:translate3d(-18px,-12px,0)}to{transform:translateZ(0)}}@keyframes indicatorPulse{0%,to{box-shadow:0 2px 10px #1010180f}50%{box-shadow:0 4px 14px #1010181a}}@keyframes activeDot{0%,to{opacity:.78;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}@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(-5px) scale(1.012);box-shadow:0 20px 42px #0a101c2b}.dna-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 24px 48px #0c101c42}.insight-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 18px 34px #10172329}.dna-card:hover img{transform:scale(1.07)}.interactive-card:hover .card-sheen{transform:translate(135%) rotate(9deg)}}@media(hover:none){.card-sheen{display:none}.menu-card,.dna-card{transform:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1000px){.app-container:before,.chat-bg-grid,.chat-bg-glow{display:none}.sidebar{width:92px;padding:24px 14px;align-items:center}.brand span,.nav-item span:first-child,.prompt-group h3,.prompt-btn,.prompt-group a{display:none}.nav-item{justify-content:center}.card-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:740px){.app-shell{padding:0;align-items:stretch}.app-container{width:100vw;height:100vh;border-radius:0;box-shadow:none;border:none}.sidebar{display:none}.chat-header{padding:0 18px;height:70px}.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:22px 18px;gap:20px}.approval-card{width:100%}.input-area{padding:16px 14px 20px}.card-grid,.menu-card-grid{grid-template-columns:1fr}.dna-card{height:270px}}
