/* The approved companion belongs to the assistant surface; app icons stay intact. */
.assistant-mode .conversation-screen{background:radial-gradient(ellipse at 50% 35%,#18213b 0,#0b1325 48%,#070d1b 100%)}
.assistant-mode .conversation-screen:not(.result-open){min-height:var(--amoy-viewport-height,100dvh)}
.conversation-screen:not(.result-open) .conversation-inner{margin:0 auto;min-height:calc(var(--amoy-viewport-height,100dvh) - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom)));padding:0;justify-content:space-between;gap:14px}
.assistant-home-header{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;flex:1;padding:12px 0 8px}
.companion-wordmark{color:#f5e8dc;font-size:14px;letter-spacing:.55em;padding-inline-start:.55em;margin:0 0 12px;font-weight:500}
#amoyPresence.amoy-companion{display:grid;position:relative;width:min(86vw,410px,calc(var(--amoy-viewport-height,100dvh)*.48));aspect-ratio:1;margin:0;isolation:isolate;pointer-events:none}
/* The furniture is scenery. The original image and continuous canvas move as one body. */
#amoyPresence.amoy-companion .companion-chair{position:absolute;z-index:1;left:21%;top:40%;width:58%;height:48%;overflow:visible}
#amoyPresence.amoy-companion .companion-figure{position:absolute;z-index:2;left:20%;top:0;width:60%;height:90%;clip-path:inset(0 0 8.8889% 0)}
#amoyPresence.amoy-companion .companion-desk{position:absolute;z-index:3;left:4%;top:78%;width:92%;height:22%;overflow:visible}
#amoyPresence.amoy-companion .presence-core{width:100%;height:100%;aspect-ratio:2/3;background:transparent;border:0;border-radius:0;outline:0;box-shadow:none;transform:translateY(0);animation:none;transition:transform .52s cubic-bezier(.22,.7,.3,1),filter .25s ease;transform-origin:50% 57%}
#amoyPresence.amoy-companion.companion-standing .presence-core{transform:translateY(0)}
#amoyPresence.amoy-companion .presence-core img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;box-shadow:none;transform:none}
#amoyPresence.amoy-companion .presence-core{position:relative}
#amoyPresence.amoy-companion .companion-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#amoyPresence.amoy-companion .companion-canvas[hidden]{display:none}
#amoyPresence.amoy-companion.companion-rig-ready .presence-core img{visibility:hidden}
#amoyPresence.amoy-companion.companion-rig-ready.speaking .presence-core{animation:none}
#amoyPresence.amoy-companion.companion-rig-unavailable .presence-core,#amoyPresence.amoy-companion.companion-rig-unavailable .companion-light{animation:none!important}
#amoyPresence.amoy-companion .presence-halo{display:none}
#amoyPresence.amoy-companion .companion-light{position:absolute;z-index:0;inset:12% 8% 8%;border-radius:50%;background:radial-gradient(ellipse,#bcb1f52b,transparent 68%);opacity:.55;transform:scale(.96);transition:opacity .3s ease}
#amoyPresence.amoy-companion.speaking .presence-core{animation:none}
#amoyPresence.amoy-companion.speaking .companion-light{animation:companionVoiceLight 2s ease-in-out infinite}
#amoyPresence.amoy-companion.listening:not(.speaking) .presence-core{animation:none;filter:drop-shadow(0 0 9px #b2eee12b)}
#amoyPresence.amoy-companion:is(.thinking,.voice-preparing):not(.speaking):not(.listening) .companion-light{animation:companionThinking 2.6s ease-in-out infinite}
#amoyPresence.amoy-companion.wake .life-ripple:first-child{width:76%;height:52%;border-color:#d9c2f5;animation:amoyWakeRipple .64s ease-out both}
#amoyPresence.amoy-companion.companion-fallback{aspect-ratio:1;width:110px;margin-block:25px}
#amoyPresence.amoy-companion.companion-fallback .companion-chair,#amoyPresence.amoy-companion.companion-fallback .companion-desk,#amoyPresence.amoy-companion.companion-fallback .companion-canvas{display:none}
#amoyPresence.amoy-companion.companion-fallback .companion-figure{inset:0;width:100%;height:100%;clip-path:none}
#amoyPresence.amoy-companion.companion-fallback .presence-core{aspect-ratio:1;transform:none;transition:none}
#amoyPresence.amoy-companion.companion-fallback .presence-core img{visibility:visible}
.companion-welcome{text-align:center;margin:8px 0 18px;max-width:100%}
.conversation-inner .companion-welcome h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(26px,4vw,36px);letter-spacing:-.025em;line-height:1.2;color:#fff0e3;margin:0 0 10px;overflow-wrap:anywhere}
.companion-welcome p{font-size:clamp(14px,2.7vw,17px);line-height:1.45;color:#bfc5da;margin:0}
.conversation-screen:not(.result-open) .wake-live-status{font-size:12px;max-width:500px;margin:0 auto;color:#bfc9dd}
.conversation-screen:not(.result-open) .voice-home-controls{position:relative;inset:auto;width:100%;max-width:640px;padding:0 0 4px;margin:0 auto;background:none;flex-shrink:0}
.voice-home-dock{gap:clamp(28px,7vw,48px)}
.voice-home-dock button{width:56px;height:56px;border-color:#5d597a;background:#141c30;color:#eadff9}
.voice-home-dock #micBtn{width:72px;height:72px;color:#fff0da;background:radial-gradient(circle,#29233e,#171e33 70%);border:1px solid #deb9cb;box-shadow:0 0 0 3px #d8b5df0b,0 0 22px #c4a0e91a}
.voice-home-dock #micBtn svg{width:30px;height:30px}
.voice-home-dock #micBtn.listening{border-color:#b2e8d9;color:#b2e8d9;background:#182d30;box-shadow:0 0 15px #a9e3d426}
.conversation-screen.result-open .assistant-home-header{display:flex;flex-direction:row;gap:12px;min-height:52px;padding:0;justify-content:center}
.conversation-screen.result-open #amoyPresence.amoy-companion{display:grid;flex:0 0 36px;width:36px;aspect-ratio:2/3;margin:0}
.conversation-screen.result-open #amoyPresence.amoy-companion .companion-chair,.conversation-screen.result-open #amoyPresence.amoy-companion .companion-desk{display:none}
.conversation-screen.result-open #amoyPresence.amoy-companion .companion-figure{inset:0;width:100%;height:100%;clip-path:none}
.conversation-screen.result-open #amoyPresence.amoy-companion .presence-core{transform:none;transition:none}
.conversation-screen.result-open .companion-wordmark,.conversation-screen.result-open .companion-welcome{display:none}
.conversation-screen.result-open .wake-live-status{margin:0;max-width:calc(100% - 48px)}
.conversation-screen.result-open .voice-home-dock button,.conversation-screen.result-open .voice-home-dock #micBtn{width:46px;height:46px;min-height:46px;min-width:46px}
.conversation-screen.result-open .voice-home-dock #micBtn svg{width:24px;height:24px}
.conversation-screen.result-open .voice-home-controls{background:#0b1325}
.conversation-screen.composer-open:not(.result-open) #amoyPresence.amoy-companion{width:146px}
.conversation-screen.composer-open:not(.result-open) .companion-wordmark{display:none}
.conversation-screen.composer-open:not(.result-open) .companion-welcome{margin:2px 0 8px}
.conversation-screen.composer-open:not(.result-open) .companion-welcome h1{font-size:23px}
@keyframes companionVoiceLight{0%,100%{opacity:.45;transform:scale(.96)}40%{opacity:.8;transform:scale(1.06)}72%{opacity:.6;transform:scale(1.01)}}
@keyframes companionThinking{0%,100%{opacity:.25}50%{opacity:.55}}
#amoyPresence.amoy-companion.companion-motion-paused,#amoyPresence.amoy-companion.companion-motion-paused *,body.amoy-motion-paused #amoyPresence.amoy-companion,body.amoy-motion-paused #amoyPresence.amoy-companion *,body:not(.assistant-mode) #amoyPresence.amoy-companion,body:not(.assistant-mode) #amoyPresence.amoy-companion *{animation-play-state:paused!important;transition:none!important}
html.high-contrast .companion-welcome h1,html.high-contrast .companion-welcome p{color:#fff}
html.large-text .companion-welcome p{font-size:1.2rem}
@media(max-height:600px){.assistant-home-header{padding-top:0}.companion-wordmark{margin-bottom:4px}#amoyPresence.amoy-companion{width:min(68vw,280px,calc(var(--amoy-viewport-height,100dvh)*.43))}.companion-welcome{margin:2px 0 8px}.conversation-inner .companion-welcome h1{font-size:24px}.voice-home-dock #micBtn{width:60px;height:60px}.voice-home-dock button{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){#amoyPresence.amoy-companion,#amoyPresence.amoy-companion *{animation:none!important;transition:none!important}.amoy-companion.speaking .companion-light{opacity:.8!important}}

html.high-contrast .voice-home-dock #micBtn,html.high-contrast .voice-home-dock #micBtn.listening{border:2px solid #fff;background:#000;color:#fff;box-shadow:none}

/* Quiet desk tools are visual metaphors, never external-action or success indicators. */
#amoyPresence.amoy-companion .companion-computer{position:absolute;z-index:4;left:5%;top:55%;width:31%;height:30%;overflow:visible;filter:drop-shadow(0 4px 3px #0002)}
#amoyPresence.amoy-companion .companion-screen-content{opacity:.2;transition:opacity .25s ease}
#amoyPresence.amoy-companion.companion-tool-computer .companion-screen-content{opacity:1}
#amoyPresence.amoy-companion .companion-prop{position:absolute;z-index:4;left:61%;top:58%;width:18%;height:23%;opacity:0;transform:translateY(14px) scale(.9);transform-origin:50% 100%;transition:opacity .2s ease,transform .3s ease;filter:drop-shadow(0 4px 3px #0002)}
#amoyPresence.amoy-companion .companion-phone{left:64%;width:14%;top:56%;height:24%}
#amoyPresence.amoy-companion.companion-tool-notepad .companion-notepad,#amoyPresence.amoy-companion.companion-tool-calculator .companion-calculator,#amoyPresence.amoy-companion.companion-tool-phone .companion-phone{opacity:1;transform:translateY(0) scale(1)}
#amoyPresence.amoy-companion.companion-working.companion-tool-phone .companion-phone-dots{animation:companionTap 1.1s ease-in-out infinite}
#amoyPresence.amoy-companion.companion-working.companion-tool-computer .companion-computer-cursor{animation:companionTap .9s steps(2,end) infinite}
#amoyPresence.amoy-companion.approval .companion-light{background:radial-gradient(ellipse,#e4c38e35,transparent 68%)}
#amoyPresence.amoy-companion.verified .companion-light{background:radial-gradient(ellipse,#b1e2cc35,transparent 68%)}
#amoyPresence.amoy-companion.companion-fallback .companion-prop,#amoyPresence.amoy-companion.companion-fallback .companion-computer,.conversation-screen.result-open #amoyPresence.amoy-companion .companion-prop,.conversation-screen.result-open #amoyPresence.amoy-companion .companion-computer{display:none}
@keyframes companionTap{0%,100%{opacity:1}50%{opacity:.4}}

/* Actual in-flight work owns these gestures; no looping pretend activity at rest. */
.task-activity-status{margin:0 auto 8px;color:#e5d8f3;font-size:13px;font-weight:600;line-height:1.5;text-align:center;max-width:34ch}
.task-activity-status[hidden]{display:none}
.conversation-screen.result-open .task-activity-status{margin:0;font-size:12px;max-width:22ch}
html.high-contrast .task-activity-status{color:#fff}
html.large-text .task-activity-status{font-size:1.1rem}
#amoyPresence.amoy-companion.companion-working.companion-tool-computer .companion-typing-key{animation:companionKeyPress .6s ease-in-out infinite}
#amoyPresence.amoy-companion.companion-working.companion-tool-computer .companion-typing-key:nth-of-type(3){animation-delay:-.2s}
#amoyPresence.amoy-companion.companion-working.companion-tool-computer .companion-typing-key:nth-of-type(4){animation-delay:-.4s}
#amoyPresence.amoy-companion.companion-working.companion-tool-calculator .companion-calculator-key{animation:companionKeyPress .95s ease-in-out infinite}
#amoyPresence.amoy-companion.companion-working.companion-tool-calculator g .companion-calculator-key:nth-of-type(2){animation-delay:-.6s}
#amoyPresence.amoy-companion.companion-working.companion-tool-calculator g .companion-calculator-key:nth-of-type(4){animation-delay:-.3s}
#amoyPresence.amoy-companion.companion-working.companion-tool-notepad .companion-pencil{animation:companionWrite 1.4s ease-in-out infinite}
@keyframes companionKeyPress{0%,38%,100%{transform:translateY(0);fill:#a58abf}20%{transform:translateY(2px);fill:#b5ebd5}}
@keyframes companionWrite{0%,100%{transform:translate(0,0)}15%{transform:translate(4px,-2px)}30%{transform:translate(1px,-1px)}45%{transform:translate(6px,-3px)}60%{transform:translate(3px,-2px)}75%{transform:translate(8px,-4px)}90%{transform:translate(0,1px)}}
/* An intermediate card must not hide work that is still really in flight. */
.conversation-screen.result-open #amoyPresence.amoy-companion.companion-working{flex:0 0 96px;width:96px;aspect-ratio:1}
.conversation-screen.result-open #amoyPresence.amoy-companion.companion-working .companion-figure{left:20%;top:0;right:auto;bottom:auto;width:60%;height:90%;clip-path:inset(0 0 8.8889% 0)}
.conversation-screen.result-open #amoyPresence.amoy-companion.companion-working .companion-chair,.conversation-screen.result-open #amoyPresence.amoy-companion.companion-working .companion-desk,.conversation-screen.result-open #amoyPresence.amoy-companion.companion-working .companion-prop,.conversation-screen.result-open #amoyPresence.amoy-companion.companion-working .companion-computer{display:block}
