/* Personal Voice screen and its Settings controls. */
:root { --pv-copper:#ddbf98;--pv-copper-soft:#ddbf9818; }
:root[data-theme=light] { --pv-copper:#8a5c35;--pv-copper-soft:#a8784d12; }
/* The voice visual's colours (read by voicelooks.js): warm is the person, cool
   is Maestro, the think lanes run lavender (quick) → violet → indigo (deep). */
:root { --pv-you:#ff8a4a;--pv-ai:#3fd0ff;--pv-think-0:#c9b8ff;--pv-think-1:#a68cff;--pv-think-2:#7068f5;--pv-visual-fg:#e6e8ff;--pv-glow:1;--pv-dark:1; }
:root[data-theme=light] { --pv-you:#f0621f;--pv-ai:#0b9bd6;--pv-think-0:#9d86f8;--pv-think-1:#7a5cf5;--pv-think-2:#4338ca;--pv-visual-fg:#2b3050;--pv-glow:.75;--pv-dark:0; }
.pv-btn { appearance:none;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:6px;padding:10px 15px;min-height:40px;font:inherit;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;cursor:pointer; }
.pv-btn:hover { background:var(--border); }
.pv-btn:focus-visible,.pv-voice-page a:focus-visible,.pv-voice-page summary:focus-visible { outline:2px solid var(--accent-ink);outline-offset:3px; }
.pv-primary { background:#edddc5;color:#24201c;border-color:#e4cdae;font-weight:600; }
.pv-primary:hover { background:#fff2dd;border-color:#fff2dd; }
.mm-rail-btn[data-rail=voice].active { color:var(--pv-copper);background:var(--pv-copper-soft); }
.pv-start:focus-visible,.pv-primary:focus-visible,.pv-icon-button:focus-visible,.pv-end:focus-visible { outline-color:var(--pv-copper); }
.pv-subtle-link { display:inline-flex;align-items:center;gap:7px;color:var(--text-dim);text-decoration:none;font-size:12px; }
.pv-subtle-link:hover { color:var(--text); }
.pv-subtle-link svg { width:16px;height:16px; }
.pv-voice-page { display:flex;flex-direction:column;position:relative;min-height:0;height:100%; }
.pv-page-head { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px;flex:none; }
.pv-page-brand { display:flex;align-items:center;gap:12px;min-width:0; }
.pv-maestro-conductor { display:block;flex:none;width:76px;height:76px;background:url("../assets/maestro-conductor-header.png") center / contain no-repeat; }
.pv-page-identity { min-width:0; }
.pv-page-identity p { line-height:1.6; }
.pv-page-identity p span { display:block;color:var(--text-dim);font-size:11px; }
.pv-page-head nav { display:flex;align-items:center;gap:6px; }
.pv-icon-link { display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;background:none;color:var(--text-dim);cursor:pointer; }
.pv-icon-link:hover { background:var(--panel-2);color:var(--text); }
.pv-icon-link:focus-visible { outline:2px solid var(--pv-copper);outline-offset:3px; }
.pv-icon-link svg { width:18px;height:18px; }
/* Voice help stays in the shared popover layer, with its own small reading
   surface so opening it never changes the conversation or visual layout. */
.pop.pv-help-pop { width:420px;min-width:0;max-width:calc(100vw - 24px);max-height:min(620px,calc(100dvh - 24px));box-sizing:border-box;padding:0;overscroll-behavior:contain; }
.pv-help-pop:focus-visible { outline:2px solid var(--pv-copper);outline-offset:2px; }
.pv-help-content { padding:14px 18px 18px;font-size:12px;line-height:1.55;color:var(--text); }
.pv-help-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-6px -8px 0 0; }
.pv-help-head h2 { margin:0;font-size:15px;font-weight:600;letter-spacing:-.015em; }
.pv-help-close { width:36px;height:36px;flex:none; }
.pv-help-intro { margin:4px 0 16px;color:var(--text-dim); }
.pv-help-group { padding:12px 0;border-top:1px solid var(--border); }
.pv-help-group h3 { margin:0 0 5px;color:var(--text-dim);font-size:11px;font-weight:600; }
.pv-help-group ul { list-style:none;margin:0;padding:0; }
.pv-help-group li { margin:4px 0;overflow-wrap:anywhere; }
.pv-help-note { margin:12px 0 0;color:var(--text-dim);font-size:11px; }
.pv-help-note+.pv-help-note { margin-top:8px; }
.pv-page-head h1 { font-size:18px;font-weight:600;margin:0 0 4px;letter-spacing:-.025em; }
.pv-page-head p { color:var(--text-dim);font-size:12px;margin:0; }
.pv-voice-center { position:relative;flex:1;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 28px 104px;box-sizing:border-box;text-align:center; }
/* The controls sit 32px from the page bottom and are at least 48px tall. */
.pv-listening-cue { position:absolute;bottom:96px;left:16px;right:16px;margin:0;color:var(--text-dim);font-size:13px;line-height:1.5;pointer-events:none; }
.pv-orb-wrap { width:min(360px,100%);display:flex;flex-direction:column;align-items:center;margin-bottom:20px;flex-shrink:0;position:relative;container-type:inline-size; }
.pv-visual-stage { width:100%;height:clamp(190px,60cqw,280px);position:relative;flex:none;pointer-events:none; }
.pv-visual-stage>.pv-start { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:auto;z-index:1; }
.pv-look-name { position:absolute;left:0;right:0;bottom:0;font-size:11px;color:var(--text-dim); }
.pv-visual[data-state=connecting]::after { content:"";position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px;border:1px solid var(--border);border-top-color:var(--pv-ai);border-radius:50%;animation:pv-connecting-spin 1.1s linear infinite; }
@keyframes pv-connecting-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce){.pv-visual[data-state=connecting]::after{animation:none}}
.pv-visual { width:260px;height:260px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(1);isolation:isolate;transition:transform .7s cubic-bezier(.22,.8,.24,1),filter .45s ease,opacity .5s; }
.pv-visual:not([data-connected=true]):not([data-state=connecting]) { visibility:hidden;opacity:0; }
.pv-visual[data-connected=true]:not([data-appearance=duet]) { transform:translate(-50%,-50%) scale(1.25); }
.pv-visual[data-appearance=duet] { width:100%;height:340px; }
.pv-visual[data-appearance=smoke-ring][data-state=thinking],.pv-visual[data-appearance=smoke-ring][data-state=muted][data-activity=thinking] { transform:translate(-50%,-50%) scale(1.1);filter:brightness(.72) sepia(1) saturate(5) hue-rotate(195deg) brightness(1.25); }
.pv-visual-canvas,.pv-visual-flat { display:block;width:100%;height:100%; }
.pv-visual[data-renderer=canvas2d] .pv-visual-canvas,.pv-visual:not([data-renderer=canvas2d]) .pv-visual-flat { display:none; }
.pv-visual-fallback { display:none;position:absolute;inset:22%;border-radius:50%;border:1px solid var(--text-dim);opacity:.24; }
.pv-visual[data-renderer=css] .pv-visual-canvas { display:none; }
.pv-visual[data-renderer=css] .pv-visual-fallback { display:block; }
.pv-visual-fallback::after { content:"";position:absolute;inset:-12% -9% 3% 5%;border:1px solid transparent;border-left-color:var(--text-dim);border-bottom-color:var(--text-dim);border-radius:45%;transform:rotate(-28deg); }
.pv-visual[data-connected=false] .pv-visual-fallback { inset:36%;border:0;background:radial-gradient(ellipse,#ddd9,#ddd3 45%,transparent 70%);opacity:.6; }
.pv-visual[data-connected=false] .pv-visual-fallback::after { display:none; }
.pv-muted-label { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--text);font:600 11px var(--mono,monospace);letter-spacing:.12em;line-height:1.5;pointer-events:none;user-select:none; }
.pv-voice-center[data-state=restricted] .pv-visual,.pv-voice-center[data-state=setup] .pv-visual { filter:grayscale(.5);opacity:.7; }
.pv-appearance { border:0;padding:22px 0;margin:0;border-bottom:1px solid var(--border);min-width:0; }
.pv-appearance legend { float:left;width:100%;font-size:13px;font-weight:500;margin-bottom:5px; }
.pv-appearance>.pv-settings-help { clear:both;margin:0 0 14px; }
.pv-appearance-choices { display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px; }
.pv-appearance-choice { display:grid;grid-template-columns:42px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:14px 12px;cursor:pointer;border:1px solid var(--border);border-radius:6px; }
.pv-appearance-choice:has(input:checked) { border-color:var(--pv-copper);background:var(--pv-copper-soft); }
.pv-appearance-choice:focus-within { outline:2px solid var(--pv-copper);outline-offset:3px; }
.pv-appearance-choice input { width:15px;height:15px;margin:0;accent-color:var(--pv-copper); }
.pv-appearance-choice strong { display:block;font-size:12px;font-weight:500;margin-bottom:5px; }
.pv-appearance-choice small { display:block;color:var(--text-dim);font-size:10px;line-height:1.5; }
.pv-appearance-swatch { width:42px;height:42px;border-radius:50%; }
.pv-swatch-smoke-ring { background:conic-gradient(from 35deg,#eee,#8889,#fff4,#ddd,#999,#eee);mask-image:radial-gradient(closest-side,transparent 64%,#0005 68%,#000 70%,#0006 73%,transparent 78%); }
.pv-swatch-duet { background:conic-gradient(transparent 0 18deg,var(--pv-ai) 18deg 162deg,transparent 162deg 198deg,var(--pv-you) 198deg 342deg,transparent 342deg);mask-image:radial-gradient(closest-side,transparent 66%,#000 69%,#000 80%,transparent 83%); }
.pv-swatch-constellation { background:repeating-conic-gradient(var(--pv-ai) 0 8deg,transparent 8deg 22.5deg);mask-image:radial-gradient(closest-side,transparent 64%,#000 66%,#000 75%,transparent 77%); }
:root[data-theme=light] .pv-swatch-smoke-ring { background:conic-gradient(from 35deg,#333,#8889,#4444,#555,#999,#333); }
.pv-sr-only,.pv-call-announcement:not(.pv-call-notice) { position:absolute;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0; }
.pv-call-notice { position:absolute;bottom:98px;left:50%;transform:translateX(-50%);width:min(48ch,calc(100% - 36px));font-size:12px;line-height:1.5;color:var(--text-dim); }
.pv-call-controls { position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;min-height:48px; }
.pv-session-time { position:absolute;bottom:10px;left:50%;transform:translateX(-50%);margin:0;color:var(--text-dim);font:11px var(--mono);font-variant-numeric:tabular-nums;opacity:.75; }
.pv-job-elapsed { display:block;margin-top:5px;font-variant-numeric:tabular-nums; }
.pv-start { position:relative;isolation:isolate;min-width:170px;min-height:48px;border-radius:999px;padding-inline:26px;background:transparent;border-color:var(--border);color:var(--text);font-weight:500;letter-spacing:.015em;white-space:nowrap;transition:background .2s,box-shadow .2s; }
.pv-start::before { content:"";position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,var(--pv-you),transparent 42%,transparent 55%,var(--pv-ai));opacity:.65;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude; }
.pv-start svg { width:17px;height:17px;opacity:.8; }
.pv-start-spinner { display:inline-block;flex:none;box-sizing:border-box;width:17px;height:17px;border:2px solid var(--border);border-top-color:var(--pv-ai);border-radius:50%;animation:pv-connecting-spin 1.1s linear infinite; }
@media(prefers-reduced-motion:reduce){.pv-start-spinner{animation:none}}
.pv-start:hover:not(:disabled) { background:var(--panel-2);box-shadow:0 0 20px #3fd0ff0a; }
.pv-start:hover::before { opacity:1; }
.pv-icon-button { border-radius:50%;width:46px;height:46px;min-height:46px;padding:0; }
.pv-is-muted { color:var(--warn);border-color:var(--warn); }
.pv-end { background:var(--panel-2); }
.pv-end svg { width:17px;height:17px; }
.pv-voice-bottom { margin-top:33px; }
.pv-connection { display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:var(--muted); }
.pv-status-dot { display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--ok); }
.pv-dot-separator { color:var(--text-dim);margin-inline:3px; }
.pv-device-hint { font-size:11px;color:var(--text-dim);margin-top:8px;line-height:1.5; }
.pv-transcript-toggle { border:0;background:none;color:var(--text-dim);font-size:11px;min-height:28px;padding:4px 10px;margin-top:7px;text-decoration:underline;text-underline-offset:3px; }
.pv-transcript { width:min(470px,100%);text-align:left;border-top:1px solid var(--border);margin-top:24px;padding-top:16px; }
.pv-transcript small { color:var(--text-dim);font-size:10px; }
.pv-transcript p { font-size:12px;line-height:1.6;margin:5px 0 14px; }
.pv-voice-footer { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 36px;flex:none;color:var(--text-dim);font-size:10px; }
.pv-voice-footer>span { display:flex;align-items:center;gap:5px; }
.pv-voice-footer svg { width:12px;height:12px; }
.pv-voice-footer small { margin-left:5px;font-size:10px;opacity:.75; }
.pv-settings-row { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid var(--border); }
.pv-settings-row strong,.pv-settings-section h2 { font-size:13px;font-weight:600; }
.pv-settings-row p,.pv-settings-help { font-size:12px;color:var(--text-dim);line-height:1.6;margin:6px 0 0; }
.pv-settings-row>.mm-set-field { max-width:240px;min-height:38px; }
.pv-value { white-space:nowrap;font-size:12px; }
.pv-enabled { font-size:11px;color:var(--ok);white-space:nowrap; }
.pv-settings-section { padding:23px 0;border-top:1px solid var(--border); }
.pv-settings-section h2 { margin:0 0 12px; }
.pv-settings-section>select { max-width:390px;min-height:40px; }
.pv-settings-help { max-width:580px; }
.pv-advanced { margin-top:22px;border:1px solid var(--border);border-radius:6px;padding:0 15px; }
.pv-advanced summary { cursor:pointer;padding:15px 0;font-size:12px; }
.pv-advanced summary>span { float:right;color:var(--text-dim);font-size:11px; }
.pv-reasoning-row { display:flex;align-items:center;gap:10px;padding:14px 0;border-top:1px solid var(--border); }
.pv-reasoning-row>div { flex:1; }
.pv-reasoning-row strong { font-size:12px;font-weight:500;display:block; }
.pv-reasoning-row small { font-size:11px;color:var(--text-dim);display:block;margin-top:4px; }
.pv-lane-dot { width:5px;height:5px;background:var(--ok);border-radius:50%; }
.pv-account-help { padding-bottom:15px;margin:0; }
.pv-settings-actions { display:flex;align-items:center;gap:14px;margin-top:20px;flex-wrap:wrap; }
.pv-settings-actions .pv-subtle-link { margin-left:auto; }
.pv-save-status { color:var(--ok);font-size:11px; }
.pv-remote-note { margin-top:22px; }
@media(prefers-reduced-motion:reduce){.pv-orb-wrap,.pv-visual{animation:none!important;transition:none!important}}

.mm-voice-host { --voice-muted:var(--text-dim); overflow-y:auto; min-width:0; }
.mm-voice-host .pv-voice-page { min-height:100%; height:100%; }
.mm-voice-host .pv-voice-center { min-height:360px; flex:1; }
.mm-voice-host .voice-status { max-width:48ch; min-height:42px; margin:0 auto; }
.mm-voice-host .voice-error { margin:0 28px; }
.mm-voice-host .voice-error:empty { display:none; }
.mm-voice-host .voice-conversation,.mm-voice-host .voice-jobs { padding:0; }
.pv-conversation-details { flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin:0 auto;width:min(780px,100%);padding:0 0 env(safe-area-inset-bottom,0px);font-size:13px;background:var(--panel);border:1px solid var(--border);border-bottom:0;border-radius:20px 20px 0 0;animation:pv-drawer-enter .25s ease-out; }
.pv-conversation-details[hidden] { display:none!important; }
.pv-drawer-head { display:flex;align-items:center;justify-content:space-between;flex:none;padding:2px 14px 2px 24px;color:var(--text-dim);font-size:12px; }
.pv-drawer-head .pv-icon-link { width:38px;height:38px; }
.pv-drawer-tabs { display:flex;align-items:center;gap:18px;min-width:0; }
.pv-drawer-tab { border:0;border-bottom:2px solid transparent;background:none;color:var(--text-dim);font:inherit;font-size:12px;padding:12px 0;cursor:pointer;white-space:nowrap; }
.pv-drawer-tab[aria-selected=true] { color:var(--text);border-bottom-color:var(--pv-ai,var(--accent)); }
.pv-drawer-tab:focus-visible { outline:2px solid var(--accent);outline-offset:4px;border-radius:2px; }
.pv-conversation-panel { display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden; }
.pv-voice-page[data-view=conversation] .pv-page-head { order:0;padding:12px 24px 4px; }
.pv-voice-page[data-view=conversation] .pv-maestro-conductor { width:48px;height:48px; }
.pv-voice-page[data-view=conversation] .pv-voice-center { order:1;flex:0 0 182px;min-height:182px;max-height:182px;overflow:hidden;padding:0; }
.pv-voice-page[data-view=conversation] .pv-listening-cue { bottom:18px; }
.pv-voice-page[data-view=conversation] .pv-orb-wrap { margin:0; }
.pv-voice-page[data-view=conversation] .pv-visual-stage { height:138px; }
.mm-voice-host .pv-voice-page[data-view=conversation] .pv-visual { transform:translate(-50%,-50%) scale(.4); }
.pv-voice-page[data-view=conversation] .pv-call-controls { position:static;transform:none;align-self:center;order:2;margin:0 auto 12px;min-height:36px;gap:12px; }
.pv-voice-page[data-view=conversation] .pv-call-controls .pv-icon-button { min-height:36px;width:36px;height:36px; }
.pv-voice-page[data-view=conversation] .pv-conversation-details { order:4; }
.pv-voice-page[data-view=conversation] .pv-call-notice,.pv-voice-page[data-view=conversation] .voice-error { position:static;transform:none;order:3;align-self:center;margin:0 18px 10px;min-height:0; }
.pv-voice-page[data-view=conversation] .pv-session-time { position:static;transform:none;order:3;align-self:center;margin:0 0 8px; }
@keyframes pv-drawer-enter { from { transform:translateY(28px);opacity:0; } to { transform:translateY(0);opacity:1; } }
@media(prefers-reduced-motion:reduce){.pv-conversation-details{animation:none;}}
.pv-conversation-tools summary { cursor:pointer;color:var(--text-dim);padding:14px 0; }
.pv-conversation-details .voice-transcript { flex:1;min-height:0;max-height:none;margin:0;padding:12px 24px 20px;gap:20px; }
.pv-conversation-details .voice-turn { white-space:normal; }
.pv-conversation-details .voice-turn .mm-msg { padding-right:8px; }
.voice-turn .mm-g-head { flex-wrap:wrap;row-gap:2px; }
.voice-turn-time { color:var(--text-dim);font-size:11px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap; }
.pv-conversation-details .voice-composer { flex:none;display:flex;grid-template-columns:none;margin:8px 18px 16px;padding:8px 10px 6px; }
.pv-conversation-details .voice-composer textarea { resize:none;min-height:40px;max-height:120px;border:0;background:none;padding:6px;font-size:14px;line-height:1.5; }
.pv-conversation-tools { flex:1;min-height:0;overflow:auto;padding:12px 24px 24px; }
.pv-job-result { margin:8px 0;padding:0;white-space:normal;overflow-wrap:anywhere; }
.pv-job-result .mm-md-table { max-width:100%;overflow-x:auto; }
.pv-presentation { flex:0 1 auto;min-height:0;max-height:48%;overflow:auto;border-bottom:1px solid var(--border); }
.pv-presentation:has(.pv-report-chart) { flex:0 0 auto;max-height:66%; }
.pv-presentation[hidden] { display:none!important; }
.pv-presentation-panel { padding:0 24px 16px; }
.pv-report-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.pv-report-head h2 { font-size:14px;font-weight:600;margin:0;overflow-wrap:anywhere; }
.pv-report-head .pv-icon-link { width:36px;height:36px;font-size:24px; }
.pv-report-body { max-height:70dvh;overflow:auto;padding:16px 24px 24px; }
.pv-report-markdown { padding:0;white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.6; }
.pv-report-chart { margin:0;min-width:0;--pv-chart-height:clamp(76px,12dvh,140px); }
.pv-report-description { color:var(--text-dim);font-size:12px;line-height:1.6;margin:4px 0 16px;white-space:pre-line; }
.pv-report-plot { display:flex;gap:8px;max-width:100%;overflow-x:auto;padding-top:18px; }
.pv-report-axis { flex:none;display:flex;flex-direction:column;justify-content:space-between;height:var(--pv-chart-height);min-width:22px;text-align:right;color:var(--text-dim);font:11px var(--mono); }
.pv-report-bars { display:flex;align-items:stretch;justify-content:space-around;gap:14px;flex:1;min-width:max-content;border-bottom:1px solid var(--border);margin:0 0 12px; }
.pv-report-column { display:flex;flex-direction:column;align-items:center;flex:1;min-width:58px;max-width:92px; }
.pv-report-bar-track { position:relative;width:100%;height:var(--pv-chart-height);display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--border);background:repeating-linear-gradient(to top,transparent 0,transparent 34px,var(--border) 34px,var(--border) 35px); }
.pv-report-bar { display:block;width:clamp(16px,4vw,38px);min-height:0;background:linear-gradient(to top,var(--pv-ai),var(--accent-ink));border-radius:4px 4px 0 0;opacity:.85; }
.pv-report-bar-value { position:absolute;top:-19px;font:12px var(--mono);font-variant-numeric:tabular-nums;color:var(--text); }
.pv-report-bar-label { display:block;padding:9px 0 4px;color:var(--text-dim);font-size:10px;white-space:nowrap; }
.pv-chart-data { margin-top:4px;font-size:12px; }
.pv-chart-data summary { color:var(--text-dim);cursor:pointer;padding:6px 0; }
.pv-report-chart .mm-md-table { overflow-x:auto; }
.pv-report-chart table { width:100%;border-collapse:collapse;font-size:12px; }
.pv-report-chart caption { text-align:left;font-weight:600;padding:0 0 8px; }
.pv-report-chart th,.pv-report-chart td { padding:7px 10px;border-bottom:1px solid var(--border);text-align:left;overflow-wrap:anywhere; }
.pv-report-chart td { font-variant-numeric:tabular-nums; }
.pv-image-gallery { list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:20px; }
.pv-image-gallery li { min-width:0; }
.pv-image-gallery p { margin:0 0 8px;font-size:12px;overflow-wrap:anywhere; }
.pv-image-gallery .note-media { display:block;width:100%; }
.pv-image-gallery img { display:block;max-width:100%;max-height:300px;object-fit:contain;margin:auto; }
.pv-conversation-details textarea,.pv-conversation-details select { border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);padding:10px;font:inherit; }
.pv-voice-footer .voice-budget { max-width:330px; }
.pv-voice-page button:disabled { opacity:.45;cursor:default; }
.pv-voice-page .pv-start[aria-busy=true]:disabled { opacity:1;cursor:progress; }
.pv-voice-page [hidden] { display:none!important; }
@media(max-width:760px){
 .pv-page-head{padding:20px 18px}.pv-page-head .pv-subtle-link{font-size:11px}
 .pv-voice-footer{padding:16px 18px;font-size:9px;align-items:flex-start}.pv-connection{flex-wrap:wrap}
 .pv-visual:not([data-appearance=duet]){width:220px;height:220px}
 .pv-appearance-choices{grid-template-columns:1fr}.pv-voice-center{padding:18px 18px 104px}.pv-settings-row{align-items:flex-start;flex-wrap:wrap;gap:12px}
}
@media(prefers-reduced-motion:reduce){.pv-start,.pv-visual{transition:none}}
@media(max-width:400px){.pv-page-head{flex-wrap:wrap;row-gap:8px}.pv-page-head nav{margin-left:88px}}
.pv-voice-center>.pv-orb-wrap { margin-bottom:0; }
/* Quiet, stationary dots below the visual. Only the dots pulse, never the tooltip. */
.pv-job-row,.pv-job-targets { display:flex;align-items:center;justify-content:center;gap:0; }
.pv-job-row { min-height:44px;margin-top:-8px;flex:none; }
.pv-job-target { position:relative;width:24px;height:44px;flex:0 0 24px;border:0;border-radius:12px;background:none;padding:0;cursor:pointer; }
.pv-job-target::after { content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--pv-think-1);box-shadow:0 0 8px color-mix(in srgb,var(--pv-think-1) 30%,transparent);pointer-events:none;animation:pv-job-pulse 2s ease-in-out infinite both;animation-delay:var(--pv-job-delay,0s); }
.pv-job-target[data-phase=waiting]::after { animation:none;background:var(--warning,#d5a35c);box-shadow:none; }
.pv-job-target:focus-visible,.pv-job-overflow:focus-visible { outline:2px solid var(--pv-think-1);outline-offset:1px; }
.pv-orb-wrap[data-job-motion=paused] .pv-job-target::after { animation-play-state:paused; }
.pv-job-overflow { min-width:44px;min-height:44px;border:0;border-radius:50%;background:transparent;color:var(--text-dim);font:inherit;font-size:11px;cursor:pointer; }
.pv-job-overflow:hover { background:var(--panel-2);color:var(--text); }
.pv-job-overflow[hidden] { display:none; }
.tip.tip-multiline { white-space:pre-line;font-variant-numeric:tabular-nums;padding:10px 12px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:12px;line-height:1.6; }
@keyframes pv-job-pulse { 0%,100% { transform:scale(.8);opacity:.45; } 50% { transform:scale(1.15);opacity:.95; } }
@media(prefers-reduced-motion:reduce) { .pv-job-target::after { animation:none;transform:none;opacity:.75; } }
@media(pointer:coarse) { .pv-job-target { width:44px;flex-basis:44px; } }
.pv-jobs-dialog { display:block;padding:8px 24px 24px;overflow-y:auto; }
.pv-jobs-modal { padding:16px;align-items:center; }
.pv-jobs-modal .modal-card { max-height:calc(100dvh - 32px); }
.pv-jobs-dialog .voice-job { padding:18px 0;border-top:1px solid var(--border);outline-offset:3px; }
.pv-jobs-dialog .voice-job>strong { display:block;font-size:14px;overflow-wrap:anywhere; }
.pv-job-state { display:block;font-size:12px;color:var(--text-dim);margin-top:5px; }
.voice-job[data-state=failed] .pv-job-state,.voice-job[data-state=interrupted_unknown] .pv-job-state { color:var(--warn,#d2a366); }
.pv-jobs-dialog .voice-job p { white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:13px; }
.pv-jobs-dialog .voice-job small { color:var(--text-dim);font-size:11px; }
.pv-jobs-dialog .voice-actions { margin-top:12px; }
.pv-jobs-dialog .pv-btn,.pv-job-more { min-height:44px; }
@media(max-width:760px){.pv-jobs-dialog{padding:8px 18px 18px}}

.voice-budget .pv-reasoning-usage { display:block;margin-top:18px; }

.pv-attachments { display:flex;flex-wrap:wrap;gap:8px;width:100%;min-width:0; }
.pv-attachments:empty { display:none; }
.pv-attachment-chip { display:flex;align-items:center;gap:8px;max-width:100%;min-width:0;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-size:12px; }
.pv-attachment-chip > span { min-width:0; }
.pv-attachment-chip small { display:block;color:var(--muted); }
.pv-attachment-name { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px; }
.pv-attachment-preview { width:42px;height:42px;object-fit:cover;border-radius:4px; }
.pv-attachment-chip button { flex-shrink:0; }
@media(max-width:540px) { .pv-attachment-chip { flex-wrap:wrap; } .pv-attachment-name { max-width:180px; } }

.pv-chat-control { display:flex;align-items:center;gap:2px; }
.pv-incoming-count { border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);min-width:24px;min-height:24px;padding:2px 6px;font:inherit;font-size:11px;cursor:pointer; }
.pv-incoming { flex:none;margin:0 0 16px;padding:0;color:var(--text-dim);font-size:12px;line-height:1.5; }
.pv-incoming p { margin:0 0 6px; }
.pv-incoming label { display:flex;align-items:flex-start;gap:8px; }
.pv-incoming input { flex:none;margin-top:3px; }
