:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesizes:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0d1117;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex;overflow:hidden}*{box-sizing:border-box}#root{width:100vw;height:100vh}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.auth-input:focus{box-shadow:0 0 0 3px #388bfd26;border-color:#388bfd!important}.auth-divider{color:#8b949e;align-items:center;gap:10px;margin:16px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#30363d;flex:1;height:1px}.npc-meta-container{border-top:1px solid #ffffff14;flex-direction:column;gap:4px;margin-top:8px;padding-top:6px;display:flex}.npc-meta-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.emotion-badge{letter-spacing:.03em;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-family:SF Mono,Fira Code,monospace;font-size:10px;font-weight:600;display:inline-flex}.mood-badge{color:#94a3b8;background:#ffffff14}.impulse-badge{color:#fbbf24;background:#f59e0b2e;border:1px solid #f59e0b59}.circumstance-badge{color:#818cf8;background:#6366f12e;border:1px solid #6366f159}.stimulus-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.stimulus-chip{color:#38bdf8;background:#38bdf81a;border:1px solid #38bdf840;border-radius:3px;padding:1px 5px;font-family:SF Mono,Fira Code,monospace;font-size:9.5px;font-weight:500}.npc-meta{opacity:.55;letter-spacing:.04em;border-top:1px solid #ffffff12;align-items:center;gap:6px;margin-top:6px;padding-top:5px;font-size:10px;display:flex}.meta-label{text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;-webkit-user-select:none;user-select:none;font-size:9px}.emotion-tag,.anim-tag{color:#ffffff80;background:#ffffff0f;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-family:SF Mono,Fira Code,monospace;font-size:10px;display:inline-flex}.typing-indicator .bubble-content{align-items:center;gap:6px;min-width:60px;padding:14px 18px;display:flex}.typing-indicator .dot{background:#4a9eca;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.2s infinite typing-bounce}.typing-indicator .dot:nth-child(2){animation-delay:.2s}.typing-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.btn-view-feed{color:#38bdf8;cursor:pointer;background:linear-gradient(135deg,#38bdf826,#818cf826);border:1px solid #38bdf866;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .2s}.btn-view-feed:hover{background:linear-gradient(135deg,#38bdf840,#818cf840);box-shadow:0 0 12px #38bdf84d}.social-feed-drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#0009;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.social-feed-drawer{background:#0f172a;border-left:1px solid #ffffff1a;flex-direction:column;width:440px;max-width:90vw;height:100%;animation:.3s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;box-shadow:-10px 0 30px #00000080}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.spin-slow{animation:3s linear infinite spin}.feed-header{background:#0f172acc;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.feed-title{color:#f8fafc;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.feed-live-icon{color:#ef4444}.btn-close-feed{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex}.btn-close-feed:hover{color:#f8fafc;background:#ffffff0d}.feed-body{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow-y:auto}.feed-generating-banner{color:#38bdf8;background:linear-gradient(135deg,#38bdf826,#6366f126);border:1px solid #38bdf84d;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.empty-feed{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:60%;display:flex}.empty-feed p{color:#94a3b8;margin:0;font-size:15px;font-weight:600}.empty-feed span{font-size:12px}.social-post-card{background:#1e293b;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;gap:10px;padding:14px;transition:transform .2s,border-color .2s;display:flex}.social-post-card:hover{border-color:#38bdf84d;transform:translateY(-1px)}.post-header-line{align-items:center;gap:10px;display:flex}.avatar-circle{color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.author-meta{flex-direction:column;flex:1;min-width:0;display:flex}.author-name{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.author-handle{color:#64748b;font-size:11px}.post-type-badge{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;background:#ffffff14;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.type-guest_post{color:#eab308;background:#eab30826;border:1px solid #eab3084d}.type-close_one_post{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}.type-group_representative_post{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d}.post-content p{color:#e2e8f0;margin:0;font-size:13.5px;line-height:1.5}.post-footer-line{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding-top:6px;display:flex}.tags-container{flex-wrap:wrap;gap:6px;display:flex}.post-tag{color:#38bdf8;font-size:11px;font-weight:500}.post-mood-badge{color:#94a3b8;background:#ffffff0d;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;display:flex}.tour-overlay-container{z-index:99990;pointer-events:none;position:fixed;inset:0}.tour-backdrop{pointer-events:auto;z-index:99991;transition:opacity .3s;position:fixed;inset:0}.tour-backdrop-full{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080a0fb3;animation:.25s ease-out fadeIn}.tour-highlight-box{pointer-events:none;z-index:99992;border:2px solid #00d2ff;border-radius:8px;transition:all .3s cubic-bezier(.16,1,.3,1);animation:2s ease-in-out infinite pulse-border;position:fixed;box-shadow:0 0 0 9999px #080a0fbf,0 0 15px 3px #00d2ff80,inset 0 0 8px #00d2ff4d}.tour-click-blocker{pointer-events:auto;z-index:99993;position:fixed;inset:0}.tour-popover{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#e5e7eb;z-index:99994;pointer-events:auto;opacity:0;background:#12161eeb;border:1px solid #4a9eca59;border-radius:12px;flex-direction:column;gap:14px;width:350px;padding:18px 20px;transition:all .3s cubic-bezier(.16,1,.3,1);animation:.3s cubic-bezier(.16,1,.3,1) forwards popoverReveal;display:flex;position:fixed;transform:scale(.95);box-shadow:0 12px 32px #0009,0 0 1px 1px #ffffff0d}.tour-popover.centered{border-color:#4a9eca80;width:440px;max-width:90vw;padding:24px 28px;box-shadow:0 24px 60px #000000b3,0 0 30px #00d2ff26;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.tour-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.tour-title{color:#f3f4f6;align-items:center;gap:8px;font-size:1rem;font-weight:600;display:flex}.tour-title svg{color:#00d2ff;filter:drop-shadow(0 0 4px #00d2ff66)}.tour-close-x{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:4px;transition:all .15s;display:flex}.tour-close-x:hover{color:#d1d5db;background:#ffffff0d}.tour-description{color:#9ca3af;font-size:.88rem;line-height:1.5}.tour-footer{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;margin-top:6px;padding-top:10px;display:flex}.tour-progress-dots{align-items:center;gap:6px;display:flex}.tour-dot{background:#ffffff26;border-radius:50%;width:6px;height:6px;transition:all .2s}.tour-dot.active{background:#00d2ff;transform:scale(1.35);box-shadow:0 0 6px #00d2ffcc}.tour-actions{align-items:center;gap:8px;display:flex}.tour-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:all .18s;display:inline-flex}.tour-btn:active{transform:scale(.97)}.tour-btn-primary{color:#fff;background:linear-gradient(135deg,#4a9eca,#3b88b0);box-shadow:0 2px 8px #4a9eca40}.tour-btn-primary:hover{background:linear-gradient(135deg,#60aed8,#4a9eca);box-shadow:0 4px 12px #4a9eca66}.tour-btn-secondary{color:#9ca3af;background:#ffffff0a;border:1px solid #ffffff14}.tour-btn-secondary:hover{color:#e5e7eb;background:#ffffff14}.tour-btn-skip{color:#6b7280;background:0 0}.tour-btn-skip:hover{color:#9ca3af;text-decoration:underline}@keyframes popoverReveal{to{opacity:1;transform:scale(1)}}@keyframes pulse-border{0%{border-color:#00d2ff;box-shadow:0 0 0 9999px #080a0fbf,0 0 15px 3px #00d2ff80,inset 0 0 8px #00d2ff4d}50%{border-color:#00d2ffa6;box-shadow:0 0 0 9999px #080a0fbf,0 0 10px 1px #00d2ff4d,inset 0 0 4px #00d2ff26}to{border-color:#00d2ff;box-shadow:0 0 0 9999px #080a0fbf,0 0 15px 3px #00d2ff80,inset 0 0 8px #00d2ff4d}}.process-monitor-container{color:#e6edf3;background-color:#0d1117;flex-direction:column;flex:1;width:100%;min-width:0;height:100%;min-height:0;padding:24px;display:flex;overflow-y:auto}.inner-tabs{border-bottom:1px solid #ffffff14;align-items:center;gap:8px;width:100%;margin-bottom:24px;padding-bottom:2px;display:flex}.inner-tab-btn{color:#8b949e;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:all .25s;display:flex}.inner-tab-btn:hover{color:#e6edf3;background:#ffffff08}.inner-tab-btn.active{color:#00d2ff;background:#00d2ff0a;border-bottom-color:#00d2ff}.active-model-indicator{background:#161b2299;border:1px solid #ffffff0f;border-radius:20px;align-items:center;gap:8px;margin-left:auto;padding:4px 12px;font-size:.85rem;display:flex}.indicator-label{color:#8b949e}.indicator-badge{color:#00d2ff;font-family:monospace;font-weight:700}.indicator-provider{text-transform:uppercase;letter-spacing:.05em;color:#c9d1d9;background:#ffffff1a;border-radius:4px;padding:1px 6px;font-size:.75rem}.logs-tab-content{flex-direction:column;width:100%;display:flex}.monitor-toolbar{background:#161b22cc;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:12px;padding:15px 20px;display:flex}.filter-toolbar{-webkit-backdrop-filter:blur(8px);background:#161b22a6;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:12px;width:100%;margin-bottom:20px;padding:14px 18px;display:flex}.filter-toolbar-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-title{color:#c9d1d9;align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.filter-count-badge{color:#8b949e;background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;margin-left:4px;padding:2px 8px;font-size:.75rem;font-weight:500}.filter-quick-actions{align-items:center;gap:8px;display:flex}.btn-filter-action{color:#8b949e;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.btn-filter-action:hover{color:#e6edf3;background:#ffffff14;border-color:#ffffff26}.filter-chips-grid{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{cursor:pointer;color:#8b949e;-webkit-user-select:none;user-select:none;background:#0d111799;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.filter-chip:hover{color:#e6edf3;background:#ffffff08;border-color:#fff3}.filter-chip.active{color:#fff;border-color:var(--chip-color,#00d2ff);box-shadow:0 0 10px -2px var(--chip-color,#00d2ff4d);background:#ffffff0d}.filter-chip.inactive{opacity:.55;filter:grayscale(.5)}.filter-chip.inactive:hover{opacity:.85;filter:grayscale(0)}.checkbox-icon{justify-content:center;align-items:center;display:flex}.chip-dot{border-radius:50%;width:6px;height:6px}.chip-label{font-family:inherit}.chip-count{opacity:.6;font-size:.72rem}.controls-group{gap:10px;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-weight:500;transition:all .2s;display:flex}.btn-primary{color:#fff;background-color:#238636}.btn-primary:hover{background-color:#2ea043}.btn-primary.pulse{animation:2s infinite pulse-green}.btn-secondary{color:#e6edf3;background-color:#0000;border:1px solid #fff3}.btn-secondary:hover{background-color:#ffffff1a}@keyframes pulse-green{0%{box-shadow:0 0 #23863666}70%{box-shadow:0 0 0 6px #23863600}to{box-shadow:0 0 #23863600}}.status-indicator{color:#8b949e;align-items:center;gap:8px;font-size:.9em;display:flex}.status-live{color:#3fb950;animation:1.5s infinite blink}.status-offline{color:#8b949e}@keyframes blink{50%{opacity:.5}}.traces-view{flex-direction:column;gap:20px;display:flex}.empty-state{color:#8b949e;background:#161b2280;border:1px dashed #ffffff1a;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:60px;display:flex}.spinner{border:3px solid #ffffff1a;border-top-color:#00d2ff;border-radius:50%;width:36px;height:36px;margin-bottom:16px;animation:1s linear infinite spin}.trace-card{background:#161b22;border:1px solid #ffffff1a;border-radius:8px;overflow:hidden}.trace-header{background:#ffffff0d;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.trace-header h3{color:#58a6ff;margin:0;font-size:1.1em}.trace-header .timestamp{color:#8b949e;font-size:.85em}.trace-timeline{flex-direction:column;gap:15px;padding:20px;display:flex}.timeline-event{border-left:2px solid;gap:15px;padding-left:15px;display:flex;position:relative}.event-badge{color:#0d1117;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:0;left:-13px}.event-content{background:#0003;border:1px solid #ffffff0d;border-radius:6px;flex:1;padding:10px}.event-meta{justify-content:space-between;margin-bottom:8px;display:flex}.event-type{background:#ffffff1a;border-radius:4px;padding:2px 6px;font-size:.8em}.json-container{background:#0d1117;border-radius:4px;margin-top:8px;overflow:hidden}.json-header{color:#8b949e;cursor:pointer;background:#ffffff08;align-items:center;gap:8px;padding:8px 12px;font-size:.85em;display:flex}.json-header:hover{color:#c9d1d9;background:#ffffff14}.json-body{color:#a5d6ff;border-top:1px solid #ffffff0d;max-height:400px;padding:10px;font-family:monospace;font-size:.85em;overflow-y:auto}.json-body pre{white-space:pre-wrap;margin:0}.model-config-view{justify-content:center;align-items:flex-start;width:100%;padding-top:10px;display:flex}.config-card-glass{-webkit-backdrop-filter:blur(12px);background:#161b2266;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:24px;width:100%;max-width:800px;padding:32px;display:flex;box-shadow:0 8px 32px #0000005e}.config-header h2{color:#fff;letter-spacing:-.02em;margin:0 0 6px;font-size:1.5rem;font-weight:700}.config-header p{color:#8b949e;margin:0;font-size:.9rem}.provider-selector{background:#0003;border:1px solid #ffffff0d;border-radius:8px;gap:12px;padding:6px;display:flex}.provider-tab-btn{color:#8b949e;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:12px;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1)}.provider-tab-btn:hover{color:#e6edf3;background:#ffffff08}.provider-tab-btn.active-gemini{color:#00d2ff;background:#00d2ff26;border:1px solid #00d2ff40;box-shadow:0 0 15px #00d2ff1a}.provider-tab-btn.active-groq{color:#ff7b00;background:#ff7b0026;border:1px solid #ff7b0040;box-shadow:0 0 15px #ff7b001a}.models-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;max-height:400px;padding-right:4px;display:grid;overflow-y:auto}.model-select-card{cursor:pointer;background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;transition:all .2s;display:flex}.model-select-card:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-2px)}.model-select-card.selected{background:#ffffff0f;border-color:#00d2ff;box-shadow:0 0 12px #00d2ff26}.provider-selector:has(.active-groq)~.models-grid .model-select-card.selected{border-color:#ff7b00;box-shadow:0 0 12px #ff7b0026}.model-select-card.active-model{background:#00ff7f05;border-color:#00ff7f33}.model-select-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.model-select-card-header h3{color:#fff;margin:0;font-size:1rem;font-weight:600}.live-active-badge{color:#00ff7f;text-transform:uppercase;letter-spacing:.02em;background:#00ff7f26;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.7rem;font-weight:700;display:flex;box-shadow:0 0 10px #00ff7f1a}.model-select-card-id{color:#8b949e;word-break:break-all;font-family:monospace;font-size:.75rem}.config-actions{border-top:1px solid #ffffff0f;align-items:center;gap:20px;padding-top:24px;display:flex}.btn-apply-config{color:#0d1117;cursor:pointer;background:#00d2ff;border:none;border-radius:6px;padding:12px 28px;font-size:.95rem;font-weight:700;transition:all .25s;box-shadow:0 4px 14px #00d2ff33}.btn-apply-config:hover:not(:disabled){background:#33dcff;transform:translateY(-1px);box-shadow:0 6px 20px #00d2ff59}.btn-apply-config:disabled{color:#ffffff4d;cursor:not-allowed;box-shadow:none;background:#ffffff0d}.save-status-toast{border-radius:6px;padding:10px 20px;font-size:.9rem;font-weight:600;animation:.3s fadeIn}.save-status-toast.status-success{color:#00ff7f;background:#00ff7f1a;border:1px solid #00ff7f33}.save-status-toast.status-error{color:#f85149;background:#f851491a;border:1px solid #f8514933}.test-runner-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#c9d1d9;background:#0d1117b3;border:1px solid #30363d99;border-radius:12px;flex-direction:column;height:calc(100vh - 120px);margin:16px;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000005e}.test-runner-header{background:#161b2280;border-bottom:1px solid #30363d99;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.header-title h2{color:#f0f6fc;margin:0 0 4px;font-size:20px;font-weight:600}.header-title .subtitle{color:#8b949e;font-size:13px}.header-actions{gap:12px;display:flex}.test-runner-layout{flex:1;display:flex;overflow:hidden}.scenarios-sidebar{background:#161b224d;flex-direction:column;width:320px;display:flex;overflow-y:auto}.sidebar-header{border-bottom:1px solid #30363d66;justify-content:space-between;align-items:center;padding:16px;display:flex}.sidebar-header h3{color:#f0f6fc;text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:14px;font-weight:600}.sidebar-selection-actions{color:#58a6ff;gap:8px;font-size:12px;display:flex}.sidebar-selection-actions button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.sidebar-selection-actions button:hover{text-decoration:underline}.sidebar-selection-actions .divider{color:#30363d}.scenarios-list{flex-direction:column;gap:8px;padding:8px;display:flex}.scenario-item-label{cursor:pointer;background:#21262d33;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;transition:all .2s;display:flex}.scenario-item-label:hover{background:#21262d99;border-color:#30363dcc}.scenario-item-label.selected{background:#388bfd14;border-color:#388bfd66}.scenario-item-label input[type=checkbox]{cursor:pointer;margin-top:3px}.scenario-meta{flex-direction:column;gap:4px;display:flex}.scenario-id{color:#f0f6fc;font-size:14px;font-weight:600}.scenario-desc{color:#8b949e;font-size:12px;line-height:1.4}.scenario-badge-row{gap:8px;margin-top:4px;display:flex}.scenario-tag{color:#8b949e;background:#30363d80;border:1px solid #30363dcc;border-radius:4px;padding:2px 6px;font-size:10px}.sidebar-loading{color:#8b949e;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.execution-main{background:#0d111766;flex-direction:column;flex:1;display:flex;overflow-y:auto}.execution-empty-state,.execution-running-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;max-width:600px;margin:0 auto;padding:48px;display:flex}.execution-empty-state h3,.execution-running-state h3{color:#f0f6fc;margin:0 0 8px;font-size:18px;font-weight:600}.execution-empty-state p,.execution-running-state p{color:#8b949e;margin:0;font-size:14px;line-height:1.5}.status-spin{color:gold;margin-bottom:24px}.report-container{flex-direction:column;gap:20px;padding:24px;display:flex}.report-summary-bar{border:1px solid;border-radius:8px;align-items:center;padding:16px 24px;display:flex;position:relative}.summary-pass{background:#00ff7f0d;border-color:#00ff7f33}.summary-fail{background:#ff44440d;border-color:#f443}.summary-status-icon{align-items:center;margin-right:18px;display:flex}.summary-text h3{color:#f0f6fc;margin:0 0 4px;font-size:18px;font-weight:600}.summary-text p{color:#8b949e;margin:0;font-size:13px}.summary-run-id{color:#484f58;font-family:monospace;font-size:11px;position:absolute;top:12px;right:16px}.scenario-results-list{flex-direction:column;gap:16px;display:flex}.scenario-result-card{background:#161b2266;border:1px solid #30363d80;border-radius:8px;padding:16px}.scenario-result-card.card-pass{border-left:4px solid #00ff7f}.scenario-result-card.card-fail{border-left:4px solid #f44}.card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.card-title-section{align-items:center;display:flex}.card-title-section h4{color:#f0f6fc;margin:0;font-size:16px;font-weight:600}.card-stats-section{align-items:center;gap:12px;display:flex}.stats-turns{color:#8b949e;font-size:12px}.stats-badge{border-radius:12px;padding:2px 8px;font-size:10px;font-weight:600}.badge-pass{color:#00ff7f;background:#00ff7f26;border:1px solid #00ff7f4d}.badge-fail{color:#f44;background:#ff444426;border:1px solid #ff44444d}.card-description{color:#8b949e;margin:0 0 16px;font-size:13px;line-height:1.4}.card-turns-list{flex-direction:column;gap:8px;display:flex}.turn-row{background:#0d111733;border:1px solid #30363d4d;border-radius:6px;overflow:hidden}.turn-row.turn-pass{border-left:3px solid #00ff7f80}.turn-row.turn-fail{border-left:3px solid #ff444480}.turn-summary-row{cursor:pointer;justify-content:space-between;align-items:center;padding:10px 14px;transition:background .2s;display:flex}.turn-summary-row:hover{background:#388bfd0a}.turn-status-and-input{align-items:center;gap:12px;display:flex}.turn-number-badge{border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:600;display:flex}.num-pass{color:#00ff7f;background:#00ff7f26;border:1px solid #00ff7f4d}.num-fail{color:#f44;background:#ff444426;border:1px solid #ff44444d}.player-input-preview{color:#f0f6fc;font-size:13px;font-style:italic}.turn-checks-summary{align-items:center;gap:12px;display:flex}.check-indicator{border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500}.check-pass{color:#00ff7f;background:#00ff7f14}.check-fail{color:#f44;background:#ff444414}.expand-indicator{color:#8b949e;align-items:center;display:flex}.turn-details-expanded{background:#161b2299;border-top:1px solid #30363d4d;flex-direction:column;gap:16px;padding:16px;display:flex}.detail-bubble{border-radius:8px;max-width:100%;padding:12px;position:relative}.npc-bubble{background:#21262d66;border:1px solid #30363d66}.bubble-meta{color:#8b949e;justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.turn-duration{font-family:monospace}.actual-response-text{color:#f0f6fc;margin:0;font-size:13px;font-style:italic;line-height:1.5}.checks-detailed-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checks-detailed-grid .span-2{grid-column:span 2}.check-detail-box{background:#0d111766;border:1px solid #30363d66;border-radius:6px;flex-direction:column;gap:8px;padding:12px;display:flex}.check-detail-box strong{color:#f0f6fc;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #30363d4d;padding-bottom:4px;font-size:12px}.detail-item{justify-content:space-between;font-size:12px;display:flex}.detail-item .label{color:#8b949e}.detail-item .value{font-weight:500}.text-pass{color:#00ff7f}.text-fail{color:#f44}.hints-match-list,.fx-match-list{flex-direction:column;gap:6px;display:flex}.hint-match-item,.fx-match-item{align-items:center;font-size:12px;display:flex}.hint-passed{color:#8b949e;text-decoration:line-through}.hint-failed,.fx-match-desc{color:#c9d1d9}.fx-match-desc strong{color:gold;text-transform:none;font-size:inherit;border:none;padding:0}.fx-match-desc code{background:#30363d4d;border-radius:3px;padding:1px 4px;font-family:monospace}.fx-match-details{color:#8b949e;margin-left:6px;font-family:monospace;font-size:11px}.empty-subtext{color:#484f58;font-size:12px;font-style:italic}.actual-mutations-log{border-top:1px dashed #30363d66;margin-top:10px;padding-top:10px}.log-header{color:gold;align-items:center;margin-bottom:6px;font-size:11px;font-weight:500;display:flex}.mutation-json-preview{color:#79c0ff;background:#0d1117cc;border:1px solid #30363d80;border-radius:4px;max-height:120px;margin:0;padding:8px;font-family:monospace;font-size:11px;overflow-y:auto}.spin-animation{animation:1s linear infinite spin}.font-mono{font-family:monospace}.border-right{border-right:1px solid #30363d99}.app-container{background-color:#0d1117;flex-direction:column;width:100vw;height:100vh;font-family:Inter,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.header-glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#0d1117d9;border-bottom:1px solid #ffffff12;flex-shrink:0;justify-content:space-between;align-items:center;gap:18px;height:60px;padding:0 20px;display:flex}.logo-section{align-items:center;gap:10px;min-width:240px;display:flex}.icon-glow{color:#4a9eca;filter:drop-shadow(0 0 6px #4a9eca80)}.header-glass h1{letter-spacing:.3px;color:#d1d5db;margin:0;font-size:1rem;font-weight:600}.tab-navigation{background:#00000040;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex}.tab-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:34px;padding:7px 14px;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.tab-btn:hover{color:#d1d5db;background:#ffffff0d}.tab-btn.active{color:#7dc8f0;background:#4a9eca26;border:1px solid #4a9eca40}.canvas-container{flex:1;width:100%;min-width:0;min-height:0;position:relative;overflow:hidden}.main-content{flex:1;width:100%;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.controls{justify-content:flex-end;align-items:center;gap:8px;min-width:340px;height:40px;display:flex}.stats-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#6b7280;z-index:10;letter-spacing:.2px;background:#0d1117cc;border:1px solid #ffffff12;border-radius:16px;gap:10px;padding:5px 18px;font-size:.75rem;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.stats-divider{color:#374151}.legend-panel{z-index:10;flex-direction:column;gap:5px;display:flex;position:absolute;bottom:14px;left:14px}.legend-item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#9ca3af;cursor:pointer;background:#0d1117cc;border:1px solid #ffffff12;border-radius:16px;align-items:center;gap:8px;padding:4px 12px;font-size:.75rem;transition:all .15s;display:flex}.legend-item:hover{color:#d1d5db;border-color:#ffffff26}.legend-item.muted{opacity:.3}.player-legend-item{color:#ffe8a3;cursor:default;border-color:#ffd16652}.legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.legend-diamond{background:#ffd166;border:1px solid #fff;flex-shrink:0;width:10px;height:10px;transform:rotate(45deg)}.legend-count{color:#4b5563;text-align:right;min-width:14px;margin-left:auto;font-size:.7rem}.side-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:#12161ee0;border:1px solid #ffffff14;border-radius:14px;width:320px;max-height:calc(100% - 32px);transition:right .35s cubic-bezier(.16,1,.3,1);position:absolute;top:16px;right:-380px;overflow-y:auto;box-shadow:-4px 0 24px #0006}.side-panel.open{right:16px}.panel-content{padding:20px}.panel-header{margin-bottom:14px;padding-right:24px;position:relative}.panel-header h2{color:#e5e7eb;margin:4px 0 0;font-size:1rem;font-weight:600}.node-badge{color:#000;letter-spacing:.3px;border-radius:10px;padding:3px 9px;font-size:.7rem;font-weight:700;display:inline-block}.player-node-badge{box-shadow:0 0 0 1px #fff,0 0 16px #ffd16659}.panel-close{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0;display:flex;position:absolute;top:0;right:0}.panel-close:hover{color:#d1d5db}.properties-list h3{color:#4b5563;text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:6px;margin:0 0 8px;font-size:.7rem;display:flex}.property-item{background:#00000040;border:1px solid #ffffff0a;border-radius:7px;flex-direction:column;gap:3px;margin-bottom:8px;padding:10px 12px;display:flex}.prop-key{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:.68rem}.prop-value{color:#d1d5db;word-break:break-word;font-size:.88rem}.connection-item{cursor:pointer}.connection-item:hover{background:#4a9eca0f;border-color:#4a9eca2e}.link-target{color:#7dc8f0!important}.search-box{color:#6b7280;background:#0000004d;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:7px;height:34px;padding:0 11px;display:flex}.search-box input{color:#d1d5db;background:0 0;border:none;outline:none;width:150px;font-size:.82rem}.search-box input::placeholder{color:#4b5563}.search-box button{color:#6b7280;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex}.btn-icon{color:#9ca3af;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 12px;font-size:.82rem;transition:all .15s;display:flex}.btn-icon:hover{color:#d1d5db;background:#ffffff14}.btn-icon.active{color:#7dc8f0;background:#4a9eca14;border-color:#4a9eca4d}.btn-restart{color:#f87171;cursor:pointer;white-space:nowrap;letter-spacing:.2px;background:#f0503c1a;border:1px solid #f0503c4d;border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:.82rem;font-weight:600;transition:all .18s;display:flex}.btn-restart:hover{color:#fca5a5;background:#f0503c38;border-color:#f0503c8c;transform:scale(1.03)}.btn-restart:active{transform:scale(.97)}.btn-primary{color:#fff;cursor:pointer;background:#4a9eca;border:none;border-radius:8px;padding:9px 20px;font-size:.85rem;font-weight:600;transition:background .15s}.btn-primary:hover{background:#60aed8}.loading-overlay,.error-overlay{z-index:20;color:#6b7280;background:#0d1117d9;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.spinner{border:2.5px solid #4a9eca33;border-top-color:#4a9eca;border-radius:50%;width:32px;height:32px;animation:.75s linear infinite spin}.error-card{text-align:center;background:#191212e6;border:1px solid #dc505040;border-radius:14px;flex-direction:column;gap:12px;padding:28px;display:flex}.error-card h2{color:#f87171;margin:0;font-size:1rem}.error-card p{color:#9ca3af;margin:0;font-size:.88rem}.dialogue-container{background:#0d1117;width:100%;min-width:0;height:100%;min-height:0;display:flex}.dialogue-sidebar{background:#0d1117e6;border-right:1px solid #ffffff12;flex-direction:column;flex-shrink:0;gap:20px;width:320px;padding:20px;display:flex;overflow-y:auto}.sidebar-section h3{color:#6b7280;text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:8px;margin-bottom:10px;font-size:.72rem;display:flex}.sidebar-section select{color:#d1d5db;background:#0000004d;border:1px solid #ffffff14;border-radius:8px;outline:none;width:100%;padding:9px;font-size:.85rem}.scenario-brief p,.npc-intro span{color:#9ca3af;margin:0;font-size:.85rem;line-height:1.5}.npc-intro{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:5px;margin-top:10px;padding:10px 12px;display:flex}.npc-intro strong{color:#d1d5db;font-size:.88rem}.conv-id-badge{color:#6b7280;text-align:center;background:#ffffff0a;border-radius:6px;margin-bottom:6px;padding:7px;font-family:monospace;font-size:.82rem}.btn-secondary{color:#d1d5db;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:9px;font-size:.82rem;display:flex}.connection-status{color:#6b7280;align-items:center;gap:8px;margin-top:auto;font-size:.75rem;display:flex}.status-dot{border-radius:50%;width:7px;height:7px}.status-dot.open{background:#34d399;box-shadow:0 0 6px #34d399}.status-dot.connecting{background:#fbbf24}.status-dot.closed{background:#f87171}.chat-area{background:#0d1117;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.messages-window{flex-direction:column;flex:1;gap:20px;min-height:0;padding:28px 32px;display:flex;overflow-y:auto}.empty-chat{color:#374151;flex-direction:column;justify-content:center;align-items:center;gap:14px;height:100%;display:flex}.message-bubble{max-width:68%;display:flex}.message-bubble.player{align-self:flex-end}.message-bubble.npc{align-self:flex-start}.bubble-content{border-radius:16px;padding:14px 18px;font-size:.95rem;line-height:1.5}.player .bubble-content{color:#fff;background:#4a9eca;border-bottom-right-radius:4px}.npc .bubble-content{color:#d1d5db;background:#1a1f2a;border:1px solid #ffffff0d;border-bottom-left-radius:4px}.npc-meta{gap:6px;margin-top:6px;display:flex}.emotion-tag,.anim-tag{text-transform:uppercase;letter-spacing:.3px;border-radius:8px;padding:2px 7px;font-size:.65rem;font-weight:700}.emotion-tag{color:#7dc8f0;background:#4a9eca1f;align-items:center;gap:4px;display:flex}.anim-tag{color:#6b7280;background:#ffffff0a}.input-area{background:#0d1117e6;border-top:1px solid #ffffff12;flex-shrink:0;gap:12px;padding:20px 24px;display:flex}.input-area input{color:#d1d5db;background:#0000004d;border:1px solid #ffffff14;border-radius:10px;outline:none;flex:1;padding:12px 16px;font-size:.95rem;transition:border-color .15s}.input-area input:focus{border-color:#4a9eca80}.btn-send{color:#fff;cursor:pointer;background:#4a9eca;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;transition:all .15s;display:flex}.btn-send:hover:not(:disabled){background:#60aed8;transform:scale(1.04)}.btn-send:disabled{color:#4b5563;cursor:not-allowed;background:#1f2937}.process-monitor{background:#0d1117;flex-direction:column;flex:1;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.spin{animation:1s linear infinite spin}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}.btn-end-conv{color:#fca5a5;cursor:pointer;background:#ef44441a;border:1px solid #ef444440;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:10px;font-size:.82rem;font-weight:500;transition:all .2s;display:flex}.btn-end-conv:hover:not(:disabled){color:#f87171;background:#ef444433;border-color:#ef444473}.btn-end-conv:disabled{opacity:.5;cursor:not-allowed}.message-bubble.system{align-self:center;max-width:100%;margin:10px 0}.system .bubble-content{color:#8b949e;background:#ffffff05;border:1px dashed #ffffff14;border-radius:8px;padding:6px 14px;font-size:.8rem}
