/* A calm, opaque conversation surface over the animated desktop. */
.window--chat { background:#fff; border:1px solid #e2e0db; border-radius:20px; }
.window--chat::after { display:none; }
.window--chat .win-bar { background:#f3f2ee; border-bottom:1px solid #e6e4df; }
.window--chat .win-body { display:flex; flex-direction:column; padding:0; overflow:hidden; }
.pchat { --ink:#242b32; --muted:#707880; --blue:#285789; display:flex; flex:1; flex-direction:column; min-height:0; color:var(--ink); }
.pchat * { box-sizing:border-box; }
.pchat [hidden] { display:none!important; }
.pchat button,.pchat textarea { font:inherit; }
.pchat button,.pchat a,.pchat summary { -webkit-tap-highlight-color:transparent; }
.pchat-head { display:flex; align-items:center; gap:11px; padding:19px 28px; }
.pchat-mark { --avatar-size:48px; flex:none; position:relative; overflow:hidden; width:var(--avatar-size); height:var(--avatar-size); background:#f1eee7; border-radius:50%; }
.pchat-mark img { position:absolute; top:calc(var(--avatar-size) / -12); left:50%; width:calc(var(--avatar-size) * 3); height:calc(var(--avatar-size) * 3); max-width:none; transform:translateX(-50%); image-rendering:pixelated; }
.pchat-head strong { display:block; font-size:14px; font-weight:650; }
.pchat-reset { display:flex; align-items:center; gap:6px; margin-left:auto; padding:8px 9px; background:transparent; border:0; border-radius:8px; color:#686f77; font-size:20px!important; cursor:pointer; }
.pchat-reset span { font-size:12px; }
.pchat-reset:hover { background:#eeede9; }
.pchat-scroll { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:0 38px 22px; scrollbar-width:thin; scrollbar-color:#d1d5d8 transparent; }
.pchat-welcome { padding:clamp(18px,3vh,32px) 0 22px; max-width:580px; margin:auto; }
.pchat .pchat-welcome h2 { margin:0 0 28px; font-size:clamp(30px,4vw,44px); line-height:1.14; letter-spacing:-.045em; font-weight:550; color:#27333c; text-wrap:pretty; }
.pchat-starters { display:grid; grid-template-columns:1fr 1fr; gap:9px; max-width:480px; }
.pchat-starters button { border:1px solid #dbe1e6; border-radius:13px; padding:13px 15px; background:#fff; color:#405264; font-size:13px; text-align:left; cursor:pointer; transition:background .15s,border-color .15s,transform .15s; }
.pchat-starters button::after { content:'↗'; float:right; margin-left:8px; color:#8ca1b2; }
.pchat-starters button:hover { background:#eef3f7; border-color:#afc3d5; transform:translateY(-1px); }
.pchat-message { margin:18px 0 26px; }
.pchat-speaker { display:block; color:#7a8085; font-size:11px; font-weight:550; margin-bottom:8px; }
.pchat-text { font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
.pchat-text p { margin:0 0 12px; }.pchat-text p:last-child { margin:0; }
.pchat-text strong { font-weight:650; }
.pchat-text ul { padding-left:21px; margin:10px 0; }.pchat-text li+li { margin-top:7px; }
.pchat-message--user { margin-left:auto; width:fit-content; max-width:88%; }
.pchat-message--user .pchat-speaker { text-align:right; }
.pchat-message--user .pchat-text { padding:11px 16px; background:#e7edf3; color:#314c66; border-radius:17px 17px 4px 17px; white-space:pre-wrap; }
.pchat-message--assistant { padding-right:16px; }
.pchat-cards { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; }
.pchat-cards:empty { display:none; }
.pchat-cards button,.pchat-cards a { display:block; padding:11px 13px; text-decoration:none; text-align:left; border:1px solid #dce2e6; border-radius:10px; background:#f3f6f8; cursor:pointer; }
.pchat-cards strong { display:block; color:#365c7d; font-size:12px; font-weight:600; }
.pchat-cards span { display:block; color:#7b8791; font-size:10px; margin-top:4px; }
.pchat-cards :is(button,a):hover { border-color:#a6bacb; background:#edf2f6; }
.pchat-copy { display:block; padding:5px 0; margin-top:8px; border:0; background:none; font-size:10px!important; color:#858d94; cursor:pointer; }
.pchat-copy:hover { color:#285789; }
.pchat-bottom { flex:none; padding:8px 28px 17px; background:#fff; }
.pchat-suggestions { display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; padding:3px 0 12px; }
.pchat-suggestions:empty { display:none; }
.pchat-suggestions button { flex:none; max-width:100%; border:1px solid #dbe1e7; border-radius:20px; padding:8px 12px; color:#5c7183; font-size:12px; background:#fff; cursor:pointer; }
.pchat-suggestions button:hover { border-color:#97aec3; background:#f0f5f8; }
.pchat-form { display:flex; align-items:flex-end; gap:10px; border:1px solid #d7dce0; background:#fff; border-radius:18px; padding:12px; box-shadow:0 3px 12px #293b4b06; transition:border-color .15s,box-shadow .15s; }
.pchat-form:focus-within { border-color:#9cb2c6; box-shadow:0 0 0 3px #477cac0a; }
.pchat-form textarea { flex:1; min-width:0; resize:none; border:0; outline:0; padding:7px 4px 5px; font-size:15px; line-height:22px; max-height:116px; background:transparent; color:#293b4b; }
.pchat-form textarea::placeholder { color:#98a0a7; }
.pchat-form textarea:disabled { opacity:.65; }
.pchat-send { flex:none; width:36px; height:36px; display:grid; place-items:center; padding:8px; border:0; border-radius:12px; background:#305a7f; color:white; cursor:pointer; }
.pchat-send svg { width:22px; height:22px; }.pchat-send:disabled { background:#e9edf0; color:#a2adb6; cursor:default; }
.pchat-stop { display:block; width:11px; height:11px; border-radius:2px; background:currentColor; }
.pchat-foot { display:flex; justify-content:flex-end; gap:12px; margin:10px 3px 0; font-size:10px; color:#8b9298; }
.pchat-preview { margin-right:auto; }
.pchat-foot details { position:relative; }.pchat-foot summary { cursor:pointer; list-style:none; }.pchat-foot summary::-webkit-details-marker { display:none; }
.pchat-foot details>div { position:absolute; z-index:5; right:0; bottom:25px; width:min(280px,calc(100vw - 70px)); padding:14px; border:1px solid #dce0e3; border-radius:12px; background:#fff; box-shadow:0 8px 30px #24374914; color:#687681; font-size:12px; line-height:1.6; }
.pchat-error { padding:8px 4px 12px; color:#8a513b; font-size:12px; line-height:1.5; }
.pchat-error button { border:0; background:none; text-decoration:underline; color:inherit; font-size:12px; cursor:pointer; margin-left:8px; }
.pchat-interrupted { display:block; margin-top:8px; color:#9b8170; font-size:11px; }
.pchat-typing { display:flex; gap:5px; align-items:center; height:27px; }
.pchat-typing i { width:6px; height:6px; border-radius:50%; background:#859eb4; animation:chat-think 1.25s ease-in-out infinite; }
.pchat-typing i:nth-child(2) { animation-delay:.16s; }.pchat-typing i:nth-child(3) { animation-delay:.32s; }
@keyframes chat-think { 0%,70%,100% { opacity:.4;transform:translateY(0); } 35% { opacity:1;transform:translateY(-4px); } }
.pchat :is(button,a,summary,[tabindex]):focus-visible { outline:2px solid #658fb5; outline-offset:4px; }
.pchat-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:719px) {
 .window--chat { border-radius:17px; }
 .pchat-head { padding:15px 20px; }.pchat-scroll { padding:0 22px 15px; }.pchat-bottom { padding:8px 16px 13px; }
 .pchat-welcome { padding-top:20px; }.pchat .pchat-welcome h2 { font-size:clamp(28px,8.5vw,35px); }
 .pchat-starters { grid-template-columns:1fr; gap:8px; }.pchat-starters button { padding:11px 13px; }
 .pchat-form textarea { font-size:16px; }.pchat-message--assistant { padding-right:0; }.pchat-reset span { display:none; }
 .pchat-message--user { max-width:94%; }.pchat-text { font-size:15px; }
}
@media(max-height:600px) { .pchat-welcome { padding-top:15px; }.pchat-head { padding-top:10px;padding-bottom:10px; } }
#desktop.workspace-compact .pchat-head { padding:8px 20px; }
#desktop.workspace-compact .pchat-mark { --avatar-size:32px; }
#desktop.workspace-compact .pchat-reset { padding:4px 8px; }
#desktop.workspace-compact .pchat-scroll { padding:0 22px 12px; }
#desktop.workspace-compact .pchat-welcome { padding:8px 0 16px; }
#desktop.workspace-compact .pchat-welcome h2 { font-size:28px; margin-bottom:18px; }
#desktop.workspace-compact .pchat-bottom { padding:4px 20px 8px; }
#desktop.workspace-compact .pchat-form { padding:6px; border-radius:13px; }
#desktop.workspace-compact .pchat-form textarea { padding:4px; }
#desktop.workspace-compact .pchat-send { width:32px; height:32px; border-radius:9px; }
#desktop.workspace-compact .pchat-foot { margin-top:6px; }
#desktop.workspace-compact .pchat-suggestions { padding:0 0 6px; }
#desktop.workspace-compact .pchat-suggestions button { padding:6px 10px; font-size:11px; }
@media(prefers-reduced-motion:reduce) { .pchat * { animation:none!important; transition:none!important; } }
