.tv-overlay[hidden]{display:none!important}
.tv-fab{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:9998;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-width:146px;height:58px;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:0 22px;background:#1D2B3F;color:#fff;box-shadow:0 12px 32px rgba(6,14,25,.28);font:800 15px/1 Manrope,sans-serif;letter-spacing:-.01em;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.tv-fab::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,#22D3EE,#A855F7,#F472B6,#FDE047,#4ADE80,#22D3EE);background-size:220% 220%;-webkit-mask:url('assets/ai-dots-mask.png') center/cover no-repeat;mask:url('assets/ai-dots-mask.png') center/cover no-repeat;opacity:.78;animation:tv-fab-hue 12s ease-in-out infinite}
.tv-fab::after{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;background:#1D2B3F}
.tv-fab:hover{transform:translateY(-3px);border-color:rgba(169,227,144,.72);box-shadow:0 16px 38px rgba(6,14,25,.36),0 0 0 4px rgba(169,227,144,.12)}
.tv-fab:focus-visible{outline:3px solid #a9e390;outline-offset:3px}
.tv-fab-mark{display:flex;align-items:flex-end;gap:2px;height:17px}.tv-fab-mark i{display:block;width:3px;height:10px;border-radius:99px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.55)}.tv-fab-mark i:nth-child(2){height:17px}.tv-fab-mark i:nth-child(3){height:7px}
@keyframes tv-fab-hue{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.tv-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(10,20,35,.66);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.tv-dialog{position:relative;width:min(100%,620px);overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:30px;padding:48px;background:#1d2b3f;color:#fff;box-shadow:0 28px 90px rgba(6,14,25,.38);isolation:isolate}
.tv-dialog:before{content:"";position:absolute;inset:auto -25% -55% 15%;z-index:-1;height:68%;background:radial-gradient(circle,rgba(169,227,144,.2),transparent 67%);pointer-events:none}
.tv-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font:300 28px/1 Manrope,sans-serif;cursor:pointer;transition:background .2s ease,transform .2s ease}
.tv-close:hover{background:rgba(255,255,255,.14);transform:rotate(4deg)}
.tv-orb{display:flex;align-items:flex-end;justify-content:center;gap:5px;width:64px;height:64px;margin-bottom:24px;border:1px solid rgba(169,227,144,.32);border-radius:20px;background:rgba(169,227,144,.1)}
.tv-orb span{display:block;width:5px;height:16px;margin-bottom:19px;border-radius:99px;background:#a9e390;transform-origin:center}
.tv-orb span:nth-child(2){height:26px}.tv-orb span:nth-child(3){height:12px}
.tv-dialog.is-live .tv-orb span{animation:tv-wave .9s ease-in-out infinite alternate}.tv-dialog.is-live .tv-orb span:nth-child(2){animation-delay:-.35s}.tv-dialog.is-live .tv-orb span:nth-child(3){animation-delay:-.6s}
@keyframes tv-wave{to{transform:scaleY(.35);opacity:.65}}
.tv-eyebrow{display:block;margin-bottom:12px;color:#a9e390;font-family:var(--font-mono,'Fragment Mono',monospace);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.tv-dialog h2{max-width:520px;margin:0;color:#fff;font-family:Poppins,sans-serif;font-size:clamp(38px,7vw,60px);font-weight:900;line-height:.98;letter-spacing:-.05em}
.tv-dialog>p{max-width:52ch;margin:20px 0 0;color:rgba(255,255,255,.72);font-family:Manrope,sans-serif;font-size:16px;line-height:1.65}
.tv-lead-form{margin-top:26px}.tv-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tv-lead-grid label{display:grid;gap:7px;color:rgba(255,255,255,.72);font:700 12px/1.3 Manrope,sans-serif}.tv-lead-grid label>span{display:flex;justify-content:space-between;gap:8px}.tv-lead-grid em{color:rgba(255,255,255,.4);font-style:normal;font-weight:500}.tv-lead-grid input{width:100%;height:50px;border:1px solid rgba(255,255,255,.15);border-radius:13px;padding:0 14px;background:rgba(255,255,255,.07);color:#fff;font:600 15px/1 Manrope,sans-serif;outline:none;transition:border-color .2s ease,background .2s ease}.tv-lead-grid input::placeholder{color:rgba(255,255,255,.35)}.tv-lead-grid input:focus{border-color:#a9e390;background:rgba(255,255,255,.1)}.tv-consent{display:flex;align-items:flex-start;gap:10px;margin-top:16px;color:rgba(255,255,255,.66);font:500 12px/1.5 Manrope,sans-serif}.tv-consent input{flex:0 0 auto;width:17px;height:17px;margin-top:1px;accent-color:#a9e390}.tv-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.tv-lead-message{min-height:18px;margin:10px 0 0;color:#ffb4a6;font:700 12px/1.4 Manrope,sans-serif}.tv-lead-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;border:0;border-radius:999px;padding:0 24px;background:#a9e390;color:#1d2b3f;font:800 14px/1 Manrope,sans-serif;cursor:pointer;transition:transform .2s ease,background .2s ease,opacity .2s ease}.tv-lead-submit:hover{background:#b8eea1;transform:translateY(-1px)}.tv-lead-submit:disabled{cursor:wait;opacity:.68;transform:none}.tv-voice-controls[hidden]{display:none!important}
.tv-status{display:flex;align-items:center;gap:10px;margin-top:28px;padding:13px 16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.88);font-family:Manrope,sans-serif;font-size:14px;font-weight:700}
.tv-status i{width:9px;height:9px;border-radius:50%;background:#a9e390;box-shadow:0 0 0 5px rgba(169,227,144,.1)}
.tv-status.is-error i{background:#ffb4a6;box-shadow:0 0 0 5px rgba(255,180,166,.1)}
.tv-actions{display:flex;gap:12px;margin-top:18px}
.tv-start,.tv-stop{min-height:52px;border:0;border-radius:999px;padding:0 24px;font:800 14px/1 Manrope,sans-serif;cursor:pointer;transition:transform .2s ease,background .2s ease,opacity .2s ease}
.tv-start{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#a9e390;color:#1d2b3f}.tv-start:hover{background:#b8eea1;transform:translateY(-1px)}
.tv-start:disabled{cursor:wait;opacity:.68;transform:none}.tv-start span{font-size:12px}
.tv-stop{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18)}.tv-stop:hover{background:rgba(255,255,255,.16)}
.tv-dialog .tv-note{margin-top:18px;color:rgba(255,255,255,.48);font:500 12px/1.55 Manrope,sans-serif}
body.tv-open{overflow:hidden}

/* The assistant keeps the same high-contrast navy treatment in both themes. */
html body div#tribe-voice-dialog.tv-dialog{background:#1D2B3F!important;background-color:#1D2B3F!important;background-image:none!important;color:#fff!important;opacity:1!important;filter:none!important;mix-blend-mode:normal!important;border-color:rgba(255,255,255,.2)!important;box-shadow:0 28px 90px rgba(6,14,25,.42)!important}
body .tv-dialog::before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;width:auto!important;height:auto!important;border-radius:inherit!important;background:linear-gradient(120deg,#22D3EE,#A855F7,#F472B6,#FDE047,#4ADE80,#22D3EE)!important;background-size:220% 220%!important;-webkit-mask:url('assets/ai-dots-mask.png') center/cover no-repeat!important;mask:url('assets/ai-dots-mask.png') center/cover no-repeat!important;opacity:.72!important;pointer-events:none!important;animation:tv-dialog-dots 14s ease-in-out infinite!important}
body .tv-dialog::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:radial-gradient(75% 55% at 85% 8%,rgba(34,211,238,.1),transparent 66%),radial-gradient(70% 55% at 12% 92%,rgba(169,227,144,.11),transparent 68%)}
body .tv-dialog>*{position:relative;z-index:2}
body .tv-dialog>.tv-close{position:absolute!important;z-index:3!important}
@keyframes tv-dialog-dots{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
body .tv-dialog .tv-close{border-color:rgba(255,255,255,.28)!important;background:rgba(255,255,255,.08)!important;color:#fff!important}
body .tv-dialog .tv-close:hover{background:rgba(255,255,255,.16)!important}
body .tv-dialog .tv-orb{border-color:rgba(169,227,144,.5)!important;background:rgba(169,227,144,.12)!important}
body .tv-dialog .tv-orb span{background:#a9e390!important}
body .tv-dialog .tv-eyebrow{color:#a9e390!important;opacity:1!important}
body .tv-dialog h2,
body .tv-dialog>p,
body .tv-dialog .tv-lead-grid label,
body .tv-dialog .tv-lead-grid label>span,
body .tv-dialog .tv-lead-grid em,
body .tv-dialog .tv-consent,
body .tv-dialog .tv-consent span,
body .tv-dialog .tv-status,
body .tv-dialog .tv-status span,
body .tv-dialog .tv-note{color:#fff!important;opacity:1!important}
body .tv-dialog .tv-lead-grid input{border-color:rgba(255,255,255,.5)!important;background:#fff!important;color:#1D2B3F!important}
body .tv-dialog .tv-lead-grid input::placeholder{color:#526174!important;opacity:1!important}
body .tv-dialog .tv-lead-grid input:focus{border-color:#a9e390!important;background:#fff!important;box-shadow:0 0 0 3px rgba(169,227,144,.28)!important}
body .tv-dialog .tv-status{border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.08)!important}
body .tv-dialog .tv-stop{border-color:rgba(255,255,255,.28)!important;background:rgba(255,255,255,.1)!important;color:#fff!important}
body .tv-dialog .tv-stop:hover{background:rgba(255,255,255,.18)!important}
@media(max-width:640px){.tv-fab{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));min-width:126px;height:52px;padding:0 18px;font-size:14px}.tv-overlay{align-items:end;padding:10px}.tv-dialog{max-height:calc(100dvh - 20px);overflow:auto;border-radius:26px;padding:38px 22px 28px}.tv-close{top:14px;right:14px}.tv-orb{width:54px;height:54px;margin-bottom:20px}.tv-orb span{margin-bottom:15px}.tv-dialog h2{font-size:38px}.tv-dialog>p{font-size:15px}.tv-lead-grid{grid-template-columns:1fr}.tv-actions{flex-direction:column}.tv-start,.tv-stop{width:100%}}
@media(prefers-reduced-motion:reduce){.tv-fab::before,body .tv-dialog::before,.tv-dialog.is-live .tv-orb span{animation:none!important}.tv-fab,.tv-close,.tv-start,.tv-stop{transition:none}}
