.voice-onboarding{width:min(680px,calc(100vw - 28px));padding:0;border:1px solid rgba(76,216,255,.48);border-radius:24px;color:#eaf9ff;background:linear-gradient(145deg,rgba(5,20,32,.98),rgba(4,12,22,.98));box-shadow:0 30px 100px #000c,0 0 55px #21d4fd22;overflow:hidden}
.voice-onboarding::backdrop{background:rgba(1,6,12,.78);backdrop-filter:blur(12px)}
.voice-onboarding>*:not(.voice-onboarding-glow){position:relative;z-index:1}.voice-onboarding-glow{position:absolute;inset:-45% 20% auto;height:300px;background:radial-gradient(circle,#21d4fd35,transparent 65%);pointer-events:none}
.voice-onboarding-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 10px;color:#68e8ff;font-size:10px;letter-spacing:.22em}.voice-onboarding-head span{display:flex;align-items:center;gap:9px}.voice-onboarding-head svg{width:17px}.voice-onboarding-head button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #315269;border-radius:50%;color:#bdefff;background:#071724;cursor:pointer}
.voice-onboarding h2{margin:12px 24px 10px;font-size:clamp(24px,4vw,38px);line-height:1.08;letter-spacing:-.03em}.voice-onboarding>p{margin:0 24px;color:#a9c4d3;line-height:1.65;font-size:13px}
.voice-capabilities{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:22px 24px}.voice-capabilities div{display:flex;justify-content:space-between;gap:15px;padding:11px 13px;border:1px solid #17384c;border-radius:11px;background:#071827}.voice-capabilities span{color:#9db4c4;font-size:11px}.voice-capabilities strong{color:#71efc5;font-size:11px}.voice-capabilities strong.is-warning{color:#ffd76c}
.voice-onboarding-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:10px;margin:0 24px 18px}.voice-onboarding-actions button{display:flex;align-items:center;gap:12px;text-align:left;padding:15px;border-radius:13px;cursor:pointer;color:#dff8ff}.voice-onboarding-actions svg{width:22px;flex:none}.voice-onboarding-actions span{display:grid;gap:3px}.voice-onboarding-actions small{color:#82a1b2;font-size:10px}.voice-enable{border:1px solid #23d7f5;background:linear-gradient(135deg,#0b3a4f,#092234);box-shadow:0 0 24px #15d9ff1f}.voice-text-only{border:1px solid #29495e;background:#091725}.voice-onboarding-actions button:hover,.voice-onboarding-actions button:focus-visible{transform:translateY(-2px);border-color:#8af1ff;box-shadow:0 10px 28px #0008,0 0 24px #2ee6ff22}.voice-privacy{display:flex;align-items:center;gap:8px!important;margin-bottom:22px!important;font-size:10px!important}.voice-privacy svg{width:15px;color:#63e9c0}
.voice-agent-badge{position:fixed;z-index:42;left:50%;bottom:116px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid #2ecce777;border-radius:999px;background:#041521e8;color:#9cecff;font-size:9px;letter-spacing:.18em;box-shadow:0 0 24px #13ccf52b;pointer-events:none}.voice-agent-badge i{width:7px;height:7px;border-radius:50%;background:#5dffd0;box-shadow:0 0 10px #5dffd0}.voice-agent-badge[hidden]{display:none}
body[data-voice-agent-state="listening"] .core,body[data-voice-agent-state="speaking"] .core{filter:drop-shadow(0 0 18px #3fe8ff)}
@media(max-width:720px){
 .voice-onboarding{inset:0;margin:auto;width:calc(100vw - 16px);height:auto;max-height:calc(100dvh - 16px);border-radius:18px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 .voice-onboarding-head{padding:12px 14px 4px;font-size:8px;letter-spacing:.16em}
 .voice-onboarding-head button{width:34px;height:34px}
 .voice-onboarding h2{margin:7px 14px 7px;font-size:21px;line-height:1.08}
 .voice-onboarding>p{margin-left:14px;margin-right:14px;font-size:11px;line-height:1.42}
 .voice-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 14px}
 .voice-capabilities div{display:grid;gap:2px;padding:8px 9px}
 .voice-capabilities span,.voice-capabilities strong{font-size:9px}
 .voice-onboarding-actions{grid-template-columns:1fr;gap:7px;margin:0 14px 10px}
 .voice-onboarding-actions button{min-height:48px;padding:9px 11px}
 .voice-onboarding-actions svg{width:19px}
 .voice-onboarding-actions small{font-size:9px}
 .voice-privacy{margin-bottom:12px!important;font-size:8px!important;line-height:1.35!important}
 .voice-agent-badge{bottom:140px}
}
@media(prefers-reduced-motion:reduce){.voice-onboarding-actions button{transition:none}}
/* iOS/iPad Voice Welcome plan 15: guaranteed "Start Voice" / "Tap to Hear the Twin" recovery button - a genuine,
   focusable <button>; inside the onboarding while it is open, otherwise floating above the composer. */
.voice-recovery-slot{margin:0 24px 14px}.voice-recovery-slot:empty,.voice-recovery-slot:not(:has(.voice-start-recovery:not([hidden]))){display:none}
.voice-start-recovery{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 15px;border-radius:13px;cursor:pointer;color:#fff7dc;border:1px solid #ffd76c;background:linear-gradient(135deg,#3d3210,#1d1a0c);box-shadow:0 0 26px #ffd76c2e;font:inherit;animation:voiceRecoveryPulse 1.8s ease-in-out infinite}
.voice-start-recovery[hidden]{display:none}.voice-start-recovery svg{width:22px;flex:none;color:#ffd76c}.voice-start-recovery span{display:grid;gap:3px}.voice-start-recovery small{color:#e8d49a;font-size:10px}
.voice-start-recovery:focus-visible{outline:2px solid #fff1b8;outline-offset:3px}.voice-start-recovery[aria-busy="true"]{opacity:.75;animation:none}
.voice-start-recovery.is-floating{position:fixed;z-index:9000;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 112px);transform:translateX(-50%);width:min(360px,calc(100vw - 32px))}
@keyframes voiceRecoveryPulse{0%,100%{box-shadow:0 0 18px #ffd76c22}50%{box-shadow:0 0 30px #ffd76c55}}
@media(max-width:620px){.voice-recovery-slot{margin:0 14px 10px}.voice-start-recovery{min-height:48px;padding:10px 12px}.voice-start-recovery small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.voice-start-recovery{animation:none}}
