.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}}

/* v0.3.3 – Studio 404
 * Branded, friendly assistant UI: a small technical signature in the chrome,
 * but a bright, familiar chat experience for normal visitors.
 */
.s404-theme-studio404,.s404-theme-studio404-shell{
  font-family:"Space Grotesk",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.s404-theme-studio404 .s404-launch,.s404-theme-studio404-shell .s404-launch{
  width:auto;min-width:128px;height:50px;padding:0 15px;border-radius:15px;
  border:1px solid rgba(255,255,255,.08);background:var(--s404-launcher);color:var(--s404-launcher-icon);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
.s404-theme-studio404 .s404-launch:hover,.s404-theme-studio404-shell .s404-launch:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(0,0,0,.24)}
.s404-studio-launcher-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:0}
.s404-studio-launcher-label strong{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;color:var(--s404-accent);font-size:14px;letter-spacing:-.02em}
.s404-theme-studio404 .s404-online-dot,.s404-theme-studio404-shell .s404-online-dot{right:7px;bottom:7px;width:8px;height:8px;border:0;box-shadow:0 0 0 2px var(--s404-launcher)}
.s404-theme-studio404 .s404-box,.s404-theme-studio404-shell .s404-box{
  width:min(410px,calc(100vw - 32px));height:610px;background:var(--s404-panel);color:var(--s404-bot-text);
  border:1px solid rgba(17,17,17,.10);border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.20);
}
.s404-theme-studio404 .s404-box header,.s404-theme-studio404-shell .s404-box header{
  min-height:76px;padding:14px 15px;background:var(--s404-header);color:var(--s404-header-text);border-bottom:0;
}
.s404-theme-studio404 .s404-head-person,.s404-theme-studio404-shell .s404-head-person{gap:11px;min-width:0}
.s404-studio-mark{display:grid;place-items:center;min-width:44px;height:34px;padding:0 7px;border-radius:10px;background:var(--s404-accent);color:var(--s404-accent-text);font:800 12px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:-.03em}
.s404-theme-studio404 .s404-head-copy,.s404-theme-studio404-shell .s404-head-copy{gap:2px;min-width:0}
.s404-theme-studio404 .s404-box header b,.s404-theme-studio404-shell .s404-box header b{font-size:15px;letter-spacing:0}
.s404-theme-studio404 .s404-box header small,.s404-theme-studio404-shell .s404-box header small{font-size:11.5px;line-height:1.25;opacity:.72;text-transform:none;letter-spacing:0}
.s404-studio-presence{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:10px;font-weight:650;color:#c9c9c4}
.s404-studio-presence i{width:6px;height:6px;border-radius:50%;background:#9ca3af}.s404-studio-presence.is-online i{background:#22c55e}.s404-studio-presence.is-offline i{background:#ef4444}
.s404-theme-studio404 .s404-close,.s404-theme-studio404-shell .s404-close{border-radius:10px;background:rgba(255,255,255,.08);font-family:inherit}
.s404-theme-studio404 .s404-messages,.s404-theme-studio404-shell .s404-messages{padding:18px 14px 16px;gap:13px;background:var(--s404-panel);background-image:none}
.s404-theme-studio404 .s404-avatar-small,.s404-theme-studio404-shell .s404-avatar-small{width:28px;height:28px;border-radius:9px;background:var(--s404-header);color:var(--s404-header-text);box-shadow:none}
.s404-theme-studio404 .s404-bubble,.s404-theme-studio404-shell .s404-bubble{max-width:84%;padding:11px 13px;border-radius:15px;box-shadow:none;font-size:14px;line-height:1.5;border:1px solid transparent}
.s404-theme-studio404 .s404-bubble.assistant,.s404-theme-studio404-shell .s404-bubble.assistant{background:var(--s404-bot-bubble);color:var(--s404-bot-text);border-color:rgba(17,17,17,.08);border-top-left-radius:6px}
.s404-theme-studio404 .s404-bubble.user,.s404-theme-studio404-shell .s404-bubble.user{background:var(--s404-user-bubble);color:var(--s404-user-text);border-color:transparent;border-top-right-radius:6px}
.s404-theme-studio404 .s404-quick-replies,.s404-theme-studio404-shell .s404-quick-replies{padding-left:36px;gap:7px;margin-top:-4px}
.s404-theme-studio404 .s404-quick-reply,.s404-theme-studio404-shell .s404-quick-reply{border-radius:12px;border:1px solid rgba(17,17,17,.12);background:#fff;color:#171717;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;padding:9px 11px}
.s404-theme-studio404 .s404-quick-reply:hover,.s404-theme-studio404-shell .s404-quick-reply:hover{background:color-mix(in srgb,var(--s404-accent) 18%,#fff);border-color:color-mix(in srgb,var(--s404-accent) 72%,#111)}
.s404-theme-studio404 .s404-box form,.s404-theme-studio404-shell .s404-box form{align-items:center;gap:8px;padding:11px 12px 9px;border-top:1px solid rgba(17,17,17,.08);background:var(--s404-panel)}
.s404-theme-studio404 .s404-box input,.s404-theme-studio404-shell .s404-box input{height:44px;border-radius:13px;border:1px solid #d9d9d2;background:#fff;color:#171717;font-family:inherit;font-size:14px}
.s404-theme-studio404 .s404-box input::placeholder,.s404-theme-studio404-shell .s404-box input::placeholder{color:#8d8d87}
.s404-theme-studio404 .s404-box input:focus,.s404-theme-studio404-shell .s404-box input:focus{border-color:color-mix(in srgb,var(--s404-accent) 70%,#111);box-shadow:0 0 0 3px color-mix(in srgb,var(--s404-accent) 18%,transparent)}
.s404-theme-studio404 .s404-box form button,.s404-theme-studio404-shell .s404-box form button{width:44px;height:44px;border-radius:13px;background:var(--s404-accent);color:var(--s404-accent-text);font-family:inherit;font-size:21px}
.s404-theme-studio404 .s404-powered,.s404-theme-studio404-shell .s404-powered{padding:1px 10px 9px;background:var(--s404-panel);color:#8a8a84;font-family:inherit;border-top:0}
.s404-theme-studio404 .s404-sources-collapsible,.s404-theme-studio404-shell .s404-sources-collapsible{margin-top:9px;padding-top:8px;border-top:1px solid rgba(17,17,17,.09);font-size:11px;opacity:.78}
.s404-theme-studio404 .s404-sources-collapsible summary,.s404-theme-studio404-shell .s404-sources-collapsible summary{cursor:pointer;font-weight:700;list-style:none}.s404-sources-collapsible summary::-webkit-details-marker{display:none}
.s404-theme-studio404 .s404-sources-collapsible summary:after,.s404-theme-studio404-shell .s404-sources-collapsible summary:after{content:" +";color:#777}.s404-theme-studio404 .s404-sources-collapsible[open] summary:after,.s404-theme-studio404-shell .s404-sources-collapsible[open] summary:after{content:" −"}
.s404-theme-studio404 .s404-sources-collapsible div,.s404-theme-studio404-shell .s404-sources-collapsible div{margin-top:6px;line-height:1.45}
@media(max-width:600px){
  .s404-theme-studio404,.s404-theme-studio404-shell{right:10px;bottom:10px}
  .s404-theme-studio404 .s404-box,.s404-theme-studio404-shell .s404-box{inset:0;width:auto;height:auto;max-height:none;border-radius:0;border:0}
  .s404-theme-studio404 .s404-launch,.s404-theme-studio404-shell .s404-launch{min-width:122px;height:48px}
  .s404-theme-studio404 .s404-quick-replies,.s404-theme-studio404-shell .s404-quick-replies{padding-left:0}
}
@media(prefers-reduced-motion:reduce){.s404-theme-studio404 .s404-launch,.s404-theme-studio404-shell .s404-launch,.s404-theme-studio404 .s404-box.open,.s404-theme-studio404-shell .s404-box.open{animation:none!important;transition:none!important}}

