/* Chat lives in the Interactive workspace (its Chat and Settings sub-tabs) and never changes the teleoperation controls. */
.chat-page{width:100%;max-width:880px;color:#253246;display:flex;flex-direction:column}
.chat-page>*{flex:none}
.chat-page[hidden]{display:none!important}
.chat-settings-page>.chat-settings:first-child{margin-top:0}
/* Wide windows: the robot card (Stop robot, Natural gestures) sits beside the conversation. */
@media(min-width:1100px){
.ia-chat.chat-page{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto auto 1fr auto;grid-template-areas:"head head" "conv robot" "prev robot" "foot foot";column-gap:16px;align-items:start}
.ia-chat .chat-header{grid-area:head}.ia-chat .chat-conversation{grid-area:conv}.ia-chat .chat-footer{grid-area:foot}
.ia-chat .chat-previous{grid-area:prev}
.ia-chat .chat-robot{grid-area:robot;margin-top:0}
.ia-chat .chat-robot-stop{margin-left:0}
.ia-chat:has(>#chat-robot[hidden]){grid-template-columns:minmax(0,880px);grid-template-rows:auto auto auto auto;grid-template-areas:"head" "conv" "prev" "foot"}
}

/* Toolbar: model and voice, one status word, and Clear. */
.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.chat-profile-label{font-size:12px;color:#748580;margin:0;overflow-wrap:anywhere}
.chat-header-actions{display:flex;align-items:center;gap:10px}
.chat-header-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.chat-persona-row{display:flex;align-items:center;gap:8px}.chat-persona-row label{font-size:12px;color:#748580}
.chat-persona-row select{height:26px;padding:0 8px;border:1px solid #dae5df;border-radius:7px;background:#fff;color:#3f5c50;font-size:12px;font-weight:600;outline:0}
.chat-persona-row select:focus{border-color:#80aa94;box-shadow:0 0 0 3px #edf6f0}.chat-persona-row select:disabled{opacity:.55}
.chat-persona-default{box-sizing:border-box;display:inline-flex;align-items:center;gap:5px;height:26px;margin-left:-2px;padding:0 10px 0 8px;border:1px solid #d9c38f;border-radius:13px;background:#fffaf0;color:#9a6f12;font:inherit;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer}
.chat-persona-default svg{display:block;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.chat-persona-default:hover:not(:disabled){background:#fdf1d6;border-color:#d49a1f}.chat-persona-default:focus-visible{outline:0;border-color:#d49a1f;box-shadow:0 0 0 3px #fbecc8}
.chat-persona-default[aria-pressed="true"]{border-color:#e6b84a;background:#fdf1d6;color:#8a5f00;cursor:default}.chat-persona-default[aria-pressed="true"] svg{fill:#e0a526;stroke:#c48a0e}
.chat-persona-default[aria-pressed="true"]:hover{background:#fdf1d6;border-color:#e6b84a}.chat-persona-default:disabled{opacity:.55;cursor:default}
.chat-persona-row .chat-persona-auto{margin-left:6px;font-size:12px;color:#748580}
.chat-route-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chat-route-row[hidden]{display:none}
.chat-route button{height:24px;padding:0 10px;font-size:12px}
.chat-route-note{font-size:12px;color:#748580}
.chat-route-label{font-size:12px;color:#748580;min-width:46px}
.chat-mic-row .chat-route button{height:28px;padding:0 12px}
.chat-mic-tap{min-height:28px;padding:0 12px;border:1px solid #80aa94;border-radius:14px;background:#edf6f0;color:#2f5c4c;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.chat-mic-tap[hidden]{display:none}
.chat-status-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:#eef3f1;color:#63777a;font-size:11px;white-space:nowrap}
.chat-status-badge strong{font-weight:600}
.chat-status-badge>span{width:7px;height:7px;border-radius:50%;background:#a5b3ae}
.chat-status-badge[data-tone=ready]{background:#e8f4ee;color:#2f6f5a}.chat-status-badge[data-tone=ready]>span{background:#4f9b7a}
.chat-status-badge[data-tone=live]{background:#dff3e8;color:#226b4d}.chat-status-badge[data-tone=live]>span{background:#2f8c5f;animation:chat-pulse 1.6s ease-in-out infinite}
.chat-status-badge[data-tone=speaking]{background:#e6f0fa;color:#3f6a92}.chat-status-badge[data-tone=speaking]>span{background:#5b8fc0;animation:chat-pulse 1s ease-in-out infinite}
.chat-status-badge[data-tone=busy]{background:#f3f1e8;color:#7d6c45}.chat-status-badge[data-tone=busy]>span{background:#c2a465}
.chat-status-badge[data-tone=error]{background:#fff1e8;color:#9b6743}.chat-status-badge[data-tone=error]>span{background:#d08a5a}
@keyframes chat-pulse{0%,100%{box-shadow:0 0 0 0 #2f8c5f44}50%{box-shadow:0 0 0 5px #2f8c5f00}}
.chat-clear{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #d6e2dd;border-radius:9px;background:#fff;color:#476e60;font-size:12px;font-weight:600;cursor:pointer}
.chat-clear svg{width:13px;height:13px}.chat-clear:hover:not(:disabled){background:#f2f7f4}.chat-clear:disabled{opacity:.45;cursor:default}

/* Previous chats, under the conversation: closed until asked for (conversation_history.py). */
.chat-previous{margin-top:12px;border:1px solid #e3ece7;border-radius:12px;background:#fbfdfc;min-width:0}
.chat-previous[hidden]{display:none}
.chat-previous svg{display:block;flex:none;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chat-previous-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 14px;border:0;background:transparent;color:#476e60;font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer;border-radius:12px}
.chat-previous-toggle:hover{background:#f2f7f4}
.chat-previous-toggle svg{transition:transform .15s cubic-bezier(.23,1,.32,1)}.chat-previous-toggle[aria-expanded=true] svg{transform:rotate(90deg)}
.chat-previous-body{padding:0 14px 14px;min-width:0}
.chat-previous-body[hidden]{display:none}
.chat-previous-status,.chat-previous-note{margin:4px 0 10px;font-size:12px;line-height:1.5;color:#7d8d93;overflow-wrap:anywhere}
.chat-previous-status[hidden],.chat-previous-note[hidden],.chat-previous-retry[hidden],.chat-previous-view[hidden],.chat-previous-list[hidden]{display:none}
.chat-previous-retry{margin:0 0 10px;min-height:34px;padding:0 12px;border:1px solid #d6e2dd;border-radius:9px;background:#fff;color:#476e60;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.chat-previous-list{display:flex;flex-direction:column;gap:6px;max-height:min(520px,60vh);overflow:auto}
.chat-previous-item{display:flex;flex-direction:column;gap:2px;width:100%;min-height:44px;padding:9px 12px;border:1px solid #e5eeeb;border-radius:10px;background:#fff;color:#3d544b;font:inherit;text-align:left;cursor:pointer}
.chat-previous-item:hover{background:#f6faf8;border-color:#cfe0d8}
.chat-previous-item-top{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-variant-numeric:tabular-nums}.chat-previous-item-top strong{font-weight:600}.chat-previous-item-top span{flex:none;color:#83978e;font-size:12px}
.chat-previous-item-facts{font-size:11px;color:#83978e;overflow-wrap:anywhere}
.chat-previous-item-words{font-size:12px;line-height:1.45;color:#5f7a70;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.chat-previous-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-bottom:10px}
.chat-previous-back{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:0 10px 0 6px;border:1px solid #d6e2dd;border-radius:9px;background:#fff;color:#476e60;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.chat-previous-back svg{transform:rotate(180deg)}
.chat-previous-back:hover{background:#f2f7f4}
.chat-previous-title{flex:1 1 160px;min-width:0;display:flex;flex-direction:column}.chat-previous-title strong{font-size:13px;font-weight:600;color:#3d544b}.chat-previous-title span{font-size:11px;color:#83978e;overflow-wrap:anywhere}
.chat-previous-full{margin-top:0;flex:none}
.chat-previous-rows{display:flex;flex-direction:column;gap:8px;max-height:min(720px,70vh);overflow:auto;padding-right:4px}
.chat-previous-play{display:inline-flex;align-items:center;gap:6px;margin-top:6px;min-height:28px;padding:0 10px 0 8px;border:1px solid #cfdfd7;border-radius:8px;background:#fff;color:#3f735f;font:inherit;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;max-width:100%}
.chat-previous-play svg{width:11px;height:11px;fill:currentColor;stroke:none}
.chat-previous-play:hover{background:#f2f7f4}
.chat-message-user .chat-previous-play{display:flex;margin-left:auto;background:transparent;border-color:rgba(255,255,255,.45);color:#e6f3ee}.chat-message-user .chat-previous-play:hover{background:rgba(255,255,255,.14)}
.chat-previous-rows .chat-message-assistant .chat-previous-play{display:flex}
.chat-previous-event{margin:0;font-size:10.5px;line-height:1.5;color:#7d8d93;overflow-wrap:anywhere}
.chat-previous-event strong{font-weight:600;color:#5f7a70;margin-right:6px}
.chat-previous-event-time{font-variant-numeric:tabular-nums;margin-right:6px}
.chat-previous-event-details{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}
.chat-previous-event-box{display:flex;flex-direction:column;align-items:flex-start}
@media (prefers-reduced-motion:reduce){.chat-previous-toggle svg{transition:none}}

/* Conversation card: the transcript with everything for talking docked below it. */
.chat-conversation{flex:1 0 auto;display:flex;flex-direction:column;min-height:400px;height:calc(100vh - var(--toolbar) - 250px);max-height:720px;border:1px solid #dce5e3;border-radius:16px;background:#fff;box-shadow:0 3px 16px #26374006;overflow:hidden}
.chat-transcript{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;padding:20px 20px 8px;display:flex;flex-direction:column;gap:10px}
.chat-empty{margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;color:#8a979f;padding:18px}
.chat-empty-icon{width:46px;height:46px;border:1px solid #e5eeeb;border-radius:14px;display:grid;place-items:center;background:#f8fbfa;margin-bottom:14px}
.chat-empty-icon svg{width:23px;height:23px;stroke:#94b1a9;stroke-width:1.3;fill:none}
.chat-empty h3{font-size:16px;letter-spacing:-.3px;color:#5f7469;font-weight:600;margin:0 0 6px}.chat-empty p{font-size:12px;line-height:1.6;margin:0;color:#8f9ca3}
.chat-message{max-width:78%;padding:9px 13px;border-radius:14px;background:#f1f6f3}
.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.55;margin:0;color:#3d544b}
.chat-message-label{display:block;font-size:10px;font-weight:650;color:#6f9483;margin-bottom:2px}
.chat-message-assistant{align-self:flex-start;border-bottom-left-radius:5px}
.chat-message-user{align-self:flex-end;background:#2d7567;border-bottom-right-radius:5px}.chat-message-user p{color:#fff}.chat-message-user .chat-message-label{color:#cfe6dd}
.chat-message-aside{opacity:.72}
.chat-message-aside .chat-message-label{font-style:italic}
.chat-message p.chat-message-timing{margin-top:4px;font-size:10px;line-height:1.4;color:#83978e;font-variant-numeric:tabular-nums;cursor:help}
.chat-message p.chat-message-timing strong{font-weight:600;color:#5d7a6e}
/* Where a reply's time went, every step (chat_controls.js stepsPanel). Colours: the validated order of the chart skill; each has its name and number beside it. */
.chat-steps{margin-top:2px;font-size:11px;line-height:1.4;color:#5d7a6e;font-variant-numeric:tabular-nums}
.chat-steps summary{display:inline-flex;align-items:center;gap:4px;min-height:24px;cursor:pointer;font-weight:600;color:#3f735f;list-style:none;-webkit-tap-highlight-color:transparent}
.chat-steps summary::-webkit-details-marker{display:none}
.chat-steps summary:hover{color:#2c5b49}
.chat-steps summary:focus-visible{outline:2px solid #3f735f;outline-offset:2px;border-radius:4px}
.chat-steps-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;box-sizing:border-box}
.chat-steps-icon svg{display:block;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.chat-steps[open] .chat-steps-icon svg{transform:rotate(90deg)}
.chat-steps-bar{display:flex;gap:2px;height:8px;margin:6px 0 4px;background:#fff;border-radius:4px;overflow:hidden}
.chat-steps-part{flex:1 1 0;min-width:3px}
.chat-steps-turn{background:#2a78d6}.chat-steps-network{background:#eb6834}.chat-steps-model{background:#1baf7a}
.chat-steps-voice{background:#eda100}.chat-steps-held{background:#e87ba4}.chat-steps-app{background:#008300}
.chat-steps-where{list-style:none;margin:0 0 6px;padding:0}
.chat-steps-where li{display:flex;align-items:baseline;gap:6px;padding:1px 0;color:#3d544b}
.chat-steps-dot{flex:none;width:8px;height:8px;border-radius:50%;align-self:center}
.chat-steps-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.chat-steps-ms{flex:none;font-weight:600}
.chat-steps-table{width:100%;border-collapse:collapse;table-layout:auto}
.chat-steps-table th{padding:3px 0;font-weight:600;text-align:left;color:#83978e;border-bottom:1px solid #dbe7e1}
.chat-steps-table td{padding:3px 0;vertical-align:top;color:#3d544b;overflow-wrap:anywhere;border-bottom:1px solid #e6efea}
.chat-steps-table .chat-steps-num{padding-left:8px;text-align:right;white-space:nowrap}
.chat-steps-table td.chat-steps-num:last-child{color:#83978e}
.chat-steps-notes{margin:6px 0 2px;padding:0;list-style:none;color:#83978e}
.chat-steps-notes li{padding:1px 0;overflow-wrap:anywhere}
.chat-message-user p.chat-message-timing{color:#bcdccf;text-align:right}
.chat-heard-play{display:block;margin:5px 0 0 auto;padding:2px 8px;border:1px solid rgba(255,255,255,.45);border-radius:6px;background:transparent;color:#e6f3ee;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}
.chat-heard-play:hover{background:rgba(255,255,255,.14)}
.chat-message-overheard{align-self:flex-end;background:transparent;border:1px dashed #b7d2c6;border-bottom-right-radius:5px}.chat-message-overheard p{color:#557267;font-style:italic}.chat-message-overheard .chat-message-label{color:#7f9d90}
.chat-message-action{align-self:flex-start;background:transparent;border:1px dashed #d4e3da;padding:5px 11px}.chat-message-action p{font-size:11px;color:#5f7a70}
.chat-message-system{align-self:center;background:transparent;padding:2px 0}.chat-message-system p{font-size:10px;letter-spacing:.3px;color:#93a29b;text-align:center}

.chat-dock{border-top:1px solid #edf2ef;padding:12px 16px 14px;background:#fbfdfc;display:grid;gap:10px}
.chat-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:11px;background:#eef3f1}
.chat-modes button{min-height:36px;border:0;border-radius:8px;background:transparent;color:#5d7469;font-size:12px;font-weight:600;cursor:pointer}
.chat-modes button:hover:not(:disabled):not([aria-checked=true]){background:#f7faf8}
.chat-modes button[aria-checked=true]{background:#fff;color:#245e50;box-shadow:0 1px 3px #1f3b3214,0 0 0 1px #d4e4dc}
.chat-modes button[data-mode=off][aria-checked=true]{color:#6d7a76}
.chat-modes button:disabled{cursor:default}.chat-modes button:disabled:not([aria-checked=true]){opacity:.45}
.chat-voice-row{display:flex;gap:8px}.chat-voice-row:not(:has(>:not([hidden]))){display:none}
.chat-mic,.chat-talk{flex:1;min-height:46px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;font-size:13px;font-weight:600;cursor:pointer}
.chat-mic{border:1px solid #d5e3db;background:#fff;color:#5c7268}
.chat-mic-dot{width:9px;height:9px;border-radius:50%;background:#b2bfb9;flex:none}
.chat-mic[data-mode=listening]{border-color:#9cc9b0;background:#e3f3ea;color:#22684a}.chat-mic[data-mode=listening] .chat-mic-dot{background:#2f8c5f;animation:chat-pulse 1.6s ease-in-out infinite}
.chat-mic[data-mode=armed]{border-color:#bfdacb;background:#f0f8f3;color:#3b725a}.chat-mic[data-mode=armed] .chat-mic-dot{background:#5ea883}
.chat-mic[data-mode=stalled]{border-color:#efc9ad;background:#fff1e8;color:#9b6743}.chat-mic[data-mode=stalled] .chat-mic-dot{background:#d08a5a}
.chat-mic[data-mode=paused]{border-color:#e3d6bb;background:#faf6ec;color:#86693a}.chat-mic[data-mode=paused] .chat-mic-dot{background:#c39b55}
.chat-mic:disabled,.chat-talk:disabled{opacity:.5;cursor:default}
.chat-talk{border:1px solid #d5e3db;background:#f3f9f5;color:#2f6e58;touch-action:none;user-select:none}
.chat-talk>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.chat-talk kbd{font:inherit;font-size:9px;letter-spacing:.6px;padding:2px 5px;border:1px solid currentColor;border-radius:4px;opacity:.55}
.chat-talk.is-held{background:#2d7567;border-color:#2d7567;color:#fff;box-shadow:0 0 0 4px #d8ede3}
.chat-talk.is-held:disabled{opacity:1}                /* X held on the robot's remote */
.chat-interrupt{flex:none;display:inline-flex;align-items:center;gap:7px;padding:0 14px;min-height:46px;border:1px solid #e6c9c4;border-radius:11px;background:#fff;color:#a2453a;font-size:12px;font-weight:650;cursor:pointer}
.chat-interrupt span{font-size:9px}.chat-interrupt:hover{background:#fdf3f1}
.chat-status-message{font-size:11px;line-height:1.5;color:#7d8c92;margin:0;text-align:center;overflow-wrap:anywhere}
.chat-page[data-state=error] .chat-status-message{color:#9b6743}
.chat-vr-voice{font-size:11px;line-height:1.5;color:#5b7d9b;margin:0;text-align:center}
#chat-vr-voice-off{justify-self:center}
.chat-message-form{display:flex;align-items:flex-end;gap:8px;padding:7px 7px 7px 13px;border:1px solid #dfe8e5;background:#fff;border-radius:12px}
.chat-message-form:focus-within{border-color:#93b9a7;box-shadow:0 0 0 3px #eaf5ef}
.chat-message-form textarea{resize:none;flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:13px;line-height:1.5;color:#3f574d;min-height:22px;max-height:120px;padding:5px 0}
.chat-message-form textarea::placeholder{color:#a0aea6}.chat-message-form textarea:disabled{opacity:.6}
.chat-message-form button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:#2d7567;color:#fff;flex:none;cursor:pointer}
.chat-message-form button:disabled{background:#e8eeea;color:#a5b4aa;cursor:default}.chat-message-form button svg{width:15px;height:15px}
.chat-text-button{padding:3px 0;color:#597e74;border:0;background:transparent;font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.chat-text-button:disabled{opacity:.45;cursor:default}

/* Robot actions: one slim bar under the conversation. */
.chat-robot{margin-top:12px;padding:10px 14px;border:1px solid #e3ece7;border-radius:12px;background:#fbfdfc}
.chat-robot-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chat-card-label{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#7b9197}
.chat-robot-status{font-size:11px;font-weight:600;color:#5f7d72;font-variant-numeric:tabular-nums}
.chat-robot-message{flex:1;min-width:120px;font-size:11px;color:#7d8d93;overflow-wrap:anywhere}.chat-robot[data-busy=true] .chat-robot-message{color:#3f735f}
.chat-robot-stop{display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding:7px 12px;border:1px solid #e6c9c4;border-radius:9px;background:#fff;color:#a2453a;font-size:11px;font-weight:700;cursor:pointer}
.chat-natural{margin:0 0 0 auto;font-size:11px;font-weight:600;color:#597e74}.chat-natural+.chat-robot-stop{margin-left:0}
.chat-natural-note{margin:6px 0 0;font-size:11px;color:#7d8d93}
.ds-slider.chat-natural-arms{width:min(100%,260px);margin:8px 0 0 auto}.ds-slider.chat-natural-arms label,.ds-slider.chat-natural-arms output{font-size:11px;font-weight:600;color:#597e74}
.ds-slider.chat-natural-arms input[type=range]{accent-color:var(--green-fill,#34c759)}.ds-slider.chat-natural-arms small{color:#93a39d}.ds-slider.chat-natural-arms:has(input:disabled){opacity:.45}
.chat-robot-stop span{font-size:9px}.chat-robot-stop:hover:not(:disabled){background:#fdf3f1}.chat-robot-stop:disabled{opacity:.5}
.chat-robot-stop:focus-visible,.chat-robot-chip:focus-visible{outline:2px solid #4e8971;outline-offset:2px}
.chat-gestures{margin-top:6px}.chat-gestures summary{cursor:pointer;font-size:11px;font-weight:600;color:#597e74;padding:3px 0}
.chat-gestures-count{margin-left:4px;font-weight:500;color:#93a39d}
.chat-robot-chip[aria-pressed=true]{background:#e7f2ec;border-color:#9cc5b0;color:#2f5e49}
.chat-gesture-detail{display:flex;gap:12px;align-items:flex-start;margin-top:10px;padding:10px;border:1px solid #e3ece7;border-radius:12px;background:#fafcfb}
.chat-gesture-detail video{width:200px;max-width:45%;aspect-ratio:16/9;border-radius:8px;background:#eef3f0;object-fit:cover;flex:none}
.chat-gesture-info{display:grid;gap:5px;min-width:0;justify-items:start}.chat-gesture-info strong{font-size:12px;color:#2f4f45}
.chat-gesture-info p{margin:0;font-size:11px;line-height:1.4;color:#6f7f86}.chat-gesture-video-note{font-size:10px;color:#93a39d}
.chat-gesture-play{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:6px 12px;border:1px solid #9cc5b0;border-radius:999px;background:#fff;color:#2f5e49;font-size:11px;font-weight:600;cursor:pointer;min-height:28px}
.chat-gesture-play svg{display:block;flex:none}.chat-gesture-play:hover:not(:disabled){background:#f1f7f3}.chat-gesture-play:disabled{opacity:.45;cursor:default}
.chat-gesture-play:focus-visible{outline:2px solid #4e8971;outline-offset:2px}.chat-gesture-note{font-size:10px;color:#7d8d93}.chat-gesture-note:empty{display:none}
@media (max-width:520px){.chat-gesture-detail{flex-direction:column}.chat-gesture-detail video{width:100%;max-width:none}}
.chat-robot-group{margin-top:8px}.chat-robot-group>span{display:block;font-size:9px;letter-spacing:1px;font-weight:700;color:#93a39d;text-transform:uppercase;margin-bottom:5px}.chat-robot-group>div{display:flex;flex-wrap:wrap;gap:6px}.chat-robot-subgroup{flex-basis:100%;font-size:10px;color:#93a39d;margin-top:4px}.chat-robot-subgroup:first-child{margin-top:0}
.chat-robot-chip{padding:5px 11px;border:1px solid #d6e4dc;border-radius:999px;background:#fff;color:#48745f;font-size:11px;font-weight:600;cursor:pointer;min-height:28px}.chat-robot-chip:hover:not(:disabled){background:#f1f7f3}.chat-robot-chip:disabled{opacity:.45;cursor:default}

/* Robot audio (folded away): device checks and Unitree's built-in voice. */
.chat-audio-body{padding:2px 17px 14px}
.chat-audio-devices{display:grid;gap:8px;max-width:420px}.chat-audio-devices>div{display:flex;align-items:center;gap:8px;font-size:11px;color:#6f7f86}
.chat-audio-devices strong{font-weight:500;margin-left:auto;color:#6f8a84}
.chat-device-dot{width:6px;height:6px;background:#bac6c7;border-radius:50%;flex:none}.chat-device-dot[data-ready=true]{background:#4f9b7a}
.chat-audio-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}

/* Voice preset with a Play button for a sample. */
.chat-voice-pick{display:flex;gap:8px}.chat-voice-pick select{flex:1}
.chat-voice-play{display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #caddcf;border-radius:7px;background:#fff;color:#2f6e58;font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer}
.chat-voice-play svg{width:11px;height:11px}.chat-voice-play:hover:not(:disabled){background:#f1f7f3}.chat-voice-play:disabled{opacity:.45;cursor:default}
.chat-voice-play.is-playing,.chat-voice-play.is-playing:hover:not(:disabled){background:#2d7567;border-color:#2d7567;color:#fff}
.chat-turn-settings{min-width:0;margin:18px 0 0;padding:0;border:0}.chat-turn-settings legend{padding:0;margin-bottom:10px;font-size:11px;font-weight:600;color:#587367}.chat-turn-settings legend span{margin-left:6px;font-size:10px;font-weight:400;color:#81928a}.chat-settings-grid.chat-turn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.chat-settings-intro{font-size:10px;line-height:1.6;color:#81928a;margin:0 0 14px}.chat-settings-grid.chat-preferences-grid{grid-template-columns:1.1fr 1fr 1.1fr;gap:16px}.chat-settings-grid.chat-voice-settings-grid{grid-template-columns:1.1fr 2.15fr;margin-top:18px;gap:16px}.chat-settings label>span{font-weight:400;color:#93a299;margin-left:4px}.chat-settings .chat-field-help{font-size:10px;line-height:1.55;color:#8b9c92;margin:6px 0 0}.chat-settings-grid textarea{width:100%;min-width:0;padding:9px 10px;border:1px solid #dae5df;border-radius:7px;color:#587367;background:#fff;font-family:inherit;font-size:11px;line-height:1.55;outline:0;box-sizing:border-box;resize:vertical;min-height:62px;max-height:150px}.chat-settings-grid textarea:focus{border-color:#80aa94;box-shadow:0 0 0 3px #edf6f0}.chat-settings-grid textarea::placeholder{color:#a1b0a7}.chat-settings-grid textarea:disabled,.chat-settings input:disabled,.chat-settings select:disabled{background:#f6f8f6;color:#93a198}.chat-settings .chat-custom-voices{border:1px solid #e2eae4;border-radius:10px;margin-top:17px;background:#fafcfb}.chat-settings .chat-custom-voices>summary{padding:11px 13px;font-size:10px}.chat-custom-body{padding:0 13px 13px}.chat-custom-body>p{font-size:11px;color:#7a8e82;line-height:1.6;margin:0 0 12px;max-width:780px}.chat-custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chat-custom-grid label,.chat-key-row label{display:block;font-size:10px;font-weight:550;color:#7a8c85;margin-bottom:6px}.chat-custom-grid input,.chat-custom-grid select,.chat-key-row input{width:100%;min-width:0;padding:9px 10px;border:1px solid #dae5df;border-radius:7px;color:#587367;background:#fff;font-size:11px;outline:0;box-sizing:border-box}.chat-custom-grid input:focus,.chat-key-row input:focus{border-color:#80aa94;box-shadow:0 0 0 3px #edf6f0}.chat-custom-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px}.chat-secondary{padding:8px 12px;font-size:10px;font-weight:600;color:#48745f;border:1px solid #caddcf;background:#fff;border-radius:7px}.chat-secondary:disabled{opacity:.45}.chat-custom-actions a{font-size:10px;color:#5d8772;text-underline-offset:3px}.chat-custom-body .chat-custom-message{font-size:10px;line-height:1.5;color:#85978c;margin:10px 0 0}.chat-custom-body #chat-consent-info{margin-top:12px;border-top:1px solid #e6ede7}.chat-custom-body #chat-consent-info summary{font-size:10px;padding:10px 0 6px;display:list-item;list-style:disclosure-closed}.chat-custom-body #chat-consent-info[open] summary{list-style:disclosure-open}.chat-custom-body #chat-consent-info p,.chat-custom-body #chat-consent-info li{font-size:10px;line-height:1.6;color:#82958a}.chat-custom-body #chat-consent-info ul{padding-left:17px;margin:7px 0;max-height:170px;overflow:auto}.chat-custom-body #chat-consent-info li{margin:6px 0}.chat-key-row{padding-top:16px;margin-top:16px;border-top:1px solid #e8eeea;max-width:620px}.chat-page [hidden]{display:none!important}
.chat-stock-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}.chat-stock-actions .chat-text-button{font-size:9px;font-weight:500}.chat-volume{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:10px;color:#7a8c85}.chat-volume label{min-width:72px}.chat-volume input{width:200px;max-width:55%;accent-color:#4e8971}.chat-volume output{min-width:32px;text-align:right;color:#567d6c;font-variant-numeric:tabular-nums}
.chat-stock-note{display:flex;align-items:flex-start;gap:7px;padding-top:13px;color:#929ba1}.chat-stock-note svg{width:12px;height:12px;flex:none;margin-top:1px}.chat-stock-note p{font-size:9px;line-height:1.45;margin:0}
.chat-settings{border:1px solid #dfe6e6;border-radius:12px;margin-top:16px;background:#ffffffaa}.chat-settings summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 17px;cursor:pointer;font-size:11px;color:#667d74;font-weight:600}.chat-settings summary::-webkit-details-marker{display:none}.chat-settings summary>span:first-child{display:flex;align-items:center;gap:9px}.chat-settings summary svg{width:14px;height:14px;color:#879e95}.chat-settings summary>span:last-child{font-size:10px;font-weight:400;color:#8c9b96}.chat-settings form{padding:3px 17px 14px}.chat-settings-grid{display:grid;grid-template-columns:1.8fr 1.2fr .7fr;gap:13px}.chat-settings-grid label{display:block;font-size:10px;font-weight:550;color:#7a8c85;margin-bottom:6px}.chat-settings-grid input,.chat-settings-grid select{width:100%;min-width:0;padding:9px 10px;border:1px solid #dae5df;border-radius:7px;color:#587367;background:#fff;font-size:11px;outline:0;box-sizing:border-box}.chat-settings-grid input:focus,.chat-settings-grid select:focus{border-color:#80aa94;box-shadow:0 0 0 3px #edf6f0}.chat-settings-grid input::placeholder{color:#a1b0a7}.chat-key-field p{font-size:9px;margin:6px 0 0;color:#99a49f}.chat-settings-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px}.chat-remember{display:flex;align-items:center;gap:7px;font-size:10px;color:#819087}.chat-remember input{accent-color:#4e8971;margin:0}.chat-settings-bottom button{padding:8px 12px;font-size:10px;font-weight:600;color:#48745f;border:1px solid #caddcf;background:#f7fbf8;border-radius:7px;white-space:nowrap}.chat-settings-bottom button:disabled{opacity:.45}.chat-settings-message{font-size:10px;color:#7e9588;line-height:1.4;margin:7px 0 0;min-height:0}.chat-settings-message:empty{display:none}.chat-footer{display:flex;justify-content:space-between;gap:15px;margin-top:12px;font-size:9px;color:#97a3a5;line-height:1.5}.chat-footer>span:first-child{display:flex;align-items:center;gap:6px}.chat-footer svg{width:12px;height:12px;flex:none}.chat-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-page button:focus-visible,.chat-settings summary:focus-visible{outline:2px solid #70a994;outline-offset:3px}
.chat-stock-note{margin-top:14px;padding-top:12px;border-top:1px solid #edf1ee}.chat-stock-note p{font-size:11px;line-height:1.5}
.chat-stock-actions{justify-content:flex-start;gap:16px;margin-top:6px}.chat-stock-actions .chat-text-button{font-size:11px}
.chat-settings{margin-top:12px}.chat-footer{margin-top:12px}
@media(max-width:800px){.chat-settings-grid.chat-preferences-grid{grid-template-columns:1fr 1fr}.chat-settings-grid.chat-voice-settings-grid,.chat-custom-grid{grid-template-columns:1fr}.chat-settings-grid.chat-preferences-grid>div:last-child{grid-column:1/-1}.chat-message{max-width:90%}}
@media(max-width:520px){.chat-settings-grid.chat-turn-grid{grid-template-columns:1fr}.chat-settings-bottom{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.chat-page *{animation:none!important;transition:none!important}}
.chat-settings .chat-prompt{margin-top:8px}.chat-interrupt-tuning{margin-top:14px!important}.chat-settings-grid.chat-interrupt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-top:8px}.chat-interrupt-grid .chat-interrupt-wide{grid-column:1/-1}.chat-interrupt-grid .ds-slider label,.chat-interrupt-grid .ds-slider output{font-size:11px;font-weight:600;color:#597e74}.chat-interrupt-grid .ds-slider input[type=range]{accent-color:var(--green-fill,#34c759)}.chat-interrupt-grid .ds-slider small{color:#93a39d}.chat-interrupt-grid .ds-slider:has(input:disabled){opacity:.45}.chat-interrupt-grid textarea{width:100%;box-sizing:border-box;resize:vertical}.chat-interrupt-grid input[type=number]{width:100%;box-sizing:border-box}.chat-interrupt-check{display:flex;align-items:flex-end;padding-bottom:6px}.chat-interrupt-grid label span{margin-left:4px;font-weight:400;color:#81928a}.chat-settings .chat-prompt summary{display:block;list-style:revert;padding:4px 0;font-size:10px;font-weight:600;color:#597e74}.chat-prompt pre{white-space:pre-wrap;word-break:break-word;font:10px/1.55 ui-monospace,Consolas,monospace;color:#40524b;background:#f4f8f6;border:1px solid #e3ebe7;border-radius:7px;padding:9px 11px;max-height:260px;overflow:auto;margin:6px 0 0}

/* Interactive's header (every sub-tab): Tony's state, the talk switch Always on · Push to talk · Off,
   and Hold to talk beside it in Push to talk. */
.ia-voice-slot{flex:0 1 auto;min-width:0}
.voice-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.voice-bar-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--label-2);white-space:nowrap}
.voice-bar-status strong{font-weight:600}
.voice-bar-status>span{width:7px;height:7px;border-radius:50%;background:#a5b3ae}
.voice-bar-status[data-tone=ready]{color:#2f6f5a}.voice-bar-status[data-tone=ready]>span{background:#4f9b7a}
.voice-bar-status[data-tone=live]{color:#226b4d}.voice-bar-status[data-tone=live]>span{background:#2f8c5f;animation:chat-pulse 1.6s ease-in-out infinite}
.voice-bar-status[data-tone=speaking]{color:#3f6a92}.voice-bar-status[data-tone=speaking]>span{background:#5b8fc0;animation:chat-pulse 1s ease-in-out infinite}
.voice-bar-status[data-tone=busy]{color:#7d6c45}.voice-bar-status[data-tone=busy]>span{background:#c2a465}
.voice-bar-status[data-tone=error]{color:#9b6743}.voice-bar-status[data-tone=error]>span{background:#d08a5a}
.voice-modes{display:inline-flex;gap:2px;padding:3px;border-radius:11px;background:var(--fill-2)}
.voice-modes button{height:30px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--label-2);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.voice-modes button:hover:not(:disabled):not([aria-checked=true]){color:var(--label)}
.voice-modes button[aria-checked=true]{background:var(--surface);color:#226b4d;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.voice-modes button[data-mode=off][aria-checked=true]{color:var(--label)}
.voice-modes button:disabled{cursor:default}.voice-modes button:disabled:not([aria-checked=true]){opacity:.45}
.voice-modes button:focus-visible,.voice-bar-talk:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.voice-bar-talk{display:inline-flex;align-items:center;height:36px;padding:0 16px;border:1px solid #d5e3db;border-radius:999px;background:#f3f9f5;color:#2f6e58;font-size:13px;font-weight:650;white-space:nowrap;cursor:pointer;touch-action:none;user-select:none}
.voice-bar-talk:disabled{opacity:.5;cursor:default}
.voice-bar-talk.is-held{background:#2d7567;border-color:#2d7567;color:#fff;box-shadow:0 0 0 3px #d8ede3}
.voice-bar-talk.is-held:disabled{opacity:1}
.voice-bar-talk[hidden]{display:none}
.chat-dock>.voice-bar{justify-content:center}

/* Linker hands hot or closed too long (19 Oct 2026). */
#chat-robot-message.is-warning{color:var(--orange);font-weight:600}

/* Instant cloning: calm account panel, one focused, keyboard-dismissable local draft. */
.chat-clone-account { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line, #dce2e9); }
.chat-clone-toolbar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 12px 0; }
.chat-clone-toolbar select { flex: 1; min-width: 0; }
.chat-clone-toolbar strong { flex: 1; }
.chat-clone-advanced { margin: 18px 0 8px; }
.chat-clone-advanced summary { cursor: pointer; font-size: 13px; margin-bottom: 12px; }
.chat-clone-dialog { width: min(620px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); box-sizing: border-box; overflow: auto; padding: 26px; border: 1px solid #dce2e9; border-radius: 20px; background: #fff; color: #17212f; box-shadow: 0 24px 80px #17212f30; font: 14px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.chat-clone-dialog::backdrop { background: #14203466; }
.chat-clone-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.chat-clone-dialog h2 { margin: 2px 0 10px; font-size: 24px; letter-spacing: -.6px; }
.chat-clone-dialog-heading button { width: 32px; height: 32px; border: 0; border-radius: 50%; background: #f0f3f6; font-size: 23px; cursor: pointer; }
.chat-clone-dialog label:not(.chat-clone-consent):not(.chat-clone-upload) { display: block; font-weight: 600; margin: 16px 0 6px; }
.chat-clone-dialog input[type=text], .chat-clone-dialog input:not([type]) { width: 100%; box-sizing: border-box; font: inherit; padding: 10px 12px; border: 1px solid #cdd5df; border-radius: 9px; }
.chat-clone-dialog button { font: inherit; }
.chat-clone-dialog .chat-secondary, .chat-clone-upload { padding: 9px 13px; border: 1px solid #ccd5e0; border-radius: 9px; color: #1b426e; background: #f7f9fc; cursor: pointer; }
.chat-clone-dialog button:disabled { opacity: .5; cursor: default; }
.chat-clone-dialog :focus-visible { outline: 3px solid #4085ce; outline-offset: 3px; }
.chat-clone-guidance { background: #f4f7fa; border-radius: 12px; padding: 14px 16px; margin: 18px 0; font-size: 13px; }
.chat-clone-guidance p { margin: 6px 0; }
.chat-clone-dialog a { color: #245b96; }
.chat-clone-dialog details { padding: 4px 0 12px; }
.chat-clone-dialog details summary { cursor: pointer; font-weight: 600; }
#clone-script { max-height: 180px; overflow: auto; }
.chat-clone-upload { position: relative; overflow: hidden; display: inline-block; }
.chat-clone-upload input { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.chat-clone-upload:focus-within { outline: 3px solid #4085ce; outline-offset: 3px; }
.chat-clone-samples { list-style: none; margin: 12px 0; padding: 0; }
.chat-clone-samples li { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #e4e9ef; padding: 10px 0; }
.chat-clone-samples li span { flex: 1; overflow-wrap: anywhere; min-width: 0; }
.chat-clone-dialog audio { width: 100%; margin: 8px 0 16px; }
.chat-clone-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; margin: 20px 0; }
.chat-clone-consent input { margin-top: 4px; flex: 0 0 auto; }
#clone-create { color: white; background: #245e9d; border-color: #245e9d; font-weight: 600; }
#clone-message { font-size: 13px; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .chat-clone-dialog { padding: 20px; }
  .chat-clone-account .chat-clone-toolbar select { flex-basis: 100%; }
  .chat-clone-dialog h2 { font-size: 21px; }
}

/* Quiet last-reply timing, with the breakdown disclosed on demand. */
.chat-latency{margin:8px 2px 0;color:#667873;font-size:11px;line-height:1.5}
.chat-latency[hidden]{display:none!important}
.chat-latency summary{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-height:28px;cursor:pointer;list-style:none}
.chat-latency summary::-webkit-details-marker{display:none}
.chat-latency summary::after{content:'⌄';font-size:12px;line-height:1;transform:translateY(-2px)}
.chat-latency[open] summary::after{transform:rotate(180deg)}
.chat-latency strong{font-weight:550;font-variant-numeric:tabular-nums;color:#50665d}
.chat-latency summary:focus-visible{outline:2px solid #70a994;outline-offset:3px;border-radius:4px}
.chat-latency-detail{border-top:1px solid #e5ebe8;padding:9px 0 1px;margin-top:3px}
.chat-latency-detail p{margin:0 0 6px;overflow-wrap:anywhere}
.chat-latency-detail dl{margin:0;display:grid;gap:4px}
.chat-latency-detail dl>div{display:flex;justify-content:space-between;gap:16px}
.chat-latency-detail dl>div[hidden]{display:none}
.chat-latency-detail dd{margin:0;font-variant-numeric:tabular-nums}
.chat-latency-detail .chat-latency-note{margin-top:7px;font-size:10px;color:#72817b}
@media(max-width:600px){.chat-latency summary{min-height:36px}}
/* Chat › People (people_controls.js) */
.pp-card summary svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.pp-body{padding:2px 17px 14px}
.pp-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pp-row label[for]{display:block;font-size:11px;font-weight:600;color:#587367}.pp-row p{font-size:10px;line-height:1.55;color:#8b9c92;margin:4px 0 0;max-width:560px}
.pp-now{margin:12px 0 0;font-size:11px;font-weight:600;color:#2d7567}
.pp-live{margin-top:12px;padding:12px 14px;border-radius:10px;background:#f6faf7;border:1px solid #e3ede7}
.pp-live-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.pp-live-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4e8971}.pp-live-age{font-size:10px;color:#8b9c92;font-variant-numeric:tabular-nums}
.pp-live-who{margin:6px 0 8px;font-size:14px;font-weight:600;color:#2d4a40;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.pp-live-who.pp-live-none{color:#8b9c92;font-weight:500}
.pp-live-rows{list-style:none;margin:0;padding:0;display:grid;gap:4px}.pp-live-rows li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:24px;font-size:11px;color:#40564c;font-variant-numeric:tabular-nums}
.pp-live-kind{color:#7a8c85}.pp-live-name{min-width:0;overflow-wrap:anywhere}.pp-live-verdict{font-size:10px;padding:2px 8px;border-radius:999px;background:#eef3ef;color:#7a8c85;white-space:nowrap}.pp-live-verdict.pp-live-match{background:#e3f3ea;color:#2d7567}.pp-live-verdict.pp-live-probable{background:#fbf3e2;color:#8a6a21}
#pp-card .pp-live .pp-live-toggle{margin-top:4px;min-height:32px;padding:0;font-size:11px;font-weight:600}.pp-live-feed{margin:4px 0 0;padding-left:18px;font-size:10px;line-height:1.7;color:#587367;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pp-live-cadence{margin:6px 0 0;font-size:10px;line-height:1.55;color:#8b9c92}
.pp-enrolling{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 12px;border-radius:9px;background:#eef6f1;font-size:11px;color:#3f6a5a}
.pp-list{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid #e8eeea}
.pp-person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef3ef}.pp-person strong{display:block;font-size:11px;color:#3f5a50}.pp-person span{display:block;font-size:10px;color:#8b9c92;margin-top:2px}
.pp-actions{display:flex;gap:14px;flex:none}
.chat-settings form.pp-add{padding:0}.pp-add{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.pp-add input[type=text]{flex:1 1 160px;min-width:0;margin:0;height:32px;padding:0 10px;border:1px solid #dae5df;border-radius:7px;font:inherit;font-size:11px!important;color:#587367;outline:0;box-sizing:border-box}.pp-add .chat-secondary{height:32px}.pp-add input[type=text]:focus{border-color:#80aa94;box-shadow:0 0 0 3px #edf6f0}
.pp-consent{display:flex;align-items:center;gap:6px;font-size:10px;color:#7a8c85}.pp-consent input{accent-color:#4e8971;margin:0}
.pp-option{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:10px;color:#587367}
.chat-who{border:0;background:transparent;padding:0;margin:0 0 2px;font-family:inherit;font-size:10px;font-weight:650;line-height:inherit;cursor:pointer;text-align:left;text-decoration:underline dotted;text-underline-offset:3px}.chat-who:focus-visible{outline:2px solid #70a994;outline-offset:2px}
@media(max-width:520px){.pp-person{flex-wrap:wrap}.pp-add{align-items:stretch}}
.pp-person{flex-wrap:wrap}.pp-actions{flex-wrap:wrap;justify-content:flex-end}
.pp-media{flex:1 0 100%;margin-top:6px;padding:10px 12px;border-radius:9px;background:#f6faf7;font-size:10px;color:#7a8c85}
.pp-media .pp-media-head{margin:0 0 6px;font-size:10px;font-weight:600;color:#587367}.pp-media .pp-media-head:not(:first-child){margin-top:10px}
.pp-media .pp-media-empty{margin:0;font-size:10px;color:#8b9c92}
.pp-pictures{display:flex;flex-wrap:wrap;gap:6px}.pp-pictures figure{margin:0}.pp-pictures img{display:block;width:72px;height:72px;object-fit:cover;border-radius:8px;background:#e8eeea}.pp-pictures .pp-old img{opacity:.55}
.pp-clips{list-style:none;margin:0;padding:0;display:grid;gap:6px}.pp-clips li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;min-width:0}.pp-clips span{display:inline;margin:0}.pp-clips audio{height:32px;width:min(240px,60%)}.pp-clips .pp-clip-words{flex:1 0 100%;order:3;font-size:11px;color:#40564c;overflow-wrap:anywhere}
.pp-talks{list-style:none;margin:0;padding:0;display:grid;gap:6px}.pp-talks li{min-width:0}.pp-talks span{font-size:10px;color:#7a8c85}.pp-talks p{margin:2px 0 0;font-size:11px;color:#40564c;overflow-wrap:anywhere}
/* Settings › Voice: the persona whose voice this is, and adding, editing and deleting personas (renderVoicePersona). */
.chat-voice-persona{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;padding:12px;border:1px solid #d9c38f;border-radius:10px;background:#fffaf0;color:#6b5418;min-width:0}
.chat-voice-persona[hidden],.chat-persona-editor[hidden],#chat-persona-about-field[hidden],#chat-persona-kind-field[hidden],#chat-persona-name-help[hidden],#chat-persona-original[hidden]{display:none}
.chat-voice-persona label{font-size:12px;font-weight:650;color:#4f3d0c}
.chat-voice-persona-pick{display:flex;flex-direction:column;gap:4px;min-width:0}
.chat-voice-persona .chat-field-help{margin:0;color:#6b5418;overflow-wrap:anywhere}
.chat-persona-actions{display:flex;flex-wrap:wrap;gap:8px}
.chat-persona-button{min-height:32px;padding:6px 12px;border:1px solid #d9c38f;border-radius:8px;background:#fff;color:#6b5418;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.chat-persona-button:disabled{opacity:.5;cursor:default}
#chat-persona-edit{display:inline-flex;align-items:center;justify-content:center;gap:6px}
#chat-persona-edit svg{display:block;flex:none;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#chat-persona-name-help{margin:6px 0 0}
#chat-persona-original{margin-top:6px;padding:8px 0;min-height:40px;border:0;background:none;color:#7c590d;font:inherit;font-size:13px;font-weight:600;text-align:left;text-decoration:underline;cursor:pointer}
.chat-persona-primary{background:#9a6f12;border-color:#9a6f12;color:#fff}
.chat-persona-danger.armed{background:#b3261e;border-color:#b3261e;color:#fff}
.chat-persona-editor{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #ecdcb3;border-radius:8px;background:#fff}
.chat-persona-editor input,.chat-persona-editor textarea{box-sizing:border-box;width:100%}
@media (max-width:640px){.chat-persona-button{min-height:40px;padding:8px 14px;font-size:14px}}

/* Chat › Sandbox (chat_sandbox.py): a chat on this laptop only while compute runs on Tony. On, the conversation is
   amber with a striped banner at its top, so nobody takes it for the real Tony. */
.chat-sandbox-switch{margin-top:0;font-weight:600;color:#8a5a00}.chat-sandbox-switch[hidden]{display:none}
.chat-sandbox-switch input:checked{background:#d98a00}
.chat-sandbox-banner{flex:none;display:flex;align-items:flex-start;gap:10px;margin:12px 12px 0;padding:10px 14px;border:2px solid #d98a00;border-radius:12px;
  background:repeating-linear-gradient(135deg,#fff4dc 0 14px,#ffeac0 14px 28px);color:#5c3b00;font-size:13px;line-height:1.4}
.chat-sandbox-banner[hidden]{display:none}
.chat-sandbox-banner strong{flex:none;padding:2px 8px;border-radius:6px;background:#d98a00;color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.chat-page[data-sandbox="on"] .chat-conversation{box-shadow:0 0 0 2px #d98a00;border-radius:14px}
.chat-page[data-sandbox="on"] .chat-footer{color:#8a5a00}
.chat-settings-page[data-sandbox="on"]::before{content:"Sandbox settings: they change only the laptop sandbox, not Tony.";display:block;margin:0 0 12px;
  padding:10px 14px;border:2px solid #d98a00;border-radius:12px;background:#fff4dc;color:#5c3b00;font-size:13px;font-weight:600}

/* Settings › Voice: the ElevenLabs voices (chat_clone_studio.js). The chosen voice by name, then search and a list. */
.chat-clone-account{display:grid;gap:12px;min-width:0;margin:18px 0;padding-top:0;border-top:0}
.chat-clone-account[hidden]{display:none}
.cv-avatar{--cv-hue:220;box-sizing:border-box;display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:hsl(var(--cv-hue) 55% 92%);color:hsl(var(--cv-hue) 45% 32%);font-size:15px;font-weight:650;line-height:1}
.cv-text{display:flex;flex-direction:column;flex:1;gap:1px;min-width:0;text-align:left}
.cv-text strong{font-size:15px;font-weight:600;line-height:1.3;color:var(--label,#1d1d1f);overflow-wrap:anywhere}
.cv-meta{font-size:13px;line-height:1.35;color:var(--label-2,#6e6e73);overflow-wrap:anywhere}
.cv-eyebrow{font-size:12px;font-weight:600;line-height:1.35;color:var(--label-2,#6e6e73)}
.cv-current{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;border-radius:14px;background:var(--fill,#f5f5f7)}
.cv-current .cv-avatar{width:44px;height:44px;font-size:18px}
.cv-current strong{font-size:16px}
.cv-play,.cv-icon-button{box-sizing:border-box;display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--label-2,#6e6e73);cursor:pointer}
.cv-play[hidden]{display:none}
.cv-play svg{display:block;width:18px;height:18px;fill:currentColor;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.cv-current .cv-play{background:var(--surface,#fff);box-shadow:inset 0 0 0 1px var(--hairline,#e5e5ea);color:var(--label,#1d1d1f)}
.cv-play:hover,.cv-icon-button:hover{background:var(--fill-2,#ececf0);color:var(--label,#1d1d1f)}
.cv-play.is-on{background:var(--accent-wash,#e8f0fe);color:var(--accent-text,#0a58ca)}
.cv-spin{box-sizing:border-box;display:block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cv-spin .7s linear infinite}
@keyframes cv-spin{to{transform:rotate(360deg)}}
.cv-browser{display:grid;gap:0;min-width:0;border:1px solid var(--hairline,#e5e5ea);border-radius:14px;overflow:hidden}
.cv-browser[hidden]{display:none}
.cv-search{position:relative;display:flex;align-items:center;border-bottom:1px solid var(--hairline,#e5e5ea)}
.cv-search>svg{position:absolute;left:14px;display:block;width:17px;height:17px;fill:none;stroke:var(--label-3,#8e8e93);stroke-width:1.8;stroke-linecap:round;pointer-events:none}
.cv-search input,.set-hub .cv-search input{box-sizing:border-box;width:100%;height:46px;margin:0;padding:0 44px 0 40px;border:0;border-radius:0;background:transparent;box-shadow:none;font:inherit;font-size:15px;color:var(--label,#1d1d1f);outline:0}
.cv-search input::-webkit-search-cancel-button{display:none}
.cv-search input::placeholder{color:var(--label-3,#8e8e93)}
.cv-search:focus-within{box-shadow:inset 0 -2px 0 var(--accent,#0a84ff)}
.cv-search-clear{position:absolute;right:7px;box-sizing:border-box;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--fill-2,#ececf0);cursor:pointer}
.cv-search-clear[hidden]{display:none}
.cv-search-clear svg{display:block;width:14px;height:14px;fill:none;stroke:var(--label-2,#6e6e73);stroke-width:2;stroke-linecap:round}
.cv-list{position:relative;max-height:372px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.cv-group{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;gap:8px;margin:0;padding:9px 14px 6px;background:var(--surface,#fff);font-size:12px;font-weight:650;line-height:1.3;color:var(--label-2,#6e6e73)}
.cv-group span{font-weight:500;color:var(--label-3,#8e8e93)}
.cv-row{display:flex;align-items:center;gap:2px;min-width:0;padding-right:8px;border-radius:0}
.cv-row:hover{background:var(--fill,#f5f5f7)}
.cv-row.is-on{background:var(--accent-wash,#e8f0fe)}
.cv-pick{display:flex;align-items:center;flex:1;gap:12px;min-width:0;min-height:56px;padding:8px 8px 8px 14px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.cv-pick:disabled{cursor:default}
.cv-row:has(.cv-pick:disabled:not([aria-pressed=true])) .cv-text{opacity:.6}
.cv-pick:focus-visible,.cv-play:focus-visible,.cv-icon-button:focus-visible{outline:2px solid var(--accent,#0a84ff);outline-offset:-2px}
.cv-check{display:none;flex:none;width:20px;height:20px;fill:none;stroke:var(--accent-text,#0a58ca);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cv-row.is-on .cv-check{display:block}
.cv-none{margin:0;padding:22px 14px;font-size:14px;color:var(--label-2,#6e6e73);text-align:center}
.cv-loading{display:grid;gap:10px;padding:14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--hairline,#e5e5ea)}
.cv-loading[hidden]{display:none}
.cv-loading span{display:block;height:38px;border-radius:10px;background:var(--fill,#f5f5f7);animation:cv-pulse 1.2s ease-in-out infinite alternate}
.cv-loading span:nth-child(2){animation-delay:.15s}.cv-loading span:nth-child(3){animation-delay:.3s}
@keyframes cv-pulse{from{opacity:1}to{opacity:.45}}
.cv-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 16px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--hairline,#e5e5ea);text-align:center}
.cv-empty[hidden]{display:none}
.cv-empty p{margin:0;font-size:14px;color:var(--label-2,#6e6e73);overflow-wrap:anywhere}
#clone-account-message:empty{display:none}
#clone-account-message{margin:0}
.cv-foot{display:flex;align-items:center;gap:8px;min-width:0}
.cv-foot[hidden]{display:none}
.cv-foot #clone-quota{flex:1;min-width:0;margin:0;font-size:13px}
.cv-icon-button svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cv-icon-button.is-busy svg{animation:cv-spin .9s linear infinite}
@media(prefers-reduced-motion:reduce){.cv-spin,.cv-icon-button.is-busy svg{animation-duration:2.4s}.cv-loading span{animation:none}}
@media(max-width:640px){
  .cv-list{max-height:min(52dvh,372px)}
  .cv-search input,.set-hub .cv-search input{font-size:16px}
  .cv-foot{flex-wrap:wrap}
  .cv-foot #clone-quota{flex-basis:calc(100% - 48px)}
  .cv-foot #clone-open{flex:1 1 100%;min-height:44px}
}
