﻿.ai-support-root{--ai-bg:rgba(16,30,45,.98);--ai-panel:#172b40;--ai-line:#304e68;--ai-text:#eaf5ff;--ai-muted:#91a9be;--ai-accent:#72c8ff;--ai-surface:#101f2e;--ai-raised:#1a3045;--ai-strong:#245b84;--ai-border:#407eac;--ai-soft:#b9dff8;--ai-on-accent:#113752;--ai-send-end:#61b5ed;--ai-glow:rgba(114,200,255,.16);--ai-header-start:rgba(68,126,170,.16);--ai-header-end:rgba(51,102,146,.06);--ai-error-bg:#35242d;--ai-error-text:#ffdce1;--ai-error-action:#ffb0b8;--ai-error-line:rgba(255,115,129,.36);position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:2147481000;font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif;font-weight:400;line-height:1.5;letter-spacing:normal;color:var(--ai-text)}
.ai-support-root *{box-sizing:border-box}
.ai-support-root [hidden]{display:none!important}
.ai-support-root button,.ai-support-root textarea{font-family:inherit;letter-spacing:normal}
.ai-support-root button:focus-visible{outline:2px solid var(--ai-accent);outline-offset:2px}
.ai-support-launcher{display:flex;align-items:center;gap:10px;min-width:122px;height:48px;padding:0 16px 0 9px;border:1px solid var(--ai-border);border-radius:6px;background:linear-gradient(135deg,var(--ai-strong),var(--ai-raised));color:var(--ai-text);box-shadow:0 12px 32px rgba(0,0,0,.32);font-size:13px;font-weight:650;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.ai-support-launcher:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.4),0 0 20px var(--ai-glow)}
.ai-support-launcher img{display:block;width:32px;height:32px;flex:none}
.ai-support-launcher i{width:7px;height:7px;border-radius:50%;background:var(--ai-accent);box-shadow:0 0 8px var(--ai-glow)}
.ai-support-root.open .ai-support-launcher{visibility:hidden;pointer-events:none}
.ai-support-panel{position:absolute;right:0;bottom:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto auto;width:min(390px,calc(100vw - 24px));height:min(650px,calc(100dvh - 32px));overflow:hidden;border:1px solid var(--ai-line);border-radius:10px;background:var(--ai-bg);box-shadow:0 24px 72px rgba(0,0,0,.48)}
.ai-support-panel{transform-origin:bottom right;transform:translate(0,0) scale(1,1);opacity:1;transition:transform 300ms cubic-bezier(.22,.68,.3,1),opacity 300ms ease,display 300ms allow-discrete}
.ai-support-panel[hidden]{transform:translate(var(--ai-from-x,0px),var(--ai-from-y,0px)) scale(var(--ai-from-scale-x,.32),var(--ai-from-scale-y,.074));opacity:.55;pointer-events:none}
.ai-support-panel>*{opacity:1;transition:opacity 180ms ease 70ms}
.ai-support-panel[hidden]>*{opacity:0;transition-delay:0ms}
.ai-support-root .ai-support-panel.ai-support-measuring{display:block!important;visibility:hidden!important;transform:none!important;transition:none!important}
.ai-support-root .ai-support-panel.ai-support-measure-reset{transition:none!important}
@starting-style{.ai-support-panel:not([hidden]){transform:translate(var(--ai-from-x,0px),var(--ai-from-y,0px)) scale(var(--ai-from-scale-x,.32),var(--ai-from-scale-y,.074));opacity:.55}.ai-support-panel:not([hidden])>*{opacity:0}}
.ai-support-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;border-bottom:1px solid var(--ai-line);background:linear-gradient(120deg,var(--ai-header-start),var(--ai-header-end))}
.ai-support-brand{display:flex;align-items:center;min-width:0;gap:10px}
.ai-support-brand>img{display:block;width:38px;height:38px;flex:none}
.ai-support-brand>span{display:grid;min-width:0;gap:4px}
.ai-support-brand strong{font-size:14px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
.ai-support-brand small{display:flex;align-items:center;gap:5px;color:var(--ai-soft);font-size:10px;font-weight:400}
.ai-support-brand small i{width:6px;height:6px;flex:none;border-radius:50%;background:var(--ai-accent)}
.ai-support-header nav{display:flex;flex:none;gap:5px}
.ai-support-header nav button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--ai-line);border-radius:8px;background:var(--ai-surface);color:var(--ai-soft);font-size:20px;font-weight:400;line-height:1;cursor:pointer}
.ai-support-header nav button:hover{border-color:var(--ai-accent);color:var(--ai-text);background:var(--ai-strong)}
.ai-support-messages{min-height:0;overflow:auto;overscroll-behavior:contain;padding:15px 13px 8px;scrollbar-width:thin;scrollbar-color:var(--ai-line) transparent}
.ai-support-message{display:flex;align-items:flex-start;gap:8px;margin:0 0 13px}
.ai-support-message.user{flex-direction:row-reverse}
.ai-support-message-avatar{display:grid;flex:0 0 28px;place-items:center;width:28px;height:28px;margin-top:19px;border:1px solid var(--ai-line);border-radius:9px;background:var(--ai-raised);color:var(--ai-soft)}
.ai-support-message-avatar svg{width:17px;height:17px}
.ai-support-message.assistant .ai-support-message-avatar{border-color:var(--ai-border);color:var(--ai-accent)}
.ai-support-message-body{display:flex;min-width:0;max-width:calc(100% - 36px);flex-direction:column;align-items:flex-start;gap:4px}
.ai-support-sender{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px;color:var(--ai-muted);font-size:10px;font-weight:500}
.ai-support-message.user .ai-support-message-body{align-items:flex-end}
.ai-support-message p{max-width:100%;margin:0;padding:9px 11px;border:1px solid var(--ai-line);border-radius:8px 8px 8px 3px;background:var(--ai-raised);color:var(--ai-text);font-size:11px;font-weight:400;line-height:1.6;letter-spacing:normal;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-support-message.user p{border-color:var(--ai-border);border-radius:8px 8px 3px 8px;background:var(--ai-strong);color:var(--ai-text)}
.ai-support-message.error p{border-color:var(--ai-error-line);background:var(--ai-error-bg);color:var(--ai-error-text)}
/* Keep the tail beside the avatar, independent of message length or attached cards. */
.ai-support-message-body>p{position:relative;border-radius:8px}
.ai-support-message.user .ai-support-message-body>p{border-radius:8px}
.ai-support-message-body>p::before{content:"";position:absolute;top:9px;left:-5px;width:8px;height:8px;background:inherit;border-left:1px solid;border-bottom:1px solid;border-color:inherit;transform:rotate(45deg);pointer-events:none}
.ai-support-message.user .ai-support-message-body>p::before{left:auto;right:-5px;transform:rotate(225deg)}
.ai-support-message time{padding:0 3px;color:var(--ai-muted);font-size:9px;font-weight:400}
.ai-support-retry{border:1px solid var(--ai-error-line);border-radius:7px;background:transparent;color:var(--ai-error-action);padding:5px 8px;font-size:10px;font-weight:500;cursor:pointer}
.ai-support-quick{display:grid;gap:7px;padding:0 15px 12px}
.ai-support-quick button{width:fit-content;max-width:100%;padding:7px 10px;border:1px solid var(--ai-line);border-radius:8px;background:var(--ai-surface);color:var(--ai-soft);text-align:left;font-size:11px;font-weight:400;line-height:1.45;overflow-wrap:anywhere;cursor:pointer}
.ai-support-quick button:hover{border-color:var(--ai-accent);color:var(--ai-text);background:var(--ai-strong)}
.ai-support-typing{display:flex;align-items:center;gap:8px;padding:4px 15px 10px;color:var(--ai-muted);font-size:10px}
.ai-support-typing>svg{width:16px;height:16px;flex:none;color:var(--ai-accent)}
.ai-support-typing>i{display:flex;gap:3px}
.ai-support-typing em{width:4px;height:4px;border-radius:50%;background:var(--ai-accent);animation:ai-support-dot 1s infinite ease-in-out}
.ai-support-typing em:nth-child(2){animation-delay:.14s}.ai-support-typing em:nth-child(3){animation-delay:.28s}
.ai-support-compose{display:flex;align-items:flex-end;gap:8px;margin:0 12px;padding:7px;border:1px solid var(--ai-line);border-radius:8px;background:var(--ai-surface)}
.ai-support-compose:focus-within{border-color:var(--ai-accent);box-shadow:0 0 0 2px var(--ai-glow)}
.ai-support-compose textarea{flex:1;min-width:0;height:36px;min-height:36px;max-height:116px;margin:0 0 6px;box-sizing:border-box;resize:none;border:0;outline:0;background:transparent;color:var(--ai-text);padding:6px;font-size:12px;font-weight:400;line-height:1.5}
.ai-support-compose textarea::placeholder{color:var(--ai-muted);opacity:1}
.ai-support-compose button{display:grid;flex:0 0 38px;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:9px;background:linear-gradient(135deg,var(--ai-accent),var(--ai-send-end));color:var(--ai-on-accent);font-size:17px;font-weight:700;cursor:pointer}
.ai-support-compose button:disabled{opacity:.4;cursor:wait}
.ai-support-note{margin:8px 16px 11px;color:var(--ai-muted);text-align:center;font-size:9px;font-weight:400;line-height:1.45}
@keyframes ai-support-dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(max-width:560px),(max-width:900px) and (hover:none) and (pointer:coarse){
  .ai-support-root{right:10px;bottom:10px}
  .ai-support-panel{position:fixed;inset:auto;top:calc(var(--ai-viewport-top,0px) + max(8px,env(safe-area-inset-top)));left:calc(var(--ai-viewport-left,0px) + max(8px,env(safe-area-inset-left)));width:calc(var(--ai-viewport-width,100vw) - max(8px,env(safe-area-inset-left)) - max(8px,env(safe-area-inset-right)));height:calc(var(--ai-viewport-height,100dvh) - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));border-radius:10px}
  .ai-support-root .ai-support-panel{top:var(--ai-viewport-top,0px);left:var(--ai-viewport-left,0px);width:var(--ai-viewport-width,100vw);height:var(--ai-viewport-height,100dvh);max-height:var(--ai-viewport-height,100dvh);border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .ai-support-launcher{height:48px;min-width:112px}
}
/* iOS zooms focused small form controls; keep conversation text compact, not the input. */
@media(max-width:560px),(hover:none) and (pointer:coarse){
  .ai-support-root textarea,.ai-support-root input,.ai-support-root select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.ai-support-root *{animation:none!important;transition:none!important}}

.ai-support-root[data-ai-theme="white"]{--ai-bg:rgba(250,252,255,.98);--ai-panel:#fff;--ai-line:#d3dce5;--ai-text:#1d2a37;--ai-muted:#53677a;--ai-accent:#334b60;--ai-surface:#f4f7fa;--ai-raised:#fff;--ai-strong:#e4ebf1;--ai-border:#99abba;--ai-soft:#31495e;--ai-on-accent:#fff;--ai-send-end:#425b70;--ai-glow:rgba(51,75,96,.12);--ai-header-start:rgba(218,231,243,.4);--ai-header-end:rgba(239,245,250,.2);--ai-error-bg:#fff0f2;--ai-error-text:#8a2335;--ai-error-action:#ab2941;--ai-error-line:#da788d}
.ai-support-root[data-ai-theme="black"]{--ai-bg:rgba(12,14,18,.98);--ai-panel:#1b2028;--ai-line:#383e49;--ai-text:#f0f2f5;--ai-muted:#a1a8b4;--ai-accent:#d0d6e1;--ai-surface:#141820;--ai-raised:#20252d;--ai-strong:#343b48;--ai-border:#626e80;--ai-soft:#d0d6e1;--ai-on-accent:#141820;--ai-send-end:#aebaca;--ai-glow:rgba(210,220,235,.12);--ai-header-start:rgba(155,166,184,.1);--ai-header-end:rgba(90,100,118,.04)}
.ai-support-root[data-ai-theme="mint"]{--ai-bg:rgba(13,32,31,.98);--ai-panel:#18352f;--ai-line:#30584e;--ai-text:#e9faf3;--ai-muted:#98b9ac;--ai-accent:#7cdec0;--ai-surface:#102922;--ai-raised:#19392f;--ai-strong:#245f4f;--ai-border:#438775;--ai-soft:#b5ead8;--ai-on-accent:#10392c;--ai-send-end:#59b99b;--ai-glow:rgba(124,222,192,.16);--ai-header-start:rgba(64,139,117,.18);--ai-header-end:rgba(47,103,84,.06)}
.ai-support-theme-control{position:relative;display:flex}
.ai-support-theme-control>button svg{width:18px;height:18px}
.ai-support-theme-picker{position:absolute;z-index:5;top:calc(100% + 8px);right:0;display:grid;grid-template-columns:repeat(4,32px);gap:8px;padding:10px;border:1px solid var(--ai-line);border-radius:10px;background:var(--ai-panel);box-shadow:0 12px 30px rgba(0,0,0,.3)}
.ai-support-theme-picker button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:32px;padding:6px;border:1px solid var(--ai-line);border-radius:5px;background:var(--ai-surface);color:var(--ai-soft);font-size:10px;font-weight:500;line-height:1.35;cursor:pointer}
.ai-support-theme-picker .ai-support-theme-swatch{display:block;flex:0 0 18px;width:18px;height:18px;border:1px solid rgba(128,145,164,.65);border-radius:50%;background:var(--ai-swatch)}.ai-support-theme-picker [data-ai-theme-name]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ai-support-theme-picker [data-ai-theme-option="white"]{--ai-swatch:#f5f7fb}
.ai-support-theme-picker [data-ai-theme-option="black"]{--ai-swatch:#11151c}
.ai-support-theme-picker [data-ai-theme-option="sky"]{--ai-swatch:#72c8ff}
.ai-support-theme-picker [data-ai-theme-option="mint"]{--ai-swatch:#7cdec0}
.ai-support-theme-picker button:hover{background:var(--ai-raised);border-color:var(--ai-border)}
.ai-support-theme-picker button[aria-pressed="true"]{color:var(--ai-text);border-color:var(--ai-accent);background:var(--ai-strong);box-shadow:0 0 0 1px var(--ai-accent)}
/* Color-only overrides also cover optional account cards, without changing their layout or behavior. */
.ai-support-root .ai-support-account,.ai-support-root .ai-account-quick button,.ai-support-root .ai-account-snapshot{background:var(--ai-surface);border-color:var(--ai-line);color:var(--ai-text);color-scheme:dark}
.ai-support-root .ai-account-snapshot>small,.ai-support-root .ai-account-snapshot dt{color:var(--ai-muted)}
.ai-support-root .ai-account-snapshot details{border-color:var(--ai-line)}
.ai-support-root .ai-account-quick button:hover{border-color:var(--ai-accent);background:var(--ai-strong)}
.ai-support-root[data-ai-theme="white"] .ai-support-account{color-scheme:light}
