.assistant-panel { position:fixed; inset:auto 1rem 5.25rem auto; width:min(27.5rem,calc(100vw - 2rem)); height:min(42rem,calc(100dvh - 7rem)); max-width:none; max-height:none; margin:0; padding:0; color:var(--frost); background:linear-gradient(180deg,#0c1827,#08111c); border:1px solid #33506b; border-radius:18px; box-shadow:0 30px 90px -20px #000, 0 0 0 1px #ffffff08 inset; overflow:hidden; }
.assistant-panel::backdrop { background:#02050acc; }
.assistant-panel[open] { display:flex; flex-direction:column; }
.assistant-header { display:flex; align-items:center; gap:0.8rem; padding:0.9rem 1rem 0.9rem 1.1rem; border-bottom:1px solid var(--line); background:#0d1a2a; flex:none; }
.assistant-avatar { width:2.4rem; height:2.4rem; border-radius:10px; border:1px solid #33506b; flex:none; }
.assistant-header > div { flex:1; min-width:0; }
.assistant-header h2 { font-family:var(--font-body); font-size:1rem; font-weight:600; margin:0; letter-spacing:0; }
.assistant-header p { margin:0.15rem 0 0; font-size:0.74rem; color:var(--mist); display:flex; align-items:center; gap:0.4rem; }
.assistant-header p::before { content:""; width:0.45rem; height:0.45rem; border-radius:50%; background:#62d6c2; flex:none; }
.assistant-panel button { font:inherit; cursor:pointer; }
.assistant-panel button:disabled { opacity:0.5; cursor:not-allowed; }
.assistant-close { border:1px solid var(--line); color:var(--mist); background:transparent; border-radius:8px; padding:0.35rem 0.7rem; font-size:0.8rem !important; flex:none; }
.assistant-close:hover { color:var(--frost); border-color:var(--ice); }
.assistant-body { overflow-y:auto; min-height:0; flex:1; padding:1rem 1.1rem; overscroll-behavior:contain; }
.assistant-body p { font-size:0.92rem; }
.assistant-panel [hidden] { display:none !important; }
.assistant-note { font-size:0.76rem !important; color:var(--mist); line-height:1.5; }
.assistant-message { max-width:92%; padding:0.75rem 0.9rem; margin:0 0 0.8rem; border-radius:4px 14px 14px 14px; background:#111f31; border:1px solid #1f3047; overflow-wrap:anywhere; }
.assistant-message.user { margin-left:auto; border-radius:14px 4px 14px 14px; background:#16384d; border-color:#245069; }
.assistant-message .message-role { font-size:0.64rem; font-weight:600; color:var(--ice); display:block; margin-bottom:0.3rem; text-transform:uppercase; letter-spacing:0.1em; }
.assistant-message.user .message-role { color:#a9d8ee; }
.assistant-message p { margin:0; white-space:pre-wrap; line-height:1.55; }
.assistant-message a { display:inline-block; margin-top:0.5rem; font-size:0.82rem; }
.assistant-message.is-typing p::after { content:""; display:inline-block; width:0.5em; height:1.05em; margin-left:0.1em; vertical-align:text-bottom; background:var(--ice); border-radius:1px; animation:assistant-caret 1s steps(2, start) infinite; }
@keyframes assistant-caret { to { visibility:hidden; } }
@media (prefers-reduced-motion: reduce) { .assistant-message.is-typing p::after { animation:none; } }
.assistant-composer { padding:0.75rem 1.1rem 0.9rem; border-top:1px solid var(--line); background:#0a1522; flex:none; }
.assistant-composer label, .assistant-review label { display:block; font-size:0.78rem; font-weight:600; color:var(--mist); margin-bottom:0.35rem; }
.assistant-composer textarea, .assistant-review textarea, .assistant-review input { width:100%; box-sizing:border-box; border:1px solid #2c435c; border-radius:10px; background:var(--night); color:var(--frost); font:inherit; font-size:1rem; padding:0.65rem 0.75rem; resize:vertical; }
.assistant-composer textarea:focus-visible, .assistant-review textarea:focus-visible, .assistant-review input:focus-visible { outline-offset:0; border-color:var(--ice); }
.assistant-composer textarea { max-height:9rem; }
.assistant-row { display:flex; flex-wrap:wrap; gap:0.5rem; align-items:center; margin-top:0.55rem; }
.assistant-row .btn { font-size:0.82rem; padding:0.55rem 0.9rem; border-radius:8px; }
.assistant-prompts { display:grid; gap:0.45rem; margin:0.25rem 0 1rem; }
.assistant-prompts button { text-align:left; color:var(--frost); background:#0f1d2e; border:1px solid #2c435c; border-radius:10px; padding:0.65rem 0.8rem; font-size:0.88rem; line-height:1.4; }
.assistant-prompts button:hover:not(:disabled) { border-color:var(--ice); background:#13283b; }
.assistant-status { color:var(--ice); margin:0.4rem 0 0; font-size:0.78rem !important; min-height:1.2em; }
.assistant-review .field { margin-bottom:0.9rem; }
.assistant-review .consent { display:flex; align-items:flex-start; gap:0.6rem; font-weight:400; color:var(--frost); }
.assistant-review input[type="checkbox"] { width:auto; flex:none; margin-top:0.3rem; }
.assistant-review h3 { font-size:1.15rem; }
.assistant-tools { margin-block:0.7rem; padding-top:0.7rem; border-top:1px solid var(--line); }
.assistant-tools .btn { font-size:0.82rem; padding:0.55rem 0.9rem; border-radius:8px; }
.assistant-intro { font-size:1rem; color:var(--frost); margin-top:0; }
@media(max-width:35rem) { .assistant-panel { inset:0; width:100%; height:100dvh; border-radius:0; border:0; } .assistant-body { padding:0.8rem 1rem; } .assistant-header,.assistant-composer { padding:0.8rem 1rem; } }

.assistant-confirm { position:absolute; inset:0; z-index:5; display:grid; place-items:center; padding:1rem; background:#04070cd0; border-radius:inherit; }
.assistant-confirm[hidden] { display:none; }
.assistant-confirm-box { width:min(20rem,100%); padding:1.1rem 1.2rem; background:#0d1a2a; border:1px solid #33506b; border-radius:12px; box-shadow:0 18px 40px #0009; }
.assistant-confirm-title { margin:0 0 0.4rem; font-weight:600; color:var(--frost); }
.assistant-disclaimer { margin:0.45rem 0 0; font-size:0.72rem; }
.assistant-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
