.achat-fab,.achat-onboarding,.achat-panel{--achat-accent:#2f56c7;--achat-accent-hover:#2548a8;--achat-bg:#ffffff;--achat-surface:#f9fafb;--achat-card:#ffffff;--achat-sunken:#f4f5f7;--achat-text:#1a1d21;--achat-muted:#6b7480;--achat-line:#e7e9ee;--achat-font:-apple-system,BlinkMacSystemFont,"Pretendard Variable",Pretendard,system-ui,sans-serif;--achat-radius:10px;--achat-radius-sm:6px;--achat-shadow:0 8px 24px rgba(20,22,27,.10),0 2px 8px rgba(20,22,27,.06);--achat-focus:0 0 0 3px rgba(47,86,199,.25);--achat-error:#cf5f52;--achat-badge:#e53935}@media(prefers-color-scheme:dark),html[data-theme=dark] .achat-fab,html[data-theme=dark] .achat-onboarding,html[data-theme=dark] .achat-panel{.achat-fab,.achat-onboarding,.achat-panel{--achat-accent:#7d97f0;--achat-accent-hover:#6580d8;--achat-bg:#131519;--achat-surface:#191c22;--achat-card:#1b1f26;--achat-sunken:#15181d;--achat-text:#e8eaed;--achat-muted:#8a8f9a;--achat-line:#292d36;--achat-shadow:0 10px 30px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.4)}}.achat-fab{position:fixed;bottom:24px;right:24px;z-index:9000;width:52px;height:52px;border-radius:50%;background:var(--achat-accent);color:#fff;border:none;cursor:pointer;box-shadow:var(--achat-shadow);display:flex;align-items:center;justify-content:center;font-family:var(--achat-font);transition:transform .18s ease,opacity .18s ease}.achat-fab:hover{transform:scale(1.06)}.achat-fab:active{transform:scale(.95)}.achat-fab:focus-visible{box-shadow:var(--achat-focus)}.achat-fab svg{width:22px;height:22px;fill:currentColor}.achat-fab[aria-expanded=true]{opacity:0;pointer-events:none;transform:scale(.8)}.achat-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--achat-badge);color:#fff;font:600 .65rem/18px var(--achat-font);text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.3);pointer-events:none}.achat-badge[hidden]{display:none}.achat-panel{position:fixed;bottom:24px;right:24px;z-index:9001;width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;background:var(--achat-card);border:1px solid var(--achat-line);border-radius:var(--achat-radius);box-shadow:var(--achat-shadow);overflow:hidden;font-family:var(--achat-font);transform-origin:bottom right;transform:translateY(24px) scale(.96);opacity:0;pointer-events:none;transition:transform .24s cubic-bezier(0,0,.2,1),opacity .18s ease}.achat-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.achat-panel.no-anim{transition:none!important}.achat-head{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--achat-line);background:var(--achat-surface);gap:6px;flex-shrink:0}.achat-title{flex:1 1;font:600 .88rem/1.3 var(--achat-font);color:var(--achat-text);margin:0;letter-spacing:-.01em}.achat-close,.achat-new{background:none;border:none;cursor:pointer;color:var(--achat-muted);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--achat-radius-sm);font-size:.85rem;font-family:var(--achat-font);transition:background .12s}.achat-close:hover,.achat-new:hover{background:var(--achat-sunken);color:var(--achat-text)}.achat-close:focus-visible,.achat-new:focus-visible{box-shadow:var(--achat-focus)}.achat-msgs{flex:1 1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth;background:var(--achat-bg)}.achat-bubble{max-width:85%;padding:10px 14px;border-radius:var(--achat-radius);font:400 .84rem/1.55 var(--achat-font);color:var(--achat-text);white-space:pre-wrap;word-break:break-word}.achat-bubble.user{align-self:flex-end;background:var(--achat-accent);color:#fff;border-bottom-right-radius:4px;margin-left:14%}.achat-bubble.assistant{align-self:flex-start;background:var(--achat-sunken);color:var(--achat-text);border-bottom-left-radius:4px;margin-right:8%}.achat-bubble.system{align-self:center;text-align:center;font-size:.78rem;color:var(--achat-muted);background:transparent;padding:6px 0;max-width:90%}.achat-loading{align-self:flex-start;display:flex;align-items:center;gap:4px;padding:10px 14px;background:var(--achat-sunken);border-radius:var(--achat-radius);border-bottom-left-radius:4px}.achat-loading span,.achat-loading:after,.achat-loading:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--achat-muted);animation:achat-dot 1.2s ease-in-out infinite}.achat-loading:after{animation-delay:.2s}.achat-loading span{animation-delay:.4s}@keyframes achat-dot{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.achat-input-area{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--achat-line);background:var(--achat-surface);flex-shrink:0}.achat-input{flex:1 1;resize:none;border:1px solid var(--achat-line);border-radius:var(--achat-radius-sm);padding:9px 11px;font:400 .84rem/1.45 var(--achat-font);color:var(--achat-text);background:var(--achat-bg);min-height:38px;max-height:84px;transition:border-color .12s}.achat-input::placeholder{color:var(--achat-muted)}.achat-input:focus{outline:none;border-color:var(--achat-accent);box-shadow:var(--achat-focus)}.achat-send{background:var(--achat-accent);color:#fff;border:none;border-radius:var(--achat-radius-sm);padding:9px 14px;font:600 .82rem/1 var(--achat-font);cursor:pointer;white-space:nowrap;min-height:38px;transition:filter .12s,opacity .12s}.achat-send:disabled{opacity:.35;cursor:not-allowed}.achat-send:hover:not(:disabled){filter:brightness(1.08)}.achat-send:active:not(:disabled){filter:brightness(.95)}.achat-send:focus-visible{box-shadow:var(--achat-focus)}.achat-input:disabled{background:var(--achat-surface);color:var(--achat-muted);cursor:not-allowed}.achat-error{color:var(--achat-error);background:rgba(207,95,82,.08);padding:7px 12px;border-radius:var(--achat-radius-sm)}.achat-error,.achat-notice{align-self:center;font-size:.76rem;text-align:center;max-width:90%;font-family:var(--achat-font)}.achat-notice{border:1px solid var(--achat-line);padding:9px 13px;border-radius:var(--achat-radius-sm);white-space:pre-line}.achat-gate,.achat-notice{color:var(--achat-muted);background:var(--achat-surface);line-height:1.5}.achat-gate{flex-shrink:0;font-size:.75rem;border-top:1px solid var(--achat-line);padding:9px 12px;text-align:center;font-family:var(--achat-font)}.achat-onboarding{position:fixed;bottom:86px;right:24px;z-index:9000;background:var(--achat-card);border:1px solid var(--achat-line);border-radius:var(--achat-radius);box-shadow:var(--achat-shadow);padding:14px 16px;max-width:260px;display:flex;align-items:flex-start;gap:10px;font-family:var(--achat-font);animation:achat-onb-in .3s ease}.achat-onb-text{font:400 .82rem/1.5 var(--achat-font);color:var(--achat-text)}.achat-onb-text strong{font-weight:600;font-size:.88rem}.achat-onb-text span{color:var(--achat-muted);font-size:.78rem}.achat-onb-close{background:none;border:none;cursor:pointer;color:var(--achat-muted);font-size:.75rem;padding:2px 4px;border-radius:var(--achat-radius-sm);flex-shrink:0;font-family:var(--achat-font)}.achat-onb-close:hover{color:var(--achat-text);background:var(--achat-sunken)}@keyframes achat-onb-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.achat-fab{bottom:16px;right:16px;width:48px;height:48px}.achat-fab svg{width:20px;height:20px}.achat-panel{bottom:0;right:0;left:0;width:100%;max-width:100%;height:calc(100dvh - 56px);max-height:calc(100dvh - 56px);border-radius:var(--achat-radius) var(--achat-radius) 0 0;border-left:none;border-right:none;border-bottom:none}.achat-msgs{padding:14px 12px}.achat-bubble{max-width:90%;font-size:.83rem}.achat-input-area{padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}.achat-input{padding:8px 10px;min-height:36px}.achat-send{padding:8px 12px;min-height:36px}.achat-onboarding{bottom:74px;right:16px;max-width:calc(100vw - 80px)}}