/* v0.1.0.17 approved visual reference: full-width conversation, floating Amy, right Voice Studio */
html,body{height:100%;}body.expanded{background:radial-gradient(ellipse at 44% 26%,#fff 0%,#f4faff 58%,#dfedff 100%)!important;color:#102e57} .hov-workspace,.surface{background:transparent!important}
.hov-header,.hov-nav{display:none!important}.hov-columns,body.hov-voice-open .hov-columns{grid-template-columns:minmax(0,1fr) clamp(390px,27.6vw,510px)!important;position:relative;}
.hov-main{background:transparent!important;padding:18px 20px 0!important;position:relative;min-width:0}.hov-context,body.hov-voice-open .hov-context{display:flex!important;padding:20px!important;background:linear-gradient(160deg,rgba(255,255,255,.90),rgba(248,251,255,.96))!important;border-left:0!important;border-radius:23px!important;margin:18px 12px 18px 0;box-shadow:0 10px 38px #bed8f42d;overflow:auto!important;gap:0!important}
.hov-main .hov-messages{padding:100px 20px 0!important;background:transparent!important;overflow-y:auto;scrollbar-width:thin}.hov-main .hov-messages .hov-empty{margin:10vh auto 0!important;min-height:initial;background:transparent!important;border:0!important;box-shadow:none!important}.hov-main .hov-messages .hov-empty img{width:110px;height:110px;object-fit:contain}.hov-main .hov-messages .hov-empty h2{color:#0b2a57!important;font-size:30px!important}.hov-main .hov-messages .hov-empty p{color:#547092!important;font-size:16px!important}
.hov-messages .hov-msg,.hov-messages .hov-bubble{border-radius:22px!important}.hov-messages .user{background:#e0efff!important}.hov-messages .assistant{background:#fff!important}
.hov-main .hov-composer{order:7;margin:0 3px!important;min-height:63px!important;border-radius:20px!important;background:#fff!important;border:1px solid #d6e5f8!important;box-shadow:0 7px 24px #bbd5f12e!important}.hov-composer textarea{font-size:15px!important}.hov-send{background:#1d5bb0!important;border-radius:15px!important}.hov-voicebar{order:6;margin:0 12px 4px!important;justify-content:flex-end}.hov-notice{order:9!important;font-size:10px!important;opacity:.45}.hov-comms-toolbar,.hov-comms-list{display:none!important}
.studio-floating-amy{position:absolute;top:24px;right:calc(clamp(390px,27.6vw,510px) + 20px);display:flex;align-items:center;gap:12px;z-index:3;pointer-events:none}.studio-floating-amy img{width:94px;height:94px;object-fit:contain;filter:drop-shadow(0 8px 13px #86baff80);background:radial-gradient(circle,#dff2ff,#bcdfff75 70%,transparent 71%);border-radius:50%;padding:7px}.studio-amy-note{background:#ffffffb8;padding:11px 15px;border-radius:15px;color:#3685df;font-size:13px;box-shadow:0 2px 12px #cde4fb40;white-space:nowrap}.studio-amy-live{position:absolute;right:7px;top:4px;width:16px;height:16px;background:#0fc6f6;border-radius:50%;border:2px solid white}
.studio-open-tools{order:5;flex:none;margin:12px 8px 18px;background:#ffffffb8;border-radius:21px;padding:16px 20px 12px;box-shadow:0 5px 19px #cfe2fc38;border:1px solid #e3efff}.studio-open-tools strong{font-size:16px;color:#092d60}.studio-open-tools p{font-size:13px;color:#5e7797;margin:4px 0 12px}.studio-studio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.studio-studio-grid button{min-width:0;border:1px solid #d8e9ff;background:#fff;border-radius:12px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;color:#102f5f}.studio-studio-grid button span{font-size:26px;color:#237deb}.studio-studio-grid button b{font-size:12px}.studio-studio-grid button small{font-size:10px;color:#8596b1}
.studio-composer-tools{order:8;display:flex;gap:8px;padding:0 60px 0 85px;margin:-27px 0 15px;position:relative;z-index:2;pointer-events:none}.studio-composer-tools button{pointer-events:auto;border:1px solid #e4efff;border-radius:22px;background:#fff;color:#466798;padding:6px 12px;font-size:12px;cursor:pointer}
body.hov-voice-open .hov-context>.hov-titlecard,body.hov-voice-open .hov-context>.hov-meta-grid,body.hov-voice-open .hov-context>#hovAsideActions{display:none!important}.hov-context>.hov-titlecard,.hov-context>.hov-meta-grid,.hov-context>#hovAsideActions{display:none!important}.hov-voice-manager,body.hov-voice-open .hov-voice-manager{display:flex!important;flex:1;min-height:0;max-height:none!important;overflow:visible!important;border:0!important;box-shadow:none!important;padding:0!important;background:transparent!important;color:#163a67!important;gap:12px!important}.hov-voice-manager[hidden]{display:flex!important}
.hov-vm-heading{font-size:24px!important;padding:5px 6px 6px!important;border:0!important}.hov-vm-heading strong{font-size:24px!important;color:#0e315f!important}.hov-vm-heading-icons button{background:transparent!important;color:#153960!important;border:0!important;font-size:26px!important}.hov-vm-conversation-label{font-size:13px!important;margin:0 6px 16px!important;color:#6280a6!important}.hov-voice-manager #hovVMTitleMirror{display:none!important}.hov-vm-content{display:flex;flex-direction:column;gap:14px!important}.hov-vm-section-label{display:none!important}.hov-vm-modes{order:1}.studio-mic-status{order:2;display:flex;gap:15px;padding:17px 16px;border:1px solid #dbe9fa;border-radius:17px;background:#fff}.studio-mic-icon{background:#eef6ff;color:#1771e7;font-size:24px;width:53px;height:53px;display:grid;place-items:center;border-radius:17px}.studio-mic-status div{flex:1;display:flex;flex-direction:column;gap:7px}.studio-mic-status strong{color:#0e325f;font-size:14px}.studio-mic-status small{color:#7188a8;font-size:12px}.studio-mic-status small:last-child{margin-top:9px}.studio-green-dot{display:inline-block;width:10px;height:10px;background:#0ba782;border-radius:100%;margin-right:5px}.hov-vm-state{order:3;text-align:center;font-size:14px!important;min-height:20px}.hov-vm-meter{order:5;background:transparent!important;height:0!important}.studio-wave{order:4;height:46px;display:flex;justify-content:center;align-items:center;gap:4px}.studio-wave span{width:3px;height:10px;background:#1688ff;border-radius:4px;opacity:.8}.studio-wave span:nth-child(3n){height:25px}.studio-wave span:nth-child(4n){height:35px}.studio-wave span:nth-child(7n){height:17px}
.hov-vm-record-actions{order:6;justify-content:center!important;display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap}.hov-vm-record-actions button{width:58px!important;height:58px!important;flex:none!important;border-radius:50%!important;background:#eef5ff!important;border:1px solid #d9e9ff!important;color:#1465c6!important;box-shadow:none!important}.hov-vm-record-actions #hovVMRecord,.hov-vm-record-actions #hovVMStop:not(:disabled){width:84px!important;height:84px!important;background:linear-gradient(150deg,#1c90fc,#174b9d)!important;color:#fff!important;border:10px solid #eaf5ff!important;box-shadow:0 5px 0 #dcecff!important}.hov-vm-record-actions svg{width:26px;height:26px}.studio-voice-extras{display:flex;justify-content:space-between;gap:4px;order:9;margin-top:18px;padding:5px}.studio-voice-extras button{border:0;background:transparent;color:#215fba;font-size:25px;display:flex;align-items:center;gap:8px;flex-direction:column;cursor:pointer;padding:9px}.studio-voice-extras button small{font-size:11px;color:#5a76a1}.studio-tip{margin-top:20px;border:1px solid #e1edfc;border-radius:17px;background:#fff;display:flex;align-items:center;gap:9px;padding:15px}.studio-tip img{width:45px;height:45px;object-fit:contain}.studio-tip p{font-size:12px;line-height:1.6;color:#5d7ba4;margin:0}.studio-tip strong{color:#234a7c}
.studio-tools-menu{position:fixed;bottom:110px;left:20px;width:220px;display:flex;flex-direction:column;gap:3px;border-radius:16px;background:#fff;box-shadow:0 9px 35px #4873a44d;padding:15px;z-index:40}.studio-tools-menu[hidden]{display:none!important}.studio-tools-menu button{padding:9px;border:0;border-radius:8px;text-align:left;background:transparent;color:#254f83;cursor:pointer}.studio-tools-menu button:hover{background:#eaf4ff}
@media(max-width:850px){.hov-columns,body.hov-voice-open .hov-columns{grid-template-columns:minmax(0,1fr)!important}.hov-context,body.hov-voice-open .hov-context{display:none!important}.hov-main{padding:8px!important}.studio-floating-amy{right:12px;top:12px}.studio-floating-amy img{width:50px;height:50px}.studio-open-tools{margin:6px}.studio-studio-grid{grid-template-columns:repeat(2,1fr)}.studio-composer-tools{padding-left:40px}.hov-context.studio-mobile-open,body.hov-voice-open .hov-context.studio-mobile-open{display:flex!important;position:fixed!important;inset:0!important;margin:0!important;z-index:60;overflow:auto!important;max-width:none!important;border-radius:0!important}}
/* Align functional controls with the approved stage while respecting actual recording state. */
.hov-vm-permission[hidden],.studio-tools-menu[hidden]{display:none!important}
.hov-vm-modes button{cursor:pointer}
.hov-main{display:flex!important;flex-direction:column!important}
@media(min-width:851px){.hov-context{min-width:0}.hov-messages{max-width:100%}}

/* v0.1.0.18: approved Amy chat portrait + blue status dot; preserve layout. */
#studioOpenTools{display:none!important}
.hov-messages .hov-chat-message.assistant{position:relative;margin-left:60px!important;max-width:calc(85% - 24px)!important;}
.hov-messages .hov-chat-message.assistant::before{content:"";position:absolute;left:-59px;top:1px;width:43px;height:43px;border-radius:50%;background:radial-gradient(circle at 50% 46%,#eef9ff 0%,#d8efff 63%,#93ccff 72%,#167fea 86%,#d9efff 100%);background-image:url('assets/amy-cutout.png'),radial-gradient(circle at 50% 46%,#e3f6ff,#81c6ff 80%,#167fea);background-size:34px 34px,cover;background-repeat:no-repeat;background-position:center;box-shadow:0 3px 13px #4eacff5a,0 0 0 2px #e7f7ff;pointer-events:none;}
.hov-messages .hov-chat-message.assistant::after{content:"";position:absolute;left:-24px;top:-2px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#09c6f5;box-shadow:0 0 7px #0ebcfb66;pointer-events:none;}
@media(max-width:600px){.hov-messages .hov-chat-message.assistant{margin-left:45px!important;max-width:calc(100% - 55px)!important}.hov-messages .hov-chat-message.assistant::before{left:-45px;width:34px;height:34px;background-size:28px 28px,cover}.hov-messages .hov-chat-message.assistant::after{left:-17px;width:9px;height:9px}}

/* v0.1.0.19 — narrow, approved chat-space refinements only. */
/* Amy is not shown over the active chat; reserved for the future minimized view. */
.studio-floating-amy{display:none!important}
/* Keep the approved chat avatar but remove its notification/status dot. */
.hov-messages .hov-chat-message.assistant::after{display:none!important;content:none!important}
/* Retain vertical scrolling and touch/trackpad gestures without a visible rail. */
.hov-main .hov-messages{scrollbar-width:none!important;-ms-overflow-style:none!important;overflow-y:auto!important}
.hov-main .hov-messages::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
/* Move voice and composer together toward the bottom by reclaiming footer whitespace. */
.hov-main{padding-bottom:6px!important}
.hov-main .studio-composer-tools{margin-bottom:0!important}
.hov-main .hov-notice{position:absolute!important;bottom:0!important;left:24px!important;margin:0!important;min-height:0!important;line-height:1!important;font-size:10px!important;pointer-events:none!important}

/* v0.1.0.20 — one voice-control presentation; old rectangular controls removed. */
body.hov-voice-open .hov-vm-record-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important}
body.hov-voice-open .hov-vm-record-actions button{border-radius:50%!important}
body.hov-voice-open .hov-vm-record-actions #hovVMRecord,body.hov-voice-open .hov-vm-record-actions #hovVMStop:not(:disabled){width:84px!important;height:84px!important;flex:0 0 84px!important;border-radius:50%!important;border:10px solid #eaf5ff!important;background:linear-gradient(150deg,#1c90fc,#174b9d)!important;color:#fff!important;box-shadow:0 5px 0 #dcecff!important}
body.hov-voice-open .hov-vm-record-actions #hovVMRecord:disabled,body.hov-voice-open .hov-vm-record-actions #hovVMStop:disabled{display:none!important}
body.hov-voice-open .hov-vm-record-actions button[hidden]{display:none!important}

/* v0.1.0.22: single Voice Studio instance, close means closed. */
.hov-voice-manager[hidden],body.hov-voice-open .hov-voice-manager[hidden]{display:none!important}
body:not(.hov-voice-open) .hov-voice-manager{display:none!important}
/* Keep the right column present as the studio rail; never display a stale second voice layout. */
.hov-context,body.hov-voice-open .hov-context{overflow-y:auto!important}
/* No artificial top gutter. Messages scroll from the actual page edge. */
.hov-main{padding-top:0!important;padding-bottom:0!important;min-height:0!important}
.hov-main .hov-messages{padding-top:0!important;padding-bottom:4px!important;min-height:0!important;flex:1 1 auto!important}
.hov-main .hov-messages .hov-empty{margin:0 auto!important}
/* Anchor the composer/tools at the bottom, and remove the independent speech bar strip. */
.hov-main .hov-composer{margin-top:auto!important;flex-shrink:0!important}
.hov-main .studio-composer-tools{order:8!important;align-items:center;justify-content:flex-start;margin:-24px 0 0!important;padding-bottom:2px!important;padding-right:8px!important;min-height:34px!important;flex-shrink:0!important}
.studio-composer-tools .studio-voice-inline{display:flex!important;position:static!important;order:5!important;margin:0 0 0 auto!important;padding:0!important;gap:4px!important;align-items:center!important;min-height:28px!important;background:transparent!important}
.studio-composer-tools .studio-voice-inline #hovVoiceStatus{display:none!important}
.studio-composer-tools .studio-voice-inline button{pointer-events:auto!important;display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;padding:4px!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#295d98!important}
.studio-composer-tools .studio-voice-inline button[hidden]{display:none!important}
.hov-main .hov-notice{display:none!important}

/* v0.1.0.22 — requested voice refinements; preserve rest of approved layout. */
.studio-mic-status,.studio-tip{display:none!important}
.studio-live-wave{display:block;width:100%;max-width:320px;height:64px;align-self:center;order:4;background:transparent;border:0;box-shadow:none;margin:0 auto;}
.studio-composer-tools .studio-voice-inline{order:4!important;margin:0!important;gap:2px!important}
.studio-composer-tools .studio-voice-inline #hovVoiceStatus{display:inline!important;white-space:nowrap;font-size:12px!important;color:#466798!important;line-height:1.2}
.studio-composer-tools .studio-voice-inline #hovVoiceToggle{order:-1}
@media(max-width:520px){.studio-composer-tools .studio-voice-inline #hovVoiceStatus{font-size:11px!important}}

/* v0.1.0.23 - approved incremental voice and conversation controls */
.studio-composer-tools .studio-voice-inline{display:inline-flex!important;align-items:center!important;flex-direction:row-reverse!important;border:1px solid #e4efff!important;border-radius:22px!important;background:#edfaf2!important;padding:0 7px!important;min-height:29px!important;gap:2px!important;order:4!important;}
.studio-composer-tools .studio-voice-inline:has(#hovVoiceToggle[data-voice="off"]){background:#fff0f1!important;border-color:#f4d6dc!important}
.studio-composer-tools .studio-voice-inline #hovVoiceStatus{display:inline!important;color:#255d44!important;font-size:12px!important;font-weight:500!important;}
.studio-composer-tools .studio-voice-inline:has(#hovVoiceToggle[data-voice="off"]) #hovVoiceStatus{color:#a94153!important}
.studio-composer-tools .studio-voice-inline #hovVoiceToggle{order:0!important;width:22px!important;height:25px!important;padding:2px!important}
.studio-composer-tools .studio-voice-inline #hovVoiceStop{order:-1!important;width:22px!important;height:25px!important;padding:2px!important}
#studioDownloadConversation{display:inline-flex!important;align-items:center!important;gap:5px!important;order:5!important;margin:0!important;white-space:nowrap!important}
#studioDownloadConversation svg{width:14px;height:14px;flex-shrink:0}
@media(max-width:540px){.studio-composer-tools{flex-wrap:wrap!important}.studio-composer-tools button{font-size:11px!important;padding:5px 7px!important}}
