html:has(.clippy-page){height:100%;overflow:hidden}
.clippy-page{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.clippy-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 32px;border-bottom:1px solid var(--rule);position:relative;z-index:2001;background:var(--paper)}
.clippy-header h1{font-size:22px;margin:0}
.clippy-header a{font:13px var(--mono);text-decoration:none}
.clippy-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;gap:12px;padding-inline:12px;overflow:hidden}
.office-modes{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px;position:relative;z-index:2001}
.office-modes button{font-size:13px;padding:8px 12px;background:transparent;border:1px solid var(--rule);color:var(--ink)}
.office-modes button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.office-modes button:disabled{opacity:.65}
.chat-dock{position:relative;bottom:auto;left:auto;right:auto;flex-shrink:0;z-index:2000;background:var(--paper);border-top:1px solid var(--rule);max-height:58dvh;overflow:auto}
.chat-area{width:100%;max-width:800px;margin:auto;padding:22px 24px 15px}
.chat-area .eyebrow{margin-bottom:10px;font-size:12px}
#clippy-response{font:17px/1.6 var(--serif);min-height:2em;margin-bottom:18px}
#clippy-response p{margin:0 0 14px}
#clippy-response strong{display:block;font:12px var(--mono);color:var(--muted);margin-bottom:4px}
.chat-area label{display:block;font-size:13px;margin-bottom:8px}
.chat-input-row{display:flex;gap:10px}
.chat-input-row input{min-width:0;flex:1;background:#f4f8fc;border:1px solid var(--rule);padding:12px;color:var(--ink);font-size:16px}
.chat-input-row button{border:0}
.chat-input-row button:disabled{opacity:.65;cursor:wait}
.chat-disclosure{font-size:12px;color:var(--muted);margin:12px 0 0}
.clippy-balloon{display:none!important}
.avatar-fallback{text-align:center;font-size:48px}
.avatar-fallback span{display:block;font:12px var(--mono)}
.office-actor-slot{position:relative;flex:0 1 220px;max-width:calc((100% - 12px) / 2);min-width:0;height:100%;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:center}
.office-actor-slot > .clippy{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%) scale(var(--actor-scale,1))!important;transform-origin:center!important}
@media(max-width:600px){
.clippy-header{padding:10px}
.clippy-header h1{font-size:17px}
.clippy-header a{font-size:11px}
.office-modes{padding:8px;gap:6px}
.office-modes button{font-size:12px;padding:7px}
.clippy-stage{gap:12px;padding-inline:6px}
.chat-area{padding:16px}
.chat-dock{max-height:65dvh}
#clippy-response{font-size:15px}
}
