.assistant-widget { position:fixed; right:24px; bottom:86px; z-index:20; display:grid; justify-items:end; gap:12px; }
.assistant-launcher { display:flex; align-items:center; gap:10px; border:1px solid var(--cyan); border-radius:999px; background:rgba(9,10,13,.94); color:var(--text); padding:12px 16px; box-shadow:0 12px 35px rgba(0,0,0,.35); font:11px 'DM Mono'; cursor:pointer; }
.assistant-launcher:hover { background:var(--cyan); color:var(--bg); }
.assistant-launcher-icon { color:var(--cyan); font-size:17px; line-height:1; }
.assistant-launcher:hover .assistant-launcher-icon { color:var(--bg); }
.assistant-panel { width:min(390px,calc(100vw - 32px)); border:1px solid var(--line); background:rgba(16,18,23,.98); box-shadow:0 25px 90px rgba(0,0,0,.6); }
.assistant-panel[hidden] { display:none; }
.assistant-panel-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; padding:22px; border-bottom:1px solid var(--line); }
.assistant-panel-heading h2 { margin:8px 0 0; font-size:25px; letter-spacing:-.05em; font-weight:500; }
.assistant-disclosure { margin:0; padding:13px 18px; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.6; }
.assistant-disclosure a,
.assistant-disclosure a:visited { color:var(--cyan); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.assistant-disclosure a:hover { color:#b5ffed; }
.assistant-disclosure a:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.assistant-close { border:0; background:none; color:var(--muted); font-size:25px; cursor:pointer; }
.assistant-close:hover { color:var(--text); }
.assistant-messages { display:grid; gap:10px; max-height:320px; overflow:auto; padding:18px; }
.assistant-message { max-width:88%; padding:11px 13px; white-space:pre-wrap; line-height:1.5; font-size:13px; }
.assistant-message.assistant { justify-self:start; border-left:2px solid var(--cyan); background:rgba(112,228,223,.07); color:var(--text); }
.assistant-message.user { justify-self:end; border-right:2px solid var(--violet); background:rgba(157,137,255,.1); color:var(--text); }
.assistant-form { display:grid; gap:10px; padding:18px; border-top:1px solid var(--line); }
.assistant-form textarea { width:100%; min-height:58px; resize:vertical; border:1px solid var(--line); background:#0b0d11; color:var(--text); padding:12px; font:12px 'DM Mono'; }
.assistant-form textarea:focus { outline:none; border-color:var(--cyan); }
.assistant-form .button { justify-content:center; }
.assistant-widget { --cyan:#70e4df; --bg:#090a0d; --text:#f3f1ea; --muted:#a5a6ac; --line:rgba(243,241,234,.18); --violet:#9d89ff; color:var(--text); font-family:'Space Grotesk',system-ui,sans-serif; z-index:60; }
.assistant-widget,.assistant-widget * { box-sizing:border-box; }
.assistant-panel { max-height:calc(100dvh - 150px); overflow:auto; text-align:left; }
.assistant-panel .eyebrow { margin:0; color:var(--cyan); font:10px monospace; letter-spacing:.12em; }
.assistant-launcher,.assistant-form textarea { font-family:monospace; }
.assistant-form .button { display:flex; align-items:center; gap:12px; border:1px solid var(--cyan); background:var(--cyan); color:var(--bg); padding:12px 18px; font:12px monospace; cursor:pointer; }
.assistant-form .button:disabled { opacity:.6; cursor:wait; }
.assistant-launcher:focus-visible,.assistant-close:focus-visible,.assistant-form .button:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
@media(max-width:800px){.assistant-widget{right:16px;bottom:86px}.assistant-launcher{padding:11px 13px}.assistant-panel{width:calc(100vw - 32px);max-height:calc(100dvh - 150px)}}