.forge-widget{--emotion-hue: 185;--emotion-sat: 70%;--emotion-lit: 55%;--emotion-color: hsl(var(--emotion-hue), var(--emotion-sat), var(--emotion-lit));--emotion-glow: hsl(var(--emotion-hue), var(--emotion-sat), 40%);--emotion-faint: hsla(var(--emotion-hue), var(--emotion-sat), var(--emotion-lit), .08);--ring-speed: 12s;--pulse-speed: 3s;--logo-size: 48px;--ring-gap: 10px}.forge-fab{position:fixed;bottom:80px;right:20px;z-index:9999;width:56px;height:56px;border-radius:50%;border:none;background:var(--bg-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #00000080,0 0 20px hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.15);transition:transform .2s,box-shadow .3s;padding:0;overflow:visible}.forge-fab:hover{transform:scale(1.08);box-shadow:0 4px 24px #0009,0 0 30px hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.25)}.forge-fab-badge{position:absolute;top:-6px;right:-6px;background:var(--emotion-color);color:#000;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;white-space:nowrap;animation:forge-badge-pulse 2s ease-out forwards;pointer-events:none}@keyframes forge-badge-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.forge-fab-logo{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.forge-fab-logo .logo-anchor{position:relative;width:var(--logo-size);height:var(--logo-size);display:flex;align-items:center;justify-content:center}.forge-fab-logo .particle-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(var(--logo-size) + var(--ring-gap) * 6);height:calc(var(--logo-size) + var(--ring-gap) * 6);pointer-events:none;z-index:1}.forge-fab-logo .logo-img{position:relative;z-index:2;width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;transform:translateY(-8%)}.forge-fab-logo .glow-ring{position:absolute;border-radius:50%;border:1px solid transparent;pointer-events:none;top:50%;left:50%;transform:translate(-50%,-50%);transition:border-color 1s ease,box-shadow 1s ease}.forge-fab-logo .ring-inner{width:calc(var(--logo-size) + var(--ring-gap));height:calc(var(--logo-size) + var(--ring-gap));border-color:hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.25);box-shadow:0 0 10px hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.12);animation:forge-ring-pulse var(--pulse-speed) ease-in-out infinite}.forge-fab-logo .ring-mid{width:calc(var(--logo-size) + var(--ring-gap) * 2.4);height:calc(var(--logo-size) + var(--ring-gap) * 2.4);border-color:hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.12);animation:forge-ring-rotate var(--ring-speed) linear infinite;border-style:dashed}.forge-fab-logo .ring-outer{width:calc(var(--logo-size) + var(--ring-gap) * 3.8);height:calc(var(--logo-size) + var(--ring-gap) * 3.8);border-color:hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.06);animation:forge-ring-rotate-rev calc(var(--ring-speed) * 1.5) linear infinite;border-style:dotted}@keyframes forge-ring-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.04);opacity:.7}}@keyframes forge-ring-rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes forge-ring-rotate-rev{0%{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}.forge-popup{position:fixed;bottom:86px;right:20px;z-index:9998;width:380px;height:520px;background:var(--bg-surface);border:1px solid rgba(255,255,255,.08);border-radius:16px;display:flex;flex-direction:column;box-shadow:0 8px 40px #0009,0 0 30px hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.08);animation:forge-popup-in .25s ease-out;overflow:hidden}@keyframes forge-popup-in{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.forge-popup-header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.forge-popup-header-logo{width:32px;height:32px;border-radius:50%;-o-object-fit:cover;object-fit:cover;box-shadow:0 0 12px hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.2);animation:forge-header-glow 3s ease-in-out infinite}@keyframes forge-header-glow{0%,to{box-shadow:0 0 12px hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.2)}50%{box-shadow:0 0 20px hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.35)}}.forge-popup-header-title{font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--text-primary);flex:1}.forge-popup-header-subtitle{font-size:11px;color:var(--text-secondary);font-weight:400}.forge-popup-clear{width:28px;height:28px;border:none;background:#ffffff0a;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;margin-left:auto}.forge-popup-clear:hover:not(:disabled){background:#ffffff14;color:#e8e6e3}.forge-popup-clear:disabled{opacity:.3;cursor:default}.forge-popup-minimize{width:28px;height:28px;border:none;background:#ffffff0a;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.forge-popup-minimize:hover{background:#ffffff14;color:#e8e6e3}.forge-popup-messages{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.forge-popup-messages::-webkit-scrollbar{width:4px}.forge-popup-messages::-webkit-scrollbar-track{background:transparent}.forge-popup-messages::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.forge-welcome{text-align:center;color:var(--text-secondary);font-size:13px;padding:20px 10px;line-height:1.6}.forge-welcome-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.forge-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}.forge-chip{padding:5px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .2s;white-space:nowrap}.forge-chip:hover{border-color:var(--emotion-color);color:#e8e6e3;background:var(--emotion-faint)}.forge-msg{max-width:85%;animation:forge-msg-in .25s ease-out}@keyframes forge-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.forge-msg-user{align-self:flex-end}.forge-msg-user .forge-msg-bubble{background:#dc2626;color:#fff;border-radius:14px 14px 4px;padding:8px 12px;font-size:13px;line-height:1.5}.forge-msg-assistant{align-self:flex-start}.forge-msg-assistant .forge-msg-bubble{background:#ffffff0d;color:var(--text-primary);border-radius:14px 14px 14px 4px;padding:8px 12px;font-size:13px;line-height:1.5;border:1px solid rgba(255,255,255,.06)}.forge-msg-assistant .forge-msg-bubble strong{font-weight:600}.forge-msg-assistant .forge-msg-bubble code{font-size:12px;background:#ffffff0f;padding:1px 4px;border-radius:3px;color:var(--emotion-color)}.forge-msg-tool{align-self:center;max-width:90%}.forge-msg-tool .forge-msg-bubble{background:#9bc89b0f;color:#79d2ad;border:1px solid rgba(155,200,155,.12);border-radius:8px;padding:5px 10px;font-size:11px;font-family:Space Mono,monospace;text-align:center}.forge-msg-choice{align-self:flex-start;max-width:95%}.forge-choice-question{color:#e8e6e3;font-size:13px;margin-bottom:8px;line-height:1.4}.forge-choice-buttons{display:flex;flex-direction:column;gap:6px}.forge-choice-btn{display:flex;flex-direction:column;align-items:flex-start;padding:10px 14px;border-radius:10px;border:1px solid rgba(220,38,38,.3);background:#dc26260f;cursor:pointer;transition:all .2s;text-align:left;width:100%}.forge-choice-btn:hover:not(:disabled){border-color:#dc262699;background:#dc26261f;transform:translateY(-1px);box-shadow:0 2px 8px #dc262626}.forge-choice-btn:active:not(:disabled){transform:translateY(0)}.forge-choice-btn:disabled{opacity:.5;cursor:not-allowed}.forge-choice-btn-label{color:#e8e6e3;font-size:13px;font-weight:600}.forge-choice-btn-desc{color:#e8e6e380;font-size:11px;margin-top:2px}.forge-typing{display:flex;gap:4px;padding:4px 0;align-self:flex-start}.forge-typing span{width:6px;height:6px;border-radius:50%;background:var(--emotion-color);opacity:.4;animation:forge-typing-bounce 1.4s ease-in-out infinite}.forge-typing span:nth-child(2){animation-delay:.15s}.forge-typing span:nth-child(3){animation-delay:.3s}@keyframes forge-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.forge-popup-input{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.forge-popup-input input{flex:1;border:none;outline:none;background:#ffffff0a;color:#e8e6e3;font-family:DM Sans,sans-serif;font-size:13px;padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.06);transition:border-color .2s}.forge-popup-input input:focus{border-color:hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.3)}.forge-popup-input input::-moz-placeholder{color:#555868}.forge-popup-input input::placeholder{color:#555868}.forge-popup-send{width:32px;height:32px;border:none;border-radius:8px;background:hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.15);color:var(--emotion-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.forge-popup-send:hover{background:hsla(var(--emotion-hue),var(--emotion-sat),var(--emotion-lit),.25);transform:scale(1.05)}.forge-popup-send:disabled{opacity:.4;cursor:not-allowed;transform:none}.forge-widget.emotion-neutral{--emotion-hue: 185;--emotion-sat: 70%;--emotion-lit: 55%;--pulse-speed: 3s;--ring-speed: 12s}.forge-widget.emotion-thinking{--emotion-hue: 270;--emotion-sat: 75%;--emotion-lit: 60%;--pulse-speed: 1.5s;--ring-speed: 2s}.forge-widget.emotion-happy{--emotion-hue: 42;--emotion-sat: 90%;--emotion-lit: 58%;--pulse-speed: 1.2s;--ring-speed: 1.5s}.forge-widget.emotion-alert{--emotion-hue: 0;--emotion-sat: 80%;--emotion-lit: 52%;--pulse-speed: .6s;--ring-speed: 4s}.forge-widget.emotion-focused{--emotion-hue: 210;--emotion-sat: 50%;--emotion-lit: 70%;--pulse-speed: 4s;--ring-speed: .8s}.forge-widget.emotion-cautious{--emotion-hue: 30;--emotion-sat: 75%;--emotion-lit: 55%;--pulse-speed: 3s;--ring-speed: 8s}.forge-widget.emotion-working{--emotion-hue: 155;--emotion-sat: 70%;--emotion-lit: 50%;--ring-speed: 1.5s;--pulse-speed: 3s}.forge-widget.emotion-listening{--emotion-hue: 140;--emotion-sat: 70%;--emotion-lit: 55%;--pulse-speed: 1.8s;--ring-speed: 10s}.forge-widget.emotion-thinking .ring-inner{animation:forge-ring-pulse 1.5s ease-in-out infinite;border-color:#994ce666;box-shadow:0 0 15px #994ce633}.forge-widget.emotion-thinking .ring-mid{animation:forge-ring-rotate 3s linear infinite}.forge-widget.emotion-thinking .ring-outer{animation:forge-think-outer 2.5s ease-in-out infinite}@keyframes forge-think-outer{0%,to{transform:translate(-50%,-50%) rotate(360deg) scale(1);opacity:.7}50%{transform:translate(-50%,-50%) rotate(180deg) scale(1.15);opacity:1}}.forge-widget.emotion-happy .ring-inner{animation:forge-happy-ring 1.5s cubic-bezier(.34,1.56,.64,1) infinite;border-color:#f4ba3466;box-shadow:0 0 15px #f4ba3433}@keyframes forge-happy-ring{0%,to{transform:translate(-50%,-50%) scale(1)}30%{transform:translate(-50%,-50%) scale(1.15)}60%{transform:translate(-50%,-50%) scale(.95)}}@media (max-width: 480px){.forge-popup{width:calc(100vw - 24px);right:12px;bottom:80px;height:60vh}.forge-fab{bottom:14px;right:14px}}.forge-msg-data{align-self:flex-start;max-width:95%;width:100%}.forge-data-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--text-primary);animation:forge-msg-in .25s ease-out}.forge-data-error{color:#ef4444;border-color:#ef444433;background:#ef44440f}.forge-data-header{font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;color:var(--emotion-color);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06)}.forge-data-table{display:flex;flex-direction:column;gap:6px}.forge-data-row{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.03)}.forge-data-row:last-child{border-bottom:none}.forge-data-row-main{display:flex;align-items:center;justify-content:space-between;gap:6px}.forge-data-row-sub{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;font-size:10px;color:var(--text-secondary);font-family:Space Mono,monospace}.forge-data-row-compact{display:flex;align-items:center;justify-content:space-between;padding:3px 0}.forge-data-name{font-weight:500;color:#e8e6e3;font-size:12px}.forge-data-pill{display:inline-block;padding:1px 6px;border-radius:8px;background:#dc26261f;color:#f87171;font-size:10px;font-family:Space Mono,monospace;white-space:nowrap}.forge-data-pill-sm{padding:0 4px;font-size:9px}.forge-data-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.forge-data-kv{display:flex;flex-direction:column;gap:3px}.forge-data-kv>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.forge-data-label{font-size:10px;color:var(--text-secondary);font-family:Space Mono,monospace;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.forge-data-stat-big{font-size:22px;font-weight:700;font-family:Space Mono,monospace;color:#10b981;margin:4px 0 8px}.forge-data-stat-big span{font-size:11px;font-weight:400;color:var(--text-secondary)}.forge-data-stat-row{display:flex;gap:12px;margin:6px 0}.forge-data-stat{flex:1;text-align:center}.forge-data-stat-val{font-size:18px;font-weight:700;font-family:Space Mono,monospace;color:#e8e6e3}.forge-data-stat-label{font-size:9px;color:var(--text-secondary);font-family:Space Mono,monospace;text-transform:uppercase}.forge-data-section{margin-top:6px}.forge-data-funnel{display:flex;flex-direction:column;gap:4px}.forge-data-funnel-row{display:flex;align-items:center;gap:6px}.forge-data-funnel-label{width:100px;font-size:9px;font-family:Space Mono,monospace;color:var(--text-secondary);text-align:right;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forge-data-funnel-bar-bg{flex:1;height:12px;background:#ffffff0a;border-radius:3px;overflow:hidden}.forge-data-funnel-bar{height:100%;background:linear-gradient(90deg,#dc2626,#10b981);border-radius:3px;min-width:2px;transition:width .4s ease}.forge-data-funnel-count{width:36px;font-size:10px;font-family:Space Mono,monospace;color:#e8e6e3;text-align:right;flex-shrink:0}.forge-data-messages{display:flex;flex-direction:column;gap:3px;max-height:150px;overflow-y:auto}.forge-data-msg{display:flex;align-items:flex-start;gap:4px;padding:2px 0;font-size:11px}.forge-data-msg-in .forge-data-msg-dir{color:#10b981}.forge-data-msg-out .forge-data-msg-dir{color:#dc2626}.forge-data-msg-dir{font-size:10px;flex-shrink:0;margin-top:1px}.forge-data-msg-text{color:var(--text-primary);word-break:break-word}.forge-data-timeline{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.forge-data-event{display:inline-flex;align-items:center}.forge-data-event:after{content:"→";margin:0 2px;color:var(--text-secondary);font-size:9px}.forge-data-event:last-child:after{display:none}.forge-data-empty{color:var(--text-secondary);font-style:italic;font-size:11px;padding:4px 0}.forge-data-raw{font-family:Space Mono,monospace;font-size:10px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;max-height:120px;overflow-y:auto;margin:0}.forge-error-card{border-radius:8px;padding:10px 12px;border-left:3px solid var(--color-primary, #dc2626);background:#dc262614;font-size:.8rem}.forge-error-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.forge-error-icon{color:#dc2626;flex-shrink:0;display:flex}.forge-error-title{font-weight:600;color:#dc2626}.forge-error-message{color:var(--text-muted, #6b7280);font-size:.75rem;margin-bottom:4px;word-break:break-word}.forge-error-hint{color:var(--text-secondary, #9ca3af);font-size:.7rem;font-style:italic}.forge-error-auth{border-left-color:#f59e0b;background:#f59e0b14}.forge-error-auth .forge-error-icon,.forge-error-auth .forge-error-title{color:#f59e0b}.forge-error-network{border-left-color:#6366f1;background:#6366f114}.forge-error-network .forge-error-icon,.forge-error-network .forge-error-title{color:#6366f1}.forge-error-timeout,.forge-error-rate_limit{border-left-color:#f97316;background:#f9731614}.forge-error-timeout .forge-error-icon,.forge-error-timeout .forge-error-title,.forge-error-rate_limit .forge-error-icon,.forge-error-rate_limit .forge-error-title{color:#f97316}.forge-error-data{border-left-color:#14b8a6;background:#14b8a614}.forge-error-data .forge-error-icon,.forge-error-data .forge-error-title{color:#14b8a6}.forge-error-ai{border-left-color:#a855f7;background:#a855f714}.forge-error-ai .forge-error-icon,.forge-error-ai .forge-error-title{color:#a855f7}.forge-msg-error{padding:4px 12px}.forge-progress-area{padding:8px 16px}.forge-progress{display:flex;flex-direction:column;gap:4px}.forge-progress-bar{height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.forge-progress-fill{height:100%;background:var(--color-primary, #dc2626);border-radius:2px;transition:width .3s ease}.forge-progress-text{font-size:.7rem;color:var(--text-muted, #6b7280);font-family:Space Mono,monospace}@media (prefers-reduced-motion: reduce){.forge-fab-logo .glow-ring,.forge-popup-header-logo{animation-duration:10s!important}}
