:root{--dk-red: #d42a3b;--dk-red-hover: #bf0131;--dk-red-light: #fdf2f3;--dk-red-border: #f5c6cb;--dk-dark: #32373c;--dk-dark-hover: #23272b;--dk-body: #4f4f4f;--dk-muted: #6c757d;--dk-bg: #f7f9fb;--dk-card: #ffffff;--dk-border: #e5e7eb;--dk-surface-dark: #1a1a2e;--dk-success: #16a34a;--dk-warning: #f59e0b;--dk-danger: #dc2626;--radius-pill: 9999px;--radius-card: 12px;--radius-input: 8px;--radius-sm: 6px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Barlow,Arial,sans-serif;background:var(--dk-bg);color:var(--dk-body);line-height:1.5;min-height:100vh;min-height:100dvh}#app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--dk-red);color:#fff;flex-shrink:0}.header h1{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.header-meta{font-size:.8rem;opacity:.8;font-weight:400}.header-right{display:flex;align-items:center;gap:12px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#fff3;color:#fff}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.status{font-size:.8rem;font-weight:500;opacity:.9}.main{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;flex:1;overflow:hidden;transition:grid-template-columns .4s ease}.main.main--active{grid-template-columns:1fr 380px}.companion{display:none;opacity:0;transition:opacity .3s ease .2s}.main.main--active .companion{display:flex;opacity:1}.avatar-section{display:flex;flex-direction:column;background:var(--dk-surface-dark);position:relative}.start-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px;padding:32px;text-align:center;color:#fffffff2;position:relative;background-image:url(/assets/brian_bg.jpg);background-size:cover;background-position:center top;isolation:isolate}.start-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000000d9,#000000a6,#00000040 50%,#0000 70%);pointer-events:none;z-index:-1}.start-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1e408299;opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:-1}.start-screen.loading:before{opacity:1}.start-avatar{width:64px;height:64px;border-radius:50%;background:var(--dk-red);color:#fff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #d42a3b4d;position:relative;transition:all .3s ease}.start-avatar.loading{animation:avatar-pulse 1.8s ease-in-out infinite}.start-avatar.loading:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:3px solid transparent;border-top-color:var(--dk-red);border-right-color:var(--dk-red);animation:spin 1s linear infinite}@keyframes avatar-pulse{0%,to{box-shadow:0 8px 32px #d42a3b4d}50%{box-shadow:0 8px 40px #d42a3b99}}@keyframes spin{to{transform:rotate(360deg)}}.start-screen h2{font-size:1.5rem;font-weight:600;color:#fff}.start-screen p{font-size:.9rem;color:#fff9;max-width:400px}.btn-start{padding:14px 40px;background:var(--dk-red);color:#fff;border:none;border-radius:var(--radius-pill);font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-start:hover{background:var(--dk-red-hover);box-shadow:0 8px 24px #d42a3b59;transform:translateY(-1px)}.btn-start:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.start-hint{font-size:.8rem;color:var(--dk-warning);min-height:1.2em}.video-wrapper{flex:1;position:relative;overflow:hidden;background:#000}.video-wrapper video{width:100%;height:100%;object-fit:cover;object-position:center 25%}.session-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px;padding:8px 20px;background:#00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-pill);z-index:10}.ctrl-btn{width:44px;height:44px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.ctrl-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ctrl-btn:hover{background:#ffffff40}.ctrl-btn.muted{background:var(--dk-danger)}.ctrl-btn.muted:hover{background:#b91c1c}.ctrl-btn--danger{background:#dc2626b3}.ctrl-btn--danger:hover{background:var(--dk-danger)}.ctrl-btn.disabled{opacity:.3;pointer-events:none}@keyframes ctrl-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.ctrl-btn.pulse{animation:ctrl-pulse .3s ease}.subtitle-bar{position:absolute;bottom:80px;left:50%;transform:translate(-50%);max-width:80%;padding:8px 20px;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.9rem;font-weight:400;border-radius:var(--radius-sm);text-align:center;opacity:0;transition:opacity .3s;z-index:5;pointer-events:none}.subtitle-bar.visible{opacity:1}.user-input{display:flex;gap:8px;padding:12px 16px;background:var(--dk-surface-dark);border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.user-input input{flex:1;padding:10px 16px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-input);background:#ffffff0f;color:#fff;font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s}.user-input input::placeholder{color:#ffffff59}.user-input input:focus{border-color:var(--dk-red)}.user-input button{padding:10px 20px;background:var(--dk-red);color:#fff;border:none;border-radius:var(--radius-pill);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s;flex-shrink:0}.user-input button:hover{background:var(--dk-red-hover)}.handoff-success{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;color:#fff;text-align:center}.success-icon{width:64px;height:64px;border-radius:50%;background:var(--dk-success);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center}.handoff-success h3{font-size:1.3rem;font-weight:600}.handoff-success p{color:#ffffffb3;font-size:.9rem}.handoff-details{margin-top:8px;padding:16px 24px;background:#ffffff14;border-radius:var(--radius-card);font-size:.85rem;color:#fffc;line-height:1.7}.btn-restart{margin-top:12px;padding:10px 28px;background:var(--dk-red);color:#fff;border:none;border-radius:var(--radius-pill);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-restart:hover{background:var(--dk-red-hover)}.companion{flex-direction:column;background:var(--dk-card);border-left:1px solid var(--dk-border);overflow:hidden}.chat-panel{flex:1;overflow-y:auto;padding:16px}.tabs{display:flex;border-bottom:1px solid var(--dk-border);flex-shrink:0}.tab{flex:1;padding:10px 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.8rem;font-weight:500;color:var(--dk-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.tab:hover{color:var(--dk-body)}.tab.active{color:var(--dk-red);border-bottom-color:var(--dk-red)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--dk-border);font-size:.7rem;font-weight:600;color:var(--dk-muted)}.tab.active .tab-count{background:var(--dk-red);color:#fff}.tab-body{flex:1;overflow:hidden;position:relative}.tab-content{display:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:12px}.tab-content.active{display:block}.chat{display:flex;flex-direction:column;gap:8px;min-height:100%}.chat-empty{text-align:center;color:var(--dk-muted);font-size:.85rem;padding:40px 20px}.msg{max-width:90%;padding:10px 14px;border-radius:var(--radius-card);font-size:.85rem;line-height:1.5;word-wrap:break-word;animation:msg-in .28s cubic-bezier(.2,.8,.2,1)}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg.typing{display:inline-flex;align-items:center;gap:4px;padding:14px 16px}.msg.typing .dot{width:7px;height:7px;border-radius:50%;background:var(--dk-red);opacity:.4;animation:dot-bounce 1.2s infinite ease-in-out}.msg.typing .dot:nth-child(2){animation-delay:.18s}.msg.typing .dot:nth-child(3){animation-delay:.36s}@keyframes dot-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.msg.avatar{align-self:flex-start;background:var(--dk-red-light);border:1px solid var(--dk-red-border);color:var(--dk-body);border-bottom-left-radius:4px}.msg.user{align-self:flex-end;background:var(--dk-dark);color:#fff;border-bottom-right-radius:4px}.msg-time{font-size:.7rem;margin-top:4px;opacity:.5}.msg-cards{display:flex;flex-direction:column;gap:6px;margin-top:8px}.inline-card{display:block;padding:10px 12px;border:1px solid var(--dk-red-border);border-radius:var(--radius-input);background:#fff;text-decoration:none;color:var(--dk-body);transition:all .2s}.inline-card:hover{border-color:var(--dk-red);box-shadow:0 2px 8px #d42a3b1f}.inline-card-badge{display:inline-block;padding:1px 6px;border-radius:var(--radius-pill);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:var(--dk-red-light);color:var(--dk-red);margin-bottom:4px}.inline-card-name{display:block;font-size:.82rem;font-weight:600;color:var(--dk-red)}.inline-card-desc{display:block;font-size:.75rem;color:var(--dk-muted);margin-top:2px}.inline-card-link{display:block;font-size:.7rem;color:var(--dk-muted);margin-top:4px}.inline-card:hover .inline-card-link{color:var(--dk-red)}.inline-card--blog{border-color:#fde68a;background:#fffbeb}.inline-card--blog:hover{border-color:var(--dk-warning);box-shadow:0 2px 8px #f59e0b1f}.inline-card--blog .inline-card-badge{background:#fef3c7;color:#92400e}.inline-card--blog .inline-card-name{color:#92400e}.inline-card--video{border-color:#bfdbfe;background:#eff6ff}.inline-card--video:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61f}.inline-card--video .inline-card-badge{background:#dbeafe;color:#1e40af}.inline-card--video .inline-card-name{color:#1e40af}.quick-replies{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0;animation:fadeInUp .3s ease}.quick-reply-btn{padding:6px 14px;border:1px solid var(--dk-red);border-radius:var(--radius-pill);background:#fff;color:var(--dk-red);font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s}.quick-reply-btn:hover{background:var(--dk-red);color:#fff}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.product-card{padding:14px;border:1px solid var(--dk-border);border-radius:var(--radius-card);margin-bottom:8px;cursor:pointer;transition:all .2s}.product-card:hover{border-color:var(--dk-red);box-shadow:0 2px 12px #d42a3b1a}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px}.card-name{font-size:.9rem;font-weight:600;color:var(--dk-red)}.card-badge{flex-shrink:0;padding:2px 8px;border-radius:var(--radius-pill);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:var(--dk-red-light);color:var(--dk-red)}.card-desc{font-size:.8rem;color:var(--dk-muted);margin-bottom:6px}.card-url{font-size:.75rem;color:var(--dk-red);text-decoration:none;word-break:break-all}.card-url:hover{text-decoration:underline}.product-card.blog{background:#fffbeb;border-color:#fde68a}.product-card.blog:hover{border-color:var(--dk-warning);box-shadow:0 2px 12px #f59e0b1a}.product-card.blog .card-badge{background:#fef3c7;color:#92400e}.log-entry{padding:6px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-family:Barlow,monospace;margin-bottom:4px;display:flex;gap:8px;align-items:flex-start}.log-time{color:var(--dk-muted);flex-shrink:0;font-weight:500}.log-entry.info{background:var(--dk-bg);color:var(--dk-body)}.log-entry.success{background:#f0fdf4;color:#15803d}.log-entry.warn{background:#fffbeb;color:#92400e}.log-entry.error{background:#fef2f2;color:#b91c1c}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:100}.overlay.visible{display:flex}.overlay-box{background:var(--dk-card);border-radius:var(--radius-card);padding:32px;width:90%;max-width:440px;box-shadow:0 24px 48px #0003}.overlay-box h3{font-size:1.2rem;font-weight:700;color:var(--dk-dark);margin-bottom:4px}.overlay-subtitle{color:var(--dk-muted);font-size:.85rem;margin-bottom:20px}.context-box{display:none;padding:12px 14px;background:var(--dk-red-light);border:1px solid var(--dk-red-border);border-radius:var(--radius-input);font-size:.8rem;color:var(--dk-body);margin-bottom:16px}.context-box.visible{display:block}.field{margin-bottom:14px}.field label{display:block;font-size:.8rem;font-weight:500;color:var(--dk-body);margin-bottom:4px}.field input,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--dk-border);border-radius:var(--radius-input);font-family:inherit;font-size:.85rem;color:var(--dk-body);background:var(--dk-card);outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{border-color:var(--dk-red);box-shadow:0 0 0 3px #d42a3b1a}.field textarea{resize:vertical}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btn-primary{padding:10px 24px;background:var(--dk-red);color:#fff;border:none;border-radius:var(--radius-pill);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:var(--dk-red-hover)}.btn-secondary{padding:10px 24px;background:none;color:var(--dk-muted);border:1px solid var(--dk-border);border-radius:var(--radius-pill);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{color:var(--dk-body);border-color:var(--dk-body)}@media (max-width: 900px){.main.main--active{grid-template-columns:1fr;grid-template-rows:minmax(320px,1fr) minmax(240px,40vh)}.avatar-section{min-height:320px}.session-controls{bottom:12px;padding:6px 14px;gap:8px}.ctrl-btn{width:38px;height:38px}}@media (max-width: 480px){.chat-panel{padding:10px}.msg{max-width:95%;font-size:.82rem}.user-input{padding:8px 10px}.user-input input{font-size:.85rem;padding:8px 12px}}.consent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:consent-fade-in .18s ease-out}@keyframes consent-fade-in{0%{opacity:0}to{opacity:1}}.consent-modal{background:var(--surface, #fff);color:var(--text, #1a1a1a);border-radius:16px;padding:28px 28px 24px;max-width:460px;width:calc(100% - 32px);box-shadow:0 24px 60px #00000059;animation:consent-slide-up .22s ease-out}@keyframes consent-slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.consent-modal h2{margin:0 0 12px;font-size:1.25rem;line-height:1.3}.consent-modal p{margin:0 0 12px;font-size:.95rem;line-height:1.5}.consent-detail{font-size:.85rem;opacity:.78}.consent-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}@media (min-width: 480px){.consent-actions{flex-direction:row-reverse;justify-content:flex-start}}.consent-btn{font-family:inherit;font-size:.95rem;font-weight:600;padding:12px 20px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.consent-btn--accept{background:var(--accent, #0066ff);color:#fff}.consent-btn--accept:hover{background:var(--accent-hover, #0052cc)}.consent-btn--decline{background:transparent;color:var(--text, #1a1a1a);border-color:#0000002e}.consent-btn--decline:hover{background:#0000000d}@media (prefers-color-scheme: dark){.consent-modal{background:#1f2530;color:#e8eaed}.consent-btn--decline{color:#e8eaed;border-color:#ffffff38}.consent-btn--decline:hover{background:#ffffff0f}}
