@font-face{font-family:Onest;src:url('/assets/fonts/Onest.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/assets/fonts/JetBrainsMono.woff2') format('woff2');font-weight:100 800;font-display:swap}
.ui409{--rd-bg:#0b0f0e;--rd-panel:rgba(18,24,22,.72);--rd-input:rgba(14,19,17,.85);--rd-line:rgba(226,247,238,.12);--rd-text:#e6ebe8;--rd-muted:#a2ada7;--rd-green:#6fdc9c;--rd-amber:#f2b65e;--rd-active:rgba(48,74,59,.5);--ui-header:rgba(14,19,17,.78);--ui-warn:rgba(40,32,18,.65);--ui-error:#f08a7e;--ui-shadow:inset 0 1px 0 #ffffff1a,0 18px 50px #00000047;--ui-shine:linear-gradient(135deg,#ffffff0d,transparent 40%,#6fdc9c08);--ui-solid:#121816;--ui-mono:'JetBrains Mono',monospace;--ui-font:Onest,system-ui,sans-serif}
html[data-theme=light] .ui409{--rd-bg:#edf4ef;--rd-panel:rgba(255,255,255,.72);--rd-input:rgba(255,255,255,.85);--rd-line:rgba(25,52,38,.18);--rd-text:#193426;--rd-muted:#50685b;--rd-green:#17633c;--rd-amber:#815008;--rd-active:rgba(169,221,190,.48);--ui-header:rgba(255,255,255,.8);--ui-warn:rgba(255,237,198,.76);--ui-error:#b3392d;--ui-shadow:inset 0 1px 0 #ffffffcc,0 18px 50px #17322312;--ui-solid:#fff}
body.ui409{font-family:var(--ui-font)!important;background:radial-gradient(ellipse at 0 0,rgba(120,50,30,.13),transparent 50%),radial-gradient(ellipse at 100% 60%,rgba(60,160,110,.08),transparent 50%),var(--rd-bg)!important;background-attachment:fixed!important}
.ui409 :is(button,input,textarea,select,.voice-volume-name,.voice-picker-name){font-family:var(--ui-font)!important}
.ui409 :is(.eyebrow,.module-title,.panel-head h2,.val,.voice-volume-value,.voice-volume-count,.update-version,.header-version,code,footer,.ui-credit){font-family:var(--ui-mono)!important}
.ui409 :is(.card,.glass,.form-card,.module,.panel,.queue-panel,.voice-volume-card,.voice-picker-card,.voice-picker-modal,.user-list-modal,.glass-select-menu,.account-module,.nav-account,.update-entry,.ui-rules-summary,.ui-tab-lens){background:var(--ui-shine),var(--rd-panel)!important;border:1px solid var(--rd-line);box-shadow:var(--ui-shadow)!important;backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%)}
.ui409 :is(nav,.top,.voice-picker-modal,.user-list-modal){background:var(--ui-shine),var(--ui-header)!important}
.ui409 :is(input:not([type=checkbox]):not([type=range]),select,textarea){min-height:44px;background:var(--rd-input)!important;border-color:var(--rd-line)!important;color:var(--rd-text)!important;padding:10px 14px}
.ui409 :is(input,textarea,select):focus{border-color:var(--rd-green)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--rd-green) 12%,transparent)!important}
.ui409 :is(button,.button){min-height:44px;border-radius:12px;padding:10px 16px;transition:background .16s,border-color .16s,transform .12s}
.ui409 :is(button,.button):active:not(:disabled){transform:translateY(1px) scale(.98)}
.ui409 :is(.voice-volume-card,.voice-picker-card):hover{border-color:var(--rd-green)!important;background-color:color-mix(in srgb,var(--rd-panel) 95%,var(--rd-green))!important}
.ui409 :is(h1,h2,h3){font-family:var(--ui-font);font-weight:800}.ui409 .eyebrow{font-size:12px;letter-spacing:.15em}.ui409 a{color:var(--rd-green)}
.ui409 .ui-credit{font:400 9.5px/1.5 var(--ui-mono)!important;letter-spacing:0;color:var(--rd-muted);white-space:nowrap;display:block}.ui-credit b{color:var(--rd-green)}.ui-credit em{font-style:normal;color:var(--rd-amber)}
.ui409 .sound-atmosphere{display:block!important;position:fixed!important;inset:0;pointer-events:none;z-index:0;opacity:.65!important}.ui409.web-app .sound-atmosphere{opacity:.35!important}.ui409 .sound-form{will-change:transform}.ui409 .orb{position:fixed!important;pointer-events:none;z-index:0;opacity:.14!important;animation:ui-orb 20s ease-in-out infinite alternate;will-change:transform}.ui409 .orb.green{animation-delay:-10s}
.ui409 .wrap,.ui409 .shell,.ui409 #titlebar{position:relative;z-index:1}html[data-theme=light] .ui409 .sound-atmosphere{opacity:.10!important}html[data-theme=light] .ui409 .orb{opacity:.06!important}
@keyframes ui-orb{to{transform:translate3d(30px,45px,0) scale(1.13) rotate(15deg)}}
.ui409.ui-hidden *,.ui409.ui-hidden *::before,.ui409.ui-hidden *::after{animation-play-state:paused!important}
.ui409 .ui-lens-bar{position:relative;isolation:isolate}.ui409 .ui-tab-lens{position:absolute;left:0;top:0;z-index:-1;pointer-events:none;border-radius:10px;border-bottom:2px solid var(--rd-green);transition:transform .35s cubic-bezier(.2,.8,.2,1),width .35s cubic-bezier(.2,.8,.2,1)}
.ui409 .rd-nav button[aria-selected=true],.ui409 .navlinks>a[aria-current=page]{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
body.ui409.web-app #titlebar{width:100%;max-width:none;margin:0;border:0!important;border-bottom:1px solid var(--rd-line)!important;border-radius:0!important;padding:12px 32px;gap:18px;min-height:80px}
.ui409 #titlebar .wordmark h1{font:800 17px var(--ui-font);text-transform:none}.ui409 #titlebar .rd-nav button{height:42px;min-height:42px;border-radius:10px;color:var(--rd-muted)}.ui409 #titlebar .rd-nav button[aria-selected=true]{color:var(--rd-text)}.ui409 .rd-nav svg{width:16px;height:16px;vertical-align:middle}.ui409 #titlebar .rd-nav button>span:first-child{display:inline-block;margin-right:8px}
.ui409 #titlebar .ui-connect-badge{display:inline-grid;place-items:center;background:var(--rd-amber);color:var(--rd-bg);width:18px;height:18px;border-radius:50%;font:800 11px var(--ui-mono);margin:0 0 0 8px}.ui409 #titlebar .account-module{height:52px;max-width:300px;border-radius:14px!important}.ui409 #accountAvatar{width:40px;height:40px;border-radius:10px}.ui409 #accountName{font:700 15px var(--ui-font)}.ui409 #accountStatus{font:10px var(--ui-mono);text-transform:uppercase}
.ui409 #twitchLoginBtn.ui-logout{width:40px;height:40px;min-height:40px;font-size:0!important;padding:9px;flex-shrink:0}.ui409 #twitchLoginBtn.ui-logout::before{content:'';display:block;width:20px;height:20px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v18h-7M3 12h13M11 7l5 5-5 5' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
.ui409 .rd-workspace{grid-template-columns:minmax(0,1fr) 420px;gap:24px}.ui409 .rd-workspace :is(.module,.panel,.queue-panel){border-radius:18px}.ui409 .rd-workspace .module{padding:22px}.ui409 .rd-title{font-size:30px}.ui409.web-app{padding-bottom:160px}.ui409 .ui-now-playing{background:rgba(18,28,24,.7)!important;border-color:rgba(111,220,156,.25)!important}.ui409 .ui-now-playing h2{margin-top:0}.ui409 .ui-now-playing [data-collapse]{font:600 12px var(--ui-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--rd-green);background:transparent;border:0;padding-left:0}.ui409 .ui-now-playing [data-collapse]::before{content:'●';margin-right:10px}.ui409 .queue-current{font-size:20px;line-height:1.5;padding:18px 20px}.ui409 .queue-tools{gap:10px;flex-wrap:wrap}
.ui-health{padding:22px}.ui-health h3{margin:0 0 18px;color:var(--rd-muted)}.ui-status-row{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:14px}.ui-status-row>span{flex:1}.ui-dot{width:8px;height:8px;border-radius:50%;background:var(--rd-muted);flex:none}.ui-status-row[data-state=ok] .ui-dot{background:var(--rd-green)}.ui-status-row[data-state=error] .ui-dot{background:var(--ui-error)}.ui-status-row[data-state=warn]{background:var(--ui-warn);padding:12px;margin:10px -10px;border-radius:12px}.ui-status-row[data-state=warn] .ui-dot{background:var(--rd-amber)}.ui409 .ui-fix{background:transparent;border:0;color:var(--rd-amber);padding:4px;min-height:34px}
.ui409 .voice-volume-name{font:700 15px/1.4 var(--ui-font)!important}.ui409 .voice-volume-count{color:var(--rd-amber)}.ui409 #customVoiceVolumeList{grid-template-columns:repeat(3,minmax(0,1fr))}.ui409 .voice-volume-card{min-height:228px;padding:20px 16px;gap:14px}.ui409 .voice-volume-card .voice-volume-test{min-height:34px;padding:6px 10px}.ui409 .voice-volume-card>button:last-child{min-height:34px}.ui409 #moduleCustomVoice .module-title{font-size:12px}.ui409 #moduleCustomVoice .module-body-inner>.hint{font-size:13px}
.ui409 .voice-picker-overlay.open{backdrop-filter:blur(6px);background:rgba(0,0,0,.5)}.ui409 .voice-picker-overlay.open .voice-picker-modal{animation:ui-appear .2s ease-out}@keyframes ui-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.ui409 details[open]>.update-entry-body,.ui409 .faq-list details[open]>p{animation:ui-appear .2s ease-out}.ui409 .switch-row{padding:14px 0;border-bottom:1px solid var(--rd-line)}.ui409 input:checked~.track{background:#2f8f5a!important}
.ui-rules-summary{padding:16px 20px;border-radius:14px;background:var(--ui-warn)!important;border-color:color-mix(in srgb,var(--rd-amber) 30%,transparent)!important;font-size:15px;line-height:1.6}.ui-info{color:var(--rd-amber);margin-right:12px}
.ui409[data-view=connect] .rd-main{counter-reset:connect}.ui409[data-view=connect] .rd-main>:is(.module,.widget-panel){counter-increment:connect;position:relative;padding-left:76px}.ui409[data-view=connect] .rd-main>:is(.module,.widget-panel)::before{content:counter(connect);position:absolute;left:22px;top:20px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--rd-green);background:var(--rd-active);font:800 14px var(--ui-mono)}.ui409[data-view=connect] .widget-panel:has(.widget-badge:not(.ok)){background:var(--ui-warn)!important;border-color:var(--rd-amber)!important}.ui409[data-view=connect] .widget-panel .widget-panel-body{padding-left:0}.ui409[data-view=connect] .widget-panel .panel-head{padding-left:0}
.ui409 #connectDock{width:min(520px,calc(100vw - 56px))!important;padding:10px!important;background:var(--ui-header)!important;backdrop-filter:blur(16px);box-shadow:0 20px 60px #0008!important}.ui409 #connectDock #connectBtn{height:72px;border-radius:16px;font:800 20px var(--ui-font);letter-spacing:.12em}.ui409 #connectDock #connectBtn:not(.is-live){background:linear-gradient(105deg,#3a8a5f,#7fe3a8)!important;color:#08170f!important}.ui409 #connectDock #connectBtn.is-live{background:var(--rd-panel)!important;color:var(--rd-amber)!important;border:1.5px solid #8a6a30!important}.ui409 #connectDock #statusPill{font:12.5px var(--ui-font);padding:4px}
.ui409 .ui-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.ui409 .ui-chips button{border-radius:999px;min-height:36px;padding:7px 14px;font-size:13px}.ui409 .ui-chips button[aria-pressed=true]{background:var(--rd-active);border-color:var(--rd-green);color:var(--rd-green)}
.ui409 .wrap{max-width:1440px}.ui409 .wrap>nav{display:flex;gap:18px;align-items:center;min-height:78px;height:auto;padding:12px 18px}.ui409 .wrap>nav .navlinks{margin-left:auto;flex-wrap:nowrap;align-items:center}.ui409 .wrap>nav .brand{flex-shrink:0}.ui409 .ui-open-console{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.ui409 .hero h1{font-size:clamp(48px,5.8vw,86px);font-weight:900;letter-spacing:-.05em;line-height:.95;max-width:none}.ui409 .hero h1 em{font-style:normal}.ui409 .hero p{font-size:19px;max-width:580px}.ui409 .hero::before{opacity:1!important}.ui409 .access-note{flex-wrap:wrap}.ui409 .access-note a{font-weight:700}.ui409 .rd-steps b{font:600 38px var(--ui-mono)}.ui409 .rd-steps article:last-child{border-color:var(--rd-amber)!important}.ui409 #features .card>b{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--rd-line);border-radius:12px;color:var(--rd-green);background:var(--rd-input)}.ui409 #features .card>b svg{width:24px;height:24px}
.ui409 .ui-community{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:16px}.ui409 .ui-community>.glass{padding:32px;display:flex;flex-direction:column;align-items:start}.ui409 .ui-community h2{font-size:26px;line-height:1.2}.ui409 .ui-community .text-link{margin-top:auto;padding-top:20px}.ui409 .ui-community .button{margin-top:14px}.ui-mini-list{width:100%;margin:0 0 16px}.ui-mini-row{display:flex;gap:16px;align-items:center;background:var(--rd-input);padding:14px;border-radius:14px;margin:10px 0;text-decoration:none;color:var(--rd-text)!important}.ui-mini-row:first-child{border:1px solid var(--rd-amber)}.ui-mini-row span{margin-left:auto;white-space:nowrap;font:12px var(--ui-mono);color:var(--rd-muted)}.ui-mini-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.ui-mini-row b{color:var(--rd-amber)}
body.ui409 .updates-page{display:grid;grid-template-columns:320px minmax(0,1fr);gap:40px;width:100%;max-width:1320px;margin:auto;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible;border:0!important}.ui409 .updates-page::before{display:none}.ui-update-side{position:sticky;top:20px;align-self:start;min-width:0}.ui409 .updates-page h1{font-size:56px}.ui409 .rd-update-links{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--rd-line);border-radius:18px;background:var(--rd-panel);max-height:48vh;overflow:auto}.ui409 .rd-update-links a{display:flex;gap:16px;align-items:center;min-width:0;border:0;padding:12px}.ui409 .rd-update-links a b{font:12px var(--ui-mono);white-space:nowrap}.ui409 .rd-update-links a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.ui409 .rd-update-links a[aria-current=true]{background:var(--rd-active)}.ui409 .rd-update-links a[aria-current=true] b{color:var(--rd-amber)}.ui409 .update-entry{margin:0 0 16px;scroll-margin-top:24px}.ui409 .update-entry[open]{border-color:var(--rd-green)!important}.ui409 .update-entry[open] .update-title{font-size:30px;line-height:1.2}.ui409 .update-entry summary{flex-wrap:wrap;gap:14px;padding:28px}.ui409 .update-entry[open] .update-title{flex-basis:100%;order:3}.ui409 .updates-channel-note{padding:20px;border:1px solid var(--rd-line);border-radius:18px;background:var(--rd-panel)}
.ui409 .faq-page .rd-public-columns{grid-template-columns:minmax(0,1fr) 400px}.ui409 .faq-page h1{font-size:clamp(34px,4vw,60px)}.ui409 .faq-page .faq-list{border:1px solid var(--rd-line);border-radius:22px;background:var(--rd-panel);overflow:hidden;counter-reset:faq}.ui409 .faq-page .faq-list details{counter-increment:faq;margin:0;border:0;border-bottom:1px solid var(--rd-line);border-radius:0;background:transparent}.ui409 .faq-list summary{display:flex;gap:20px;list-style:none}.ui409 .faq-list summary::before{content:counter(faq,decimal-leading-zero);font:12px var(--ui-mono);color:var(--rd-green)}.ui409 .faq-list p{padding-left:40px}.ui-faq-side{display:flex;flex-direction:column;gap:16px;align-self:start}.ui409 .ui-faq-side h2{font-size:26px;line-height:1.2}.ui409 .ui-faq-side .rd-aside{position:static}.ui409 .ui-faq-side .button{width:100%}.ui409 .ui-warm{background:var(--ui-warn)!important;border-color:var(--rd-amber)!important}
.ui-rank-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px}.ui-rank-aside{display:flex;flex-direction:column;gap:18px}.ui409 .ui-rank-main{background:transparent!important;border:0!important;padding:0;box-shadow:none!important;backdrop-filter:none}.ui409 .ui-rank-aside .rank-explanation{padding:0;border:0;margin:0}.ui409 .ui-rank-aside .card{min-height:0}.ui409 .rank-podium{margin:20px 0 24px}.ui409 .rank-podium article{padding:24px 20px;min-width:0;max-width:none}.ui409 .rank-podium .ui-empty-rank{border-style:dashed;opacity:.65}.ui409 .rank-podium article:first-child{order:2}.ui409 .rank-podium article:nth-child(2){order:1}.ui409 .rank-podium article:nth-child(3){order:3}.ui-rank-table{border:1px solid var(--rd-line);border-radius:22px;overflow:hidden;background:var(--rd-panel)}.ui-rank-tr{display:grid;grid-template-columns:30px 1fr 1fr auto;gap:16px;padding:18px 22px;border-bottom:1px solid var(--rd-line);align-items:center;font-size:14px}.ui-rank-tr:first-child{font:11px var(--ui-mono);color:var(--rd-muted)}.ui-rank-tr strong{overflow-wrap:anywhere}.ui-rank-tr>span{color:var(--rd-muted)}
@media(min-width:901px){.ui409 .hero h1{white-space:nowrap}}
@media(max-width:1250px){.ui409 .wrap>nav .ui-credit{font-size:7px!important}.ui409 .wrap>nav{gap:8px}.ui409 .wrap>nav .navlinks{gap:2px}.ui409 .wrap>nav .navlinks>a{padding:10px 8px}.ui409 .ui-open-console{font-size:12px;padding:10px}}
@media(max-width:1150px){body.ui409.web-app #titlebar{flex-wrap:wrap!important}.ui409 #titlebar .rd-nav{order:3;flex-basis:100%}.ui409 .rd-workspace{grid-template-columns:minmax(0,1fr) 360px}.ui409 #customVoiceVolumeList{grid-template-columns:repeat(2,minmax(0,1fr))}.ui409 .ui-community{grid-template-columns:1fr 1fr}.ui409 .ui-mini-rank{grid-column:1/-1}.ui409 .ui-rank-layout{grid-template-columns:1fr}.ui-rank-aside{display:grid;grid-template-columns:1fr 1fr}.ui409 .faq-page .rd-public-columns{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:900px){body.ui409 .updates-page{grid-template-columns:1fr}.ui-update-side{position:static}.ui409 .wrap>nav{flex-wrap:wrap}.ui409 .wrap>nav .navlinks{order:3;flex-basis:100%;justify-content:center}.ui409 .hero h1{font-size:clamp(40px,7vw,62px)}.ui409 .hero{padding-bottom:360px}.ui409 .hero::before{top:auto!important;bottom:25px!important;right:calc(50% - 150px)!important;width:300px!important;height:300px!important}.ui409 .hero::after{top:auto!important;bottom:30px!important}.ui409 .faq-page .rd-public-columns{grid-template-columns:1fr}.ui409 .ui-faq-side{display:grid;grid-template-columns:1fr 1fr}.ui-faq-side>.rd-aside{grid-column:1/-1}}
@media(max-width:760px){.ui409 .rd-workspace,.ui409.web-app[data-view=rules] .rd-workspace{grid-template-columns:1fr}.ui409 #customVoiceVolumeList{grid-template-columns:1fr}.ui409 #titlebar .rd-nav button>span:first-child{display:none}.ui409 .ui-open-console{display:none}.ui409 #connectDock #connectBtn{height:60px;font-size:17px}.ui409[data-view=connect] .rd-main>:is(.module,.widget-panel){padding:70px 20px 22px}.ui409 .ui-community,.ui409 .ui-faq-side,.ui409 .ui-rank-aside{grid-template-columns:1fr}.ui409 .ui-rank-tr{grid-template-columns:20px 1fr;gap:10px;font-size:12px}.ui409 .rank-podium{gap:8px}.ui409 .rank-podium article{padding:20px 8px}.ui409 .rank-podium strong{font-size:16px}.ui409 .rank-podium article>a{padding:8px;font-size:11px}.ui409 .hero h1{font-size:clamp(34px,8vw,54px)}.ui409 :is(.card,.glass,.module,.panel,.voice-picker-modal){backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ui409 .updates-page h1{font-size:44px}.ui409 .ui-credit{white-space:normal}.ui409 .voice-picker-grid{grid-template-rows:none!important}}
@supports not (backdrop-filter:blur(1px)){.ui409 :is(.card,.glass,.form-card,.module,.panel,.queue-panel,.voice-picker-card,.voice-picker-modal,.voice-volume-card,.update-entry,.nav-account,.top,nav){background:var(--ui-solid)!important}}
@media(prefers-reduced-transparency:reduce){.ui409 :is(.card,.glass,.form-card,.module,.panel,.queue-panel,.voice-picker-card,.voice-picker-modal,.voice-volume-card,.update-entry,.nav-account,.top,nav){background:var(--ui-solid)!important;backdrop-filter:none!important}}
@media(prefers-reduced-motion:reduce){.ui409 *,.ui409 *::before,.ui409 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.ui409 .orb{display:block!important}.ui409 .bg-orb{display:none!important}
.ui409 .sound-form:nth-child(5){left:23%;top:35%;animation-delay:-7s;animation-duration:23s}.ui409 .sound-form:nth-child(6){left:70%;top:42%;animation-delay:-15s;animation-duration:27s}.ui409 .sound-form:nth-child(7){left:12%;top:74%;animation-delay:-11s;animation-duration:21s}.ui409 .sound-form:nth-child(8){left:48%;top:8%;animation-delay:-4s;animation-duration:19s}.ui409 .sound-form:nth-child(9){left:90%;top:30%;animation-delay:-18s;animation-duration:29s}
html[data-theme=light] .ui409 .ui-now-playing{background:rgba(235,255,244,.8)!important}

/* Shared control geometry: small icon buttons must not inherit text-button padding. */
.ui409 :is(.widget-url-row>button,.add-row>button,.pv-add-row>button,.demo-favorite,.voice-delete,.voice-picker-close,.help-btn,.theme-toggle){display:inline-flex;align-items:center;justify-content:center;padding:0!important;line-height:1;flex-shrink:0;text-indent:0;box-sizing:border-box}
.ui409 .demo-favorite{width:34px;height:34px;min-height:34px}
.ui409 :is(.voice-volume-search input,.voice-search input){padding-left:42px!important}
.ui409 .voice-search input{padding-right:48px!important}
.ui409 :is(.voice-volume-search-icon,.voice-search-icon){width:18px;text-align:center;z-index:1}
.ui409 .rd-update-links{flex-wrap:nowrap;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.ui409 .rd-update-links a{flex:0 0 auto;width:100%;box-sizing:border-box}
.ui409 .rd-update-links a span{min-width:0;flex:1;white-space:normal;overflow-wrap:anywhere}
.ui409 .rd-steps article>b{display:inline-grid;place-items:center;width:auto;min-width:64px;height:56px;padding:0 10px;box-sizing:border-box;font-size:32px;line-height:1}
.ui409 .voice-picker-window{background:var(--ui-shine),var(--ui-header);color:var(--rd-text);border-color:var(--rd-line)}
.ui409 .voice-picker-grid,.ui409 .voice-picker-grid.compact{grid-template-columns:repeat(var(--picker-columns,6),minmax(0,1fr))!important;grid-template-rows:repeat(var(--picker-rows,2),minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important;align-content:stretch!important;overflow:hidden;gap:12px!important;padding:12px}
.ui409 .voice-picker-card,.ui409 .voice-picker-grid.compact .voice-picker-card{display:flex;flex-direction:column;align-items:center;min-height:0;height:100%;box-sizing:border-box;overflow:hidden;padding:12px;gap:6px}
.ui409 .voice-picker-avatar,.ui409 .voice-picker-grid.compact .voice-picker-avatar{width:clamp(40px,7vh,76px);height:clamp(40px,7vh,76px);flex-shrink:0}
.ui409 .voice-picker-name,.ui409 .voice-picker-grid.compact .voice-picker-name{display:block;flex:0 0 auto;font-size:13px;line-height:18px;height:36px;min-height:36px;max-height:36px;overflow:auto;white-space:normal;overflow-wrap:anywhere;margin:0;width:100%}
.ui409 .voice-picker-description,.ui409 .voice-picker-grid.compact .voice-picker-description{display:block;-webkit-line-clamp:unset;flex:1 1 0;height:auto;min-height:18px;max-height:none;width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere;font-size:12px;line-height:18px;margin:0;color:var(--rd-muted)}
.ui409 .voice-picker-card .voice-card-action{flex:0 0 auto;width:100%;min-height:34px;height:34px;margin:0;padding:5px 4px;font-size:12px;line-height:20px;box-sizing:border-box}
.ui409 .voice-picker-foot{flex-wrap:wrap;min-height:52px;padding:8px 14px;font-size:12px}
.ui409 .voice-picker-pages{flex-wrap:wrap}
.ui409 .voice-picker-pages button{padding:4px 8px;min-height:32px;height:32px}
.ui409 .demo-favorite-hint{flex-shrink:0;margin:8px 0;font-size:12px}
.ui409 .voice-picker-head{padding:10px 14px}
.ui409 .voice-picker-head h2{font-size:15px}
.ui409 .voice-picker-density button{padding:6px 9px;min-height:36px}
.ui409 .voice-picker-close{min-height:36px}
@media(max-height:500px){.ui409 .voice-picker-avatar,.ui409 .voice-picker-grid.compact .voice-picker-avatar{width:32px;height:32px}.ui409 .voice-picker-head{padding:6px 10px}.ui409 .voice-picker-card{padding:8px;gap:4px}}
/* Viewer catalog and OBS use the same tokens, controls and glass surfaces. */
.ui409.viewer-page,.ui409.tmtts-dock{--text:var(--rd-text);--muted:var(--rd-muted);--muted-dim:var(--rd-muted);--border:var(--rd-line);--border-soft:var(--rd-line);--ready:var(--rd-green);--amber:var(--rd-amber);--font-body:var(--ui-font);--font-mono:var(--ui-mono);--ui-ink:var(--rd-text);--ui-muted:var(--rd-muted);--ui-border:var(--rd-line);--ui-fill:var(--rd-input);--ui-green:var(--rd-green);color:var(--rd-text)}
.ui409 :is(.voice-card,.dock-controls,.dock-picker,.dock-voice-grid button){background:var(--ui-shine),var(--rd-panel);border:1px solid var(--rd-line);border-radius:18px;box-shadow:var(--ui-shadow)}
.ui409.viewer-page h1{font-size:clamp(22px,3vw,36px);text-transform:none;overflow-wrap:anywhere}
.ui409.viewer-page h2{font-size:18px;text-transform:none;color:var(--rd-text)}
.ui409.viewer-page :is(.voice-name,.voice-grid.compact .voice-name){font-size:14px;line-height:20px;white-space:normal;overflow-wrap:anywhere}
.ui409.viewer-page .voice-actions{flex-direction:column;width:100%;gap:8px}
.ui409.viewer-page .voice-actions button{width:100%;font-size:12px;min-height:36px;padding:8px;line-height:18px}
.ui409.viewer-page .voice-actions .copy::after{display:none}
.ui409.viewer-page .voice-command{max-height:72px;overflow:auto!important;min-height:24px}
.ui409.viewer-page .voice-summary{white-space:normal}
.ui409.viewer-page .voice-search{min-width:0}
.ui409.tmtts-dock *{box-sizing:border-box}
.ui409.tmtts-dock>header{background:var(--ui-header);border-bottom:1px solid var(--rd-line);padding:16px}
.ui409.tmtts-dock .queue-panel,.ui409.tmtts-dock .dock-controls{padding:18px;margin:12px;border-radius:18px}
.ui409.tmtts-dock button{color:var(--rd-text);background:var(--rd-input);border:1px solid var(--rd-line)}
.ui409.tmtts-dock [data-chat-toggle]{background:linear-gradient(105deg,#3a8a5f,#7fe3a8);color:#08170f}
.ui409.tmtts-dock .dock-picker{background:var(--ui-solid);width:min(760px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:14px}
.ui409.tmtts-dock .dock-picker [data-close]{display:grid;place-items:center;width:40px;height:40px;padding:0}
.ui409.tmtts-dock .dock-voice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ui409.tmtts-dock .dock-voice-grid button{min-width:0;overflow-wrap:anywhere;padding:12px 8px}
.ui409.tmtts-dock .dock-voice-grid button[aria-pressed=true]{border-color:var(--rd-green)}
.ui409.tmtts-dock .queue-current{font-size:16px;padding:16px}
.ui409.tmtts-dock .queue-list li{min-width:0;flex-wrap:wrap}
.ui409.tmtts-dock .queue-list li span{min-width:0}
