.voice-dialog,.voice-strip{--voice-accent:var(--a2,#72f1d4);color:var(--fg,#f2f6ff);font-family:Inter,system-ui,sans-serif;box-sizing:border-box}
.voice-dialog *,.voice-strip *{box-sizing:border-box}.voice-dialog[open]{display:block}.voice-dialog{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:24px;border:1px solid color-mix(in srgb,var(--voice-accent) 34%,#394457);border-radius:24px;background:radial-gradient(ellipse at 90% 0,color-mix(in srgb,var(--a1,#8467ff) 16%,transparent),transparent 54%),var(--bg,#0c1220);box-shadow:0 30px 100px #000b;overflow:auto;overscroll-behavior:contain}
.voice-dialog::backdrop{background:#020611bb;backdrop-filter:blur(8px)}.voice-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.voice-heading>div{min-width:0}.voice-eyebrow{color:var(--voice-accent);font-size:10px;font-weight:800;letter-spacing:.2em}.voice-heading h2{margin:10px 0 5px;font:800 clamp(23px,4vw,34px)/1.15 var(--display,Inter),sans-serif;overflow-wrap:anywhere}.voice-heading p{margin:0;color:var(--muted,#a6b2c8);font-size:13px;line-height:1.5}.voice-dialog h3{margin:0 0 9px;font-size:15px}.voice-dialog button,.voice-strip button{min-height:44px;border:1px solid color-mix(in srgb,var(--voice-accent) 27%,#354153);border-radius:12px;padding:10px 14px;background:color-mix(in srgb,var(--panel,#182134) 93%,var(--voice-accent));color:inherit;font:750 12px/1.25 Inter,system-ui,sans-serif;cursor:pointer}.voice-dialog button:hover,.voice-strip button:hover{border-color:var(--voice-accent);background:color-mix(in srgb,var(--voice-accent) 13%,var(--bg,#111b2d))}.voice-dialog button:disabled,.voice-strip button:disabled{opacity:.5;cursor:default}.voice-dialog :focus-visible,.voice-strip :focus-visible{outline:2px solid var(--voice-accent);outline-offset:3px}.voice-dialog [hidden],.voice-strip [hidden],.voice-strip[hidden]{display:none!important}.voice-dialog button.voice-primary{background:var(--voice-accent);border-color:var(--voice-accent);color:#071013}.voice-dialog button.voice-danger,.voice-strip button.voice-danger{color:var(--fg,#fff);border-color:#ed72835e;background:#ed72830d}.voice-heading #voiceClose{flex:none;font-size:22px;padding:5px 13px}
.voice-scene{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;height:112px;margin:18px 0;overflow:hidden;border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--a1,#9369ed) 10%,transparent),color-mix(in srgb,var(--voice-accent) 7%,transparent));border:1px solid color-mix(in srgb,var(--voice-accent) 15%,transparent)}.voice-orbit{position:absolute;width:210px;height:210px;border:1px solid color-mix(in srgb,var(--voice-accent) 18%,transparent);border-radius:50%;transform:rotateX(58deg) rotate(-25deg)}.voice-orbit:nth-child(2){transform:rotateX(55deg) rotate(25deg);width:300px;height:300px;border-style:dashed}.voice-scene-icon{z-index:1;display:grid;place-items:center;width:62px;height:62px;margin-right:13px;border-radius:20px;border:1px solid color-mix(in srgb,var(--voice-accent) 50%,transparent);background:linear-gradient(150deg,color-mix(in srgb,var(--a1,#9a66ff) 28%,var(--bg,#0b1524)),var(--bg,#0b1524));color:var(--voice-accent);font-size:35px;box-shadow:0 0 36px color-mix(in srgb,var(--voice-accent) 14%,transparent)}.voice-scene i{z-index:1;width:4px;height:22px;border-radius:4px;background:var(--voice-accent);opacity:.5}.voice-scene i:nth-last-child(2){height:39px}.voice-scene i:nth-last-child(3){height:51px}.voice-scene i:last-child{height:12px}.voice-notice{min-height:20px;color:var(--voice-accent);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.voice-help{margin:8px 0 16px;color:var(--muted,#a6b2c8);font-size:12px;line-height:1.65}.voice-devices,.voice-mix-sliders{display:grid;grid-template-columns:1fr 1fr;gap:12px}.voice-devices label,.voice-mix-sliders label{display:block;min-width:0;color:var(--muted,#a6b2c8);font-size:11px;font-weight:750}.voice-devices select{display:block;width:100%;min-height:44px;margin-top:8px;padding:9px;color:var(--fg,#fff);border:1px solid var(--line,#344259);border-radius:10px;background:var(--bg,#0b1423);font-size:14px}.voice-mic-check{display:flex;align-items:center;gap:16px;margin:16px 0}.voice-mic-check label{flex:1;min-width:0;font-size:11px;color:var(--muted,#a6b2c8)}.voice-mic-check meter{display:block;width:100%;height:20px;accent-color:var(--voice-accent)}.voice-join-actions,.voice-call-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.voice-join-actions button,.voice-call-actions button{flex:1}.voice-roster-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:20px 0 10px}.voice-roster-heading h3{margin:0}.voice-roster-heading>span{color:var(--muted,#a6b2c8);font-size:10px}.voice-participants{display:grid;gap:8px}.voice-person{display:grid;grid-template-columns:44px minmax(0,1fr) 90px;align-items:center;gap:12px;padding:12px;border:1px solid var(--line,#334155);border-radius:15px;background:color-mix(in srgb,var(--panel,#172238) 80%,transparent);transition:border-color .18s,background .18s}.voice-person.is-speaking{border-color:var(--voice-accent);background:color-mix(in srgb,var(--voice-accent) 8%,var(--bg,#0b1423))}.voice-avatar{width:44px;height:44px;padding:6px;border-radius:15px;border:1px solid color-mix(in srgb,var(--voice-accent) 30%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--a1,#966af8) 20%,transparent),color-mix(in srgb,var(--voice-accent) 12%,transparent))}.is-speaking .voice-avatar{box-shadow:0 0 0 3px color-mix(in srgb,var(--voice-accent) 12%,transparent)}.voice-person-copy{min-width:0}.voice-person-copy b{display:block;overflow-wrap:anywhere;font-size:13px}.voice-person-copy small{display:block;margin-top:4px;color:var(--muted,#a6b2c8);font-size:10px;line-height:1.5}.voice-person-level{font-size:10px;color:var(--muted,#a6b2c8)}.voice-person-level input{display:block;width:100%;height:28px;accent-color:var(--voice-accent)}.voice-person .voice-moderate{grid-column:2/-1;justify-self:start;min-height:36px;font-size:10px;padding:7px 10px}.voice-mix{padding-top:2px;border-top:1px solid var(--line,#334155)}.voice-mix-sliders output{float:right;color:var(--fg,#fff)}.voice-mix-sliders input{display:block;width:100%;height:36px;accent-color:var(--voice-accent)}.voice-duck{display:flex;align-items:center;gap:9px;min-height:44px;font-size:12px}.voice-duck input{width:17px;height:17px;accent-color:var(--voice-accent)}
.voice-strip{position:fixed;z-index:94;bottom:calc(var(--evm-player-clearance,88px) + env(safe-area-inset-bottom) + 10px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;width:min(670px,calc(100vw - 24px));padding:8px;border:1px solid color-mix(in srgb,var(--voice-accent) 40%,#344154);border-radius:17px;background:color-mix(in srgb,var(--bg,#0a1424) 96%,var(--voice-accent));box-shadow:0 12px 45px #0008}.voice-strip .voice-strip-room{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;border:0;background:none;padding:6px 9px}.voice-strip-room>span:last-child{min-width:0}.voice-strip-room b,.voice-strip-room small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-strip-room b{font-size:12px}.voice-strip-room small{margin-top:4px;font-size:10px;color:var(--muted,#a6b2c8)}.voice-strip-pulse{width:12px;height:12px;flex:none;border:3px solid color-mix(in srgb,var(--voice-accent) 24%,transparent);border-radius:50%;background:var(--voice-accent);box-shadow:0 0 15px color-mix(in srgb,var(--voice-accent) 35%,transparent)}.voice-strip.voice-strip-overlay{bottom:calc(10px + env(safe-area-inset-bottom))}#stage.voice-stage{padding-bottom:calc(var(--evm-voice-clearance,80px) + 20px)!important}.has-voice-strip #platformView{padding-bottom:calc(96px + var(--evm-voice-clearance,0px))}.has-voice-strip .spaces-page{padding-bottom:var(--evm-voice-clearance,0px)}.has-voice-strip #appMain{padding-bottom:calc(100px + var(--evm-voice-clearance,0px))}
html[data-theme="racing"] .voice-scene{background:repeating-linear-gradient(130deg,transparent 0 24px,color-mix(in srgb,var(--voice-accent) 5%,transparent) 25px 26px),var(--panel,#141a23)}html[data-theme="racing"] .voice-scene-icon{border-radius:50%;border-style:double;border-width:4px}html[data-theme="rpg"] .voice-orbit{border-style:double;border-width:3px}html[data-theme="anime"] .voice-scene-icon{transform:rotate(-8deg)}
@media(max-width:520px){.voice-dialog{padding:18px;border-radius:20px}.voice-scene{height:90px;margin:15px 0}.voice-strip{gap:4px;flex-wrap:wrap}.voice-strip .voice-strip-room{flex-basis:100%;padding:2px 8px;min-height:32px}.voice-strip .voice-strip-room>span:last-child{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex:1}.voice-strip button:not(.voice-strip-room){flex:1;min-height:40px;font-size:11px}.voice-person{grid-template-columns:38px minmax(0,1fr) 66px;gap:8px;padding:10px}.voice-avatar{width:38px;height:38px}.voice-devices{grid-template-columns:1fr}.voice-roster-heading>span{max-width:48%;text-align:right}.voice-mic-check{gap:10px}}
@media(max-height:540px){.voice-dialog{max-height:calc(100dvh - 16px);padding:16px}.voice-scene{display:none}.voice-dialog h2{font-size:23px}.voice-dialog .voice-heading{position:sticky;top:-16px;z-index:2;padding:10px 0;background:var(--bg,#101828)}.voice-join-actions{position:sticky;bottom:-16px;background:var(--bg,#101828);padding:10px 0;margin-bottom:0}.voice-strip:not(.voice-strip-overlay){bottom:calc(var(--evm-player-clearance,70px) + 4px)}}
.voice-dialog .voice-heading{position:sticky;top:0;z-index:3;padding:10px 0;background:var(--bg,#101828);border-bottom:1px solid var(--line,#344259)}.voice-heading-controls{display:flex;gap:6px;align-items:flex-start;flex:none}.voice-heading-controls button{padding:8px 10px}.voice-person.voice-person-local{grid-template-columns:44px minmax(0,1fr)}
@media(max-width:520px){.voice-person.voice-person-local{grid-template-columns:38px minmax(0,1fr)}.voice-heading h2{font-size:22px}.voice-heading-controls{gap:4px}.voice-heading-controls button{font-size:11px;padding:7px 9px}.voice-heading #voiceClose{padding:5px 10px}}
@media(prefers-reduced-motion:reduce){.voice-person{transition:none}.voice-dialog::backdrop{backdrop-filter:none}}
