#atoolpha-cb-root { --atoolpha-cb-accent:#3a8dff; --atoolpha-cb-panel-bg:#fff; --atoolpha-cb-text:#101829; --atoolpha-cb-width:380px; --atoolpha-cb-radius:14px; --atoolpha-cb-font-size:15px; --atoolpha-cb-edge:20px; --atoolpha-cb-bottom:20px; --atoolpha-cb-panel-bottom:min(calc(var(--atoolpha-cb-bottom) + 58px),max(12px,calc(100dvh - 320px))); font: var(--atoolpha-cb-font-size)/1.55 system-ui,sans-serif; color:var(--atoolpha-cb-text); }
#atoolpha-cb-root * { box-sizing:border-box; }
.atoolpha-cb-launcher { position:fixed; z-index:99990; right:min(var(--atoolpha-cb-edge),max(12px,calc(100vw - 180px))); bottom:min(var(--atoolpha-cb-bottom),max(12px,calc(100dvh - 90px))); max-width:calc(100vw - 24px); overflow-wrap:anywhere; border:0; border-radius:12px; padding:13px 20px; background:var(--atoolpha-cb-accent); color:#fff; font:inherit; font-weight:600; cursor:pointer; box-shadow:0 4px 18px #10182955; }
.atoolpha-cb-panel { position:fixed; z-index:99991; right:var(--atoolpha-cb-edge); bottom:var(--atoolpha-cb-panel-bottom); width:min(var(--atoolpha-cb-width),calc(100vw - 24px - var(--atoolpha-cb-edge))); max-height:min(650px,calc(100dvh - var(--atoolpha-cb-panel-bottom) - 12px)); display:flex; flex-direction:column; border:1px solid #cad0dc; border-radius:var(--atoolpha-cb-radius); background:var(--atoolpha-cb-panel-bg); color:var(--atoolpha-cb-text); box-shadow:0 14px 45px #10182944; overflow:hidden; }
.atoolpha-cb-panel.atoolpha-cb-expanded { width:min(760px,calc(100vw - 24px - var(--atoolpha-cb-edge))); height:min(820px,calc(100dvh - var(--atoolpha-cb-panel-bottom) - 12px)); max-height:calc(100dvh - var(--atoolpha-cb-panel-bottom) - 12px); }
#atoolpha-cb-root[data-atoolpha-side="left"] .atoolpha-cb-launcher { right:auto; left:min(var(--atoolpha-cb-edge),max(12px,calc(100vw - 180px))); }
#atoolpha-cb-root[data-atoolpha-side="left"] .atoolpha-cb-panel { right:auto; left:var(--atoolpha-cb-edge); }
.atoolpha-cb-profession { margin:8px 14px 0; display:flex; gap:8px; align-items:center; }
.atoolpha-cb-profession select { flex:1; min-width:0; padding:6px; }
.atoolpha-cb-panel[hidden] { display:none; }
.atoolpha-cb-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; background:#101829; color:#fff; }
.atoolpha-cb-header-actions { display:flex; gap:8px; align-items:center; }
.atoolpha-cb-header button { background:transparent; border:0; color:#fff; font-size:23px; cursor:pointer; min-width:34px; min-height:34px; }
.atoolpha-cb-notice { margin:0; padding:10px 18px; background:#f3f4f6; font-size:12px; }
.atoolpha-cb-log { overflow:auto; min-height:110px; padding:18px; flex:1; overscroll-behavior:contain; }
.atoolpha-cb-message { background:#f3f4f6; border-radius:12px; padding:13px 15px; margin-bottom:16px; overflow-wrap:anywhere; max-width:96%; }
.atoolpha-cb-user { background:#e7f0ff; }
.atoolpha-cb-reply-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.atoolpha-cb-reply-actions button { border:1px solid var(--atoolpha-cb-accent); background:#fff; border-radius:9px; color:var(--atoolpha-cb-text); padding:8px 10px; min-height:36px; cursor:pointer; font:inherit; font-size:12px; }
.atoolpha-cb-reply-actions button:hover { background:#e7f0ff; }
.atoolpha-cb-reply-actions button:disabled { opacity:.5; cursor:not-allowed; }
.atoolpha-cb-proof { font-size:12px; margin-top:7px; }
.atoolpha-cb-proof summary { cursor:pointer; }
.atoolpha-cb-form { display:flex; gap:8px; padding:12px 14px; border-top:1px solid #e3e6ec; }
.atoolpha-cb-input { flex:1; min-width:0; border:1px solid #9aa6b8; border-radius:9px; padding:10px; font:inherit; }
.atoolpha-cb-form button { border:0; border-radius:9px; padding:9px 12px; background:var(--atoolpha-cb-accent); color:#fff; cursor:pointer; font:inherit; }
.atoolpha-cb-form .atoolpha-cb-voice { flex:none; min-width:42px; padding:6px; border:1px solid #c6d7f5; background:#f4f8ff; color:var(--atoolpha-cb-text); font-size:19px; line-height:1; }
.atoolpha-cb-voice svg { display:block; width:20px; height:20px; margin:auto; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.atoolpha-cb-form button:disabled { opacity:.6; cursor:wait; }
.atoolpha-cb-actions { display:flex; gap:10px; flex-wrap:wrap; padding:0 14px; }
.atoolpha-cb-actions button { border:0; background:transparent; color:#173b70; text-decoration:underline; cursor:pointer; font:inherit; font-size:12px; padding:5px 2px; }
.atoolpha-cb-actions .atoolpha-cb-voice { margin-left:auto; border:1px solid #c6d7f5; border-radius:9px; background:#f4f8ff; padding:5px 9px; text-decoration:none; font-size:17px; line-height:1.2; }
.atoolpha-cb-voice:hover { background:#e7f0ff; }
.atoolpha-cb-voice-dialog { position:fixed; z-index:99999; max-width:min(380px,calc(100vw - 32px)); border:1px solid #cad0dc; border-radius:14px; padding:22px; background:#fff; color:#101829; box-shadow:0 18px 50px #10182955; font:15px/1.55 system-ui,sans-serif; }
.atoolpha-cb-voice-dialog::backdrop { background:#10182999; }
.atoolpha-cb-voice-dialog h2 { margin:0 0 10px; font-size:18px; }
.atoolpha-cb-voice-dialog p { margin:0 0 19px; }
.atoolpha-cb-voice-dialog button { border:0; border-radius:9px; padding:9px 16px; background:var(--atoolpha-cb-accent); color:#fff; font:inherit; cursor:pointer; }
.atoolpha-cb-status { margin:0; min-height:24px; padding:3px 12px; font-size:12px; }
.atoolpha-cb-footer { display:flex; flex-wrap:wrap; gap:4px 9px; padding:8px 14px 10px; border-top:1px solid #e3e6ec; font-size:12px; line-height:1.4; color:#3a4860; }
.atoolpha-cb-footer a { color:#173b70; }
.atoolpha-cb-storage-warning { flex-basis:100%; margin:4px 0 0; color:#9b2c24; }
.atoolpha-cb-storage-warning[hidden] { display:none; }
.atoolpha-cb-divider { display:flex; align-items:center; gap:10px; margin:18px 0; color:#536077; font-size:12px; }
.atoolpha-cb-divider::before,.atoolpha-cb-divider::after { content:''; height:1px; background:#d9deea; flex:1; }
.atoolpha-cb-typing { width:max-content; min-width:76px; }
.atoolpha-cb-dots { display:flex; gap:4px; align-items:center; height:16px; }
.atoolpha-cb-dots span { font-size:20px; line-height:1; animation:atoolpha-cb-pulse 1.1s ease-in-out infinite; }
.atoolpha-cb-dots span:nth-child(2) { animation-delay:.16s; }.atoolpha-cb-dots span:nth-child(3) { animation-delay:.32s; }
@keyframes atoolpha-cb-pulse { 0%,60%,100% { opacity:.3; transform:translateY(0); } 30% { opacity:1; transform:translateY(-3px); } }
.atoolpha-cb-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#atoolpha-cb-root :focus-visible { outline:3px solid #f59e0b; outline-offset:2px; }
@media(max-width:800px) { .atoolpha-cb-panel { right:12px; width:min(var(--atoolpha-cb-width),calc(100vw - 24px)); } .atoolpha-cb-panel.atoolpha-cb-expanded { width:min(760px,calc(100vw - 24px)); } #atoolpha-cb-root[data-atoolpha-side="left"] .atoolpha-cb-panel { left:12px; right:auto; } }
@media(max-width:480px) { #atoolpha-cb-root { --atoolpha-cb-edge:12px; --atoolpha-cb-bottom:12px; } }
@media(prefers-reduced-motion:reduce) { .atoolpha-cb-dots span { animation:none; opacity:1; } }
