.assistant-launcher { position:fixed; right:20px; bottom:22px; z-index:80; border:1px solid #8fd8c3; border-radius:24px; padding:12px 18px; background:#122b25; color:#effff9; font:inherit; font-weight:700; cursor:pointer; box-shadow:0 5px 20px #0007; }
.assistant-launcher:focus-visible, .assistant-sheet :focus-visible { outline:3px solid #9be5d1; outline-offset:3px; }
.assistant-is-open { overflow:hidden; }
.assistant-sheet { position:fixed; inset:auto 20px 20px auto; width:min(460px, calc(100vw - 32px)); height:min(700px, calc(100dvh - 40px)); max-width:none; max-height:none; margin:0; padding:0; border:1px solid #334b44; border-radius:20px; color:#edf4f2; background:#101a17; box-shadow:0 20px 70px #0009; }
.assistant-sheet[open] { display:flex; flex-direction:column; }
.assistant-sheet::backdrop { background:#030908a6; }
.assistant-header { display:flex; align-items:center; justify-content:space-between; padding:15px 18px 8px; flex:none; }
.assistant-header h2 { margin:0; font-size:22px; }
.assistant-close { width:44px; height:44px; font-size:26px; border:0; border-radius:50%; background:#24342e; color:#fff; cursor:pointer; }
.assistant-note { margin:0; padding:0 18px 12px; color:#aebdb6; font-size:12px; line-height:1.5; flex:none; }
.assistant-messages { min-height:80px; flex:1; overflow-y:auto; overscroll-behavior:contain; padding:5px 18px; }
.assistant-message { margin:0 0 12px; padding:12px; border-radius:13px; background:#1c2c25; line-height:1.55; font-size:14px; }
.assistant-message p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.assistant-own { margin-left:25px; background:#285548; }
.assistant-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.assistant-actions a, .assistant-recovery-link { display:inline-block; padding:8px 10px; border:1px solid #528773; border-radius:8px; color:#c8ffe8; font-weight:700; text-decoration:none; }
.assistant-feedback { display:flex; gap:8px; align-items:center; margin-top:12px; font-size:12px; color:#bdcdc5; }
.assistant-feedback button { min-width:44px; min-height:44px; border:1px solid #465a4f; border-radius:8px; background:#263b30; color:#fff; cursor:pointer; }
.assistant-feedback button:disabled { opacity:.6; cursor:default; }
.assistant-suggestions { padding:8px 18px; display:flex; gap:7px; overflow-x:auto; flex:none; scrollbar-width:thin; }
.assistant-suggestions button { flex:none; min-height:44px; max-width:270px; padding:8px 11px; border:1px solid #44594e; border-radius:18px; background:#15241c; color:#d4e8dd; font:inherit; font-size:12px; cursor:pointer; }
.assistant-composer { padding:8px 18px 12px; border-top:1px solid #2e4237; flex:none; }
.assistant-composer label { display:block; margin:0 0 6px; font-size:12px; font-weight:700; }
.assistant-composer-row { display:flex; align-items:stretch; gap:8px; }
.assistant-composer textarea { min-width:0; width:100%; height:64px; max-height:100px; padding:10px; border:1px solid #476251; border-radius:9px; background:#0b130f; color:#fff; font:inherit; font-size:16px; resize:none; }
.assistant-send { min-width:58px; padding:8px; border:0; border-radius:9px; background:#b7f5d6; color:#102a1b; font:inherit; font-weight:700; cursor:pointer; }
.assistant-send:disabled { opacity:.6; }
.assistant-status { min-height:18px; margin:5px 0 0; font-size:12px; color:#afc4b7; }
.ask-help-entry { margin-bottom:20px; padding:20px; border:1px solid #426b59; border-radius:16px; background:#14271e; }
.ask-help-entry h2 { margin:0 0 8px; }
.ask-help-entry p { margin:0 0 12px; color:#cfdfd5; }
.ask-help-entry button { min-height:44px; padding:10px 18px; border:0; border-radius:8px; background:#b7f5d6; color:#102a1b; font:inherit; font-weight:700; cursor:pointer; }
@media (max-width:700px) {
  .assistant-launcher { right:12px; bottom:calc(80px + env(safe-area-inset-bottom)); width:44px; height:44px; padding:0; border-radius:50%; font-size:0; opacity:.92; }
  .assistant-launcher::before { content:"?"; font-size:20px; font-weight:800; line-height:44px; }
  .assistant-sheet { inset:auto 0 0 0; width:100%; height:min(760px, calc(100dvh - 14px)); border-radius:20px 20px 0 0; border-bottom:0; }
  .assistant-composer { padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
}
