:root{--bg0: #050705;--bg1: #0a0f0b;--bg2: #101712;--ink: #f4f7f4;--muted: #8f9b90;--line: rgba(255, 255, 255, .08);--line-strong: rgba(143, 209, 79, .28);--accent: #8fd14f;--accent-bright: #a8e063;--accent-dim: #6aaa3a;--accent-soft: rgba(143, 209, 79, .14);--accent-glow: rgba(143, 209, 79, .32);--approval: #d4b06a;--glass: rgba(14, 20, 15, .72);--glass-border: rgba(255, 255, 255, .08);--warn: #e0b34d;--danger: #e07a72;--radius: 20px;--radius-sm: 14px;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Outfit", "Segoe UI", sans-serif;--shadow: 0 20px 50px rgba(0, 0, 0, .45);--dock-h: 76px;--topbar-h: 64px;--safe-b: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(900px 520px at 50% -8%,rgba(143,209,79,.09),transparent 58%),radial-gradient(700px 420px at 95% 20%,rgba(106,170,58,.05),transparent 50%),radial-gradient(600px 380px at 0% 80%,rgba(80,140,50,.05),transparent 55%),linear-gradient(180deg,var(--bg0),var(--bg1) 40%,#070b08);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.app-shell{min-height:100%;height:100%;display:flex;flex-direction:column;position:relative}.topbar{height:var(--topbar-h);flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;border-bottom:1px solid var(--line);background:#050705c7;backdrop-filter:blur(16px);z-index:40}.topbar-brand{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:0;justify-self:start}.topbar-brand-text{font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:.01em}.brand-logo{width:34px;height:34px;border-radius:10px;object-fit:contain;background:#0b120c;box-shadow:0 0 0 1px var(--line),0 0 18px #00ff001f}.brand-logo.lg{width:56px;height:56px;border-radius:16px}.topbar-center{justify-self:center}.topbar-eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.topbar-right{justify-self:end;display:flex;align-items:center;gap:10px}.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#ffffff08;display:grid;place-items:center;transition:border-color .2s,box-shadow .2s}.icon-btn:hover{border-color:var(--line-strong);box-shadow:0 0 16px #00ff001f}.icon-bell{width:14px;height:14px;border:1.5px solid var(--ink);border-radius:6px 6px 4px 4px;position:relative}.icon-bell:after{content:"";position:absolute;left:50%;bottom:-4px;width:6px;height:3px;border:1.5px solid var(--ink);border-top:0;transform:translate(-50%);border-radius:0 0 4px 4px}.status-dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:#5a655c;box-shadow:0 0 0 3px #ffffff0a}.status-dot.on{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.avatar-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);background:linear-gradient(145deg,#00ff002e,#ffffff0a);font-size:.72rem;font-weight:600;letter-spacing:.04em}.user-menu{position:relative}.user-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;padding:8px;border-radius:14px;border:1px solid var(--glass-border);background:#0a0e0bf5;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px;z-index:50;animation:fadeLift .18s ease}.user-dropdown-meta{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:4px}.user-dropdown-meta span{color:var(--muted);font-size:.78rem}.user-dropdown button{appearance:none;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:10px;color:var(--ink)}.user-dropdown button:hover{background:var(--accent-soft)}.user-dropdown button.danger{color:#ffb4ae}.main{flex:1;min-height:0;overflow:auto;padding:8px 16px calc(var(--dock-h) + var(--safe-b) + 18px)}.dock{position:fixed;left:50%;bottom:calc(14px + var(--safe-b));transform:translate(-50%);z-index:45;display:flex;gap:4px;padding:8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#080c09e0;backdrop-filter:blur(18px);box-shadow:0 16px 40px #00000073,0 0 40px #00ff000f}.dock button{appearance:none;border:0;background:transparent;color:var(--muted);min-width:72px;padding:8px 10px 6px;border-radius:999px;display:flex;flex-direction:column;align-items:center;gap:3px;transition:color .2s,background .2s,box-shadow .25s,transform .15s}.dock button:hover{color:var(--ink);background:#ffffff0a}.dock button.active{color:var(--ink);background:#8fd14f1f;box-shadow:inset 0 0 0 1px #8fd14f47,0 0 18px #8fd14f24}.dock-icon{font-size:.95rem;line-height:1;opacity:.9}.dock-label{font-size:.62rem;letter-spacing:.02em;font-weight:500}.btn{appearance:none;border:0;border-radius:999px;padding:11px 18px;background:linear-gradient(180deg,var(--accent-bright),var(--accent-dim));color:#0a1408;font-weight:600;box-shadow:0 8px 24px #8fd14f33;transition:transform .15s ease,box-shadow .2s ease,filter .2s}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px #8fd14f47}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:#ffffff0d;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.ghost{background:transparent;color:var(--muted);border:1px solid transparent;box-shadow:none}.btn.ghost:hover{color:var(--ink);border-color:var(--line)}.btn.danger{background:#e07a722e;color:#ffc9c4;box-shadow:none;border:1px solid rgba(224,122,114,.35)}.talk-cta{min-width:220px;padding:14px 28px;font-size:1rem;letter-spacing:.01em}.talk-cta.compact{min-width:0;padding:10px 18px;font-size:.92rem}.talk-cta.live{background:#e07a7233;color:#ffd4d0;border:1px solid rgba(224,122,114,.4);box-shadow:0 0 24px #e07a722e}.field{display:flex;flex-direction:column;gap:6px;font-size:.86rem;color:var(--muted)}.field input,.field textarea,.field select,.composer textarea{border-radius:12px;border:1px solid var(--line);background:#00000047;padding:11px 12px;outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus,.composer textarea:focus{border-color:#00ff0073;box-shadow:0 0 0 3px #00ff0014}.linkish{appearance:none;border:0;background:none;color:var(--accent-dim);padding:0;text-align:left;font-size:.86rem}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;color:var(--ink)}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}.fields-inline{align-items:stretch}.fields-inline .field{flex:1;min-width:120px}.page{width:min(1040px,100%);margin:0 auto;padding:18px 4px 8px}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.page-header.exec h2{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;letter-spacing:-.02em}.page-header .lead,.lead{margin:6px 0 0;color:var(--muted);font-size:.98rem;font-weight:400}.glass,.glass-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.glass-card{padding:18px 18px 16px}.glass-card.lift{transition:transform .2s ease,border-color .2s,box-shadow .25s}.glass-card.lift:hover{transform:translateY(-3px);border-color:#00ff0038;box-shadow:0 22px 48px #00000080,0 0 28px #00ff0014}.card-kicker{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-dim);margin-bottom:8px}.glass-card h3{margin:0 0 6px;font-size:1.15rem;font-weight:600}.muted{color:var(--muted);font-size:.9rem}.pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid var(--line);font-size:.72rem;color:var(--muted);background:#ffffff08}.pill.on{color:#041004;background:var(--accent);border-color:transparent;box-shadow:0 0 16px #00ff0040}.state{border-radius:14px;padding:11px 13px;margin:10px 0;font-size:.9rem;border:1px solid var(--line)}.state.ok{background:#00ff0014;border-color:#00ff0038}.state.warn{background:#e0b34d1a;border-color:#e0b34d47}.state.error{background:#e07a721a;border-color:#e07a724d}.boot-state{padding:16px 22px}.check-list,.setup-steps,.quiet-list{margin:10px 0 0;padding-left:18px;color:var(--muted)}.check-list.soft{list-style:none;padding-left:0}.check-list.soft li,.quiet-list li{margin:6px 0}.quiet-list{list-style:none;padding-left:0}.quiet-list li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--line)}.quiet-list li:last-child{border-bottom:0}.quiet-list span{color:var(--muted);font-size:.84rem}.coming-soon{margin:12px 0 0;padding:12px 14px;border-radius:12px;border:1px dashed rgba(0,255,0,.28);color:var(--accent-dim);background:#00ff000a;font-weight:500}.assistant-hero{min-height:calc(100% - 8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:8px 8px 24px;text-align:center}.assistant-hero.live .assistant-hero-copy{opacity:.72}.hero-greeting{margin:0;font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3rem);font-weight:600;letter-spacing:-.02em}.hero-prompt{margin:6px 0 0;color:var(--muted);font-size:1.05rem}.assistant-orb-wrap{width:min(420px,92vw);margin:4px 0 2px}.assistant-cta-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.hero-error{width:min(480px,94vw)}.transcript-panel{width:min(560px,96vw);margin-top:8px;border-radius:var(--radius);border:1px solid transparent;overflow:hidden;transition:border-color .2s,background .2s}.transcript-panel.open{border-color:var(--glass-border);background:#080c098c;backdrop-filter:blur(12px)}.transcript-toggle{width:100%;appearance:none;border:0;background:transparent;color:var(--muted);display:flex;justify-content:space-between;padding:12px 16px;font-size:.86rem}.transcript-toggle:hover{color:var(--ink)}.transcript-body{padding:0 12px 14px;max-height:280px;overflow:auto}.transcript-empty{margin:0 4px 10px;text-align:left}.composer{display:flex;gap:8px;align-items:flex-end;margin-top:8px;padding:10px}.composer.glass{border-radius:16px}.composer textarea{flex:1;min-height:44px;max-height:120px;resize:none}.orb-stage{position:relative;width:100%;aspect-ratio:1;display:grid;place-items:center}.orb-ambient{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,rgba(143,209,79,.2),transparent 70%);filter:blur(22px);animation:breathe 5.2s ease-in-out infinite}.orb-scan{position:absolute;inset:18%;border-radius:50%;border:1px dashed transparent;opacity:0;pointer-events:none}.orb-core{position:relative;width:62%;aspect-ratio:1}.orb-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(168,224,99,.22);animation:spinSlow 22s linear infinite}.orb-ring.r2{inset:-11%;border-color:#8fd14f1f;animation-duration:32s;animation-direction:reverse}.orb-ring.r3{inset:-24%;border-color:#ffffff0d;animation-duration:40s}.orb-sphere{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.28),transparent 26%),radial-gradient(circle at 50% 52%,#b6e87a,#6eae3d 42%,#1d3a16 78%,#081109);box-shadow:0 0 36px #8fd14f47,inset 0 0 28px #00000061,inset 0 0 1px #ffffff40;animation:breathe 5.2s ease-in-out infinite;display:grid;place-items:center;overflow:hidden}.orb-logo{width:42%;height:42%;object-fit:contain;border-radius:18%;opacity:.92;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));z-index:2}.orb-highlight{position:absolute;inset:16% 26% auto;height:20%;border-radius:50%;background:#fff3;filter:blur(7px);z-index:1}.orb-core-glow{position:absolute;inset:-8%;border-radius:50%;box-shadow:0 0 44px #8fd14f38;pointer-events:none}.orb-status{position:absolute;bottom:2%;left:50%;transform:translate(-50%);margin:0;color:var(--muted);font-size:.98rem;letter-spacing:.03em;white-space:nowrap}.state-idle .orb-ambient,.state-idle .orb-sphere{animation-duration:5.2s}.state-connecting .orb-ring{animation-duration:9s}.state-connecting .orb-ambient{animation-duration:2.4s}.state-listening .orb-ring,.state-user_speaking .orb-ring{animation-duration:10s;border-color:#a8e06359;transform-origin:center}.state-listening .orb-ring.r2,.state-user_speaking .orb-ring.r2{animation:pulseRing 1.8s ease-out infinite}.state-listening .orb-ambient,.state-user_speaking .orb-ambient,.state-listening .orb-sphere,.state-user_speaking .orb-sphere{animation-duration:2s}.state-listening .orb-sphere,.state-user_speaking .orb-sphere{box-shadow:0 0 48px #8fd14f66,inset 0 0 28px #00000059}.state-thinking .orb-ambient,.state-thinking .orb-sphere{animation-duration:1.15s}.state-thinking .orb-ring,.state-using_tool .orb-ring{animation-duration:5.5s;border-color:#a8e06366}.state-using_tool .orb-scan{opacity:1;border-color:#a8e06359;animation:spinSlow 4s linear infinite}.state-using_tool .orb-ambient,.state-using_tool .orb-sphere{animation-duration:1.25s}.state-awaiting_approval .orb-sphere{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.25),transparent 26%),radial-gradient(circle at 50% 52%,#e6c788,#b8923f 45%,#3a2c12 80%,#100e08);box-shadow:0 0 40px #d4b06a59,inset 0 0 28px #0006;animation:breathe 2.4s ease-in-out infinite}.state-awaiting_approval .orb-ring{border-color:#d4b06a59;animation-duration:12s}.state-awaiting_approval .orb-status{color:var(--approval)}.state-speaking .orb-sphere{animation:speakPulse .95s ease-in-out infinite;box-shadow:0 0 58px #a8e06373,inset 0 0 22px #ffffff14}.state-error .orb-sphere{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.18),transparent 28%),radial-gradient(circle at 50% 55%,#e8a39c,#6b2a24 60%,#160908);box-shadow:0 0 36px #e07a7252;animation:breathe 3s ease-in-out infinite}.state-error .orb-status{color:#efb4ae}@keyframes pulseRing{0%{transform:scale(.92);opacity:.85}to{transform:scale(1.18);opacity:0}}.assistant-hero.cinematic{gap:8px;padding-top:4px}.assistant-hero.live .assistant-orb-wrap{width:min(460px,94vw)}.assistant-hero-copy.live-copy .hero-prompt.subtle{letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;color:#a8e063b3;margin:0 0 4px}.type-fallback{width:min(520px,94vw);margin-top:4px}.approval-card{width:min(420px,94vw);padding:16px 18px 14px;text-align:left;border-color:#d4b06a59;box-shadow:0 18px 40px #00000073,0 0 28px #d4b06a1f}.approval-card h3{margin:0 0 4px;font-size:1.15rem}.perm-card{width:min(440px,94vw);padding:18px 18px 16px;text-align:left;border-color:#8fd14f47}.perm-card h3{margin:0 0 6px;font-size:1.2rem}.auto-ask-hint{margin:2px 0 0;font-size:.8rem;letter-spacing:.02em}.history-only{width:min(420px,90vw);opacity:.72}.history-only.open{opacity:1}.pill.on{color:#0a1408;background:var(--accent);border-color:transparent;box-shadow:0 0 16px #8fd14f40}.chat-thread{display:flex;flex-direction:column;gap:10px;text-align:left}.chat-thread.compact .bubble{padding:10px 12px}.bubble{border-radius:16px;padding:12px 14px;border:1px solid var(--line);background:#00000047;white-space:pre-wrap;word-break:break-word}.bubble.user{background:#ffffff0a}.bubble.assistant{background:#00ff000f;border-color:#00ff0029}.bubble .meta{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.tool-chip{align-self:flex-start;font-size:.8rem;color:var(--accent-dim);padding:6px 10px;border-radius:999px;border:1px solid rgba(0,255,0,.2);background:#00ff000f}.exec-grid,.conn-grid,.companion-grid,.settings-stack{display:grid;gap:14px}.exec-grid,.conn-grid,.companion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-stack{grid-template-columns:1fr;width:min(680px,100%)}.conn-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.conn-product .lead{margin-top:2px}.conn-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;margin-bottom:12px;font-weight:700;border:1px solid var(--line);background:#ffffff08}.conn-icon.google{color:#8ab4ff}.conn-icon.clickup{color:#7ad7ff}.conn-icon.companion{color:var(--accent-dim)}.conn-product.is-connected{box-shadow:0 0 0 1px #00ff002e,var(--shadow)}.connect-success{animation:fadeLift .35s ease}.picker{margin-top:14px;display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.account-meta{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.account-meta span{color:var(--muted);font-size:.9rem}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px 16px;position:relative;overflow:hidden}.login-glow{position:absolute;inset:-20%;background:radial-gradient(500px 360px at 50% 30%,rgba(0,255,0,.14),transparent 60%),radial-gradient(420px 300px at 20% 80%,rgba(0,180,60,.08),transparent 55%);pointer-events:none}.login-card{width:min(440px,100%);padding:28px 26px 24px;position:relative;z-index:1}.login-brand{text-align:center;margin-bottom:18px}.login-brand img{margin-bottom:14px}.login-brand h1{margin:0;font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.15rem);font-weight:600;line-height:1.15}.login-brand p{margin:8px 0 0;color:var(--muted)}.login-form{display:flex;flex-direction:column;gap:12px}.login-form .talk-cta{width:100%;margin-top:4px}.page-enter{animation:fadeLift .45s ease both}@keyframes fadeLift{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.045);opacity:1}}@keyframes speakPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes spinSlow{to{transform:rotate(360deg)}}@media(max-width:900px){.exec-grid,.conn-grid,.companion-grid{grid-template-columns:1fr}.topbar-center{display:none}.topbar{grid-template-columns:1fr auto}}@media(max-width:720px){.dock{left:0;right:0;bottom:0;transform:none;width:100%;border-radius:16px 16px 0 0;justify-content:space-around;padding:8px 6px calc(8px + var(--safe-b));border-left:0;border-right:0;border-bottom:0}.dock button{min-width:0;flex:1;padding:8px 4px 6px}.dock-label{font-size:.58rem}.main{padding-bottom:calc(88px + var(--safe-b))}.topbar-brand-text{font-size:1.15rem}.talk-cta{min-width:min(280px,90vw)}.assistant-hero{justify-content:flex-start;padding-top:12px}.page-header{flex-direction:column}}@media(min-width:1440px){.assistant-orb-wrap{width:min(460px,40vw)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
