.fw-assistant-launcher{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:70;display:grid;place-items:center;width:68px;height:68px;padding:0;border:0;border-radius:20px;background:transparent;color:var(--text);cursor:pointer;touch-action:manipulation;transition:transform .18s ease}.fw-assistant-launcher-hint{z-index:90;max-width:calc(100vw - 32px);padding:9px 13px;border:1px solid var(--surface-border);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:0 4px 18px color-mix(in srgb,var(--text) 10%,transparent);font-size:12px;line-height:1.5}@media(hover:hover) and (pointer:fine){.fw-assistant-launcher:hover{transform:translateY(-2px) scale(1.04)}}.fw-assistant-mascot{display:block;flex-shrink:0;width:64px;height:64px;overflow:hidden}.fw-assistant-mascot img{display:block;width:100%;height:100%;object-fit:contain;transform:translateY(-2%) scale(1.12);user-select:none}.fw-assistant-launcher-icon{width:68px;height:68px;filter:drop-shadow(0 5px 8px color-mix(in srgb,var(--brand) 16%,transparent))}.fw-assistant-overlay{position:fixed;inset:0;z-index:1050;background:color-mix(in srgb,var(--text) 9%,transparent);animation:fw-assistant-fade .16s ease}.fw-assistant-panel{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:1051;width:390px;height:min(590px,calc(100dvh - 48px - env(safe-area-inset-bottom)));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--surface-border);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 16px 64px color-mix(in srgb,var(--text) 18%,transparent);font-size:14px;line-height:1.6;animation:fw-assistant-enter .2s ease;outline:none;isolation:isolate}.fw-assistant-launcher *,.fw-assistant-panel *{box-sizing:border-box}.fw-assistant-panel button,.fw-assistant-panel textarea{font:inherit}.fw-assistant-panel button{cursor:pointer}.fw-assistant-panel button:disabled{cursor:not-allowed;opacity:.5}.fw-assistant-launcher:focus-visible,.fw-assistant-panel a:focus-visible,.fw-assistant-panel button:focus-visible{outline:2px solid var(--brand-focus);outline-offset:3px}.fw-assistant-header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:20px 18px;border-bottom:1px solid var(--surface-border)}.fw-assistant-avatar{width:44px;height:44px;border-radius:14px;background:var(--brand-soft)}.fw-assistant-heading{flex:1;min-width:0}.fw-assistant-heading h2{margin:0;font-size:16px;line-height:1.5;letter-spacing:-.3px;font-weight:650;outline:none}.fw-assistant-heading p{margin:2px 0 0;color:var(--text-muted);font-size:11px;line-height:1.5}.fw-assistant-icon-button{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--text-muted)}.fw-assistant-icon-button:hover{background:var(--surface-raised);color:var(--text)}.fw-assistant-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 17px;border-bottom:1px solid var(--surface-border);flex-shrink:0}.fw-assistant-text-button,.fw-assistant-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:var(--text-muted);padding:5px 3px;font-size:12px;line-height:1.5;border-radius:4px}.fw-assistant-text-button:hover,.fw-assistant-toolbar button:hover,.fw-assistant-toolbar button[aria-pressed=true]{color:var(--brand)}.fw-assistant-quota{flex-shrink:0;padding:10px 18px;border-bottom:1px solid var(--surface-border);background:var(--surface);color:var(--text-muted);font-size:11px;line-height:1.6}.fw-assistant-quota-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2px 10px}.fw-assistant-quota-row>span:first-child{color:var(--text);font-size:12px}.fw-assistant-quota-row strong{color:var(--brand);font-size:14px;font-weight:650}.fw-assistant-quota-tier{display:inline-block;margin-right:7px;color:var(--text-muted);font-size:10px}.fw-assistant-quota p{margin:3px 0 0;font-size:10px;line-height:1.6}.fw-assistant-quota--empty{background:var(--surface-raised)}.fw-assistant-quota--empty strong{color:var(--text)}.fw-assistant-quota-reset{font-size:10px;white-space:nowrap}.fw-assistant-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--surface-border) transparent;padding:24px 21px}.fw-assistant-gate{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px 0 36px}.fw-assistant-gate-mascot{position:relative;display:block;margin-bottom:18px}.fw-assistant-gate-mascot>.fw-assistant-mascot{width:80px;height:80px}.fw-assistant-gate-lock{position:absolute;right:-2px;bottom:1px;display:grid;place-items:center;width:25px;height:25px;border:3px solid var(--surface);border-radius:50%;background:var(--brand-soft);color:var(--brand)}.fw-assistant-gate h3{margin:0;font-size:20px;font-weight:650;letter-spacing:-.5px}.fw-assistant-gate p{margin:12px 0 26px;color:var(--text-muted);font-size:13px;line-height:1.9}.fw-assistant-login{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:11px 23px;border-radius:10px;background:var(--brand);color:var(--primary-foreground);font-size:13px;font-weight:600;text-decoration:none}.fw-assistant-login:hover{background:var(--brand-hover);color:var(--primary-foreground)}.fw-assistant-gate-note{margin-top:13px;color:var(--text-muted);font-size:11px}.fw-assistant-welcome{padding:3px 1px 5px}.fw-assistant-welcome-mascot{margin-bottom:12px}.fw-assistant-eyebrow{font-size:11px;color:var(--brand);font-weight:500}.fw-assistant-welcome h3{font-size:23px;font-weight:650;letter-spacing:-.7px;line-height:1.5;margin:8px 0}.fw-assistant-welcome>p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.85}.fw-assistant-questions{display:flex;flex-direction:column;gap:8px;margin:25px 0 16px}.fw-assistant-questions button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--surface-border);border-radius:9px;background:var(--surface);color:var(--text);font-size:12px;text-align:left;transition:border-color .15s ease,background .15s ease}.fw-assistant-questions button svg{color:var(--text-muted);flex-shrink:0}.fw-assistant-questions button:not(:disabled):hover{border-color:var(--brand-border);background:var(--brand-soft)}.fw-assistant-notice{display:flex;gap:10px;margin:8px 0 12px;padding:13px 12px;border-radius:10px;background:var(--surface-raised);color:var(--text-muted)}.fw-assistant-notice-mark{display:flex;padding-top:2px}.fw-assistant-notice strong{display:block;color:var(--text);font-size:12px;font-weight:600}.fw-assistant-notice p{font-size:12px;line-height:1.7;margin:3px 0 0}.fw-assistant-loading{min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;color:var(--text-muted);text-align:center}.fw-assistant-loading p{font-size:13px;margin:7px 0}.fw-assistant-loading>.fw-assistant-spin{color:var(--brand)}.fw-assistant-messages{display:flex;flex-direction:column;gap:20px}.fw-assistant-message{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.fw-assistant-message--user{align-items:flex-end}.fw-assistant-message-label{font-size:10px;color:var(--text-muted);margin:0 2px 6px}.fw-assistant-bubble{max-width:100%;padding:12px 14px;border-radius:3px 13px 13px 13px;background:var(--surface-raised);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;font-size:13px;line-height:1.85}.fw-assistant-bubble a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.fw-assistant-message--user .fw-assistant-bubble{max-width:90%;background:var(--brand);color:var(--primary-foreground);border-radius:13px 3px 13px 13px}.fw-assistant-message--user .fw-assistant-bubble a{color:inherit}.fw-assistant-thinking{display:flex;align-items:center;gap:4px;min-height:42px;padding:12px 16px;background:var(--surface-raised);border-radius:3px 13px 13px 13px}.fw-assistant-thinking>span:not(.fw-assistant-sr-only){width:5px;height:5px;border-radius:50%;background:var(--text-muted);animation:fw-assistant-pulse 1.2s ease-in-out infinite}.fw-assistant-thinking>span:nth-child(2){animation-delay:.15s}.fw-assistant-thinking>span:nth-child(3){animation-delay:.3s}.fw-assistant-composer{border-top:1px solid var(--surface-border);padding:13px 16px 11px;flex-shrink:0;background:var(--surface)}.fw-assistant-input-row{display:flex;align-items:flex-end;gap:8px;padding:10px 9px 10px 12px;border:1px solid var(--surface-border);border-radius:11px;background:var(--surface);transition:border-color .15s ease}.fw-assistant-input-row:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.fw-assistant-input-row textarea{min-width:0;flex:1;resize:none;outline:none;border:0;padding:0;background:transparent;color:var(--text);font-size:13px;line-height:1.6;max-height:100px}.fw-assistant-input-row textarea::placeholder{color:var(--text-muted)}.fw-assistant-send{width:33px;height:33px;flex-shrink:0;display:grid;place-items:center;border:0;border-radius:9px;background:var(--brand);color:var(--primary-foreground)}.fw-assistant-send:hover:not(:disabled){background:var(--brand-hover)}.fw-assistant-send:disabled{background:var(--surface-raised);color:var(--text-muted);opacity:1!important}.fw-assistant-disclaimer{margin:8px 0 0;color:var(--text-muted);font-size:10px;line-height:1.5;text-align:center}.fw-assistant-error{flex-shrink:0;padding:10px 20px;border-top:1px solid var(--surface-border);background:var(--surface-raised);color:var(--text-muted);font-size:12px;line-height:1.6;max-height:130px;overflow:auto}.fw-assistant-error p{margin:0}.fw-assistant-error>div{display:flex;gap:16px;margin-top:3px}.fw-assistant-error .fw-assistant-text-button{color:var(--brand)}.fw-assistant-offline{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);margin:0 0 8px}.fw-assistant-history-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.fw-assistant-history-heading h3{margin:0;font-size:15px;font-weight:600}.fw-assistant-history-item{display:flex;width:100%;gap:10px;text-align:left;align-items:center;padding:13px 0;border:0;border-bottom:1px solid var(--surface-border);background:transparent;color:var(--text-muted)}.fw-assistant-history-item>span{flex:1;min-width:0}.fw-assistant-history-item>svg{flex-shrink:0}.fw-assistant-history-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;color:var(--text)}.fw-assistant-history-item time{font-size:10px}.fw-assistant-history-item:hover strong{color:var(--brand)}.fw-assistant-empty-history{text-align:center;margin:60px 0;color:var(--text-muted);font-size:13px;line-height:1.9}.fw-assistant-inline-status{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text-muted);font-size:12px;margin:20px 0}.fw-assistant-sr-only{position:absolute!important;overflow:hidden!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.fw-assistant-spin{animation:fw-assistant-spin 1s linear infinite}@keyframes fw-assistant-spin{to{transform:rotate(1turn)}}@keyframes fw-assistant-enter{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fw-assistant-fade{0%{opacity:0}to{opacity:1}}@keyframes fw-assistant-pulse{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media(max-width:600px){.fw-assistant-launcher{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:60px;height:60px}.fw-assistant-launcher-icon{width:60px;height:60px}.fw-assistant-overlay{background:color-mix(in srgb,var(--text) 25%,transparent)}.fw-assistant-panel{right:0;bottom:var(--fw-assistant-keyboard-offset,0);width:100%;max-width:none;height:min(690px,calc(var(--fw-assistant-viewport-height,100dvh) - max(16px,env(safe-area-inset-top))));border-radius:20px 20px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 40px color-mix(in srgb,var(--text) 12%,transparent)}.fw-assistant-header{padding:18px 17px}.fw-assistant-scroll{padding:23px 20px}.fw-assistant-input-row textarea{font-size:16px;line-height:1.5}.fw-assistant-composer{padding:12px 14px 10px}.fw-assistant-gate{padding-bottom:50px}}@media(prefers-reduced-motion:reduce){.fw-assistant-overlay,.fw-assistant-panel,.fw-assistant-spin,.fw-assistant-thinking>span{animation:none!important}.fw-assistant-input-row,.fw-assistant-launcher,.fw-assistant-questions button{transition:none}.fw-assistant-launcher:hover{transform:none}}