.srOnly{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.utilityTools{display:flex;align-items:center;gap:8px;margin-left:auto}.utilityButton{background:var(--surface-raised);color:var(--text);width:38px;padding:6px;font-size:22px}.languageControl select{margin:0;width:auto;min-height:38px;max-width:130px;padding:6px 8px;background:var(--surface);color:var(--text);border:1px solid var(--line)}.googleTranslate{display:flex;gap:5px;align-items:center;color:var(--text);text-decoration:none;font-weight:600;padding:8px;border:1px solid var(--line);border-radius:5px}.googleTranslate span{font-size:10px;font-weight:400}.siteHeader{gap:14px}.headerNote>span:first-of-type{display:none}.headerSearch{max-width:260px}.connectionBanner{padding:12px 18px;margin:16px 0;background:var(--surface-raised);border:1px solid var(--line);border-radius:7px}.connectionBanner button{margin-left:10px;min-height:28px;padding:4px 12px}.audioStudio{text-align:left;border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.studioHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.studioHeading h3{margin:0}.presetBar{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.presetBar button{border:1px solid var(--line);background:var(--surface-raised);color:var(--text);min-height:34px}.presetBar button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}.audioOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.audioOption{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.audioOption input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;min-height:0;flex:0 0 18px;margin:2px 0 0;padding:0}.audioOption span{min-width:0}.audioOption strong{font-weight:500;display:block;font-size:12px}.audioOption small{color:var(--muted);display:block;font-size:10px;line-height:1.6;margin-top:3px}.audioSliders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:23px 0}.audioSliders label{font-size:11px;font-weight:500}.audioSliders output{float:right;color:var(--accent)}input[type=range]{accent-color:var(--accent);width:100%;padding:0;min-height:28px;border:0;background:transparent;margin-top:10px;cursor:pointer}.studioFooter{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.studioFooter label{flex:1;font-size:11px;min-width:155px}.studioFooter select{display:block;margin:7px 0 0;width:100%;padding:9px;background:var(--surface);color:var(--text);border:1px solid var(--line)}.studioNote{color:var(--muted);font-size:10px;line-height:1.8;margin:18px 0 0}.deviceConnectionNote{color:var(--muted);font-size:10px;line-height:1.8;margin:10px 0 16px;overflow-wrap:anywhere}.audioTelemetry{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px}.audioTelemetry .limiting{color:var(--danger)}#audioSpectrum{display:block;width:100%;height:64px;margin:20px 0 9px;background:var(--surface-raised);border-radius:7px}.listeningArtwork{width:88px;height:88px;margin:22px auto 15px}.listenPanel{max-width:100%;width:100%}.accountExtras{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.accountExtras h3:not(:first-child){margin-top:24px}.activityList{padding:0;list-style:none;margin:0 0 18px}.activityList li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0;font-size:11px}.activityList time{color:var(--muted);white-space:nowrap}
html[data-theme=dark]{color-scheme:dark;--bg:#101318;--surface:#181d25;--surface-raised:#212833;--line:#303947;--text:#e5eaf2;--muted:#a4afbf;--accent:#91bf60;--accent-bright:#7dac4d;--danger:#ff8196}
html[data-theme=dark] .siteHeader,html[data-theme=dark] .appSidebar,html[data-theme=dark] .textButton,html[data-theme=dark] .siteMessageBox,html[data-theme=dark] .modalContent{background:var(--surface);color:var(--text);border-color:var(--line)}
html[data-theme=dark] .brand,html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] .sidebarBrand,html[data-theme=dark] .statValue{color:var(--text)}
html[data-theme=dark] .card,html[data-theme=dark] .device,html[data-theme=dark] .archiveDevice,html[data-theme=dark] .recording-item,html[data-theme=dark] input:not([type=range]):not([type=checkbox]),html[data-theme=dark] select{background:var(--surface);color:var(--text);border-color:var(--line)}
html[data-theme=dark] .secondary,html[data-theme=dark] .brandMark,html[data-theme=dark] .dashboardTabs button[aria-selected=true],html[data-theme=dark] .statIcon{background:#293d25;color:#b3d791;border-color:#3f5735}
html[data-theme=dark] .danger{background:#462632;border-color:#66404b;color:var(--danger)}
html[data-theme=dark] .statCard,html[data-theme=dark] .deviceMeta,html[data-theme=dark] .sidebarHelp,html[data-theme=dark] .authTab,html[data-theme=dark] .authTabs,html[data-theme=dark] .is-selected,html[data-theme=dark] .modalHeader{background:var(--surface-raised);color:var(--text);border-color:var(--line)}
html[data-theme=dark] .deviceTitle,html[data-theme=dark] .recording-name,html[data-theme=dark] .archiveDevice h3,html[data-theme=dark] .authIntro h1{color:var(--text)}
.languageControl{display:flex;align-items:center;gap:6px}.languageControl img{border-radius:2px;object-fit:cover}.languageControl select{max-width:100px}
.dashboardPanel{scroll-margin-top:100px}
.healthBadge{display:inline-flex;align-items:center;gap:6px;width:fit-content;max-width:100%;padding:4px 8px;border-radius:5px;font-size:10px;line-height:1.5;background:var(--surface-raised);color:var(--muted);overflow-wrap:anywhere}.healthBadge:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:currentColor}.health-healthy{background:#edf6e4;color:#487625}.health-audio_stalled,.health-microphone_error{background:#fff0f1;color:#b53a53}.health-awaiting,.health-telemetry_stale{background:#fff6df;color:#92600b}.health-offline,.health-unavailable{background:var(--surface-raised);color:var(--muted)}.deviceHealthPanel{text-align:left;padding:18px;margin:24px 0 0;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised)}.healthHeading{display:flex;align-items:center;justify-content:space-between;gap:12px}.healthHeading h3{margin:0;font-size:13px;font-weight:500}.healthNote{margin:10px 0 15px;color:var(--muted);font-size:11px;line-height:1.7;overflow-wrap:anywhere}.healthSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.healthSummary>div{min-width:0;border:1px solid var(--line);padding:12px;border-radius:6px;background:var(--surface)}.healthSummary dt{font-size:10px;color:var(--muted);margin-bottom:6px}.healthSummary dd{font-size:12px;color:var(--text);margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.healthDetails{border-top:1px solid var(--line);margin-top:16px;padding-top:13px;font-size:11px}.healthDetails summary{cursor:pointer;color:var(--text)}.healthDiagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:10px 0 0}.healthDiagnostics>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;min-width:0;padding:9px 0;border-bottom:1px solid var(--line)}.healthDiagnostics dt{color:var(--muted);font-size:10px;min-width:0;flex:1}.healthDiagnostics dd{font-size:10px;margin:0;color:var(--text);text-align:right;max-width:55%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.healthCountersNote{font-size:10px;color:var(--muted);line-height:1.7;margin:12px 0 0}html[data-theme=dark] .health-healthy{background:#293d25;color:#b3d791}html[data-theme=dark] .health-audio_stalled,html[data-theme=dark] .health-microphone_error{background:#462632;color:#ff9aad}html[data-theme=dark] .health-awaiting,html[data-theme=dark] .health-telemetry_stale{background:#40351c;color:#f3cf7c}
html[data-theme=dark] .audioOption,html[data-theme=dark] .audioSliders label,html[data-theme=dark] .studioFooter label{color:var(--text)}
html[data-theme=dark] #selectedDevice{background:var(--surface-raised);color:var(--text);border-color:var(--line)}
html[data-theme=dark] .listeningArtwork:before{border-color:var(--line)}
html[data-theme=dark] .listeningArtwork:after{background:var(--surface-raised);border-color:var(--line)}
html[data-theme=dark] #meter,html[data-theme=dark] .deviceActions,html[data-theme=dark] .subtleAction,html[data-theme=dark] .userMenuToggle,html[data-theme=dark] .userMenuDropdown{background:var(--surface-raised);border-color:var(--line);color:var(--text)}
html[data-theme=dark] .dashboardTabs button{color:var(--muted)}
html[data-theme=dark] label{color:var(--text)}
html[data-theme=dark] .tabs{background:var(--surface-raised);border-color:var(--line)}
html[data-theme=dark] .tabs button{color:var(--muted)}
.primary,.success,.presetBar button[aria-pressed=true],.tabs button[aria-pressed=true]{color:#183214}
html[data-theme=dark] .sidebar,html[data-theme=dark] .appModal{background:var(--surface);border-color:var(--line);color:var(--text)}
html[data-theme=dark] .statCard strong,html[data-theme=dark] .deviceHeader,html[data-theme=dark] .modalTitle{color:var(--text)}
html[data-theme=dark] .deviceStatus,html[data-theme=dark] .recording-meta,html[data-theme=dark] .recording-info{background:var(--surface-raised);color:var(--muted)}
@media(max-width:1100px){.googleTranslate span{display:none}.headerSearch{max-width:190px}.headerNote{display:none}.utilityTools{gap:5px}}
@media(max-width:700px){.siteHeader{height:auto;min-height:75px;flex-wrap:wrap;padding:14px 20px;gap:12px}.brandName{font-size:18px}.utilityTools{margin-left:0;flex:1;justify-content:flex-end}.utilityTools #installApp{font-size:10px;min-height:35px;padding:5px 9px}.languageControl select{max-width:105px;font-size:11px}.googleTranslate{padding:6px}.topTools{order:3;flex-basis:100%;width:100%}.headerSearch{max-width:none;flex:1}.studioHeading{align-items:flex-start;flex-direction:column;gap:5px}.audioOptions,.audioSliders{grid-template-columns:1fr}.audioSliders{gap:14px}.audioOption{padding:12px}.audioTelemetry{flex-wrap:wrap}.activityList li{flex-direction:column;gap:3px}.studioFooter{gap:12px}.appSidebar{top:0;z-index:120}.dashboardHeader{margin-top:22px}.utilityButton{width:32px;height:35px;min-height:35px}.audioStudio{margin-top:20px}.listenPanel{padding:18px!important}}
@media(max-width:700px){.healthSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.healthDiagnostics{grid-template-columns:1fr}.deviceHealthPanel{padding:13px}.healthHeading{align-items:flex-start;flex-wrap:wrap}.healthHeading .healthBadge{font-size:10px}.healthSummary>div{padding:10px}.healthSummary dd{font-size:11px}}

.aiAnalysisBadge{display:inline-block;width:fit-content;max-width:100%;font-size:10px;line-height:1.5;padding:3px 7px;border-radius:5px;background:var(--surface-raised);color:var(--muted);overflow-wrap:anywhere}.aiAnalysisBadge[data-enabled=true]{background:#edf6e4;color:#487625}.aiMemoryPanel{margin-top:22px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);padding:20px;text-align:left;scroll-margin-top:90px}.aiMemoryHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.aiMemoryHeading h3{font-size:15px;margin:0;color:var(--text)}.aiMemoryIdentity{font-size:11px;line-height:1.7;margin:5px 0 0;color:var(--muted);overflow-wrap:anywhere}.aiMemoryControls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:15px 0 0}.aiAnalysisToggle{min-height:40px;font-size:11px}.aiAnalysisToggle[aria-pressed=true]{background:var(--accent);color:#183214;border-color:var(--accent)}.aiWorkerStatus{font-size:11px;line-height:1.7;color:var(--muted)}.aiMemoryNote,.aiMemoryMessage{font-size:11px;line-height:1.8;overflow-wrap:anywhere;color:var(--muted);margin:12px 0}.aiMemoryMessage{color:var(--danger)}.aiMemoryMetrics,.aiMemoryHistory{border-top:1px solid var(--line);padding-top:13px;margin-top:16px}.aiMemoryMetrics summary,.aiMemoryHistory summary{cursor:pointer;font-size:12px;color:var(--text);min-height:28px}.aiTranscriptList{list-style:none;padding:0;margin:12px 0;max-height:520px;overflow:auto;overscroll-behavior:contain}.aiTranscript{padding:13px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.aiTranscript time{display:block;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.aiTranscript p{white-space:pre-wrap;font-size:13px;line-height:1.8;color:var(--text);margin:6px 0}.aiTranscriptDetail{font-size:10px;color:var(--muted)}.aiMemoryEmpty{font-size:12px;color:var(--muted);line-height:1.8}.aiMemoryPagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.aiMemoryPagination button{font-size:11px;min-height:40px}.aiMemoryPanel button:disabled{opacity:.6;cursor:not-allowed}.aiMemoryPanel button:focus-visible,.aiMemoryPanel summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}html[data-theme=dark] .aiAnalysisBadge[data-enabled=true]{background:#293d25;color:#b3d791}
@media(max-width:700px){.aiMemoryPanel{padding:14px}.aiMemoryHeading{gap:10px}.aiMemoryControls{align-items:flex-start;flex-direction:column;gap:7px}.aiMemoryPagination button{flex:1}.aiTranscriptList{max-height:420px}.aiMemoryHeading .textButton{min-width:45px}}

.speechAlarmHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.speechAlarmHeader .deviceHeader{grid-column:1;grid-row:1;width:auto;min-width:0;padding-right:10px}.deviceAlarmToggles{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:stretch;min-width:105px}.speechAlarmToggle{display:flex;align-items:flex-start;gap:7px;margin:0;padding:8px 12px 4px 0;max-width:116px;min-height:32px;cursor:pointer;color:var(--text)}.speechAlarmToggle input[type=checkbox]{width:18px;height:18px;min-height:0;flex:0 0 18px;padding:0;margin:1px 0 0;accent-color:var(--accent);cursor:pointer}.speechAlarmCaption{font-size:10px;line-height:1.6;overflow-wrap:anywhere}.speechAlarmToggle input:disabled{cursor:not-allowed}.speechAlarmToggle input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.speechAlarmInfo{padding:0 20px 13px}.speechAlarmStatus{font-size:10px;line-height:1.7;margin:0 0 5px;color:var(--muted);overflow-wrap:anywhere}.speechAlarmStatus[data-armed=true],.speechAlarmStatus[data-delivery=sent]{color:#487625}.speechAlarmStatus[data-problem=true],.speechAlarmStatus[data-delivery=failed]{color:var(--danger)}html[data-theme=dark] .speechAlarmStatus[data-armed=true]{color:#b3d791}html[data-theme=dark] .speechAlarmStatus[data-problem=true],html[data-theme=dark] .speechAlarmStatus[data-delivery=failed]{color:var(--danger)}
@media(max-width:380px){.speechAlarmHeader .deviceHeader{padding-left:14px;padding-right:7px}.deviceAlarmToggles{min-width:92px}.speechAlarmToggle{max-width:102px;padding-right:8px;gap:5px}.speechAlarmInfo{padding-left:14px;padding-right:14px}.speechAlarmCaption{font-size:10px}}
/* Compact live listening controls without changing audio behavior. */
.livePlayer.card{padding:16px 19px}
.livePlayer #audioSpectrum{height:66px;margin:11px 0 0}
#dashboard .livePlayer #meter{height:4px;margin:0 0 7px}
.livePlayer .listeningControls{gap:6px}
.livePlayer .listeningControls button{min-height:40px;padding:8px 13px}
.livePlayer .recordActions{gap:7px;margin-top:8px;padding-top:8px}
.livePlayer .recordActions button{min-height:38px;padding:7px 11px}
@media(max-width:560px){.livePlayer.card{padding:14px 16px}.livePlayer #audioSpectrum{height:64px;margin:10px 0 0}#dashboard .livePlayer #meter{margin:0 0 7px}.livePlayer .listeningControls{gap:6px}.livePlayer .listeningControls button{min-height:42px}.livePlayer .recordActions{margin-top:6px;padding-top:7px}.livePlayer .recordActions button{min-height:42px}}

.recordingComposer{margin-top:14px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}.composerHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.composerHeading h2{font-size:18px;margin:4px 0}.composerHint,.composerHeading .subtle{font-size:12px;line-height:1.7;color:var(--muted)}.composerRange{display:grid;grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr) auto auto;align-items:end;gap:9px;margin-top:17px}.composerRange label,.composerSave label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.composerRange input,.composerSave input{min-width:0;min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--text);font:inherit;font-variant-numeric:tabular-nums}.composerRange button,.composerSave button{min-height:44px}.composerRanges{display:grid;gap:7px;list-style:none;margin:15px 0;padding:0}.composerRangeItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);font-size:12px;font-variant-numeric:tabular-nums}.composerSave{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.composerSave label{grid-column:1}.composerSave input{grid-column:1}.composerSave button{grid-column:2;grid-row:1/3}.recordingComposer .message{min-height:1.4em;font-size:12px;line-height:1.6;color:var(--muted)}.recordingComposer button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:700px){.recordingComposer{padding:15px}.composerRange{grid-template-columns:1fr 1fr}.composerRange label{grid-row:1}.composerRange button:nth-of-type(1){grid-row:2}.composerRange button:nth-of-type(2){grid-row:2}.composerRange button:last-child{grid-column:1/-1}.composerSave{grid-template-columns:1fr}.composerSave label,.composerSave input,.composerSave button{grid-column:1;grid-row:auto}.composerRangeItem{align-items:flex-start}}
.composerListHeading{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}.composerListHeading h3{margin:0;color:var(--text);font-size:14px}.composerListHeading span{flex:1;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.composerListHint{margin:7px 0}.composerRangeItem{min-width:0}.composerRangeTime{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.composerRangeActions{display:flex;align-items:center;gap:5px;flex:0 0 auto}.composerRangeActions button{min-width:42px;min-height:42px;padding:6px 9px}.composerRangeActions .composerMove{font-size:16px;line-height:1}.composerRangeActions .textButton{min-height:42px;padding:6px 9px}.composerListHeading .textButton{min-height:40px}
@media(max-width:700px){.composerListHeading{align-items:flex-start;flex-wrap:wrap;gap:8px}.composerListHeading h3{flex:0 0 100%}.composerListHeading span{min-width:0}.composerRangeItem{flex-wrap:wrap}.composerRangeActions{width:100%;justify-content:flex-end}.composerRangeActions button{flex:1}.composerRangeActions .textButton{flex:0 0 auto}}
.recordingNoteItem{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0}.recordingNoteJump{min-width:0;overflow-wrap:anywhere}.recordingNoteActions{display:flex;align-items:center;gap:3px}.recordingNoteActions .recordingNoteAction{width:40px;min-width:40px;height:40px;min-height:40px;padding:7px}.recordingNoteActions .recordingNoteAction .icon{width:18px;height:18px}
@media(max-width:560px){.recordingNoteItem{gap:3px}.recordingNoteActions{gap:0}.recordingNoteActions .recordingNoteAction{width:38px;min-width:38px;height:42px;min-height:42px;padding:6px}}

/* Keep the live player and its settings panel aligned as a matched pair. */
#dashboard .liveLayout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#dashboard .liveLayout .audioStudio{display:flex;flex-direction:column;width:100%;min-width:0;margin:0;padding:19px;border:1px solid var(--line)}
#dashboard .liveLayout .audioStudio .audioSliders{display:flex;flex:1;flex-direction:column;justify-content:space-evenly;grid-template-columns:none;gap:0;margin:0}
#dashboard .liveLayout .audioStudio .audioSliders label{font-size:11px;font-weight:500}
#dashboard .liveLayout .audioStudio .audioSliders input{display:block;width:100%;height:24px;min-height:24px;margin:3px 0 8px}
#dashboard .liveLayout .audioStudio .advancedAudio{margin-top:8px;padding-top:8px}
@media(max-width:700px){#dashboard .liveLayout{grid-template-columns:minmax(0,1fr);align-items:start}#dashboard .liveLayout .audioStudio{padding:19px}}
@media(max-width:560px){#dashboard .liveLayout .audioStudio{padding:16px}}
@media(max-width:1150px){#dashboard .liveLayout{grid-template-columns:minmax(0,1fr);align-items:start}}
.visualizerColorInput{width:66px;height:42px;min-height:42px;padding:4px;margin-top:6px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer}
.visualizerPalette{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 15px}
.visualizerPreset{min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:11px}
.visualizerPreset[aria-pressed=true]{border-color:var(--swatch);background:color-mix(in srgb,var(--swatch) 12%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--swatch) 30%,transparent)}
.visualizerPreset i{display:inline-block;width:13px;height:13px;flex:0 0 13px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 2px color-mix(in srgb,var(--swatch) 25%,transparent)}
.deviceColorPreview{display:flex;align-items:center;gap:10px;margin:8px 0 15px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--device-online-color,#16885c) 58%,var(--line));border-radius:10px;background:linear-gradient(118deg,color-mix(in srgb,var(--device-online-color,#16885c) 13%,var(--surface)),var(--surface) 62%);box-shadow:0 6px 18px color-mix(in srgb,var(--device-online-color,#16885c) 14%,transparent);font-size:11px;color:var(--text);transition:background .18s,border-color .18s,box-shadow .18s}
.deviceColorPreview:before{content:"";width:4px;height:25px;flex:0 0 4px;border-radius:3px;background:var(--device-online-color,#16885c);box-shadow:0 0 12px color-mix(in srgb,var(--device-online-color,#16885c) 65%,transparent)}

.audioThresholdHint{display:block;margin:-2px 0 5px;color:var(--muted);font-size:10px;line-height:1.4}.audioThresholdHint[hidden]{display:none}.audioStudio label.is-disabled{opacity:.5}#audioThreshold:disabled{opacity:.42;cursor:not-allowed}

.deviceHeadingActions{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.browserDemoShare>p{font-size:13px;line-height:1.65;color:var(--muted)}.browserDemoShare>input{margin:14px 0 12px;font-size:12px}.browserDemoShareActions{display:flex;gap:9px;justify-content:flex-end}.browserDemoShareActions button{min-width:112px}
@media(max-width:560px){.deviceHeadingActions{width:100%;justify-content:flex-start}.deviceHeadingActions button{flex:1;min-width:0;font-size:11px;padding-inline:8px}.browserDemoShareActions{flex-direction:column-reverse}.browserDemoShareActions button{width:100%}}


/* Header and settings language controls match the public site. */
.languageControl{position:relative;width:56px;height:40px;min-height:40px;flex:0 0 56px;justify-content:flex-start;padding:0 0 0 9px;gap:0;overflow:hidden;cursor:pointer;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.languageControl:after,.settingsLanguageField:after{content:"";position:absolute;right:10px;top:50%;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none;opacity:.8}
.languageControl img,.settingsLanguageField img{position:relative;z-index:0;width:21px;height:15px;flex:none;object-fit:cover;border-radius:2px}
.languageControl select,.settingsLanguageField select{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:inherit!important;background:transparent!important;color:transparent!important;font-size:16px!important;opacity:0!important;appearance:none;-webkit-appearance:none;cursor:pointer;z-index:2}
.settingsLanguageField{position:relative;width:56px;height:40px;min-height:40px;padding:0 0 0 9px;overflow:hidden;cursor:pointer}
.languageControl:focus-within,.settingsLanguageField:focus-within{outline:2px solid var(--accent);outline-offset:2px}

@media(max-width:560px){body.is-authenticated .devicesHeading{align-items:flex-start;gap:10px}.devicesHeading>div{flex:1 1 auto;max-width:none;min-width:0}.devicesHeading .deviceHeadingActions{width:auto;flex:0 0 auto;justify-content:flex-end;flex-wrap:nowrap}.devicesHeading .deviceHeadingActions button{flex:0 0 auto;width:auto;min-width:max-content;white-space:nowrap;padding-inline:11px;font-size:12px}}
.selfSourceActionStack{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:6px}
.selfSourceActionStack>button{justify-content:center}
.selfSourceActionStack #selfSourceButton[aria-pressed="true"]{border-color:color-mix(in srgb,var(--visualizer-color) 72%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--visualizer-color) 18%,transparent),0 4px 14px color-mix(in srgb,var(--visualizer-color) 22%,transparent)}
@media(max-width:560px){.devicesHeading .deviceHeadingActions.selfSourceActionStack{align-items:stretch;gap:5px}.devicesHeading .deviceHeadingActions.selfSourceActionStack>button{width:100%;min-width:0;white-space:nowrap;padding-inline:9px;font-size:11px}}

/* Per-listener rewind controls for the temporary server-side live buffer. */
.liveTimeshift{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}
.liveTimeshift[hidden]{display:none!important}
.timeshiftMeta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.timeshiftMeta #timeshiftPosition{color:var(--text);font-weight:650}
.timeshiftControls{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:5px}
.timeshiftControls button{min-height:34px;padding:5px 12px;font-size:11px}
.timeshiftControls #timeshiftLive{min-width:140px}
@media(max-width:560px){.liveTimeshift{margin-top:8px;padding-top:7px}.timeshiftControls{gap:4px}.timeshiftControls button{min-height:38px;padding:5px 8px}.timeshiftControls #timeshiftLive{min-width:0;flex:1}}


.timeshiftControls[hidden]{display:none!important}

.liveTimeshift .timeshiftControls .secondary{background:color-mix(in srgb,var(--visualizer-color) 9%,var(--surface-raised));color:var(--visualizer-color);border-color:color-mix(in srgb,var(--visualizer-color) 38%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--visualizer-color) 10%,transparent)}
.liveTimeshift .timeshiftControls .secondary:hover{background:color-mix(in srgb,var(--visualizer-color) 16%,var(--surface-raised));border-color:color-mix(in srgb,var(--visualizer-color) 58%,var(--line))}
body.is-authenticated .archivePlayer .playerSkip button.secondary{background:color-mix(in srgb,var(--visualizer-color) 9%,var(--surface-raised));color:var(--visualizer-color);border-color:color-mix(in srgb,var(--visualizer-color) 38%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--visualizer-color) 10%,transparent);transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
body.is-authenticated .archivePlayer .playerSkip button.secondary:hover:not(:disabled){background:color-mix(in srgb,var(--visualizer-color) 16%,var(--surface-raised));border-color:color-mix(in srgb,var(--visualizer-color) 58%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--visualizer-color) 12%,transparent),0 3px 10px color-mix(in srgb,var(--visualizer-color) 16%,transparent)}
body.is-authenticated .archivePlayer .playerSkip button.secondary:focus-visible{outline:2px solid var(--visualizer-color);outline-offset:2px}
.liveTimeshift .timeshiftControls #timeshiftLive{background:color-mix(in srgb,var(--visualizer-color) 14%,var(--surface-raised));color:var(--visualizer-color);border-color:color-mix(in srgb,var(--visualizer-color) 48%,var(--line));box-shadow:0 0 12px color-mix(in srgb,var(--visualizer-color) 18%,transparent)}
.liveTimeshift .timeshiftControls #timeshiftLive:hover{background:color-mix(in srgb,var(--visualizer-color) 22%,var(--surface-raised));border-color:var(--visualizer-color)}

.liveTimeshift .timeshiftWaveformWrap{position:relative;width:100%;height:22px;margin:2px 0 1px;touch-action:pan-y}.liveTimeshift .timeshiftWaveform{display:block;width:100%;height:22px;border-radius:3px;cursor:grab;touch-action:pan-y}.liveTimeshift .timeshiftWaveform:active{cursor:grabbing}.liveTimeshift .timeshiftWaveform:focus-visible{outline:2px solid var(--visualizer-color);outline-offset:3px}.liveTimeshift .timeshiftHoverCursor{position:absolute;top:1px;bottom:1px;width:2px;transform:translateX(-50%);border-radius:2px;background:#fff;box-shadow:0 0 5px var(--visualizer-color),0 0 2px #000;pointer-events:none}.liveTimeshift .timeshiftHoverCursor:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:50%;background:var(--visualizer-color);box-shadow:0 0 4px #000}

.waveformSensitivitySetting{margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}
.waveformSensitivitySetting label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--text)}
.waveformSensitivitySetting output{color:var(--visualizer-color);font-variant-numeric:tabular-nums;font-weight:650}
.waveformSensitivitySetting input[type=range]{accent-color:var(--visualizer-color);margin:6px 0 0}
.waveformSensitivitySetting .subtle{margin:4px 0 0;font-size:10px;line-height:1.6}


/* Recording timeline: touch-drag seek with live playhead and available activity bars */
body.is-authenticated .recordingSeekWrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr);row-gap:5px;padding:4px 0 8px;touch-action:pan-y}
.recordingSeekWaveform{display:block;width:100%;height:36px;border-radius:7px;cursor:grab;touch-action:pan-y}
.recordingSeekWaveform:active{cursor:grabbing}
.recordingSeekWaveform:focus-visible{outline:2px solid var(--visualizer-color);outline-offset:2px}
.recordingSeekCursor,.recordingSeekPreviewCursor{position:absolute;top:4px;bottom:8px;width:2px;transform:translateX(-50%);border-radius:2px;pointer-events:none}
.recordingSeekCursor{background:var(--visualizer-color);box-shadow:0 0 5px var(--visualizer-color),0 0 2px #000}
.recordingSeekCursor:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;transform:translate(-50%,-50%);border:1px solid var(--surface);border-radius:50%;background:var(--visualizer-color);box-shadow:0 0 3px #000}
.recordingSeekPreviewCursor{background:#fff;box-shadow:0 0 4px #000}
.recordingSeekWrap .seekPreview{top:-12px;z-index:2}
.recordingSeekCursor,.recordingSeekPreviewCursor{height:36px;bottom:auto}
.recordingSeekZoom{display:grid;grid-template-columns:34px 36px 34px minmax(64px,1fr) 52px;align-items:center;justify-content:center;gap:6px;width:100%;min-height:34px;margin-top:1px;padding:4px 7px;border-top:1px solid color-mix(in srgb,var(--visualizer-color) 20%,var(--line));border-radius:0 0 8px 8px;background:color-mix(in srgb,var(--visualizer-color) 4%,var(--surface-raised));color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}
.recordingSeekZoom button{width:100%;min-width:0;min-height:28px;padding:3px 7px;font-size:11px}
.recordingSeekZoom button:disabled{opacity:.42;cursor:default}
.recordingSeekZoom #recordingZoomLevel{min-width:32px;text-align:center;color:var(--visualizer-color);font-weight:650}
.recordingSeekZoom #recordingZoomWindow{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recordingSeekZoom #recordingZoomReset{min-width:0}
@media(max-width:420px){.recordingSeekZoom{grid-template-columns:32px 32px 32px minmax(48px,1fr) 46px;gap:4px;padding-inline:4px}}

/* Drag magnifier for the live rewind waveform; floats above the finger. */
.liveTimeshift .timeshiftMagnifier{position:absolute;z-index:8;left:50%;bottom:calc(100% + 22px);width:88px;height:88px;transform:translateX(-50%);border:0;border-radius:50%;pointer-events:none;filter:drop-shadow(0 5px 12px rgba(0,0,0,.38))}
.liveTimeshift .timeshiftMagnifier[hidden]{display:none!important}
@media(max-width:560px){.liveTimeshift .timeshiftMagnifier{width:80px;height:80px}}

.liveTimeshift .timeshiftMagnifier{opacity:.84}

.liveTimeshift .timeshiftMeta #timeshiftPosition{color:var(--muted)}

/* Reserve scroll room for the fixed mini player on every non-listen panel. */
body.is-authenticated.mini-player-visible .dashboardPanel.is-active:not(.listenPanel){padding-bottom:100px}
@media(max-width:560px){body.is-authenticated.mini-player-visible .dashboardPanel.is-active:not(.listenPanel){padding-bottom:calc(54px + env(safe-area-inset-bottom))}}


/* Archive playback control follows the user's selected interface accent. */
body.is-authenticated #archivePlayer #recordPlayPause{background:color-mix(in srgb,var(--visualizer-color) 12%,var(--surface-raised));color:var(--visualizer-color);border-color:color-mix(in srgb,var(--visualizer-color) 48%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--visualizer-color) 12%,transparent),0 3px 12px color-mix(in srgb,var(--visualizer-color) 15%,transparent)}
body.is-authenticated #archivePlayer #recordPlayPause:hover:not(:disabled){background:color-mix(in srgb,var(--visualizer-color) 21%,var(--surface-raised));border-color:var(--visualizer-color);filter:none}
body.is-authenticated #archivePlayer #recordPlayPause:focus-visible{outline:2px solid var(--visualizer-color);outline-offset:3px}


body.is-authenticated .miniPlayer.is-suspended .miniPulse{background:var(--muted);box-shadow:0 0 0 5px color-mix(in srgb,var(--muted) 12%,transparent)}
body.is-authenticated .miniPlayer.is-suspended{border-color:var(--line);box-shadow:0 10px 30px #0002}


/* Magnifier above the archive seek line, mirroring the live waveform. */
body.is-authenticated .recordingSeekMagnifier{position:absolute;z-index:8;left:50%;bottom:calc(100% + 22px);width:88px;height:88px;transform:translateX(-50%);border:0;border-radius:50%;opacity:.84;pointer-events:none;filter:drop-shadow(0 5px 12px rgba(0,0,0,.38))}
body.is-authenticated .recordingSeekMagnifier[hidden]{display:none!important}
@media(max-width:560px){body.is-authenticated .recordingSeekMagnifier{width:80px;height:80px}}


/* Recording dialog uses the same selected accent as the listening controls. */
body.is-authenticated .recordingStartModal{border-color:color-mix(in srgb,var(--visualizer-color) 46%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--visualizer-color) 13%,transparent),0 24px 100px #0003,0 0 28px color-mix(in srgb,var(--visualizer-color) 12%,transparent);}
body.is-authenticated .recordingStartModal .modalHeader{position:relative;margin:-22px -22px 19px;padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--visualizer-color) 29%,var(--line));border-radius:14px 14px 0 0;background:linear-gradient(110deg,color-mix(in srgb,var(--visualizer-color) 13%,var(--surface)),var(--surface))!important;}
body.is-authenticated .recordingStartModal .modalHeader h2{color:var(--visualizer-color);font-size:16px;font-weight:600;letter-spacing:-.25px;}
body.is-authenticated .recordingStartModal .modalClose{border:1px solid color-mix(in srgb,var(--visualizer-color) 24%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--visualizer-color) 6%,var(--surface));color:var(--visualizer-color);}
body.is-authenticated .recordingStartModal input:not([type=checkbox]),body.is-authenticated .recordingStartModal select{border-color:color-mix(in srgb,var(--visualizer-color) 24%,var(--line));background:var(--surface);color:var(--text);}
body.is-authenticated .recordingStartModal input:focus-visible,body.is-authenticated .recordingStartModal select:focus-visible{border-color:var(--visualizer-color);outline:2px solid color-mix(in srgb,var(--visualizer-color) 23%,transparent);outline-offset:1px;}
body.is-authenticated .recordingStartModal .recordingAnalysisOption{border-color:color-mix(in srgb,var(--visualizer-color) 29%,var(--line));background:linear-gradient(115deg,color-mix(in srgb,var(--visualizer-color) 8%,var(--surface)),color-mix(in srgb,var(--visualizer-color) 3%,var(--surface)));transition:border-color .18s,background .18s,box-shadow .18s;}
body.is-authenticated .recordingStartModal .recordingAnalysisOption:hover{border-color:color-mix(in srgb,var(--visualizer-color) 54%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--visualizer-color) 8%,transparent);}
body.is-authenticated .recordingStartModal .recordingAnalysisOption input[type=checkbox]{accent-color:var(--visualizer-color);}
body.is-authenticated .recordingStartModal .modalDescription{color:var(--muted);font-size:11px;line-height:1.6;}
body.is-authenticated .recordingStartModal .primary{border-color:color-mix(in srgb,var(--visualizer-color) 60%,var(--line));background:linear-gradient(125deg,color-mix(in srgb,var(--visualizer-color) 22%,var(--surface)),color-mix(in srgb,var(--visualizer-color) 10%,var(--surface)));color:var(--text);font-weight:600;box-shadow:0 3px 12px color-mix(in srgb,var(--visualizer-color) 14%,transparent);transition:background .18s,border-color .18s,box-shadow .18s;}
body.is-authenticated .recordingStartModal .primary:hover:not(:disabled){border-color:color-mix(in srgb,var(--visualizer-color) 78%,var(--line));background:color-mix(in srgb,var(--visualizer-color) 28%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--visualizer-color) 12%,transparent),0 6px 16px color-mix(in srgb,var(--visualizer-color) 20%,transparent);filter:none;}
body.is-authenticated .recordingStartModal .primary:focus-visible{outline:2px solid var(--visualizer-color);outline-offset:3px;}


/* Theme-aware duration list in the recording start dialog. */
body.is-authenticated .recordingStartModal .recordingDurationNative{display:none!important}
body.is-authenticated .recordingStartModal .recordingDurationPicker{position:relative;width:100%;margin:6px 0 16px}
body.is-authenticated .recordingStartModal .recordingDurationToggle{display:flex;width:100%;min-height:46px;justify-content:space-between;padding:10px 13px;border:1px solid color-mix(in srgb,var(--visualizer-color) 30%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--visualizer-color) 5%,var(--surface));color:var(--text);text-align:left;transition:border-color .18s,box-shadow .18s,background .18s}
body.is-authenticated .recordingStartModal .recordingDurationToggle:hover,body.is-authenticated .recordingStartModal .recordingDurationToggle.is-open{border-color:var(--visualizer-color);background:color-mix(in srgb,var(--visualizer-color) 9%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--visualizer-color) 12%,transparent);filter:none}
body.is-authenticated .recordingStartModal .recordingDurationChevron{color:var(--visualizer-color);font-size:18px;line-height:1;transition:transform .18s}
body.is-authenticated .recordingStartModal .recordingDurationToggle.is-open .recordingDurationChevron{transform:rotate(180deg)}
body.is-authenticated .recordingStartModal .recordingDurationMenu{position:relative;z-index:2;width:100%;max-height:none;overflow:visible;margin-top:6px;padding:5px;border:1px solid color-mix(in srgb,var(--visualizer-color) 30%,var(--line));border-radius:11px;background:var(--surface);box-shadow:0 14px 36px #0003}
body.is-authenticated .recordingStartModal .recordingDurationMenu[hidden]{display:none}
body.is-authenticated .recordingStartModal .recordingDurationOption{display:flex;width:100%;min-height:39px;justify-content:space-between;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left;font-size:13px}
body.is-authenticated .recordingStartModal .recordingDurationOption:hover,body.is-authenticated .recordingStartModal .recordingDurationOption:focus-visible{background:color-mix(in srgb,var(--visualizer-color) 10%,var(--surface));color:var(--visualizer-color);outline:0}
body.is-authenticated .recordingStartModal .recordingDurationOption.is-selected{background:color-mix(in srgb,var(--visualizer-color) 12%,var(--surface));color:var(--visualizer-color);font-weight:600}
body.is-authenticated .recordingStartModal .recordingDurationCheck{visibility:hidden;color:var(--visualizer-color)}
body.is-authenticated .recordingStartModal .recordingDurationOption.is-selected .recordingDurationCheck{visibility:visible}

/* Authenticated prompt dialogs follow the user's selected panel accent. */
body.is-authenticated .siteMessageBox{border-color:color-mix(in srgb,var(--visualizer-color,var(--accent)) 42%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--visualizer-color,var(--accent)) 7%,var(--surface)),var(--surface) 58%);box-shadow:0 20px 70px #0004,0 0 0 1px color-mix(in srgb,var(--visualizer-color,var(--accent)) 12%,transparent),0 10px 34px color-mix(in srgb,var(--visualizer-color,var(--accent)) 13%,transparent)}
body.is-authenticated #siteMessageText{color:var(--text);font-size:14px;font-weight:500;line-height:1.65}
body.is-authenticated .siteMessageInput{border-color:color-mix(in srgb,var(--visualizer-color,var(--accent)) 34%,var(--line));background:var(--surface-raised);color:var(--text);border-radius:10px}
body.is-authenticated .siteMessageInput:focus{border-color:var(--visualizer-color,var(--accent));box-shadow:0 0 0 3px color-mix(in srgb,var(--visualizer-color,var(--accent)) 16%,transparent);outline:0}
body.is-authenticated .siteMessageActions{gap:10px}
body.is-authenticated .siteMessageActions #siteMessageCancel{border-color:var(--line);background:var(--surface-raised);color:var(--muted)}
body.is-authenticated .siteMessageActions #siteMessageOk{border-color:color-mix(in srgb,var(--visualizer-color,var(--accent)) 62%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--visualizer-color,var(--accent)) 25%,var(--surface)),color-mix(in srgb,var(--visualizer-color,var(--accent)) 13%,var(--surface)));color:var(--text);font-weight:600;box-shadow:0 3px 12px color-mix(in srgb,var(--visualizer-color,var(--accent)) 15%,transparent)}
body.is-authenticated .siteMessageActions #siteMessageOk:hover:not(:disabled){border-color:var(--visualizer-color,var(--accent));background:color-mix(in srgb,var(--visualizer-color,var(--accent)) 27%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--visualizer-color,var(--accent)) 12%,transparent),0 5px 16px color-mix(in srgb,var(--visualizer-color,var(--accent)) 20%,transparent)}
@media(max-width:560px){body.is-authenticated .siteMessageBox{padding:22px;border-radius:15px}body.is-authenticated .siteMessageActions button{min-height:42px}}
/* Per-device router details and management-AP controls. */
body.is-authenticated .deviceNetworkPanel{display:grid;grid-template-columns:minmax(105px,.65fr) minmax(0,1.35fr);align-items:center;column-gap:9px;row-gap:5px;margin-top:10px;padding:11px;border:1px solid color-mix(in srgb,var(--visualizer-color) 24%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--visualizer-color) 3%,var(--surface));font-family:Poppins,'Segoe UI',sans-serif;}
body.is-authenticated .deviceNetworkPanel>h3,body.is-authenticated .deviceNetworkPanel>p,body.is-authenticated .deviceNetworkPanel>form{grid-column:1/-1;}
body.is-authenticated .deviceNetworkPanel h3{margin:4px 0 0;color:var(--text);font-family:inherit;font-size:13px;font-weight:600;line-height:1.35;letter-spacing:-.2px;}
body.is-authenticated .deviceNetworkPanel .deviceNetworkTarget{margin:-3px 0 2px;color:var(--visualizer-color);font-family:inherit;font-size:11px;font-weight:550;line-height:1.4;}
body.is-authenticated .deviceNetworkPanel label{margin:2px 0 -3px;color:var(--muted);font-family:inherit;font-size:11px;font-weight:500;line-height:1.35;}
body.is-authenticated .deviceNetworkPanel input{box-sizing:border-box;width:100%;min-height:36px;margin:0;padding:7px 9px;border:1px solid color-mix(in srgb,var(--visualizer-color) 22%,var(--line));border-radius:8px;background:var(--surface-raised);color:var(--text);font-family:inherit;font-size:12px;line-height:1.4;}
body.is-authenticated .deviceNetworkPanel input:focus-visible{border-color:var(--visualizer-color);outline:2px solid color-mix(in srgb,var(--visualizer-color) 18%,transparent);outline-offset:1px;}
body.is-authenticated .deviceNetworkPanel>button{justify-self:start;width:auto;max-width:100%;min-height:34px;padding:7px 11px;border-radius:8px;font-family:inherit;font-size:11px;font-weight:550;line-height:1.3;}
body.is-authenticated .deviceNetworkPanel>button.secondary{border-color:color-mix(in srgb,var(--visualizer-color) 35%,var(--line));background:color-mix(in srgb,var(--visualizer-color) 7%,var(--surface));color:var(--visualizer-color);}
body.is-authenticated .deviceNetworkPanel>button.secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--visualizer-color) 55%,var(--line));background:color-mix(in srgb,var(--visualizer-color) 13%,var(--surface));}
body.is-authenticated .deviceNetworkPanel>button.primary{border-color:color-mix(in srgb,var(--visualizer-color) 52%,var(--line));background:color-mix(in srgb,var(--visualizer-color) 16%,var(--surface));color:var(--text);box-shadow:0 2px 7px color-mix(in srgb,var(--visualizer-color) 10%,transparent);}
body.is-authenticated .deviceNetworkPanel>button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--visualizer-color) 24%,var(--surface));}
body.is-authenticated .deviceCredentialGate{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px;border:1px solid color-mix(in srgb,var(--visualizer-color) 20%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--visualizer-color) 3%,var(--surface-raised));}
body.is-authenticated .deviceCredentialGate button{min-height:34px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--visualizer-color) 35%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--visualizer-color) 7%,var(--surface));color:var(--visualizer-color);font-family:Poppins,'Segoe UI',sans-serif;font-size:11px;font-weight:550;}
body.is-authenticated .deviceCredentialGate[hidden]{display:none!important;}
body.is-authenticated .deviceNetworkPanel [role=status]{margin:0;color:var(--muted);font-family:inherit;font-size:11px;line-height:1.4;overflow-wrap:anywhere;}
body.is-authenticated .deviceNetworkPanel [role=status]:empty{display:none;}
@media(max-width:560px){body.is-authenticated .deviceNetworkPanel{grid-template-columns:1fr;gap:4px;padding:9px}body.is-authenticated .deviceNetworkPanel>label,body.is-authenticated .deviceNetworkPanel>input{grid-column:1/-1}body.is-authenticated .deviceCredentialGate{grid-template-columns:1fr}body.is-authenticated .deviceCredentialGate button{justify-self:start}}

