/* "Ask SNET" chat bubble (chat.js). Self-contained: does not depend on page CSS variables. */
.snet-chat-btn{position:fixed;right:20px;bottom:20px;z-index:2147483000;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#101218;color:#ECEEF2;font:600 15px/1 "Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 1px rgba(61,220,151,.15);transition:transform .15s ease,box-shadow .15s ease}
.snet-chat-btn:hover{transform:translateY(-1px);box-shadow:0 14px 36px rgba(0,0,0,.4),0 0 0 1px rgba(61,220,151,.35)}
.snet-chat-btn:focus-visible,.snet-chat-x:focus-visible,.snet-chat-send:focus-visible,.snet-chat-in:focus-visible,.snet-chat-snap input:focus-visible,.snet-chat-log:focus-visible{outline:2px solid #3DDC97;outline-offset:2px}
.snet-chat-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(120deg,#3DDC97,#7B61FF);box-shadow:0 0 0 3px rgba(61,220,151,.18)}
.snet-chat{position:fixed;right:20px;bottom:80px;z-index:2147483000;width:min(380px,calc(100vw - 24px));height:min(560px,calc(100vh - 110px));display:flex;flex-direction:column;background:#0F1117;color:#ECEEF2;border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.5);font:15px/1.5 "Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;overflow:hidden}
.snet-chat[hidden]{display:none}
.snet-chat-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(120deg,rgba(61,220,151,.10),rgba(123,97,255,.10))}
.snet-chat-title{font-size:15px;letter-spacing:.01em}
.snet-chat-x{width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#B7BDC9;font-size:24px;line-height:1;cursor:pointer}
.snet-chat-x:hover{background:rgba(255,255,255,.06);color:#fff}
.snet-chat-log{flex:1;overflow-y:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.snet-chat-msg{max-width:86%;padding:9px 13px;border-radius:14px;white-space:pre-wrap;word-wrap:break-word}
.snet-chat-assistant{align-self:flex-start;background:#1A1D26;border:1px solid rgba(255,255,255,.06);border-bottom-left-radius:4px}
.snet-chat-user{align-self:flex-end;background:#3DDC97;color:#0A0B0F;border-bottom-right-radius:4px}
.snet-chat-msg.is-wait{color:#858DA0;letter-spacing:.2em}
.snet-chat-note{margin:0;padding:6px 16px;font-size:11.5px;line-height:1.4;color:#8A92A3}
.snet-chat-form{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid rgba(255,255,255,.08)}
.snet-chat-in{flex:1;min-height:42px;max-height:120px;resize:none;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#0A0B0F;color:#ECEEF2;font:inherit}
.snet-chat-send{padding:0 16px;min-height:42px;border:0;border-radius:12px;background:#ECEEF2;color:#0A0B0F;font-family:inherit;font-size:14px;font-weight:600;line-height:1;cursor:pointer}
.snet-chat-send:disabled{opacity:.5;cursor:default}
.snet-chat-snap{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid rgba(61,220,151,.3);border-radius:14px;background:#13161E}
.snet-chat-lbl{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#B7BDC9}
.snet-chat-snap input{min-height:40px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#0A0B0F;color:#ECEEF2;font:inherit}
.snet-chat-snap .snet-chat-send{align-self:flex-start}
.snet-chat-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;opacity:0}
.snet-chat-st{margin:0;font-size:13px;color:#B7BDC9}
@media (max-width:480px){.snet-chat{right:8px;left:8px;bottom:76px;width:auto;height:calc(100vh - 96px);height:calc(100dvh - 96px);border-radius:16px}.snet-chat-btn{right:14px;bottom:14px}.snet-chat-in{font-size:16px}}
@media (prefers-reduced-motion:reduce){.snet-chat-btn{transition:none}}
