.assistant-launcher{position:fixed;right:1.5rem;bottom:1.5rem;z-index:1001;width:3.25rem;height:3.25rem;border-radius:50%;border:1px solid var(--accent-dim);background:var(--accent);color:#0a0a0a;font-size:1.3rem;cursor:pointer;box-shadow:0 0 0 6px var(--accent-glow),0 8px 24px rgba(0,0,0,.5);transition:transform .15s ease,box-shadow .15s ease}.assistant-launcher:hover{transform:translateY(-2px)}.assistant-launcher:focus-visible{outline:2px solid var(--text);outline-offset:3px}.assistant-panel{position:fixed;right:1.5rem;bottom:1.5rem;z-index:1001;width:min(400px,calc(100vw - 2rem));height:min(600px,calc(100vh - 6rem));display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 16px 48px rgba(0,0,0,.6);overflow:hidden;font-family:var(--font-mono);color:var(--text)}.assistant-panel[hidden]{display:none}@media (max-width:520px){.assistant-panel{inset:0;width:100%;height:100dvh;border-radius:0;border:none}.assistant-launcher{right:1rem;bottom:1rem}}.assistant-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.assistant-heading{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.assistant-heading h2{margin:0;font-family:var(--font-display);font-weight:800;font-size:1.35rem;line-height:1;color:var(--text)}.assistant-badge{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-dim);border-radius:999px;padding:.15rem .5rem}.assistant-notice{margin:0;padding:.6rem 1rem;font-size:.7rem;line-height:1.55;color:#8a8a8a;background:var(--bg);border-bottom:1px solid var(--border)}.assistant-panel a{color:var(--accent)}.assistant-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.assistant-empty p{margin:0 0 .9rem;font-size:.82rem;line-height:1.6;color:var(--text)}.assistant-suggestions{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.assistant-footer button,.assistant-suggestions button{font-family:var(--font-mono);font-size:.74rem;cursor:pointer}.assistant-suggestions button{text-align:left;color:var(--text);background:var(--bg-card);border:1px solid var(--border-light);border-radius:999px;padding:.4rem .8rem}.assistant-suggestions button:hover:not(:disabled){border-color:var(--accent-dim);color:var(--accent)}.assistant-suggestions button:disabled{opacity:.5;cursor:default}.assistant-message{max-width:88%;padding:.6rem .8rem;border-radius:8px;font-size:.8rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-message.is-user{align-self:flex-end;background:var(--accent-glow);border:1px solid var(--accent-dim)}.assistant-message.is-assistant{align-self:flex-start;background:var(--bg-card);border:1px solid var(--border)}.assistant-thinking{color:#8a8a8a}.assistant-dots span{animation:assistant-blink 1.2s infinite both}.assistant-dots span:nth-child(2){animation-delay:.2s}.assistant-dots span:nth-child(3){animation-delay:.4s}@keyframes assistant-blink{0%,80%,to{opacity:.2}40%{opacity:1}}.assistant-error{margin:0;padding:.5rem 1rem;font-size:.72rem;color:#f0b429}.assistant-error,.assistant-form{border-top:1px solid var(--border)}.assistant-form{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem 1rem}.assistant-form textarea{flex:1;resize:none;max-height:7rem;field-sizing:content;padding:.55rem .7rem;font-family:var(--font-mono);font-size:.8rem;color:var(--text);background:var(--bg);border:1px solid var(--border-light);border-radius:6px}.assistant-form textarea:focus{outline:none;border-color:var(--accent-dim)}.assistant-form textarea:disabled{opacity:.5}.assistant-icon-button{flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:6px;border:1px solid var(--border-light);background:transparent;color:var(--text);cursor:pointer}.assistant-icon-button.is-accent{background:var(--accent);border-color:var(--accent-dim);color:#0a0a0a}.assistant-icon-button:disabled{opacity:.4;cursor:default}.assistant-icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.assistant-footer{display:flex;justify-content:space-between;align-items:center;padding:0 1rem .7rem;font-size:.7rem}.assistant-footer button{background:none;border:none;padding:0;color:#8a8a8a;font-size:.7rem}.assistant-footer button:hover:not(:disabled){color:var(--text)}.assistant-footer button:disabled{opacity:.4;cursor:default}.assistant-offline{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;padding:2rem 1.5rem;text-align:center;font-size:.8rem;line-height:1.6}.assistant-offline p{margin:0;color:#8a8a8a}.assistant-offline .assistant-offline-title{font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--text)}.assistant-panel .assistant-primary-button{padding:.6rem 1.1rem;border-radius:4px;background:var(--accent);color:#0a0a0a;font-weight:700;text-decoration:none}.assistant-secondary-link{font-size:.75rem}.assistant-handoff-bar{margin:0;padding:.5rem 1rem;border-top:1px solid var(--border);font-size:.72rem}.assistant-handoff-bar button{padding:0;background:none;border:none;font-family:var(--font-mono);font-size:.74rem;color:var(--accent);cursor:pointer}.assistant-handoff-bar button:hover{text-decoration:underline}.assistant-handoff-bar.is-done{color:#8a8a8a}.assistant-handoff{flex:1;display:flex;flex-direction:column;gap:.7rem;padding:1rem;overflow-y:auto;font-size:.78rem}.assistant-handoff p{margin:0}.assistant-handoff .assistant-handoff-title{font-family:var(--font-display);font-weight:800;font-size:1.05rem}.assistant-handoff-intro{color:#8a8a8a;line-height:1.6}.assistant-handoff label{display:flex;flex-direction:column;gap:.3rem;font-size:.72rem;color:#8a8a8a}.assistant-handoff input,.assistant-handoff textarea{padding:.5rem .7rem;font-family:var(--font-mono);font-size:.8rem;color:var(--text);background:var(--bg);border:1px solid var(--border-light);border-radius:6px;resize:vertical}.assistant-handoff input:focus,.assistant-handoff textarea:focus{outline:none;border-color:var(--accent-dim)}.assistant-handoff-error{color:#f0b429;font-size:.72rem;line-height:1.5}.assistant-handoff-actions{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.assistant-handoff .assistant-primary-button{border:none;font-family:var(--font-mono);cursor:pointer}.assistant-handoff .assistant-primary-button:disabled{opacity:.5;cursor:default}.assistant-text-button{padding:0;background:none;border:none;font-family:var(--font-mono);font-size:.72rem;color:#8a8a8a;cursor:pointer}.assistant-text-button:hover:not(:disabled){color:var(--text)}