:root{--cc-ai-font: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--cc-ai-font-heading: "Cera Pro", "Avenir Next", var(--cc-ai-font);--cc-ai-font-size: 14px;--cc-ai-font-size-bubble: 13.5px;--cc-ai-line-height-bubble: 20.25px;--cc-ai-font-size-small: 12px;--cc-ai-font-size-tiny: 11px;--cc-ai-page-bg: #f0f2f5;--cc-ai-panel-bg: #ffffff;--cc-ai-text: #000000;--cc-ai-muted: #6b6880;--cc-ai-border: #eaebf5;--cc-ai-accent: #7001fd;--cc-ai-accent-text: #ffffff;--cc-ai-danger: #b00020;--cc-ai-online: #2fbf71;--cc-ai-bubble-assistant: #f1e9ff;--cc-ai-bubble-assistant-text: #000000;--cc-ai-bubble-user: #150e26;--cc-ai-bubble-user-text: #ffffff;--cc-ai-chip-text: #353535;--cc-ai-avatar-gradient: linear-gradient(135deg, #3a0e73, #6a1fb0 45%, #b83fc9);--cc-ai-launcher-bg: #150e26;--cc-ai-launcher-text: #ffffff;--cc-ai-launcher-subtle: #c9c4d6;--cc-ai-avatar-text: #ffffff;--cc-ai-radius-panel: 16px;--cc-ai-radius-bubble: 16px;--cc-ai-radius-bubble-corner: 4px;--cc-ai-radius-card: 12px;--cc-ai-radius-pill: 999px;--cc-ai-radius-control: 8px;--cc-ai-shadow-panel: 0 18px 48px rgba(20, 14, 38, .16);--cc-ai-panel-width: 420px;--cc-ai-panel-height: 620px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font:var(--cc-ai-font-size) / 1.4 var(--cc-ai-font);color:var(--cc-ai-text);background:var(--cc-ai-panel-bg)}.chat{display:flex;flex-direction:column;height:100%;background:var(--cc-ai-panel-bg)}.chat-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--cc-ai-border);min-height:59px}.avatar{position:relative;flex:none;width:34px;height:34px;border-radius:50%;background:var(--cc-ai-avatar-gradient);color:var(--cc-ai-avatar-text);display:grid;place-items:center;font-size:16px}.avatar .online{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;background:var(--cc-ai-online);border:2px solid var(--cc-ai-panel-bg)}.titles{flex:1;min-width:0}.titles h1{margin:0;font:700 15px/1.2 var(--cc-ai-font-heading)}.titles p{margin:2px 0 0;font-size:var(--cc-ai-font-size-tiny);color:var(--cc-ai-muted)}.chat-header button{background:none;border:0;padding:4px 6px;color:var(--cc-ai-text);font:inherit;font-size:var(--cc-ai-font-size-small);cursor:pointer;border-radius:var(--cc-ai-radius-control)}.chat-header button:hover{color:var(--cc-ai-text)}.chat-header .close{font-size:20px;line-height:1}.log{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.bubble{margin:0;padding:10px 14px;max-width:85%;font-size:var(--cc-ai-font-size-bubble);line-height:var(--cc-ai-line-height-bubble);overflow-wrap:anywhere}.bubble.assistant{background:var(--cc-ai-bubble-assistant);color:var(--cc-ai-bubble-assistant-text);align-self:flex-start;border-radius:var(--cc-ai-radius-bubble-corner) var(--cc-ai-radius-bubble) var(--cc-ai-radius-bubble) var(--cc-ai-radius-bubble)}.bubble.user{background:var(--cc-ai-bubble-user);color:var(--cc-ai-bubble-user-text);align-self:flex-end;white-space:pre-wrap;border-radius:var(--cc-ai-radius-bubble) var(--cc-ai-radius-bubble) var(--cc-ai-radius-bubble-corner) var(--cc-ai-radius-bubble)}.bubble.assistant>:first-child{margin-top:0}.bubble.assistant>:last-child{margin-bottom:0}.bubble.assistant p{margin:0 0 8px}.bubble.assistant ul,.bubble.assistant ol{margin:0 0 8px;padding-left:20px}.bubble.assistant a{color:var(--cc-ai-accent)}.bubble.assistant code{font-size:12.5px;background:#150e2614;padding:1px 4px;border-radius:4px}.bubble.assistant pre{overflow-x:auto;background:#150e2614;padding:8px;border-radius:var(--cc-ai-radius-control)}.bubble.assistant table{border-collapse:collapse;font-size:var(--cc-ai-font-size-small)}.bubble.assistant th,.bubble.assistant td{border:1px solid var(--cc-ai-border);padding:3px 6px;text-align:left}.typing{display:flex;align-items:center;gap:8px;align-self:flex-start;margin:0;color:var(--cc-ai-muted);font-size:var(--cc-ai-font-size-small)}.typing .dots{display:inline-flex;gap:4px;padding:12px 14px;background:var(--cc-ai-bubble-assistant);border-radius:var(--cc-ai-radius-bubble-corner) var(--cc-ai-radius-bubble) var(--cc-ai-radius-bubble) var(--cc-ai-radius-bubble)}.typing .dots i{width:6px;height:6px;border-radius:50%;background:var(--cc-ai-muted);animation:cc-ai-bounce 1.2s infinite ease-in-out}.typing .dots i:nth-child(2){animation-delay:.15s}.typing .dots i:nth-child(3){animation-delay:.3s}@keyframes cc-ai-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.typing .dots i{animation:none}}.composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--cc-ai-border)}.composer textarea{flex:1;resize:none;padding:7px 12px;min-height:34px;max-height:114px;border:1px solid var(--cc-ai-border);border-radius:var(--cc-ai-radius-control);font:inherit;font-size:var(--cc-ai-font-size-bubble);line-height:20px;color:var(--cc-ai-text);background:var(--cc-ai-panel-bg)}.composer textarea:focus-visible{outline:2px solid var(--cc-ai-accent);outline-offset:0}.composer textarea::placeholder{color:var(--cc-ai-muted)}.composer .send{flex:none;width:32px;height:32px;padding:0;border-radius:50%;background:var(--cc-ai-accent);color:var(--cc-ai-accent-text);display:grid;place-items:center}.composer .send svg{width:16px;height:16px}button{padding:8px 14px;border:0;border-radius:var(--cc-ai-radius-control);background:var(--cc-ai-bubble-user);color:var(--cc-ai-bubble-user-text);font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--cc-ai-accent);outline-offset:2px}button:disabled{opacity:.5;cursor:default}.chips,.buttons{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.chips button,.buttons button{padding:6px 12px;background:var(--cc-ai-panel-bg);color:var(--cc-ai-chip-text);border:1px solid var(--cc-ai-border);border-radius:var(--cc-ai-radius-pill);font-size:var(--cc-ai-font-size-small)}.chips button:hover:not(:disabled),.buttons button:hover:not(:disabled){border-color:var(--cc-ai-accent)}.handoff-card{align-self:flex-start}.card,.fields,.dropin,.figures,.handoff-card{background:var(--cc-ai-panel-bg);border:1px solid var(--cc-ai-border);border-radius:var(--cc-ai-radius-card);padding:12px}.fields{display:flex;flex-direction:column;gap:8px}.field{display:flex;flex-direction:column;gap:2px;font-size:var(--cc-ai-font-size-small);color:var(--cc-ai-muted)}.field input{padding:7px 9px;border:1px solid var(--cc-ai-border);border-radius:var(--cc-ai-radius-control);font:inherit;font-size:var(--cc-ai-font-size);color:var(--cc-ai-text)}.fields [role=alert],.dropin [role=alert]{color:var(--cc-ai-danger);margin:0}.fields [role=status]{margin:0;color:var(--cc-ai-muted)}.fields button[type=submit],.secret-row button{background:var(--cc-ai-accent);color:var(--cc-ai-accent-text)}.secret-row{display:flex;gap:6px}.secret-row input{flex:1}.signed-in{margin:0;font-weight:600;font-size:var(--cc-ai-font-size-bubble)}.figures{border-collapse:separate;border-spacing:0;width:100%}.figures caption{text-align:left;font-size:var(--cc-ai-font-size-small);color:var(--cc-ai-muted);padding-bottom:6px;caption-side:top}.figures th{text-align:left;font-weight:400;padding:4px 0}.figures td{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.handoff{display:inline-block;padding:10px 16px;border-radius:var(--cc-ai-radius-pill);background:var(--cc-ai-accent);color:var(--cc-ai-accent-text);text-decoration:none;align-self:flex-start;font-weight:600;font-size:var(--cc-ai-font-size-bubble)}@media(max-width:479px){.chat-header{padding-top:max(12px,env(safe-area-inset-top))}.composer{padding-bottom:max(10px,env(safe-area-inset-bottom))}}.chips a.button-link,.buttons a.button-link{padding:6px 12px;background:var(--cc-ai-panel-bg);color:var(--cc-ai-chip-text);border:1px solid var(--cc-ai-border);border-radius:var(--cc-ai-radius-pill);font-size:var(--cc-ai-font-size-small);text-decoration:none}.chips a.button-link:hover,.buttons a.button-link:hover{border-color:var(--cc-ai-accent)}.ripcord{display:flex;justify-content:center;gap:16px;padding:0 12px 10px;font-size:var(--cc-ai-font-size-tiny)}.ripcord a{color:var(--cc-ai-muted)}.ripcord a:hover{color:var(--cc-ai-accent)}
