.s404-widget{--s404-accent:#D6FB00;--s404-panel:#fff;--s404-header:#06041F;--s404-header-text:#fff;--s404-bot-bubble:#f3f4f6;--s404-bot-text:#111827;--s404-user-bubble:#06041F;--s404-user-text:#fff;--s404-launcher:#06041F;--s404-launcher-icon:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;position:fixed;right:24px;bottom:24px;z-index:999999;color:#111827}.s404-widget *{box-sizing:border-box}.s404-launch{position:relative;width:60px;height:60px;border-radius:50%;border:0;background:var(--s404-launcher);color:var(--s404-launcher-icon);display:grid;place-items:center;box-shadow:0 12px 34px rgba(0,0,0,.22);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.s404-launch:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(0,0,0,.26)}.s404-launch-icon{width:30px;height:30px;display:block}.s404-launch svg,.s404-avatar svg{width:100%;height:100%;fill:currentColor}.s404-online-dot{position:absolute;right:1px;bottom:4px;width:13px;height:13px;border-radius:50%;background:var(--s404-accent);border:3px solid var(--s404-panel)}.s404-box{display:none;position:absolute;right:0;bottom:74px;width:min(390px,calc(100vw - 32px));height:590px;max-height:calc(100vh - 118px);background:var(--s404-panel);border:1px solid rgba(17,24,39,.10);border-radius:20px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.22)}.s404-box.open{display:grid;grid-template-rows:auto 1fr auto auto;animation:s404-pop .16s ease-out}@keyframes s404-pop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.s404-box header{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;background:var(--s404-header);color:var(--s404-header-text)}.s404-head-person{display:flex;align-items:center;gap:11px}.s404-head-person>div{display:flex;flex-direction:column;gap:2px}.s404-box header b{font-size:15px;line-height:1.2}.s404-box header small{font-size:12px;opacity:.72}.s404-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.12);color:currentColor;flex:0 0 auto;padding:8px}.s404-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.s404-avatar-small{width:28px;height:28px;border-radius:9px;padding:6px;background:var(--s404-header);color:var(--s404-header-text);margin-top:2px}.s404-close{width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:inherit;font-size:24px;line-height:1;cursor:pointer}.s404-messages{padding:18px 14px;overflow:auto;display:flex;flex-direction:column;gap:13px;background:var(--s404-panel)}.s404-message-row{display:flex;align-items:flex-start;gap:8px;width:100%}.s404-message-row.user{justify-content:flex-end}.s404-bubble{max-width:82%;padding:11px 13px;border-radius:15px;line-height:1.45;white-space:pre-wrap;font-size:14px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.s404-bubble.assistant{background:var(--s404-bot-bubble);color:var(--s404-bot-text);border-top-left-radius:5px}.s404-bubble.user{background:var(--s404-user-bubble);color:var(--s404-user-text);border-top-right-radius:5px}.s404-sources{font-size:11px;margin-top:9px;padding-top:8px;border-top:1px solid currentColor;opacity:.64}.s404-sources span{font-weight:700}.s404-sources a{color:inherit;text-decoration:underline;text-underline-offset:2px}.s404-box form{display:flex;gap:8px;padding:12px 12px 8px;border-top:1px solid rgba(17,24,39,.08);background:var(--s404-panel)}.s404-box input{flex:1;background:#fff;color:#111827;border:1px solid #d8dde5;border-radius:12px;padding:12px 13px;min-width:0;outline:none;box-shadow:none}.s404-box input:focus{border-color:var(--s404-header);box-shadow:0 0 0 2px rgba(6,4,31,.08)}.s404-box form button{width:42px;height:42px;border:0;border-radius:12px;background:var(--s404-header);color:var(--s404-header-text);font-size:19px;font-weight:800;cursor:pointer}.s404-box form button:disabled{opacity:.45}.s404-powered{text-align:center;font-size:10px;color:#8a919e;padding:0 10px 8px;background:var(--s404-panel)}.s404-typing{display:flex;gap:4px;padding:4px 1px}.s404-typing i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35;animation:s404-dot 1s infinite}.s404-typing i:nth-child(2){animation-delay:.15s}.s404-typing i:nth-child(3){animation-delay:.3s}@keyframes s404-dot{0%,60%,100%{transform:translateY(0);opacity:.3}30%{transform:translateY(-3px);opacity:.8}}@media(max-width:600px){.s404-widget{right:16px;bottom:16px}.s404-box{position:fixed;inset:10px;width:auto;height:auto;max-height:none;border-radius:18px}.s404-launch{width:56px;height:56px}}

.s404-bubble strong{font-weight:700}.s404-list-item{display:block;padding-left:2px;margin:2px 0}.s404-list-item+br{display:none}

/* v0.2.6: restrained accent usage */
.s404-launch-icon img{width:100%;height:100%;object-fit:contain;border-radius:8px;display:block}
.s404-box input:focus{border-color:var(--s404-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--s404-accent) 18%,transparent)}
.s404-box form button{background:var(--s404-accent);color:var(--s404-accent-text);transition:transform .12s ease,filter .12s ease}
.s404-box form button:hover{filter:brightness(.97);transform:translateY(-1px)}
.s404-online-dot{background:#9ca3af}.s404-online-dot.is-online{background:#22c55e}.s404-online-dot.is-offline{background:#ef4444}.s404-online-dot.is-unknown{background:#9ca3af}
.s404-powered a{color:inherit;text-decoration:none;font-weight:700}.s404-powered a:hover{text-decoration:underline;text-underline-offset:2px}

/* v0.3.1 – quick replies */
.s404-quick-replies{display:flex;flex-wrap:wrap;gap:7px;padding-left:36px;margin-top:-4px;animation:s404-pop .14s ease-out}
.s404-quick-reply{appearance:none;border:1px solid color-mix(in srgb,var(--s404-header) 28%,transparent);background:var(--s404-panel);color:var(--s404-bot-text);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:650;line-height:1.2;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}
.s404-quick-reply:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--s404-accent) 14%,var(--s404-panel));border-color:var(--s404-accent)}
.s404-quick-reply:focus-visible{outline:2px solid var(--s404-accent);outline-offset:2px}