body.is-authenticated .soundEventControls{grid-column:1/-1;margin:4px 0 0;padding:0;border:1px solid color-mix(in srgb,var(--visualizer-color) 25%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--visualizer-color) 3%,var(--surface));color:var(--text);font-family:Poppins,'Segoe UI',sans-serif}
body.is-authenticated .soundEventControls>summary{padding:8px 10px;color:var(--visualizer-color);font-size:11px;font-weight:600;cursor:pointer;list-style:none}
body.is-authenticated .soundEventControls>summary::-webkit-details-marker{display:none}
body.is-authenticated .soundEventBody{display:grid;gap:7px;padding:0 10px 10px}
body.is-authenticated .soundEventHelp,body.is-authenticated .soundEventStatus,body.is-authenticated .soundEventLabels,body.is-authenticated .soundEventLast{margin:0;color:var(--muted);font-size:10px;line-height:1.5;overflow-wrap:anywhere}
body.is-authenticated .soundEventBody>label:not(.soundEventArmed){display:grid;gap:4px;color:var(--muted);font-size:10px}
body.is-authenticated .soundEventBody input:not([type=file]){min-height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:11px}
body.is-authenticated .soundEventFileLabel input{max-width:100%;font:inherit;font-size:10px;color:var(--text)}
body.is-authenticated .soundEventRecordingPicker{display:grid;gap:7px}
body.is-authenticated .soundEventRecordingPicker>label{display:grid;gap:4px;color:var(--muted);font-size:10px}
body.is-authenticated .soundEventRecordingPicker select{width:100%;min-height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:11px}
body.is-authenticated .soundEventBrowse,body.is-authenticated .soundEventUseRecording{justify-self:start;min-height:34px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--visualizer-color) 35%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--visualizer-color) 8%,var(--surface));color:var(--visualizer-color);font-family:inherit;font-size:10px;font-weight:550}
body.is-authenticated .soundEventUpload{justify-self:start;min-height:34px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--visualizer-color) 35%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--visualizer-color) 8%,var(--surface));color:var(--visualizer-color);font-family:inherit;font-size:10px;font-weight:550}
body.is-authenticated .soundEventArmed{display:flex;align-items:center;gap:7px;color:var(--text);font-size:10px;line-height:1.4;cursor:pointer}
body.is-authenticated .soundEventArmed input{width:16px;height:16px;margin:0;accent-color:var(--visualizer-color)}
body.is-authenticated .soundEventStatus[data-armed=true]{color:var(--visualizer-color)}
body.is-authenticated .soundEventRemove{justify-self:start;min-height:28px;padding:4px 0;border:0;background:transparent;color:var(--danger);font-family:inherit;font-size:10px}
@media(max-width:560px){body.is-authenticated .soundEventBody{gap:6px;padding:0 8px 8px}body.is-authenticated .soundEventUpload,body.is-authenticated .soundEventBrowse,body.is-authenticated .soundEventUseRecording{width:100%;justify-self:stretch}}
