/* RESERVA assistant: a nonmodal panel leaves the application interactive. */
.pv-entry{display:inline-flex!important;align-items:center;gap:.5rem}
.pv-entry::before{content:'●';color:#8b877f;font-size:.8em}
.pv-entry[data-state=live]::before{color:#27824b}
.pv-entry[data-state=connecting]::before{color:#a78030}
.pulse-app .pulse-utility-nav .pv-entry{width:auto;white-space:normal;line-height:1.15}
.pv-panel{position:fixed;z-index:1050;right:12px;bottom:12px;left:auto;top:auto;display:flex;flex-direction:column;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:0;padding:0;background:#faf8f3;color:#191916;border:1px solid #d9d0c4;border-radius:22px;box-shadow:0 14px 55px #2020142e;font:14px/1.55 system-ui,sans-serif;overflow:hidden;isolation:isolate}
.pv-panel,.pv-panel *{box-sizing:border-box}
.pv-panel [hidden]{display:none!important}
.pv-panel[data-dock=left]{left:12px;right:auto}
.pv-panel[data-edge=top]{top:12px;bottom:auto}
.pv-panel .pv-head{position:relative;flex:none;padding:17px 20px 15px;border-bottom:1px solid #ded8cf;background:#f7f3ea}
.pv-panel .pv-head h2{margin:5px 0 13px;font-size:23px;line-height:1.2;color:#191916;letter-spacing:-.02em}
.pv-head-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.pv-panel .pv-head-actions button{min-height:36px;padding:6px 12px;font-size:12px;border-radius:10px}
.pv-panel .pv-head-actions [data-pv-close]{margin-left:auto}
.pv-panel .pv-head-actions [data-pv-mini-stop]{background:#8e2932;border-color:#8e2932;color:#fff}
.pv-kicker{font-size:10px;letter-spacing:.14em;color:#746a5c}
.pv-panel-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 20px 22px;scrollbar-gutter:stable}
.pv-intro{margin:0 0 13px;color:#393930}
.pv-panel .pv-compact-status{display:none}
.pv-panel[data-folded=true]{width:min(310px,calc(100vw - 24px));border-radius:18px}
.pv-panel[data-folded=true] .pv-head{border:0;padding:13px 15px}
.pv-panel[data-folded=true] .pv-kicker{display:none}
.pv-panel[data-folded=true] .pv-head h2{font-size:16px;margin:0 0 9px}
.pv-panel[data-folded=true] .pv-compact-status{display:block;margin:9px 0 0;font-size:12px;line-height:1.45;max-height:4.4em;overflow:auto;overflow-wrap:anywhere;color:#585348}
.pv-panel[data-folded=true] .pv-compact-status[data-error=true]{color:#8e211b}
.pv-panel h3{font-size:19px;line-height:1.3;margin:0 0 12px}
.pv-note,.pv-panel small{display:block;font-size:12px;color:#6a655d;line-height:1.55}
.pv-note:empty{display:none}
.pv-panel button{font:inherit;cursor:pointer;border:1px solid #d5cbbc;background:#fffefa;color:#191916;border-radius:12px;padding:9px 13px;min-height:44px;margin:0;max-width:100%;white-space:normal;line-height:1.4}
.pv-panel button:disabled{opacity:.55;cursor:default}
.pulse-app .pv-panel button:hover{transform:none}
.pv-panel button:focus-visible,.pv-panel input:focus-visible,.pv-panel textarea:focus-visible,.pv-panel select:focus-visible,.pv-panel summary:focus-visible{outline:3px solid #9b791f;outline-offset:3px}
.pv-panel:focus-visible{outline:3px solid #9b791f;outline-offset:3px}
.pv-panel .pv-mic,.pv-panel .pv-primary{background:#171916;color:#fff;border-color:#171916}
.pv-panel .pv-mic[data-recording=true]{background:#a72f35;border-color:#a72f35;box-shadow:0 0 0 5px #a72f351f}
.pv-panel label{display:grid;gap:6px;margin:12px 0;font-weight:600}
.pv-panel :is(input:not([type=checkbox]),textarea,select){font:inherit;width:100%;max-width:100%;min-width:0;padding:11px;border:1px solid #d5cbbc;border-radius:11px;background:#fff;color:#191916}
.pv-panel select{padding-right:28px}
.pv-panel textarea{min-height:95px;resize:vertical}
.pv-panel input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:#191916}
.pulse-app .pv-panel input[type=checkbox]{min-height:18px;padding:0;box-shadow:none}
.pv-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 10px}
.pv-controls label,.pv-config label:has(input[type=checkbox]){display:flex!important;align-items:center;gap:8px}
.pv-controls label{font-size:12px;flex-basis:100%;font-weight:500;margin:7px 0}
.pv-panel details{border:1px solid #ded8cf;border-radius:14px;padding:11px 13px;margin:14px 0}
.pv-panel summary{cursor:pointer;font-weight:650}
.pv-assistance{border-top:1px solid #ded8cf;border-bottom:1px solid #ded8cf;padding:12px 0;margin:14px 0}
.pv-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pv-assistance>.pv-actions{margin-top:0}
.pv-assistance>.pv-actions button{font-size:12px;flex:1 1 auto}
.pv-guide-catalog{padding:4px 0 2px}
.pv-guide-catalog .pv-actions{margin-top:10px}
.pv-guide-controls button{font-size:12px}
.pv-selected{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;margin-top:12px;border:1px solid #d9c999;border-radius:12px;background:#f5eedc;color:#5a471e;font-size:12px}
.pv-selected button{min-height:32px;padding:5px 9px;font-size:11px;margin-left:auto}
.pv-source{font-size:11px;font-weight:650;color:#5e6354;border-left:3px solid #aaba93;padding-left:9px;margin:10px 0 14px;line-height:1.45}
.pv-status{min-height:24px;padding:11px 13px;background:#eeeae1;border-radius:12px;overflow-wrap:anywhere}
.pv-status[data-error=true]{background:#fae8e5;color:#8e211b}
.pv-connection{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;padding:7px 11px;border:1px solid #d9d0c4;border-radius:99px;background:#eeeae3;color:#5e5951;font-size:12px;font-weight:650}
.pv-connection::before{content:'';height:7px;width:7px;border-radius:50%;background:#8b877f;flex:none}
.pv-connection[data-state=live]{background:#e5f1e7;border-color:#afd1b8;color:#205932}
.pv-connection[data-state=live]::before{background:#27824b;box-shadow:0 0 0 4px #27824b15}
.pv-connection[data-state=connecting]{background:#faf0d8;color:#785711;border-color:#e1ca91}
.pv-connection[data-state=connecting]::before{background:#a78030}
.pv-activity{font-size:12px;color:#5d584f;margin:0 0 12px;min-height:20px}
.pv-transcripts{max-height:230px;overflow:auto;overscroll-behavior:contain;border-left:3px solid #c7b186;padding-left:12px;margin:14px 0;font-size:13px;overflow-wrap:anywhere}
.pv-transcripts:empty,.pv-transcripts p:empty{display:none}
.pv-turn{padding:5px 0;border-bottom:1px solid #e6e0d5}
.pv-transcript-user{color:#5b5448;margin:5px 0}
.pv-transcript-assistant{color:#22231f;margin:5px 0}
.pv-transcript{font-style:italic;padding-left:12px;border-left:3px solid #b49352}
.pv-proposal,.pv-report,.pv-help,.pv-inspection{background:#fffdfa;border:1px solid #d9d0c4;border-radius:15px;padding:15px;margin:16px 0;overflow-wrap:anywhere}
.pv-detail{display:grid;grid-template-columns:minmax(85px,37%) 1fr;gap:12px;padding:7px 0;border-bottom:1px solid #eee9e1;overflow-wrap:anywhere;font-size:13px}
.pv-items{max-height:240px;overflow:auto;padding:10px;background:#f7f4ed;border-radius:11px}
.pv-items p{border-bottom:1px solid #e4ddd1;padding:6px 0;font-size:12px}
.pv-report{overflow-x:auto}
.pv-report table{width:100%;border-collapse:collapse;font-size:12px}
.pv-report th,.pv-report td{text-align:left;padding:7px;border-bottom:1px solid #ded8cf}
.pv-result{background:#f1f5ed;border:1px solid #c7d4bd;border-radius:15px;padding:15px;margin:16px 0}
.pv-result h3{color:#25452b}
.pv-result button{margin:10px 6px 0 0}
.pv-config button{margin:8px 6px 0 0}
.pv-config small{margin-top:10px}
.pv-config input[disabled]{color:#706b63}
.pv-output:empty{display:none}
.pv-history-item{border-bottom:1px solid #e1dbcf;padding:9px 0}
.pv-history-item:last-child{border-bottom:0}
.pv-history-item h4{font-size:12px;font-weight:700;margin:0 0 7px;color:#373930}
.pv-history-item ol{list-style:none;margin:0;padding:0}
.pv-history-step{display:flex;gap:8px;font-size:11px;line-height:1.5;margin:5px 0;color:#615d52}
.pv-history-mark{display:flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;font-size:10px;font-weight:700;border-radius:50%;background:#e6edde;color:#48633e;margin-top:1px}
.pv-history-step[data-state=pending] .pv-history-mark{background:#efe3c5;color:#805a17}
.pv-history-step[data-state=error]{color:#8e211b}
.pv-history-step[data-state=error] .pv-history-mark{background:#f6dfd9;color:#8e211b}
@supports(padding:max(0px)){
  .pv-panel{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
  .pv-panel[data-dock=left]{left:max(12px,env(safe-area-inset-left));right:auto}
  .pv-panel[data-edge=top]{top:max(12px,env(safe-area-inset-top));bottom:auto}
}
@media(max-width:600px){
  .pv-panel{width:min(390px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:18px}
  .pv-panel .pv-head{padding:14px 15px 12px}
  .pv-panel .pv-head h2{font-size:21px}
  .pv-panel-body{padding:15px}
  .pv-controls .pv-mic{flex:1 1 auto}
  .pv-connection{line-height:1.35;border-radius:12px}
  .pv-transcripts{max-height:180px}
  .pv-detail{grid-template-columns:1fr;gap:3px}
  .pulse-app .pulse-utility-nav .pv-entry{max-width:120px;font-size:12px!important;padding:7px 10px!important}
}
@media(max-height:500px){
  .pv-panel .pv-head{padding:10px 14px}
  .pv-panel .pv-head h2{font-size:17px;margin:0 0 7px}
  .pv-panel .pv-kicker{display:none}
}
@media(prefers-reduced-motion:reduce){.pv-panel *{animation:none!important;transition:none!important}}

/* Visible execution is distinct from a teaching guide or a completion log. */
.pv-mode-question{font-weight:700;margin-top:18px}.pv-task-runner{position:fixed;left:16px;bottom:16px;z-index:2147483100;width:min(430px,calc(100vw - 32px));max-height:48vh;overflow:auto;background:#fffdf9;color:#191919;border:1px solid #d8cfc2;border-radius:18px;box-shadow:0 12px 42px #0003;padding:20px;font-family:inherit}.pv-task-runner ol{padding-left:23px;margin:12px 0}.pv-task-runner li{padding:4px 0;font-size:13px}.pv-task-runner li[data-state=done]{color:#356551}.pv-task-runner li[data-state=running]{font-weight:800}.pv-task-controls{display:flex;flex-wrap:wrap;gap:8px}.pv-task-controls button{border:1px solid #d8cfc2;border-radius:10px;background:#fff;color:#171717;padding:9px 12px;cursor:pointer}.pv-task-controls button:last-child{color:#9e2828}.pv-task-status{font-size:14px;line-height:1.5}.pv-task-runner strong{font-size:17px}

.pv-task-runner,.pv-task-runner *{box-sizing:border-box}.pv-task-runner details>summary{font-size:13px;cursor:pointer;padding:8px 0}.pv-task-runner .pv-task-controls{margin-top:10px}
@media(max-width:600px){.pv-task-runner{max-height:34dvh;padding:13px;left:12px;bottom:12px;width:calc(100vw - 24px)}.pv-task-status{margin:8px 0;font-size:13px}.pv-task-runner strong{font-size:15px}.pv-task-controls button{font-size:12px;padding:7px 9px}}

/* 0.12.7 · capture controls remain usable on narrow screens. */
.pv-audio-options {border:1px solid #dbd2c6;border-radius:16px;padding:14px;margin:12px 0;}
.pv-audio-options > summary {font-weight:600;cursor:pointer;margin-bottom:12px;}
.pv-audio-options label {display:grid;gap:6px;margin-bottom:12px;}
.pv-audio-options select {box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:10px;border:1px solid #d8cdbc;border-radius:10px;background:#fff;color:#1b1b18;}
.pv-audio-options meter {display:block;width:100%;height:14px;margin-top:12px;}
.pv-controls [data-pv-talk] {touch-action:none;user-select:none;-webkit-user-select:none;}
.pv-controls [data-pv-talk][aria-pressed=true] {background:#315649;color:#fff;}
@media(max-width:600px){.pv-audio-options{padding:10px}.pv-controls{gap:8px}.pv-controls button{white-space:normal;max-width:100%;min-height:44px}.pv-audio-options select{font-size:16px}}
/* Explicit failure state is separate from historical diagnostic success. */
.pv-connection[data-state="error"], [data-pv-connection][data-state="error"]{background:#fae8e6;color:#852a22;border-color:#d9aaa4;}
.pv-entry[data-state="error"]::before{color:#aa3026;}
.pv-status{overflow-wrap:anywhere;}
.pv-microphone{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;border:1px solid #d8d2c8;border-radius:14px;background:#f2eee7;color:#59564f;text-align:left}
.pv-microphone svg{width:32px;height:36px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pv-microphone>div{min-width:0;flex:1}.pv-microphone strong,.pv-microphone small{display:block;overflow-wrap:anywhere}.pv-microphone strong{font-size:14px}.pv-microphone small{font-size:12px;margin-top:4px;line-height:1.4}
.pv-microphone[data-state=listening]{background:#e5f1e7;color:#205932;border-color:#afd1b8}.pv-microphone[data-state=speaking]{background:#e9edf8;color:#354675}.pv-microphone[data-state=connecting],.pv-microphone[data-state=paused]{background:#faf0d8;color:#785711}.pv-microphone[data-state=error]{background:#fae8e6;color:#852a22}
.pv-microphone-track{height:5px;background:#0001;border-radius:3px;margin-top:8px;overflow:hidden}.pv-microphone-track span{display:block;width:0;height:100%;background:currentColor}
/* 0.12.10: planned steps and readable execution pace. */
.pv-plan-summary{padding:12px;border:1px solid #d8d2c8;border-radius:12px;background:#f7f4ee;margin:12px 0}.pv-plan-summary h4{margin:0 0 8px}.pv-plan-summary ol{padding-left:22px;max-height:230px;overflow:auto}.pv-plan-summary li{margin:5px 0}
.pv-task-controls label{display:flex;align-items:center;gap:8px;max-width:100%;font-size:13px}.pv-task-controls select{max-width:100%;min-width:0;padding:8px;border:1px solid #d8cdbc;border-radius:9px;background:#fff;color:#1b1b18;font:inherit}
@media(max-width:600px){.pv-panel[data-task-active=true][data-folded=true]{top:12px;bottom:auto;max-height:27dvh;overflow:auto}.pv-task-controls label{width:100%}.pv-task-controls select{flex:1}.pv-task-runner{max-height:40dvh}}