/* v0.3.1 – bundled design presets. Colors remain configurable; these presets also alter shape/feel. */
.s404-theme-echo-light .s404-box,.s404-theme-echo-dark .s404-box{border-radius:20px}
.s404-theme-soft-light .s404-box{border-radius:28px;box-shadow:0 28px 90px rgba(31,41,55,.16)}
.s404-theme-soft-light .s404-bubble{border-radius:19px}.s404-theme-soft-light .s404-launch{border-radius:20px}
.s404-theme-square-light .s404-box{border-radius:8px}.s404-theme-square-light .s404-bubble{border-radius:7px}.s404-theme-square-light .s404-avatar,.s404-theme-square-light .s404-close,.s404-theme-square-light .s404-box input,.s404-theme-square-light .s404-box form button{border-radius:6px}.s404-theme-square-light .s404-launch{border-radius:8px}
.s404-theme-technical-light .s404-box{border-radius:12px;border-width:1px;box-shadow:0 20px 60px rgba(6,4,31,.18)}.s404-theme-technical-light .s404-box header{border-bottom:2px solid var(--s404-accent)}.s404-theme-technical-light .s404-bubble{border-radius:8px}.s404-theme-technical-light .s404-launch{border-radius:12px}
.s404-theme-echo-dark .s404-box input,.s404-theme-carbon-dark .s404-box input,.s404-theme-terminal-dark .s404-box input,.s404-theme-midnight-dark .s404-box input{background:color-mix(in srgb,var(--s404-panel) 84%,white);color:var(--s404-bot-text);border-color:color-mix(in srgb,var(--s404-bot-text) 22%,transparent)}
.s404-theme-carbon-dark .s404-box{border-radius:14px;border-color:#ffffff18;box-shadow:0 28px 90px #0008}.s404-theme-carbon-dark .s404-bubble{border-radius:10px}.s404-theme-carbon-dark .s404-launch{border-radius:14px}
.s404-theme-terminal-dark{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.s404-theme-terminal-dark .s404-box{border-radius:6px;border-color:var(--s404-accent);box-shadow:0 20px 65px #0009}.s404-theme-terminal-dark .s404-box header{border-bottom:1px solid var(--s404-accent)}.s404-theme-terminal-dark .s404-bubble,.s404-theme-terminal-dark .s404-avatar,.s404-theme-terminal-dark .s404-close,.s404-theme-terminal-dark .s404-box input,.s404-theme-terminal-dark .s404-box form button{border-radius:3px}.s404-theme-terminal-dark .s404-launch{border-radius:6px}
.s404-theme-midnight-dark .s404-box{border-radius:26px;box-shadow:0 30px 100px rgba(0,0,0,.55)}.s404-theme-midnight-dark .s404-bubble{border-radius:18px}.s404-theme-midnight-dark .s404-launch{border-radius:50%}
@media(max-width:600px){.s404-quick-replies{padding-left:0}}
