:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#f0f1f3;--bg-hover:#e8eaed;--bg-card:#fff;--text-primary:#1a1a2e;--text-secondary:#4a4a6a;--text-muted:#8890a0;--border:#e2e4e8;--border-light:#eef0f2;--accent:#4f6ef7;--accent-light:#eef1ff;--green:#22c55e;--green-light:#f0fdf4;--red:#ef4444;--red-light:#fef2f2;--gold:#f59e0b;--gold-light:#fffbeb;--pink:#ec4899;--pink-light:#fdf2f8;--blue:#3b82f6;--blue-light:#eff6ff;--grey:#9ca3af;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--radius:10px;color:var(--text-primary);background-color:var(--bg-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app{background:var(--bg-secondary);flex-direction:column;height:100vh;display:flex}.app-body{flex:1;grid-template-rows:auto auto 1fr;grid-template-columns:1fr 380px;gap:12px;padding:12px;display:grid;overflow:hidden}.app-tabs{grid-area:1/2}.app-tabs:empty{display:none}.ctabs{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:6px 8px;overflow:hidden}.ctabs-scroll{scrollbar-width:thin;gap:6px;display:flex;overflow-x:auto}.ctabs-scroll::-webkit-scrollbar{height:4px}.ctab{background:var(--bg-tertiary);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;max-width:180px;padding:3px 4px;transition:all .15s;display:inline-flex}.ctab:hover{background:var(--bg-hover)}.ctab--active{background:var(--accent-light);box-shadow:0 0 0 1px var(--accent) inset}.ctab-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:inline-flex}.ctab-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;padding-right:2px;font-size:12px;font-weight:500;overflow:hidden}.ctab--active .ctab-name{color:var(--accent);font-weight:600}.ctab-close{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ctab-close:hover{color:var(--text-primary);background:#00000014}.ctab--active .ctab-close{color:var(--accent)}.app-graph{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-direction:column;grid-area:1/1/-1;min-height:0;display:flex;position:relative;overflow:hidden}.app-graph>.cwall{flex:1;min-height:0}.app-profile{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);grid-area:2/2;max-height:50vh;overflow-y:auto}.app-chat{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-direction:column;grid-area:3/2;min-height:0;display:flex;overflow:hidden}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);height:52px;box-shadow:var(--shadow-sm);flex-shrink:0;align-items:center;gap:24px;padding:0 20px;display:flex}.topbar-brand{align-items:center;gap:8px;display:flex}.topbar-logo{color:var(--accent);letter-spacing:-.5px;font-size:17px;font-weight:700}.topbar-metrics{flex:1;justify-content:center;gap:24px;display:flex}.topbar-metric{align-items:center;gap:8px;display:flex}.topbar-time{color:var(--text-muted);white-space:nowrap;font-size:12px}.topbar-load-btn{color:var(--accent);background:var(--accent-light);border:1px solid var(--accent);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.topbar-load-btn:hover{background:var(--accent);color:#fff}.topbar-actions{gap:6px;display:flex}.topbar-icon-btn{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .15s;display:flex;position:relative}.topbar-icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent)}.topbar-icon-badge{color:#fff;background:var(--accent);border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex}.btn{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,transform 60ms;display:inline-flex;position:relative}.btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent);color:var(--text-primary)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){color:#fff;background:#1d4ed8;border-color:#1d4ed8}.btn-danger{color:#fff;background:#dc2626;border-color:#b91c1c}.btn-danger:hover:not(:disabled){color:#fff;background:#b91c1c;border-color:#991b1b}.btn-success{color:#fff;background:#16a34a;border-color:#15803d}.btn-success:hover:not(:disabled){color:#fff;background:#15803d;border-color:#166534}.btn-ghost{border-color:var(--border);color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{gap:4px;padding:3px 8px;font-size:11px}.btn-xs{border-radius:4px;gap:3px;padding:2px 7px;font-size:10px}.btn-loading:after{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;width:10px;height:10px;margin-left:4px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-fab{z-index:100;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;position:fixed;bottom:16px;left:16px;box-shadow:0 4px 12px #00000040}.profile-tabs{border-bottom:1px solid var(--border);gap:2px;margin-top:12px;display:flex}.profile-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:4px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:color .15s,border-color .15s;display:flex}.profile-tab:hover{color:var(--text-primary)}.profile-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{background:var(--bg-tertiary);color:var(--text-muted);border-radius:8px;margin-left:2px;padding:0 5px;font-size:9px;font-weight:700}.profile-tab-active .tab-count{background:var(--accent);color:#fff}.profile-tab-content{min-height:100px;padding-top:10px}.card-empty{justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.card-empty-text{color:var(--text-muted);font-size:13px}.profile-card{padding:16px}.profile-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.profile-avatar{background:var(--bg-tertiary);width:40px;height:40px;color:var(--text-primary);border:2.5px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.profile-info{flex:1}.profile-name{color:var(--text-primary);font-size:15px;font-weight:600}.profile-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;margin-top:2px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.profile-details{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.detail-row{align-items:center;gap:8px;display:flex}.detail-icon{color:var(--text-muted);display:flex}.detail-label{color:var(--text-muted);width:75px;font-size:12px}.detail-value{color:var(--text-primary);font-size:12px;font-weight:500}.profile-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;border-top:1px solid var(--border-light);margin-top:4px;margin-bottom:8px;padding-top:10px;font-size:10px;font-weight:600}.profile-dimensions{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.dimension-tag{background:var(--accent-light);border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:flex}.dimension-label{color:var(--text-muted)}.dimension-value{color:var(--accent);font-weight:600}.profile-bars{flex-direction:column;gap:5px;display:flex}.state-bar{align-items:center;gap:6px;display:flex}.state-label{color:var(--text-muted);text-align:right;width:65px;font-size:10px}.state-track{background:var(--bg-tertiary);border-radius:3px;flex:1;height:5px;overflow:hidden}.state-fill{border-radius:3px;height:100%;transition:width .3s}.state-value{color:var(--text-muted);width:22px;font-family:monospace;font-size:10px}.chat-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.chat-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.chat-count{color:var(--text-muted);font-size:11px}.chat-messages{flex-direction:column;flex:1;gap:10px;padding:12px 16px;display:flex;overflow-y:auto}.turn-group{flex-direction:column;gap:4px;display:flex}.turn-time{color:var(--text-muted);text-align:center;margin:2px 0;font-size:10px}.bubble{border-radius:12px;max-width:92%;padding:8px 12px}.bubble-fan{background:var(--accent-light);border-bottom-left-radius:4px;align-self:flex-start}.bubble-bot{background:var(--bg-tertiary);border-bottom-right-radius:4px;align-self:flex-end;position:relative}.bubble-text{color:var(--text-primary);font-size:13px;line-height:1.4}.bubble-meta{gap:6px;margin-top:3px;display:flex}.bubble-mood{font-size:10px;font-weight:500}.bubble-action{color:var(--gold);background:var(--gold-light);border-radius:3px;padding:0 5px;font-size:10px}.bubble-cta{color:var(--green);background:var(--green-light);border:1px solid #22c55e33;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700;position:absolute;top:-7px;right:8px}.bubble-time{color:var(--text-muted);font-variant-numeric:tabular-nums;opacity:.7;margin-bottom:3px;font-size:9px}.bubble-author{color:var(--text-muted);opacity:.8;margin-bottom:3px;font-size:10px;font-weight:600}.bubble-time-inline{color:var(--text-muted);font-variant-numeric:tabular-nums;opacity:.7;margin-left:auto;font-size:10px}.delay-indicator{color:var(--text-muted);text-align:center;opacity:.6;font-variant-numeric:tabular-nums;margin:2px 0;font-size:10px;font-style:italic}.bubble-typing{background:var(--bg-tertiary);opacity:.6;align-self:flex-end;padding:6px 14px}.typing-dots{letter-spacing:2px;color:var(--text-muted);animation:1.2s ease-in-out infinite typing-pulse;display:inline-block}@keyframes typing-pulse{0%,to{opacity:.4}50%{opacity:1}}.purchase-badge{color:var(--green);background:var(--green-light);text-align:center;border:1px solid #22c55e22;border-radius:6px;padding:5px 12px;font-size:11px;font-weight:600}.monologue{color:var(--text-muted);background:var(--bg-secondary);border-radius:4px;gap:5px;padding:3px 8px;font-size:10px;font-style:italic;display:flex}.data-loader{border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;min-height:200px;padding:48px;transition:all .2s;display:flex}.data-loader:hover,.data-loader-active{border-color:var(--accent);background:var(--accent-light)}.data-loader-title{color:var(--text-primary);font-size:16px;font-weight:600}.data-loader-hint{color:var(--text-muted);font-size:13px}.data-loader-error{color:var(--red);margin-top:4px;font-size:12px}.data-loader-auto{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:4px 12px;font-size:12px}.data-loader-auto:hover{background:var(--accent-light)}.data-reload-btn{color:var(--accent);background:var(--accent-light);border:1px solid var(--accent);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;display:flex}.data-reload-btn:hover{background:var(--accent);color:#fff}.empty-graph{background:var(--bg-secondary);justify-content:center;align-items:center;height:100%;display:flex}.empty-graph-content{text-align:center}.empty-graph-title{color:var(--text-primary);margin-bottom:8px;font-size:18px;font-weight:600}.empty-graph-hint{color:var(--text-muted);margin-bottom:12px;font-size:13px}.empty-graph-status{color:var(--text-muted);background:var(--bg-tertiary);border-radius:12px;padding:4px 12px;font-size:11px;display:inline-block}.config-fab-count{color:var(--accent);background:#fff;border-radius:8px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:700}.config-fab{background:var(--accent);color:#fff;cursor:pointer;box-shadow:var(--shadow-lg);z-index:100;border:none;border-radius:24px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:20px;left:20px}.config-fab:hover{transform:translateY(-2px);box-shadow:0 12px 32px #4f6ef74d}.config-backdrop{z-index:200;background:#0003;position:fixed;inset:0}.config-panel{background:var(--bg-card);border-right:1px solid var(--border);width:420px;box-shadow:var(--shadow-lg);z-index:300;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.config-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.config-title{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.config-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.config-close:hover{color:var(--text-primary)}.config-section{border-bottom:1px solid var(--border-light);padding:14px 18px}.config-section-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.config-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.config-add-btn{color:var(--accent);background:var(--accent-light);border:1px solid var(--accent);cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:flex}.config-add-btn:hover{background:var(--accent);color:#fff}.config-fan-list{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.config-fan-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.config-fan-row:hover{background:var(--bg-secondary)}.config-checkbox{accent-color:var(--accent);cursor:pointer}.config-fan-avatar{background:var(--bg-tertiary);border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:flex}.config-fan-info{flex:1;min-width:0}.config-fan-name{color:var(--text-primary);font-size:13px;font-weight:500}.config-fan-meta{color:var(--text-muted);font-size:10px}.config-fan-arrow{color:var(--text-muted);cursor:pointer;flex-shrink:0}.config-duration-grid{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.config-duration-btn{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:11px}.config-duration-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.config-duration-info{color:var(--text-muted);font-size:11px}.config-launch{flex-direction:column;gap:8px;margin-top:auto;padding:14px 18px;display:flex}.config-export-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:8px;font-size:12px;font-weight:500}.config-export-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.config-launch-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:600;display:flex}.config-launch-btn:disabled{opacity:.5;cursor:not-allowed}.fan-editor{flex-direction:column;height:100%;display:flex}.editor-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.editor-back{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:12px;display:flex}.editor-back:hover{color:var(--text-primary)}.editor-save{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:5px;padding:5px 14px;font-size:12px;font-weight:600}.editor-scroll{flex:1;overflow-y:auto}.editor-section{border-bottom:1px solid var(--border-light);padding:12px 18px}.editor-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}.editor-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.editor-field{flex-direction:column;gap:3px;display:flex}.editor-label{color:var(--text-muted);font-size:10px;font-weight:500}.editor-input,.editor-select{border:1px solid var(--border);color:var(--text-primary);background:var(--bg-secondary);border-radius:5px;outline:none;padding:6px 8px;font-size:12px}.editor-input:focus,.editor-select:focus{border-color:var(--accent)}.editor-textarea{border:1px solid var(--border);color:var(--text-primary);background:var(--bg-secondary);resize:vertical;border-radius:5px;outline:none;padding:6px 8px;font-family:inherit;font-size:12px}.editor-hobbies{flex-wrap:wrap;gap:5px;display:flex}.editor-hobby-tag{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:12px;padding:3px 10px;font-size:11px;transition:all .15s}.editor-hobby-tag.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.editor-toggle-label{color:var(--text-muted);text-transform:none;letter-spacing:0;align-items:center;gap:4px;font-size:10px;font-weight:400;display:flex}.editor-finance-grid{flex-direction:column;gap:4px;display:flex}.editor-finance-row{align-items:center;gap:8px;padding:4px 0;display:flex}.editor-finance-row.highlight{color:var(--green);font-weight:600}.editor-finance-label{color:var(--text-muted);width:80px;font-size:12px}.editor-finance-value{font-family:monospace;font-size:13px;font-weight:500}.editor-finance-input{border:1px solid var(--border);background:var(--bg-secondary);width:80px;color:var(--text-primary);border-radius:4px;outline:none;padding:3px 6px;font-family:monospace;font-size:12px}.editor-finance-currency{color:var(--text-muted);font-size:10px}.editor-slider-row{align-items:center;gap:8px;padding:3px 0;display:flex}.editor-slider-label{color:var(--text-muted);text-align:right;width:110px;font-size:11px}.editor-slider{accent-color:var(--accent);flex:1;height:4px}.editor-slider-value{color:var(--text-secondary);width:30px;font-family:monospace;font-size:11px}.editor-prompt-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:11px;display:flex}.editor-prompt-preview{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);white-space:pre-wrap;border-radius:6px;max-height:300px;margin-top:8px;padding:10px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.5;overflow-x:auto}.live-view{background:var(--bg-card);flex-direction:column;height:100%;display:flex}.live-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.live-indicator{align-items:center;gap:8px;display:flex}.live-dot{background:var(--grey);border-radius:50%;width:8px;height:8px}.live-dot-active{background:var(--red);animation:1.5s ease-in-out infinite live-pulse}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.3}}.live-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);font-size:11px;font-weight:700}.live-stats{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.live-radio{color:var(--green);animation:2s ease-in-out infinite live-pulse}.live-feed{flex-direction:column;flex:1;gap:12px;padding:12px 16px;display:flex;overflow-y:auto}.live-waiting{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:24px;font-size:13px;display:flex}.live-waiting-icon{color:var(--accent);animation:1s ease-in-out infinite live-pulse}.live-turn{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;flex-direction:column;gap:4px;padding:8px 12px;animation:.3s ease-out live-slide-in;display:flex}@keyframes live-slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.live-turn-header{align-items:center;gap:8px;font-size:11px;display:flex}.live-turn-fan{color:var(--text-primary);font-weight:600}.live-turn-time{color:var(--text-muted)}.live-turn-mood{font-weight:500}.live-bubble{border-radius:8px;max-width:95%;padding:6px 10px;font-size:13px;line-height:1.4}.live-bubble-fan{background:var(--accent-light);color:var(--text-primary);border-bottom-left-radius:3px;align-self:flex-start}.live-bubble-bot{background:var(--bg-tertiary);color:var(--text-primary);border-bottom-right-radius:3px;align-self:flex-end;position:relative}.live-cta-badge{color:var(--green);background:var(--green-light);border:1px solid #22c55e33;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:-6px;right:6px}.live-purchase{color:var(--green);background:var(--green-light);text-align:center;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.live-monologue{color:var(--text-muted);opacity:.7;gap:4px;padding:2px 6px;font-size:10px;font-style:italic;display:flex}.live-status-card{background:var(--blue-light);border:1px solid #3b82f622;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;display:flex}.live-status-label{color:var(--blue);font-weight:500}.live-status-detail{color:var(--text-muted)}.live-completed{text-align:center;color:var(--green);background:var(--green-light);border-radius:8px;padding:12px;font-size:13px;font-weight:600}.live-failed{text-align:center;color:var(--red);background:var(--red-light);border-radius:8px;padding:12px;font-size:13px;font-weight:600}.config-input{box-sizing:border-box;background:var(--bg-card);width:100%;color:var(--text-primary);border:1px solid var(--border);border-radius:6px;outline:none;padding:6px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.config-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f6ef726}.creator-badge{background:var(--accent-light);color:var(--accent);border:1px solid var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:14px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.creator-badge:hover{background:var(--accent);color:#fff}.creator-badge-empty{background:var(--bg-secondary);color:var(--text-muted);border-color:var(--border)}.creator-badge-empty:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.bottom-panel{background:var(--bg-card);border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;height:320px;animation:.18s ease-out bottom-panel-slide-in;display:flex;overflow:hidden}@keyframes bottom-panel-slide-in{0%{opacity:0;max-height:0}to{opacity:1;max-height:320px}}.bottom-panel-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.bottom-panel-tabs{gap:4px;display:flex}.bottom-panel-body{flex:1;padding:10px 14px;overflow-y:auto}.bottom-toggle{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;z-index:5;border-radius:10px;align-items:center;gap:6px;padding:4px 16px;font-size:12px;font-weight:600;transition:all .15s;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 -4px 12px #0000000f}.bottom-toggle:hover{color:var(--accent);background:var(--accent-light);border-color:var(--accent)}.bandit-list{flex-direction:column;gap:6px;display:flex}.bandit-row{border:1px solid var(--border);background:var(--bg-secondary);border-radius:6px}.bandit-row-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:6px 10px;font-size:12px;display:flex}.bandit-row-head:hover{background:var(--bg-tertiary)}.bandit-turn{color:var(--text-muted);min-width:28px;font-family:JetBrains Mono,monospace;font-weight:600}.bandit-action{background:var(--accent-light);color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.bandit-action-hold{background:var(--bg-tertiary);color:var(--text-muted);border-color:var(--border)}.bandit-stage,.bandit-alpha{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.bandit-blocked{background:var(--red-light);color:var(--red);border-radius:3px;padding:1px 6px;font-size:11px}.bandit-cooldown{background:var(--gold-light,#fef3c7);color:var(--gold,#b45309);border-radius:3px;padding:1px 6px;font-size:11px}.bandit-row-body{border-top:1px solid var(--border);background:var(--bg-card);flex-direction:column;gap:10px;padding:8px 12px;font-size:12px;display:flex}.bandit-arms{flex-direction:column;gap:3px;display:flex}.bandit-arms-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:2px;font-size:10px;font-weight:600}.bandit-arm{grid-template-columns:140px 1fr 50px;align-items:center;gap:6px;font-size:11px;display:grid}.bandit-arm.selected{font-weight:600}.bandit-arm.selected .bandit-arm-name{color:var(--accent)}.bandit-arm-name{font-family:JetBrains Mono,monospace}.bandit-arm-bar{background:var(--bg-tertiary);border-radius:3px;height:6px;overflow:hidden}.bandit-arm-fill{background:var(--accent);height:100%;transition:width .2s}.bandit-arm.selected .bandit-arm-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover,#3b52d9))}.bandit-arm-score{text-align:right;color:var(--text-muted);font-family:JetBrains Mono,monospace}.bandit-agent-json{background:var(--bg-tertiary);border-radius:4px;max-height:160px;margin:0;padding:6px 8px;font-size:11px;overflow-x:auto}.bandit-id{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px}.gates-table{border-collapse:collapse;width:100%;font-size:12px}.gates-table thead th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);background:var(--bg-card);padding:4px 8px;font-size:10px;font-weight:600;position:sticky;top:0}.gates-row{border-bottom:1px solid var(--border-light,#f1f5f9);cursor:pointer}.gates-row:hover{background:var(--bg-secondary)}.gates-row td{vertical-align:top;padding:5px 8px}.gates-turn{color:var(--text-muted);width:40px;font-family:JetBrains Mono,monospace;font-weight:600}.gates-kind{background:var(--bg-card);white-space:nowrap;border:1px solid;border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.gates-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-family:JetBrains Mono,monospace;font-size:11px;overflow:hidden}.gates-detail{color:var(--text-muted);font-size:11px}.gates-row-expand td{background:var(--bg-secondary);border-bottom:1px solid var(--border-light,#f1f5f9);padding:0 8px 8px 48px}.gates-json{background:var(--bg-tertiary);border-radius:4px;max-height:200px;margin:0;padding:6px 8px;font-size:10.5px;overflow-x:auto}.logs-tab{flex-direction:column;gap:8px;height:100%;display:flex}.logs-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding-bottom:6px;display:flex}.logs-filter-group{gap:2px;display:flex}.logs-search{flex:1;max-width:300px;font-size:11px}.logs-count{color:var(--text-muted);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px}.logs-list{flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.logs-turn-group{flex-direction:column;gap:2px;display:flex}.logs-turn-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;background:var(--bg-tertiary);z-index:1;border-radius:3px;padding:4px 6px;font-size:10px;font-weight:600;position:sticky;top:0}.logs-row{border-bottom:1px solid var(--border-light,#f1f5f9);grid-template-columns:58px 60px 200px 1fr;align-items:baseline;gap:6px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:11px;display:grid}.logs-row:hover{background:var(--bg-secondary)}.logs-ms{color:var(--text-muted);text-align:right}.logs-level{text-align:center;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;padding:1px 4px;font-size:10px;font-weight:600}.logs-level-info{background:var(--blue-light);color:var(--blue)}.logs-level-warning{background:var(--gold-light,#fef3c7);color:var(--gold,#b45309)}.logs-level-error,.logs-level-critical{background:var(--red-light);color:var(--red);font-weight:700}.logs-logger{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.logs-msg{color:var(--text-primary);word-break:break-word;white-space:pre-wrap}.logs-exc{background:var(--red-light);color:var(--red);border-radius:4px;grid-column:1/-1;max-height:180px;margin:4px 0 0;padding:6px 8px;font-size:10.5px;overflow-x:auto}.cwall{background:var(--bg-card);flex-direction:column;flex:1;min-height:0;display:flex}.cwall-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.cwall-title{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.cwall-count{color:var(--text-muted);background:var(--bg-tertiary);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:500}.cwall-actions{align-items:center;gap:10px;display:flex}.cwall-legend{color:var(--text-muted);border-right:1px solid var(--border-light);align-items:center;gap:10px;margin-right:2px;padding-right:4px;font-size:11px;display:flex}.cwall-btn{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.cwall-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.cwall-btn--active{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.cwall-filter-badge{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:2px;padding:0 4px;font-size:10px;font-weight:600;display:inline-flex}.cwall-campaign-banner{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-light);white-space:nowrap;border-radius:10px;align-items:center;gap:8px;max-width:520px;margin-left:10px;padding:3px 10px;font-size:11.5px;font-weight:500;display:inline-flex;overflow:hidden}.cwall-campaign-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.6s ease-in-out infinite cwall-campaign-pulse}@keyframes cwall-campaign-pulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.cwall-campaign-name{color:var(--text-primary);text-overflow:ellipsis;max-width:220px;font-weight:600;overflow:hidden}.cwall-campaign-stats{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:inline-flex}.cwall-campaign-stats b{color:var(--text-primary);margin-right:2px;font-weight:600}.cwall-stat-sep{color:var(--border)}.cwall-paused-tag{text-transform:uppercase;letter-spacing:.4px;color:var(--gold);background:var(--gold-light);border-radius:10px;margin-left:8px;padding:1px 8px;font-size:10.5px;font-weight:600}.cwall-filter-wrap{position:relative}.cwall-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:40px 10px;font-size:13px}.cwall-sep{color:var(--border);margin:0 4px}.cwall-lang{color:var(--text-muted);letter-spacing:.4px;font-size:10px;font-weight:600}.cwall-order-dot{background:var(--green);vertical-align:middle;width:7px;height:7px;box-shadow:0 0 0 2px var(--green-light);border-radius:50%;margin-left:6px;display:inline-block}.cwall-stage{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.cwall-stage--fan{background:var(--blue-light);color:var(--blue)}.cwall-stage--customer{background:var(--green-light);color:var(--green)}.cwall-stage--gfe{background:var(--pink-light);color:var(--pink)}.cwall-stage--timewaster{background:var(--bg-tertiary);color:var(--text-muted)}.wfm{z-index:1000;background:var(--bg-card);border:1px solid var(--border);width:380px;max-height:560px;box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.wfm-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.wfm-title{color:var(--text-primary);font-size:13px;font-weight:600}.wfm-reset{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11.5px;font-weight:500}.wfm-reset:disabled{color:var(--text-muted);cursor:default}.wfm-scroll{flex:1;padding:12px 14px 14px;overflow-y:auto}.wfm-section{margin-bottom:14px}.wfm-section:last-child{margin-bottom:0}.wfm-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px;font-size:10.5px;font-weight:600}.wfm-chip-row{flex-wrap:wrap;gap:5px;display:flex}.wfm-chip{color:var(--text-secondary);background:var(--bg-tertiary);cursor:pointer;border:1px solid #0000;border-radius:14px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:500;transition:all .12s;display:inline-flex}.wfm-chip:hover{background:var(--bg-hover);color:var(--text-primary)}.wfm-chip--on{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.wfm-chip--partial{background:var(--accent-light);color:var(--accent);border-color:var(--accent-light)}.wfm-chip-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.wfm-stage-group{margin-bottom:6px}.wfm-chip--group{margin-bottom:4px;font-weight:600}.wfm-chip--sub{padding:2px 8px;font-size:11px}.wfm-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.wfm-toggle input{cursor:pointer;width:14px;height:14px;accent-color:var(--accent)}.csel{z-index:1000;background:var(--bg-card);border:1px solid var(--border);width:440px;max-height:600px;box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.csel-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.csel-title{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.csel-count{color:var(--text-muted);font-size:11px;font-weight:500}.csel-reset{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11.5px;font-weight:500}.csel-search{border-bottom:1px solid var(--border-light);flex-shrink:0;padding:10px 14px;position:relative}.csel-search input{background:var(--bg-tertiary);width:100%;color:var(--text-primary);border:1px solid #0000;border-radius:6px;outline:none;padding:6px 28px;font-size:12.5px;transition:border-color .15s}.csel-search input:focus{border-color:var(--accent);background:var(--bg-card)}.csel-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:22px;transform:translateY(-50%)}.csel-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:2px;display:flex;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.csel-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.csel-filters{border-bottom:1px solid var(--border-light);flex-direction:column;flex-shrink:0;gap:6px;padding:8px 14px 10px;display:flex}.csel-filter-row{grid-template-columns:62px 1fr;align-items:center;gap:8px;display:grid}.csel-filter-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:10.5px;font-weight:600}.csel-chip-row{flex-wrap:wrap;gap:4px;display:flex}.csel-chip{color:var(--text-secondary);background:var(--bg-tertiary);cursor:pointer;border:1px solid #0000;border-radius:12px;align-items:center;padding:2px 10px;font-size:11px;font-weight:500;transition:all .12s;display:inline-flex}.csel-chip:hover{background:var(--bg-hover);color:var(--text-primary)}.csel-chip--on{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.csel-list-head{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.csel-select-all{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:11.5px;font-weight:500}.csel-select-all:disabled{color:var(--text-muted);cursor:default}.csel-sort{color:var(--text-muted);align-items:center;gap:4px;font-size:10.5px;display:flex}.csel-sort-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:4px;padding:1px 7px;font-size:10.5px;transition:all .12s}.csel-sort-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.csel-sort-btn--on{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.csel-list{flex:1;padding:4px 0;overflow-y:auto}.csel-empty{text-align:center;color:var(--text-muted);padding:30px 14px;font-size:12px}.csel-item{cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:18px 22px 1fr auto;align-items:center;gap:10px;width:100%;padding:7px 14px;transition:background .1s;display:grid}.csel-item:hover{background:var(--bg-tertiary)}.csel-item--on,.csel-item--on:hover{background:var(--accent-light)}.csel-check-box{border:1.5px solid var(--border);background:var(--bg-card);border-radius:3px;width:14px;height:14px;transition:all .12s;display:inline-block}.csel-check-box--on{background:var(--accent);border-color:var(--accent);position:relative}.csel-check-box--on:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:0;left:3px;transform:rotate(45deg)}.csel-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:flex}.csel-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.csel-metrics{align-items:center;gap:12px;display:flex}.csel-metric{flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.csel-metric-val{color:var(--text-primary);font-size:12px;font-weight:600}.csel-metric-unit{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:9.5px}.csel-footer-hint{color:var(--text-muted);background:var(--bg-tertiary);border-top:1px solid var(--border-light);text-align:center;padding:6px 14px;font-size:10.5px}.cwall-mode{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:6px;gap:2px;margin-right:2px;padding:2px;display:inline-flex}.cwall-mode-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:11.5px;font-weight:500;transition:all .15s}.cwall-mode-btn:hover{color:var(--text-primary)}.cwall-mode-btn--on{background:var(--bg-card);color:var(--accent);box-shadow:var(--shadow-sm)}.cwall-icon-btn{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;width:28px;height:28px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.cwall-icon-btn:hover{transform:scale(1.04)}.cwall-icon-btn:disabled{cursor:default;opacity:.7;transform:none}.cwall-icon-btn--stop{color:var(--red);border-color:var(--red);background:var(--red-light)}.cwall-icon-btn--stop:hover{background:var(--red);color:#fff}.cwall-icon-btn--restart{color:var(--green);border-color:var(--green);background:var(--green-light)}.cwall-icon-btn--restart:hover{background:var(--green);color:#fff}.cwall-icon-btn--busy{animation:1.2s ease-in-out infinite cwall-icon-pulse}@keyframes cwall-icon-pulse{0%,to{opacity:.55}50%{opacity:1}}.topbar-spacer{flex:1}.simpanel{background:var(--bg-card);border-right:1px solid var(--border);width:460px;box-shadow:var(--shadow-lg);z-index:300;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.simpanel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.simpanel-title{color:var(--text-primary);font-size:15px;font-weight:600}.simpanel-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.simpanel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.simpanel-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:2px;padding:0 12px;display:flex}.simpanel-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px;font-size:12.5px;font-weight:500;transition:all .15s}.simpanel-tab:hover{color:var(--text-primary)}.simpanel-tab--on{color:var(--accent);border-bottom-color:var(--accent)}.simpanel-body{flex:1;min-height:0;position:relative;overflow:hidden}.simpanel-body .config-panel{width:100%;height:100%;box-shadow:none;z-index:auto;border-right:none;position:static}.simpanel-body .config-header{display:none}.cwall-dot{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.cwall-dot--fan{background:var(--accent)}.cwall-dot--bot{background:var(--pink)}.cwall-subbar{border-bottom:1px solid var(--border-light);background:var(--bg-card);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:6px 14px;display:flex}.cwall-views{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:6px;gap:2px;padding:2px;display:inline-flex}.cwall-view-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:11.5px;font-weight:500;transition:all .15s}.cwall-view-btn:hover{color:var(--text-primary)}.cwall-view-btn--on{background:var(--bg-card);color:var(--accent);box-shadow:var(--shadow-sm)}.cwall-subbar-right{align-items:center;gap:8px;display:inline-flex}.cwall-btn--small{padding:3px 9px;font-size:11px}.cwall-btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.cwall-btn--primary:hover{background:var(--accent);color:#fff;filter:brightness(1.05)}.cwall-btn--primary:disabled{opacity:.5;cursor:default}.cwall-sel-count{color:var(--accent);font-size:11.5px;font-weight:600}.cwall-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:8px;min-height:0;padding:10px;display:grid;overflow-y:auto}.cwall-card-check{border:1.5px solid var(--border);background:var(--bg-card);z-index:2;border-radius:4px;width:16px;height:16px;transition:all .12s;position:absolute;top:8px;right:8px}.cwall-card-check--on{background:var(--accent);border-color:var(--accent)}.cwall-card-check--on:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.cwall-card--selectable .cwall-card-time{margin-right:20px}.cwall-card--multi-sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);background:var(--accent-light)}.cwall-card{all:unset;cursor:pointer;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;min-height:112px;padding:10px 10px 8px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:flex;position:relative;overflow:hidden}.cwall-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.cwall-card--selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.cwall-card--unread{background:var(--accent-light)}.cwall-card--flash{animation:.7s ease-out cwall-flash}@keyframes cwall-flash{0%{border-color:var(--accent);box-shadow:0 0 #4f6ef78c}to{box-shadow:0 0 #4f6ef700}}.cwall-card-head{align-items:center;gap:8px;display:flex}.cwall-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:flex}.cwall-card-identity{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cwall-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.cwall-card-creator{color:var(--text-muted);align-items:center;gap:4px;font-size:10.5px;display:flex}.cwall-creator-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.cwall-card-time{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:10.5px}.cwall-card-body{color:var(--text-secondary);flex:1;align-items:flex-start;gap:6px;font-size:12px;line-height:1.35;display:flex;overflow:hidden}.cwall-author{border-radius:2px;flex-shrink:0;align-self:stretch;width:3px;margin-top:1px}.cwall-author--fan{background:var(--accent)}.cwall-author--bot{background:var(--pink)}.cwall-last-msg{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cwall-card-foot{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:10.5px;display:flex}.cwall-msg-count{color:var(--text-muted)}.cwall-unread-badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.3px;border-radius:10px;padding:1px 6px;font-size:9.5px;font-weight:600}.prod-profile{padding:16px}.prod-profile-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.prod-profile-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:600;display:flex}.prod-profile-name{color:var(--text-primary);font-size:14px;font-weight:600}.prod-profile-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.prod-profile-tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.prod-tag{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;padding:2px 8px;font-size:10px}.prod-profile-details{flex-direction:column;gap:6px;display:flex}.prod-detail{justify-content:space-between;font-size:12px;display:flex}.prod-detail-label{color:var(--text-muted)}.prod-chat{flex-direction:column;height:100%;display:flex}.prod-chat-header{border-bottom:1px solid var(--border);color:var(--text-muted);padding:8px 12px;font-size:11px}.prod-chat-loading{text-align:center;color:var(--text-muted);padding:20px;font-size:12px}.prod-chat-scroll{flex-direction:column;flex:1;gap:6px;padding:8px 12px;display:flex;overflow-y:auto}.prod-msg{display:flex}.prod-msg--fan{justify-content:flex-start}.prod-msg--bot{justify-content:flex-end}.prod-msg-bubble{border-radius:12px;max-width:75%;padding:8px 12px;font-size:13px;line-height:1.4}.prod-msg--fan .prod-msg-bubble{background:var(--bg-tertiary);color:var(--text-primary);border-bottom-left-radius:4px}.prod-msg--bot .prod-msg-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.prod-msg-meta{align-items:center;gap:6px;margin-top:4px;display:flex}.prod-msg-time{opacity:.6;font-size:9px}.prod-msg-energy{font-size:10px}.prod-msg-emotion{opacity:.7;font-size:9px}.prod-msg-content{word-break:break-word;white-space:pre-wrap}.prod-signal{opacity:.85;border-radius:3px;padding:1px 4px;font-size:9px}.prod-signal--energy-high{color:#000;background:#fbbf24}.prod-signal--energy-medium{color:#9ca3af;background:#374151}.prod-signal--energy-low{color:#6b7280;background:#1f2937}.prod-signal--emotion{color:#c4b5fd;background:#4c1d95}.prod-signal--topic{color:#6ee7b7;background:#064e3b}.prod-signal--lang{color:var(--text-muted);font-size:8px}.prod-trace-btn{cursor:pointer;color:var(--text-muted);opacity:.5;background:0 0;border:none;padding:2px;transition:opacity .15s}.prod-trace-btn:hover{opacity:1;color:var(--accent)}.prod-trace-backdrop{z-index:100;background:#0009;position:fixed;inset:0}.prod-trace-modal{background:var(--bg-primary);border:1px solid var(--border);z-index:101;border-radius:8px;flex-direction:column;width:500px;max-height:80vh;display:flex;position:fixed;top:10%;right:10%}.prod-trace-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.prod-trace-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:20px}.prod-trace-modal-body{flex:1;padding:16px;overflow-y:auto}.prod-trace-json{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;font-family:JetBrains Mono,monospace;font-size:11px}.prod-section{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.prod-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:600}.prod-facts{flex-direction:column;gap:4px;max-height:200px;display:flex;overflow-y:auto}.prod-fact{gap:8px;font-size:11px;line-height:1.4;display:flex}.prod-fact-pred{color:var(--text-muted);flex-shrink:0;min-width:90px}.prod-fact-obj{color:var(--text-primary)}.prod-orders{flex-direction:column;gap:4px;display:flex}.prod-order{align-items:center;gap:8px;font-size:11px;display:flex}.prod-order-status{border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.prod-order--delivered .prod-order-status{color:#6ee7b7;background:#065f46}.prod-order--pending .prod-order-status{color:#fcd34d;background:#78350f}.prod-order--cancelled .prod-order-status{color:#fca5a5;background:#7f1d1d}.prod-order-date{color:var(--text-muted)}
