/* VASLUNO Voice AI v0.9. Accessible voice-only overlay, based on the supplied black/orb references. */
.voice-open{overflow:hidden!important}
.voice-overlay{position:fixed;inset:0;z-index:1000000;background:#020408;color:#f6f7ff;display:flex;flex-direction:column;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',Inter,system-ui,sans-serif;isolation:isolate}
.voice-toolbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:calc(22px + env(safe-area-inset-top)) clamp(23px,5vw,58px) 10px;position:relative;z-index:3}
.voice-brand{font-weight:570;letter-spacing:.2em;font-size:clamp(18px,2vw,28px);color:#f4f5ff}
.voice-close{background:transparent;border:0;color:#a2a5bc;font-size:42px;font-weight:200;line-height:1;padding:0 10px;cursor:pointer}
.voice-close:hover{color:#fff}.voice-close:focus-visible,.voice-circle:focus-visible,.voice-language select:focus-visible{outline:2px solid #adc0ff;outline-offset:4px}
.voice-stage{flex:1 0 300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center;padding:24px 15px 8px;min-height:310px}
.voice-orb{--orbsize:clamp(220px,34vmin,440px);width:var(--orbsize);height:var(--orbsize);border-radius:50%;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at 53% 57%,#11243d 0%,#061426 39%,#020813 70%,#02050a 100%);box-shadow:0 0 0 2px #182c50cc,0 0 22px #2258a366,0 0 55px #16356638,inset 0 4px 28px #3272d044,inset 2px -8px 25px #0d266833;overflow:hidden;animation:voiceFloat 7s ease-in-out infinite}
.voice-orb:before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:0;background:radial-gradient(circle at 58% 63%,#8058e933 0%,transparent 38%),radial-gradient(circle at 47% 49%,#2dcaf06d 0%,#3c91d73b 23%,transparent 57%);filter:blur(24px)}
.voice-orb:after{content:'';position:absolute;inset:1px;border-radius:50%;border-top:1px solid #779bff77;border-left:1px solid #497fd622;box-shadow:inset -13px -17px 25px #07132788;pointer-events:none}
.voice-orb-grid{position:absolute;inset:19%;opacity:.68;background-image:radial-gradient(circle,#57b8ea8a .8px,transparent 1px);background-size:5px 5px;mask-image:radial-gradient(ellipse at 50% 50%,#000 0%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 0%,transparent 76%);z-index:1}
.voice-orb-light{position:absolute;width:83%;height:39%;top:34%;left:9%;background:radial-gradient(ellipse at 46% 50%,#4edfffaa 0%,#339ae19c 22%,#4448e877 49%,transparent 75%);filter:blur(26px);z-index:0;animation:voiceWave 6s ease-in-out infinite}
.voice-letter-shapes{display:flex;align-items:center;justify-content:center;gap:calc(var(--orbsize)*.15);position:relative;z-index:3;filter:drop-shadow(0 0 13px #6fcaff)}
.voice-letter-i{display:block;width:calc(var(--orbsize)*.028);height:calc(var(--orbsize)*.148);background:#f0fdff;border-radius:20px;box-shadow:0 0 11px #70c4ff,0 0 28px #4d9afa}
.voice-letter-v{display:block;height:calc(var(--orbsize)*.15);width:calc(var(--orbsize)*.085);clip-path:polygon(0 50%,59% 0,100% 0,37% 50%,100% 100%,59% 100%);background:#f0fdff;filter:drop-shadow(0 0 10px #70c4ff)}
.voice-state{margin-top:clamp(28px,5vh,72px);font-size:clamp(25px,4.7vw,38px);font-weight:420;letter-spacing:-.025em;min-height:49px}
.voice-captions{color:#a7b4d6;max-width:580px;margin:8px 20px 0;font-size:clamp(13px,2vw,18px);line-height:1.5;max-height:76px;overflow-y:auto;overflow-wrap:anywhere;min-height:20px}
.voice-results{width:min(650px,90vw);display:flex;gap:9px;flex-wrap:wrap;align-items:center;justify-content:center;margin:14px auto;max-height:125px;overflow-y:auto}
.voice-product{border:1px solid #35537d;background:#111e32;color:#edf6ff;border-radius:11px;padding:9px 12px;text-align:left;display:grid;gap:4px;max-width:280px;cursor:pointer}
.voice-product small{color:#a6c7e9}.voice-product:hover{border-color:#83aafd}
.voice-bottom{flex:0 0 auto;width:100%;padding:7px 16px calc(17px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;z-index:2}
.voice-language{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;color:#9096ae;font-size:12px;max-width:600px}
.voice-language select{color:#e4e7fa;background:#111729;border:1px solid #323c5b;border-radius:10px;padding:5px 10px;cursor:pointer}
.voice-language small{font-size:10px;color:#747d9a;max-width:260px;line-height:1.4}
.voice-actions{width:min(520px,95vw);display:flex;justify-content:space-around;gap:14px;align-items:flex-start}
.voice-action{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:70px;color:#898da2;letter-spacing:.01em;font-size:clamp(12px,1.8vw,16px)}
.voice-circle{width:clamp(64px,11vmin,84px);height:clamp(64px,11vmin,84px);background:#192a40;border:1px solid #20394c;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:26px;cursor:pointer;transition:filter .15s,transform .15s}
.voice-circle:hover{filter:brightness(1.3);transform:translateY(-2px)}
.voice-circle.voice-red{background:#702a3a;border-color:#833a4f;font-size:28px;transform:rotate(-45deg)}.voice-circle.voice-red:hover{transform:rotate(-45deg) translateY(-2px)}
.voice-privacy{font-size:10px;color:#67718d;max-width:600px;text-align:center;line-height:1.5;margin:0}
.voice-overlay[data-mode=listening] .voice-orb-light{animation-duration:1s;filter:blur(17px);background:radial-gradient(ellipse at 50% 50%,#61eaf0cc,#387ee7a8 30%,#816ce777 55%,transparent 77%)}
.voice-overlay[data-mode=speaking] .voice-orb-light{animation-duration:2s}
.voice-overlay[data-mode=thinking] .voice-orb-light{animation-duration:4s;filter:blur(30px)}
.voice-entry{min-height:calc(100dvh - 180px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px 15px 130px;gap:18px}
.voice-entry h1{font-size:clamp(34px,5vw,62px);margin:3px 0;color:#f2f5ff}.voice-entry p{max-width:640px;color:#a6b0cd;line-height:1.7;font-size:15px}
.entry-orb{width:142px;height:142px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 50%,#286a9d55,transparent 68%),#0a1427;box-shadow:inset 0 0 40px #3962ba66,0 0 40px #14285766;border:1px solid #395a97}
.entry-orb span{color:#c5e1fe;font-size:62px;text-shadow:0 0 24px #539ff4}
.voice-translate-action{cursor:pointer;color:#b8c4fc;background:transparent;border:1px solid #434e79;border-radius:10px;padding:7px 10px;font-size:12px;margin-top:9px;text-align:left}
.voice-translation-result{color:#b6c8f2;line-height:1.6;white-space:pre-wrap;font-size:13px;max-width:100%;overflow-wrap:anywhere}
@keyframes voiceFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes voiceWave{0%,100%{transform:scale(.85);opacity:.65}50%{transform:scale(1.16);opacity:1}}
@media(max-width:650px){.voice-toolbar{padding-top:calc(18px + env(safe-area-inset-top));padding-left:22px;padding-right:22px}.voice-orb{--orbsize:min(72vw,350px)}.voice-stage{padding-top:14px;min-height:300px}.voice-stage .voice-state{margin-top:clamp(22px,4vh,45px)}.voice-bottom{padding-bottom:calc(22px + env(safe-area-inset-bottom))}.voice-language{gap:6px}.voice-language small{font-size:9px;max-width:230px}.voice-privacy{font-size:9px;max-width:360px}.voice-action{font-size:12px}}
@media(max-height:670px){.voice-orb{--orbsize:min(28vh,240px)}.voice-stage{min-height:250px}.voice-state{margin-top:17px}.voice-language small{display:none}.voice-toolbar{padding-top:calc(10px + env(safe-area-inset-top))}.voice-bottom{gap:6px}}
@media(prefers-reduced-motion:reduce){.voice-overlay *, .voice-overlay *::before,.voice-overlay *::after{animation:none!important;transition:none!important}}
.voice-icon{width:30px;height:30px;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;fill:none}
.voice-red .voice-icon{stroke-width:2.4}
.voice-red{transform:none!important}.voice-red:hover{transform:translateY(-2px)!important}
