@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0f1115;--surface-color:#ffffff08;--surface-border:#ffffff14;--text-primary:#fff;--text-secondary:#fff9;--accent:#00e5ff;--accent-glow:#00e5ff4d;--danger:#ff4757;--success:#2ed573;--warning:#eccc68}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100dvh;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;display:flex;overflow:hidden}#root{flex-direction:column;width:100vw;height:100dvh;display:flex}.app-container{background:radial-gradient(circle at 50% 0,#00e5ff1a 0%,#0000 50%);flex-direction:column;height:100%;display:flex;position:relative}.header{text-align:center;z-index:10;background:linear-gradient(#0f1115e6 0%,#0000 100%);padding:1.5rem}.header h1{letter-spacing:-.02em;background:linear-gradient(90deg, #fff, var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:600}.video-container{background:#000;border-radius:24px;flex:1;justify-content:center;align-items:center;margin:0 1rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0006}.video-feed{object-fit:cover;width:100%;height:100%;transition:opacity .3s}.video-feed.hidden{opacity:0}.placeholder-view{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:absolute;inset:0}.status-overlay{-webkit-backdrop-filter:blur(12px);border:1px solid var(--surface-border);z-index:20;background:#0009;border-radius:999px;align-items:center;gap:.75rem;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.status-indicator{border-radius:50%;width:10px;height:10px}.status-idle .status-indicator{background:var(--text-secondary)}.status-connecting .status-indicator{background:var(--warning);animation:1s infinite pulse}.status-listening .status-indicator{background:var(--success);animation:2s ease-in-out infinite wave;box-shadow:0 0 12px #2ed57399}.status-thinking .status-indicator{background:var(--accent);animation:1.5s infinite spinPulse}.status-speaking .status-indicator{background:#ff7675;animation:.4s infinite alternate speaking}.controls-dock{z-index:10;background:linear-gradient(#0000 0%,#0f1115 100%);justify-content:center;align-items:center;gap:1.5rem;padding:2rem 1.5rem;display:flex}.btn{background:var(--surface-color);border:none;border:1px solid var(--surface-border);color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;outline:none;justify-content:center;align-items:center;width:56px;height:56px;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex}.btn:hover{background:#ffffff1a;transform:translateY(-2px)}.btn:active{transform:translateY(1px)}.btn svg{width:24px;height:24px}.btn-primary{background:var(--text-primary);width:72px;height:72px;color:var(--bg-color);box-shadow:0 0 #ffffffb3}.btn-primary:active{background:var(--text-secondary)}.btn-primary.active{background:var(--danger);color:#fff;border-color:#0000;animation:2s infinite pulseDanger}.btn-primary.active:hover{background:#ff5261}@keyframes pulse{0%{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}to{opacity:.5;transform:scale(.95)}}@keyframes pulseDanger{0%{box-shadow:0 0 #ff475766}70%{box-shadow:0 0 0 15px #ff475700}to{box-shadow:0 0 #ff475700}}@keyframes wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.5)}}@keyframes speaking{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.8)}}@keyframes spinPulse{0%{opacity:.6;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(180deg)}to{opacity:.6;transform:scale(1)rotate(360deg)}}.moodboard-toggle{-webkit-backdrop-filter:blur(20px);border:1px solid var(--surface-border);color:var(--text-primary);cursor:pointer;z-index:10;background:#0f1115d9;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0006}.moodboard-toggle:hover{background:#ffffff1a;border-color:#fff3;transform:translate(-50%)translateY(-2px)}.moodboard-toggle svg{width:20px;height:20px;color:var(--accent)}.moodboard-overlay{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--surface-border);z-index:15;background:#0f1115d9;border-radius:24px 24px 0 0;width:100%;height:55%;padding:1.5rem;transition:transform .5s cubic-bezier(.19,1,.22,1);display:flex;position:absolute;bottom:0;left:0;transform:translateY(100%);box-shadow:0 -10px 40px #00000080}.moodboard-overlay.visible{transform:translateY(0)}.moodboard-content{gap:1.5rem;width:100%;height:100%;display:flex;position:relative}@media (width<=768px){.moodboard-overlay{height:75%;padding:1rem}.moodboard-content{flex-direction:column;gap:1rem;overflow:hidden auto}.controls-dock{padding:1rem}.btn{width:48px;height:48px}.btn-primary{width:64px;height:64px}}.moodboard-close{border:1px solid var(--surface-border);width:32px;height:32px;color:var(--text-primary);cursor:pointer;z-index:2;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:-.5rem;right:-.5rem}.moodboard-close:hover{background:#fff3}.moodboard-close svg{width:16px;height:16px}.moodboard-image-container{display:none}.moodboard-shopping{flex-direction:column;flex:1;display:flex}.moodboard-shopping h3{color:var(--text-secondary);margin-bottom:1rem;font-size:1.1rem;font-weight:500}.product-list{flex-direction:column;gap:.75rem;padding-right:.5rem;display:flex;overflow-y:auto}.product-list::-webkit-scrollbar{width:4px}.product-list::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:4px}.product-card{background:var(--surface-color);border:1px solid var(--surface-border);color:var(--text-primary);border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;text-decoration:none;transition:all .2s;display:flex}.product-card:hover{background:#ffffff14;border-color:#fff3;transform:translate(4px)}.product-info{flex-direction:column;gap:.25rem;display:flex}.product-title{font-size:.95rem;font-weight:500}.product-price{color:var(--accent);font-size:.85rem;font-weight:400}.product-arrow{color:var(--text-secondary);transition:transform .2s}.product-card:hover .product-arrow{color:var(--accent);transform:translate(4px)}
