.login-backdrop{display:flex;align-items:center;justify-content:center;height:100%;width:100%;background:var(--bg-primary)}.login-card{width:340px;padding:40px 36px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.login-title{font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.login-subtitle{font-size:13px;color:var(--text-muted);margin-bottom:12px}.login-form{display:flex;flex-direction:column;gap:10px}.login-input{width:100%;padding:11px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .15s}.login-input:focus{border-color:var(--accent)}.login-error{font-size:12px;color:var(--danger)}.login-btn{margin-top:4px;padding:11px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.login-btn:hover:not(:disabled){background:var(--accent-hover)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.testing-lab{display:flex;flex-direction:column;height:100%;overflow:hidden}.testing-lab-scroll{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:24px}.editor-section{display:flex;flex-direction:column;gap:8px}.editor-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid var(--border)}.editor-header h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.item-list{display:flex;flex-direction:column;gap:4px}.item-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--bg-tertiary);transition:border-color .15s}.item-row--active{flex-direction:column;align-items:stretch;border-color:var(--accent);background:var(--bg-secondary)}.item-info{display:flex;align-items:center;gap:8px;min-width:0}.item-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-meta{font-size:11px;color:var(--text-muted);white-space:nowrap}.item-actions{display:flex;gap:4px;flex-shrink:0}.tone-badge{font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600;letter-spacing:.04em}.tone-badge--warm{background:#f5a62333;color:var(--warning)}.tone-badge--professional{background:#5b6ef533;color:var(--accent)}.tone-badge--playful{background:#3ecf8e33;color:var(--success)}.btn-icon{width:24px;height:24px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon--danger{color:var(--danger)}.btn-icon--danger:hover{background:#e8555526}.btn-sm{padding:3px 8px;font-size:11px;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);transition:background .15s}.btn-sm:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-sm--danger{color:var(--danger)}.btn-sm--danger:hover{background:#e8555526}.inline-form{display:flex;flex-direction:column;gap:8px;width:100%;padding-top:4px}.form-input{width:100%;padding:7px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .15s}.form-input:focus{border-color:var(--accent)}.form-input--sm{padding:4px 8px;font-size:12px}.form-textarea{width:100%;padding:7px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;outline:none;resize:vertical;transition:border-color .15s}.form-textarea:focus{border-color:var(--accent)}.form-select{width:100%;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b90a8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.form-select:focus{border-color:var(--accent)}.form-error{font-size:12px;color:var(--danger)}.form-actions{display:flex;gap:6px}.form-row{display:flex;gap:12px}.form-label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-secondary);flex:1}.btn-primary{padding:6px 14px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:12px;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{padding:6px 14px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;transition:background .15s}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.tone-selector{display:flex;gap:6px}.tone-option{flex:1;padding:5px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:12px;transition:all .15s}.tone-option--active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.fields-editor{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border)}.fields-header{display:flex;align-items:center;justify-content:space-between}.fields-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.field-row{display:flex;gap:4px;align-items:center}.field-required{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-muted);white-space:nowrap;cursor:pointer}.launch-panel{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid var(--border)}.launch-panel h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.launch-selects{display:flex;flex-direction:column;gap:8px}.btn-launch{padding:10px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:13px;font-weight:600;transition:background .15s,opacity .15s;width:100%}.btn-launch:hover:not(:disabled){background:var(--accent-hover)}.btn-launch:disabled{opacity:.5;cursor:not-allowed}.chat-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-loading{display:flex;align-items:center;justify-content:center;gap:12px;height:100%;color:var(--text-secondary);font-size:14px}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chat-header{flex-shrink:0;padding:12px 16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px;background:var(--bg-secondary)}.chat-header-info{display:flex;align-items:baseline;gap:8px}.chat-persona{font-weight:700;font-size:15px}.chat-goal{font-size:12px;color:var(--text-secondary)}.goal-progress{display:flex;flex-direction:column;gap:8px}.goal-fields{display:flex;flex-wrap:wrap;gap:5px}.field-pill{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:11px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-muted);transition:all .3s}.field-pill--required{border-style:solid}.field-pill--done{background:var(--success-dim);border-color:var(--success);color:var(--success)}.pill-check{font-size:10px}.relational-bar{display:flex;align-items:center;gap:8px}.tone-chip{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;border:1px solid;white-space:nowrap}.trust-bar{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.trust-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .5s ease}.trust-label{font-size:11px;color:var(--text-secondary);min-width:30px}.emotion-label{font-size:11px;color:var(--text-muted);min-width:60px}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.message-row{display:flex}.message-row--agent{justify-content:flex-start}.message-row--user{justify-content:flex-end}.bubble{max-width:72%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.bubble--agent{background:var(--agent-bubble);border-bottom-left-radius:4px}.bubble--user{background:var(--user-bubble);border-bottom-right-radius:4px}.typing-indicator{display:flex;align-items:center;gap:4px;padding:10px 14px;background:var(--agent-bubble);border-radius:16px 16px 16px 4px}.typing-indicator span{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:bounce 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}.goal-complete-card{margin:12px 16px;padding:16px;background:var(--success-dim);border:1px solid var(--success);border-radius:var(--radius);flex-shrink:0}.goal-complete-card h3{font-size:13px;font-weight:700;color:var(--success);margin-bottom:6px}.goal-complete-card p{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.goal-fields-summary{display:flex;flex-direction:column;gap:4px}.field-summary-row{display:flex;gap:8px;font-size:12px}.field-summary-key{color:var(--text-secondary);min-width:120px;font-weight:500}.field-summary-val{color:var(--text-primary)}.chat-input-row{flex-shrink:0;display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-secondary)}.chat-input{flex:1;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:14px;resize:none;outline:none;line-height:1.5;transition:border-color .15s;max-height:120px;overflow-y:auto}.chat-input:focus{border-color:var(--accent)}.chat-send{padding:10px 18px;background:var(--accent);border:none;border-radius:var(--radius);color:#fff;font-size:13px;font-weight:600;transition:background .15s,opacity .15s;align-self:flex-end}.chat-send:hover:not(:disabled){background:var(--accent-hover)}.chat-send:disabled{opacity:.4;cursor:not-allowed}.debug-panel{flex-shrink:0;border-top:1px solid var(--border)}.debug-toggle{width:100%;padding:7px 16px;background:transparent;border:none;color:var(--text-muted);font-size:11px;text-align:left;cursor:pointer;transition:color .15s}.debug-toggle:hover{color:var(--text-secondary)}.debug-content{display:flex;gap:12px;padding:12px 16px;max-height:220px;background:var(--bg-primary)}.debug-col{flex:1;display:flex;flex-direction:column;gap:6px;overflow:hidden}.debug-col h4{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.debug-pre{font-family:Menlo,Monaco,Courier New,monospace;font-size:10px;color:var(--text-secondary);overflow-y:auto;flex:1;white-space:pre-wrap;word-break:break-all}.debug-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.debug-empty{font-size:11px;color:var(--text-muted)}.log-entry{display:flex;gap:6px;font-size:10px;font-family:Menlo,Monaco,Courier New,monospace}.log-time{color:var(--text-muted);white-space:nowrap}.log-event{color:var(--accent);white-space:nowrap}.log-data{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app{display:flex;height:100%;width:100%;overflow:hidden}.left-panel{width:320px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-secondary);overflow:hidden}.panel-header{padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.btn-logout{padding:3px 10px;font-size:11px;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.btn-logout:hover{color:var(--danger);border-color:var(--danger)}.panel-title{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--text-primary)}.testing-lab{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:24px}.right-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.chat-empty-content{text-align:center;display:flex;flex-direction:column;gap:8px}.chat-empty-content h2{font-size:18px;font-weight:600;color:var(--text-primary)}.chat-empty-content p{font-size:13px;color:var(--text-secondary);max-width:280px}:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-tertiary: #222536;--bg-hover: #2a2e42;--border: #2e3246;--text-primary: #e8eaf0;--text-secondary: #8b90a8;--text-muted: #555a75;--accent: #5b6ef5;--accent-hover: #4a5de0;--accent-dim: rgba(91, 110, 245, .15);--success: #3ecf8e;--success-dim: rgba(62, 207, 142, .15);--warning: #f5a623;--danger: #e85555;--agent-bubble: #1e2133;--user-bubble: #2d3580;--radius: 12px;--radius-sm: 8px;--shadow: 0 2px 8px rgba(0, 0, 0, .4)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
