*{margin:0;padding:0;box-sizing:border-box}body{font-family:Apple SD Gothic Neo,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--st-bg);color:var(--st-text)}:root{--st-brand: #fe8012;--st-brand-dark: #e56f00;--st-brand-alpha: rgba(254,128,18,.5);--st-brand-ultra-alpha: rgba(254,128,18,.3);--st-brand-strong: rgba(254,128,18,.9);--st-bg: #f5f5f5;--st-background: #f9fafb;--st-surface: #ffffff;--st-surface-muted: #f8fafc;--st-text: #111827;--st-nav-text: #6b7280;--st-nav-muted: #9ca3af;--st-muted: #6b7280;--st-border: #e5e7eb;--st-hover: rgba(254,128,18,.06);--st-shadow: #00000030;--st-badge-info-bg: #dbeafe;--st-badge-info-fg: #1e40af;--st-badge-warn-bg: #fef3c7;--st-badge-warn-fg: #92400e;--st-badge-success-bg: #dcfce7;--st-badge-success-fg: #166534;--st-badge-danger-bg: #fef2f2;--st-badge-danger-fg: #991b1b;--st-badge-primary-bg: #eef2ff;--st-badge-primary-fg: #3730a3}:root[data-theme=dark]{--st-bg: #0f1720;--st-background: #343434;--st-surface: #121a24;--st-surface-muted: #192433;--st-text: #e5e7eb;--st-nav-text: #9aa4b2;--st-nav-muted: #6b7280;--st-muted: #9aa4b2;--st-border: #283445;--st-hover: rgba(254,128,18,.14);--st-shadow: #000000;--st-badge-info-bg: #1e3a5f;--st-badge-info-fg: #93c5fd;--st-badge-warn-bg: #4a3721;--st-badge-warn-fg: #fcd34d;--st-badge-success-bg: #1f3d2b;--st-badge-success-fg: #86efac;--st-badge-danger-bg: #4a1d1d;--st-badge-danger-fg: #fca5a5;--st-badge-primary-bg: #27274a;--st-badge-primary-fg: #c7d2fe}.st-input,.st-select{width:100%;background:var(--st-surface);color:var(--st-text)}.st-btn{display:inline-flex;align-items:center;gap:6px}.retry-btn,.new-world-view-btn,.new-world-view-btn-secondary,.new-chat-btn,.new-chat-btn-secondary,.refresh-btn,.save-btn,.cancel-btn,.close-btn,.config-btn{border:1px solid var(--st-brand-alpha);background:var(--st-surface);color:var(--st-text);border-radius:8px;padding:8px 12px;cursor:pointer}.retry-btn:hover,.new-world-view-btn:hover,.new-world-view-btn-secondary:hover,.new-chat-btn:hover,.new-chat-btn-secondary:hover,.refresh-btn:hover,.save-btn:hover,.cancel-btn:hover,.close-btn:hover,.config-btn:hover{background:var(--st-hover)}.floating-update-btn{border:1px solid var(--st-brand-alpha);background:var(--st-brand);color:#fff;border-radius:50%;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center}input.field-input,select.field-input,textarea.field-textarea{border:1.5px solid rgba(254,128,18,.9);border-radius:8px;background:var(--st-surface);color:var(--st-text)}input.field-input:focus,select.field-input:focus,textarea.field-textarea:focus{outline:none;border-color:var(--st-brand);box-shadow:0 0 0 3px #fe80122e}@font-face{font-family:Pretendard;font-weight:100;font-style:normal;font-display:swap;src:url(/assets/Pretendard-Thin-DWJVAZ2K.woff2) format("woff2"),url(/assets/Pretendard-Thin-D6ZjFId1.ttf) format("truetype")}@font-face{font-family:Pretendard;font-weight:200;font-style:normal;font-display:swap;src:url(/assets/Pretendard-ExtraLight-Bi0YRlFr.woff2) format("woff2"),url(/assets/Pretendard-ExtraLight-D3wbe2dx.ttf) format("truetype")}@font-face{font-family:Pretendard;font-weight:300;font-style:normal;font-display:swap;src:url(/assets/Pretendard-Light-knQmDAda.woff2) format("woff2"),url(/assets/Pretendard-Light-CO41HPJw.ttf) format("truetype")}@font-face{font-family:Pretendard;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/Pretendard-Regular-BhrLQoBv.woff2) format("woff2"),url(/assets/Pretendard-Regular-PCFjemQu.ttf) format("truetype")}@font-face{font-family:Pretendard;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/Pretendard-Medium-Dw2vNklR.woff2) format("woff2"),url(/assets/Pretendard-Medium-CYEYLZjT.ttf) format("truetype")}@font-face{font-family:Pretendard;font-weight:600;font-style:normal;font-display:swap;src:url(/assets/Pretendard-SemiBold-ClEDdoZU.woff2) format("woff2"),url(/assets/Pretendard-SemiBold-D_MLB44c.ttf) format("truetype")}@font-face{font-family:Pretendard;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/Pretendard-Bold-BYNivUXw.woff2) format("woff2"),url(/assets/Pretendard-Bold-C2VP-hcX.ttf) format("truetype")}@font-face{font-family:Pretendard;font-weight:800;font-style:normal;font-display:swap;src:url(/assets/Pretendard-ExtraBold-C0vVUedy.woff2) format("woff2"),url(/assets/Pretendard-ExtraBold-DVy5M4w3.ttf) format("truetype")}@font-face{font-family:Pretendard;font-weight:900;font-style:normal;font-display:swap;src:url(/assets/Pretendard-Black-B7X87vPW.woff2) format("woff2"),url(/assets/Pretendard-Black-BFZNj13u.ttf) format("truetype")}@font-face{font-family:"Apple Color Emoji";src:local("Apple Color Emoji"),local("AppleColorEmoji"),local("apple-color-emoji");src:url(/assets/AppleColorEmoji-B_2nYf-X.woff) format("woff"),url(/assets/AppleColorEmoji-CzZK0iEU.ttf) format("truetype"),url(/assets/AppleColorEmoji-BMkvumd9.eot?),url(/assets/AppleColorEmoji-BMkvumd9.eot?#iefix) format("embedded-opentype"),url(/assets/AppleColorEmoji-B5wi_OcP.svg) format("svg");font-weight:400;font-style:normal}#app{font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Apple Color Emoji",Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.st-btn[data-v-5d321544]{word-break:keep-all;border:1px solid var(--st-brand-alpha);background:var(--st-surface);color:var(--st-text);border-radius:8px;cursor:pointer;transition:all .15s}.st-btn[data-v-5d321544]:hover:not(:disabled){background:#fe80120f}.st-btn[data-v-5d321544]:disabled{opacity:.6;cursor:not-allowed}.st-btn--block[data-v-5d321544]{width:100%;display:inline-flex;justify-content:center;align-items:center;align-content:center}.st-btn--sm[data-v-5d321544]{padding:6px 10px;font-size:12px}.st-btn--md[data-v-5d321544]{padding:8px 12px;font-size:14px}.st-btn--primary[data-v-5d321544]{background:var(--st-brand);border-color:var(--st-brand);color:#fff}.st-btn--primary[data-v-5d321544]:hover:not(:disabled){background:var(--st-brand-dark);border-color:var(--st-brand-dark)}.st-btn--secondary[data-v-5d321544]{background:var(--st-hover);border-color:var(--st-brand-alpha);color:var(--st-text)}.st-btn--secondary[data-v-5d321544]:hover:not(:disabled){background:#fe80121f}.st-btn--success[data-v-5d321544]{background:#10b981;border-color:#10b981;color:#fff}.st-btn--success[data-v-5d321544]:hover:not(:disabled){background:#059669;border-color:#059669}.st-btn--danger[data-v-5d321544]{background:#ef4444;border-color:#ef4444;color:#fff}.st-btn--danger[data-v-5d321544]:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.st-btn--gray[data-v-5d321544]{background:#fe801214;color:var(--st-text);border-color:var(--st-brand-alpha)}.st-btn--gray[data-v-5d321544]:hover:not(:disabled){background:#fe801224}.st-btn--outline[data-v-5d321544]{background:var(--st-surface);color:var(--st-brand);border-color:var(--st-brand)}.st-btn--outline[data-v-5d321544]:hover:not(:disabled){background:var(--st-hover)}.st-btn--transparent[data-v-5d321544]{background:transparent;color:var(--st-text);border-color:transparent}.layout-container[data-v-b2431c43]{height:100vh;display:flex;flex-direction:column}.header[data-v-b2431c43]{position:fixed;top:0;left:0;right:0;height:64px;background:var(--st-surface);color:var(--st-text);border-bottom:1px solid var(--st-border);box-shadow:0 1px 3px #0000001a;z-index:10}.header-content[data-v-b2431c43]{display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:64px;margin:0 auto}.logo h1[data-v-b2431c43]{color:var(--st-text);font-size:24px;font-weight:700;margin:0}.header-actions[data-v-b2431c43]{display:flex;align-items:center;gap:16px}.logout-btn[data-v-b2431c43]{background:none;border:none;cursor:pointer;width:32px;height:32px;padding:4px;border-radius:4px;transition:background-color .2s,opacity .2s}.logout-btn svg[data-v-b2431c43]{width:100%;height:100%}.logout-btn[data-v-b2431c43]:hover{cursor:pointer;opacity:.7}.main-container[data-v-b2431c43]{flex:1;display:flex;overflow:hidden}.sidebar[data-v-b2431c43]{position:fixed;left:0;top:64px;bottom:0;width:250px;background:var(--st-surface);border-right:1px solid var(--st-border);padding:16px 0;overflow-y:auto;display:flex;flex-direction:column;align-items:start;justify-content:space-between}.nav-menu[data-v-b2431c43]{display:flex;flex-direction:column;width:100%}.nav-item[data-v-b2431c43]{display:flex;align-items:center;gap:12px;padding:12px 24px;color:var(--st-text);text-decoration:none;transition:all .2s}.nav-item[data-v-b2431c43]:hover{background:var(--st-hover);color:var(--st-text)}.nav-item.title[data-v-b2431c43]{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--st-muted);cursor:default;padding:12px 24px 8px}.nav-item.title[data-v-b2431c43]:hover{background:transparent;color:var(--st-muted)}.nav-item.active[data-v-b2431c43]{background:#fe8012;color:#fff}.nav-icon[data-v-b2431c43]{font-size:20px;display:flex;align-items:center;justify-content:center}.nav-text[data-v-b2431c43]{font-size:14px;font-weight:500}.content[data-v-b2431c43]{margin-top:64px;margin-left:250px;flex:1;padding:24px;overflow-y:auto;background:var(--st-bg)}@media (max-width: 768px){.sidebar[data-v-b2431c43]{width:200px}.nav-text[data-v-b2431c43]{display:none}.sidebar[data-v-b2431c43]{width:60px}.content[data-v-b2431c43]{padding:16px}}.st-select[data-v-1666cb67]{border:1px solid var(--st-border);border-radius:6px;padding:8px 12px;font-size:14px;background:var(--st-surface);color:var(--st-text)}.st-select[data-v-1666cb67]:hover{border-color:var(--st-brand)}.st-select[data-v-1666cb67]:focus{outline:none;border-color:var(--st-brand);box-shadow:0 0 0 3px #fe80122e}.st-input[data-v-9f36b209]{border:1px solid var(--st-border);border-radius:5px;padding:8px 10px;font-size:14px;background:var(--st-surface);color:var(--st-text)}.st-input[data-v-9f36b209]:hover{border-color:var(--st-brand)}.st-input[data-v-9f36b209]:focus{outline:none;border-color:var(--st-brand);box-shadow:0 0 0 3px #fe80122e}.st-input--error[data-v-9f36b209]{border-color:#ef4444;box-shadow:0 0 0 3px #ef444414}.st-input[type=range][data-v-9f36b209]{border:none}.st-input[type=range][data-v-9f36b209]:focus{border:none}.st-input[data-v-9f36b209]::placeholder{color:var(--st-muted)}.modal-overlay[data-v-d47f32d9]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-d47f32d9]{background:var(--st-surface);border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:500px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-d47f32d9]{padding:24px 24px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.modal-title[data-v-d47f32d9]{font-size:24px;font-weight:700;color:#1f2937;margin:0}.close-btn[data-v-d47f32d9]{background:none;border:none;font-size:32px;color:#6b7280;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn[data-v-d47f32d9]:hover{background:#f3f4f6;color:#374151}.modal-content[data-v-d47f32d9]{padding:0 24px 24px;overflow-y:auto;flex:1}.chat-setup-form[data-v-d47f32d9]{display:flex;flex-direction:column;gap:20px}.characters[data-v-d47f32d9]{display:flex;justify-content:space-around;gap:10px}.characters div[data-v-d47f32d9]{flex:1}.characters div label[data-v-d47f32d9]{display:flex;align-items:center;gap:5px}.characters div.swap[data-v-d47f32d9]{flex:0}.characters div p[data-v-d47f32d9]:first-child{font-weight:600;color:#374151;font-size:14px}.form-group[data-v-d47f32d9]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-d47f32d9]{font-weight:600;color:#374151;font-size:14px}.likeability[data-v-d47f32d9]{display:flex;align-items:center;gap:8px}.likeability-text[data-v-d47f32d9]{flex:1;text-align:center;min-width:60px;font-weight:600;color:#374151;font-size:14px}.form-select[data-v-d47f32d9]{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:var(--st-surface);cursor:pointer;transition:border-color .2s}.form-select[data-v-d47f32d9]:focus{outline:none;border-color:#3b82f6}.form-select[data-v-d47f32d9]:disabled{background:var(--st-background);color:#6b7280;cursor:not-allowed}.error-message[data-v-d47f32d9]{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;border-left:4px solid #dc2626;font-size:14px}.button-group[data-v-d47f32d9]{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.cancel-btn[data-v-d47f32d9]{background:#6b7280;color:#fff;border:none;border-radius:6px;padding:12px 20px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.cancel-btn[data-v-d47f32d9]:hover{background:#4b5563}.create-btn[data-v-d47f32d9]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;padding:12px 20px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;min-width:100px}.create-btn[data-v-d47f32d9]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.create-btn[data-v-d47f32d9]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.modal-overlay[data-v-d47f32d9]{animation:fadeIn-d47f32d9 .2s ease-out}.modal-container[data-v-d47f32d9]{animation:slideIn-d47f32d9 .3s ease-out}@keyframes fadeIn-d47f32d9{0%{opacity:0}to{opacity:1}}@keyframes slideIn-d47f32d9{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay[data-v-47d031da]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-container[data-v-47d031da]{background:var(--st-surface);border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px #00000026}.modal-header[data-v-47d031da]{padding:20px 24px 16px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;background:var(--st-surface-muted)}.modal-title[data-v-47d031da]{margin:0;font-size:18px;font-weight:700;color:#1f2937}.close-btn[data-v-47d031da]{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.close-btn[data-v-47d031da]:hover{background:#f3f4f6;color:#374151}.modal-body[data-v-47d031da]{padding:0;max-height:60vh;overflow-y:auto}.loading-container[data-v-47d031da],.error-container[data-v-47d031da]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.loading-spinner[data-v-47d031da]{width:32px;height:32px;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:spin-47d031da 1s linear infinite;margin-bottom:12px}.error-container[data-v-47d031da]{color:#dc2626}.retry-btn[data-v-47d031da]{background:#dc2626;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:12px;margin-top:8px}.config-form[data-v-47d031da]{padding:24px}.config-section[data-v-47d031da]{margin-bottom:24px}.config-section h4[data-v-47d031da]{margin:0 0 4px;font-size:16px;font-weight:600;color:#374151}.input-row[data-v-47d031da]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.input-row[data-v-47d031da]:has(.full-width){grid-template-columns:1fr}.input-group[data-v-47d031da]{display:flex;flex-direction:column;gap:6px}.input-group label[data-v-47d031da]{font-size:14px;font-weight:500;color:#374151}.config-input[data-v-47d031da]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.config-input[data-v-47d031da]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-footer[data-v-47d031da]{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:20px;border-top:1px solid #e2e8f0}.cancel-btn[data-v-47d031da],.save-btn[data-v-47d031da]{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn[data-v-47d031da]{background:var(--st-surface);color:#374151;border:1px solid #d1d5db}.cancel-btn[data-v-47d031da]:hover{background:var(--st-background);border-color:#9ca3af}.save-btn[data-v-47d031da]{background:#3b82f6;color:#fff;border:none}.save-btn[data-v-47d031da]:hover:not(:disabled){background:#2563eb}.save-btn[data-v-47d031da]:disabled{opacity:.6;cursor:not-allowed}.save-error[data-v-47d031da]{background:#fef2f2;color:#dc2626;padding:12px 24px;border-top:1px solid #e2e8f0;font-size:14px}.range-slider-container[data-v-47d031da]{display:flex;flex-direction:column;gap:6px}.range-slider-labels[data-v-47d031da]{display:flex;justify-content:space-between;font-size:14px;font-weight:500;color:#374151}.range-slider-wrapper[data-v-47d031da]{position:relative;height:24px;margin:0 10px}.range-slider[data-v-47d031da]{position:absolute;width:100%;height:24px;top:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;pointer-events:none}.range-slider[data-v-47d031da]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--st-brand);cursor:pointer;border:2px solid white;box-shadow:0 2px 6px #0003;pointer-events:all;position:relative;z-index:3}.range-slider[data-v-47d031da]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--st-brand);cursor:pointer;border:2px solid white;box-shadow:0 2px 6px #0003;pointer-events:all;position:relative;z-index:3}.range-slider-max[data-v-47d031da]::-webkit-slider-thumb{background:var(--st-brand);border:2px solid white}.range-slider-max[data-v-47d031da]::-moz-range-thumb{background:var(--st-brand);border:2px solid white}.range-slider-track[data-v-47d031da]{position:absolute;top:9px;width:100%;height:6px;background:#e5e7eb;border-radius:3px;z-index:1}.range-slider-range[data-v-47d031da]{position:absolute;top:9px;height:6px;background:var(--st-brand);border-radius:3px;z-index:2}.range-slider-scale[data-v-47d031da]{display:flex;justify-content:space-between;font-size:12px;color:#6b7280;margin-top:4px;padding:0 16px}.single-slider[data-v-47d031da]{z-index:3;pointer-events:all}.single-range[data-v-47d031da]{background:var(--st-brand)!important}.safety-group[data-v-47d031da]{display:flex;gap:8px;margin-bottom:8px}.safety-label[data-v-47d031da]{width:70px;align-self:center;word-break:keep-all;font-size:14px;font-weight:500;color:#374151}.button-group[data-v-47d031da]{display:flex;gap:0px;flex-wrap:wrap;border-radius:6px;border:1px solid #dfe4ed}.safety-btn[data-v-47d031da]{flex:1;min-width:74px;padding:8px 12px;border:none;background:var(--st-surface);color:#374151;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.safety-btn+.safety-btn[data-v-47d031da]{border-left:1px solid #dfe4ed}.safety-btn[data-v-47d031da]:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.safety-btn[data-v-47d031da]:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.safety-btn[data-v-47d031da]:hover{background:var(--st-surface-muted)}.safety-btn.active[data-v-47d031da]{background:var(--st-brand);color:#fff}.safety-btn[data-v-47d031da]:focus{outline:none}@keyframes spin-47d031da{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.up-modal-overlay[data-v-90d3cdc6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100}.up-modal[data-v-90d3cdc6]{width:420px;max-width:calc(100% - 32px);background:#fff;border-radius:12px;box-shadow:0 12px 32px #0003;overflow:hidden}.up-header[data-v-90d3cdc6]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7eb}.up-close[data-v-90d3cdc6]{border:none;background:transparent;font-size:18px;cursor:pointer;color:#6b7280}.up-body[data-v-90d3cdc6]{padding:16px;display:flex;flex-direction:column;gap:8px}.up-label[data-v-90d3cdc6]{font-size:13px;color:#374151}.up-current[data-v-90d3cdc6]{font-size:14px;color:#111827;background:var(--st-background);border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px}.up-input[data-v-90d3cdc6]{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;outline:none;font-size:14px}.up-input[data-v-90d3cdc6]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.up-hint[data-v-90d3cdc6]{font-size:12px;color:#6b7280}.up-error[data-v-90d3cdc6]{font-size:12px;color:#dc2626}.up-footer[data-v-90d3cdc6]{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid #e5e7eb}.up-btn[data-v-90d3cdc6]{border:none;border-radius:8px;padding:8px 14px;cursor:pointer;font-size:14px}.up-btn.ghost[data-v-90d3cdc6]{background:#f3f4f6;color:#374151}.up-btn.primary[data-v-90d3cdc6]{background:#3b82f6;color:#fff}.up-btn[data-v-90d3cdc6]:disabled{opacity:.6;cursor:not-allowed}.up-spinner[data-v-90d3cdc6]{width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;display:inline-block;margin-right:6px;animation:spin-90d3cdc6 1s linear infinite;vertical-align:-2px}@keyframes spin-90d3cdc6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-sidebar-container[data-v-7f0511bd]{position:relative;height:100%;width:100%;background:var(--st-surface);border-left:1px solid var(--st-border);display:flex;flex-direction:column}.sidebar-header[data-v-7f0511bd]{padding:20px;border-bottom:1px solid var(--st-border);display:flex;justify-content:space-between;align-items:center;background:var(--st-surface-muted)}.session-info[data-v-7f0511bd]{flex:1}.session-title[data-v-7f0511bd]{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--st-text)}.session-id[data-v-7f0511bd]{margin:0;font-size:12px;color:var(--st-muted)}.header-actions[data-v-7f0511bd]{display:flex;gap:8px;align-items:center}.config-btn[data-v-7f0511bd]{background:none;border:none;font-size:16px;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.config-btn[data-v-7f0511bd]:hover{background:var(--st-hover)}.close-btn[data-v-7f0511bd]{background:none;border:none;font-size:24px;color:var(--st-muted);cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.close-btn[data-v-7f0511bd]:hover{background:var(--st-hover);color:var(--st-text)}.messages-container[data-v-7f0511bd]{flex:1;overflow:hidden;display:flex;flex-direction:column}.loading-container[data-v-7f0511bd]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.loading-spinner[data-v-7f0511bd]{width:32px;height:32px;border:3px solid var(--st-border);border-top:3px solid var(--st-brand);border-radius:50%;animation:spin-7f0511bd 1s linear infinite;margin-bottom:12px}.error-container[data-v-7f0511bd]{padding:20px;text-align:center;color:#dc2626}.retry-btn[data-v-7f0511bd]{background:#dc2626;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:12px;margin-top:8px}.messages-list[data-v-7f0511bd]{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.empty-messages[data-v-7f0511bd]{text-align:center;color:#6b7280;padding:40px 20px}.empty-messages p[data-v-7f0511bd]{margin:4px 0;font-size:14px}.direction-message[data-v-7f0511bd]{align-self:center;background:#fef3c7;color:#92400e;font-style:italic}.user-message[data-v-7f0511bd]{align-self:flex-end;background:#fe8012;color:#fff}.ai-message[data-v-7f0511bd]{align-self:flex-start;background:#f1f5f9;color:#334155}.system-message[data-v-7f0511bd]{align-self:center;color:#92400e;font-size:12px;max-width:70%}.message-header[data-v-7f0511bd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px;font-size:11px;opacity:.8}.message-group[data-v-7f0511bd]{display:flex;gap:10px}.message-group.ai[data-v-7f0511bd]{flex-direction:row}.message-group.user[data-v-7f0511bd]{flex-direction:row-reverse}.message-items[data-v-7f0511bd]{display:flex;flex-direction:column;width:fit-content;gap:4px;align-items:flex-start}.message-items:hover .token-usage-tooltip[data-v-7f0511bd]{display:block}.message-items .token-usage-tooltip[data-v-7f0511bd]{display:none;position:absolute;background:var(--st-surface);border:1px solid var(--st-border);box-shadow:0 4px 12px #0000001a;padding:12px;border-radius:8px;font-size:12px;color:var(--st-text);z-index:10;width:220px}.message-items .token-usage-tooltip p[data-v-7f0511bd]{display:grid;grid-template-columns:65px 1fr 1fr;justify-content:space-between;padding:0 5px}.message-items .token-usage-tooltip p.main[data-v-7f0511bd]{font-size:14px;font-weight:600}.message-items .token-usage-tooltip p.sub[data-v-7f0511bd]{font-size:12px;font-weight:400}.message-items .token-usage-tooltip p span[data-v-7f0511bd]:last-child{text-align:right}.message-item[data-v-7f0511bd]{display:flex;gap:5px}.message-item.user[data-v-7f0511bd]{flex-direction:row-reverse;align-self:flex-end}.message-item .message-content[data-v-7f0511bd]{font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word;padding:12px;border-radius:24px;-webkit-user-select:none;user-select:none}.message-item .message-content.single-emoji[data-v-7f0511bd]{background:transparent!important;font-size:48px}.message-item.ai:first-child .message-content[data-v-7f0511bd]{border-top-left-radius:24px;border-bottom-left-radius:4px}.message-item.ai .message-content[data-v-7f0511bd]{border-top-left-radius:4px;border-bottom-left-radius:4px}.message-item.ai:last-child .message-content[data-v-7f0511bd]{border-top-left-radius:4px;border-bottom-left-radius:24px}.message-item.user:first-child .message-content[data-v-7f0511bd]{border-top-right-radius:24px;border-bottom-right-radius:4px}.message-item.user .message-content[data-v-7f0511bd]{border-top-right-radius:4px;border-bottom-right-radius:4px}.message-item.user:last-child .message-content[data-v-7f0511bd]{border-top-right-radius:4px;border-bottom-right-radius:24px}.message-item.ai:only-child .message-content[data-v-7f0511bd],.message-item.user:only-child .message-content[data-v-7f0511bd]{border-radius:24px}.message-time[data-v-7f0511bd]{display:none}.message-items .message-item:last-child .message-time[data-v-7f0511bd]{display:block}.message-time[data-v-7f0511bd]{font-size:12px;color:#9ca3af;align-self:flex-end;margin-top:2px}.chat-input-container[data-v-7f0511bd]{border-top:1px solid var(--st-border);padding:16px;background:var(--st-surface-muted)}.sending-indicator[data-v-7f0511bd]{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--st-brand);font-size:12px}.sending-spinner[data-v-7f0511bd]{width:14px;height:14px;border:2px solid var(--st-border);border-top:2px solid var(--st-brand);border-radius:50%;animation:spin-7f0511bd 1s linear infinite}.input-group[data-v-7f0511bd]{display:flex;gap:8px;align-items:flex-end}.message-input[data-v-7f0511bd]{flex:1;min-height:36px;max-height:100px;padding:8px 12px;border:1px solid var(--st-border);background:var(--st-surface);color:var(--st-text);border-radius:8px;font-size:14px;line-height:1.4;resize:none;outline:none;transition:border-color .2s}.message-input[data-v-7f0511bd]:focus{border-color:var(--st-brand)}.message-input[data-v-7f0511bd]:disabled{background:var(--st-surface-muted);cursor:not-allowed}.send-btn[data-v-7f0511bd]{background:var(--st-brand);color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s;min-height:36px;white-space:nowrap}.send-btn[data-v-7f0511bd]:hover:not(:disabled){background:var(--st-brand-dark)}.send-btn[data-v-7f0511bd]:disabled{opacity:.6;cursor:not-allowed}.send-error[data-v-7f0511bd]{background:#fef2f2;color:#dc2626;padding:8px 12px;border-radius:6px;border-left:3px solid #dc2626;font-size:12px;margin-top:8px}@keyframes spin-7f0511bd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.character-name-container[data-v-7f0511bd]{margin-bottom:4px;display:flex;flex-direction:column;justify-content:flex-end}.character-name[data-v-7f0511bd]{font-weight:600;font-size:14px}.floating-update-btn[data-v-7f0511bd]{position:absolute;right:16px;bottom:96px;width:44px;height:44px;border-radius:50%;border:none;background:var(--st-brand);color:#fff;box-shadow:0 8px 18px #fe801240;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;z-index:1001}.floating-update-btn[data-v-7f0511bd]:hover{transform:translateY(-2px);box-shadow:0 10px 22px #fe801259;background:var(--st-brand-dark)}.title[data-v-3734bef8]{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 4px}.subtitle[data-v-3734bef8]{color:#64748b;margin:0;font-size:14px}.session-list-container[data-v-3734bef8]{min-height:90vh;background:var(--st-surface-muted);padding:0;display:flex;flex-direction:column}.header[data-v-3734bef8]{background:var(--st-surface);border-bottom:1px solid #e2e8f0;padding:24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.user-info[data-v-3734bef8]{flex:1}.user-details[data-v-3734bef8]{color:#64748b;margin:0;font-size:14px}.logout-btn[data-v-3734bef8]{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:14px;transition:background-color .2s}.logout-btn[data-v-3734bef8]:hover{background:#dc2626}.main-content[data-v-3734bef8]{padding-top:24px;flex:1;display:grid;grid-template-columns:1fr 5px 1fr;margin:0 auto;width:100%}.resizer[data-v-3734bef8]{cursor:col-resize;background:transparent;transition:background .2s,opacity .2s;height:calc(100vh - 300px)}.resizer[data-v-3734bef8]:hover{background:#fe8012;opacity:.5}.sessions-panel[data-v-3734bef8]{box-shadow:#00000040 1px 1px 3px;padding:32px 0;background:#fff;min-width:0;overflow:hidden;box-sizing:border-box;height:calc(100vh - 300px)}.sessions-panel .sessions-list[data-v-3734bef8]{display:flex;flex-direction:column;flex:1;width:100%;justify-content:center;align-items:center}.sessions-panel .sessions-list .session-info[data-v-3734bef8]{display:flex;flex:1;width:100%;padding:12px 16px}.sessions-panel .sessions-list .session-info .character-image[data-v-3734bef8]{margin:12px}.sessions-panel .sessions-list .session-info .character-image img[data-v-3734bef8]{width:48px;height:48px;object-fit:cover}.sessions-panel .sessions-list .session-info[data-v-3734bef8]:hover{background:var(--st-background);cursor:pointer}.sessions-panel .sessions-list .session-info.active[data-v-3734bef8]{background:#fff3e4}.sessions-panel .sessions-list .session-info .session-details[data-v-3734bef8]{flex:1;padding:12px 16px}.sessions-panel .sessions-list .session-info .chat-info[data-v-3734bef8]{display:flex;justify-content:space-between;width:100%}.sessions-panel .sessions-list .session-info .chat-info .chat-characters[data-v-3734bef8]{font-weight:700;color:#374151}.sessions-panel .sessions-list .session-info .chat-info .chat-characters .ai-character[data-v-3734bef8]{color:#fe8012}.sessions-panel .sessions-list .session-info .chat-info .chat-characters .user-character[data-v-3734bef8]{margin-left:4px;color:#753100}.sessions-panel .sessions-list .session-info .chat-info .chat-characters .progress[data-v-3734bef8]{margin-left:8px;color:#9ca3af;font-size:14px;font-weight:400}.sessions-panel .sessions-list .session-info .last-message[data-v-3734bef8]{margin-top:4px;color:#6b7280;font-size:14px}.sessions-panel .sessions-list .session-info .last-message .no-message[data-v-3734bef8]{font-style:italic;color:#9ca3af}.sessions-panel .sessions-list .session-info .last-message-timestamp[data-v-3734bef8]{font-size:12px;color:#6b7280}.loading-container[data-v-3734bef8]{text-align:center;padding:64px 20px}.loading-spinner[data-v-3734bef8]{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #fe8012;border-radius:50%;animation:spin-3734bef8 1s linear infinite;margin:0 auto 16px}@keyframes spin-3734bef8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container[data-v-3734bef8]{text-align:center;padding:64px 20px}.error-icon[data-v-3734bef8]{font-size:48px;margin-bottom:16px}.error-container h3[data-v-3734bef8]{color:#dc2626;margin-bottom:8px}.error-container p[data-v-3734bef8]{color:#64748b;margin-bottom:24px}.retry-btn[data-v-3734bef8]{background:#fe8012;color:#fff;border:none;border-radius:6px;padding:12px 24px;cursor:pointer;font-size:14px}.empty-container[data-v-3734bef8]{text-align:center;padding:64px 20px}.empty-icon[data-v-3734bef8]{font-size:64px;margin-bottom:24px}.empty-container h3[data-v-3734bef8]{color:#374151;margin-bottom:8px}.empty-container p[data-v-3734bef8]{color:#64748b;margin-bottom:32px}.new-chat-btn[data-v-3734bef8]{background:linear-gradient(135deg,#fe8012,#764ba2);color:#fff;border:none;border-radius:8px;padding:12px 24px;cursor:pointer;font-size:16px;font-weight:600}.sessions-table-wrapper[data-v-3734bef8]{background:var(--st-surface);border-radius:8px;border:1px solid #e2e8f0;overflow:hidden}.sessions-table[data-v-3734bef8]{width:100%;border-collapse:separate;border-spacing:0}.sessions-table thead th[data-v-3734bef8]{text-align:left;font-size:12px;color:#64748b;font-weight:600;padding:12px 16px;background:var(--st-surface-muted);border-bottom:1px solid #e2e8f0}.sessions-table tbody tr[data-v-3734bef8]{cursor:pointer}.sessions-table tbody tr[data-v-3734bef8]:hover{background:var(--st-background)}.sessions-table tbody tr.active[data-v-3734bef8]{background:#eff6ff}.sessions-table td[data-v-3734bef8]{padding:12px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle;font-size:14px;color:#374151}.cell-characters .characters[data-v-3734bef8]{display:flex;align-items:center;gap:6px}.cell-characters .char.ai[data-v-3734bef8]{color:#1d4ed8;font-weight:600}.cell-characters .char.user[data-v-3734bef8]{color:#0f766e;font-weight:600}.cell-characters .dash[data-v-3734bef8]{color:#9ca3af}.cell-id[data-v-3734bef8]{color:#6b7280}.cell-date[data-v-3734bef8]{color:#6b7280;font-size:13px}.cell-message[data-v-3734bef8]{color:#374151}.cell-progress[data-v-3734bef8]{color:#6b7280;font-size:13px}.cell-updated[data-v-3734bef8]{color:#64748b;font-size:12px}.sessions-actions[data-v-3734bef8]{display:flex;justify-content:center;gap:12px;padding-top:20px}.chat-sidebar[data-v-3734bef8]{overflow:hidden;min-width:0;box-shadow:#00000040 1px 1px 3px;height:calc(100vh - 300px)}.refresh-btn[data-v-3734bef8]{background:#6b7280;color:#fff;border:none;border-radius:6px;padding:12px 24px;cursor:pointer;font-size:14px;transition:background-color .2s}.refresh-btn[data-v-3734bef8]:hover:not(:disabled){background:#4b5563}.refresh-btn[data-v-3734bef8]:disabled{opacity:.6;cursor:not-allowed}.new-chat-btn-secondary[data-v-3734bef8]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;padding:12px 24px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.new-chat-btn-secondary[data-v-3734bef8]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.login-container[data-v-3ecad4a2]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card[data-v-3ecad4a2]{background:var(--st-surface);padding:40px;border-radius:12px;box-shadow:0 10px 30px #0003;text-align:center;min-width:320px}h1[data-v-3ecad4a2]{margin-bottom:30px;color:#333;font-size:28px}#G_OAuth_btn[data-v-3ecad4a2]{display:flex;justify-content:center}.loading-text[data-v-3ecad4a2]{color:#666;font-size:14px;margin-bottom:20px}.api-docs-container[data-v-df224139]{height:100vh;display:flex;flex-direction:column;background:#fafafa}.docs-header[data-v-df224139]{background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000001a}.docs-header h1[data-v-df224139]{margin:0;font-size:24px;font-weight:600;color:#1f2937}.docs-tabs[data-v-df224139]{display:flex;gap:2px;background:#f1f5f9;border-radius:8px;padding:4px}.tab-btn[data-v-df224139]{padding:8px 16px;border:none;background:transparent;color:#64748b;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.tab-btn[data-v-df224139]:hover{color:#334155;background:#e2e8f0}.tab-btn.active[data-v-df224139]{background:#3b82f6;color:#fff}.docs-content[data-v-df224139]{flex:1;overflow:hidden}.redoc-container[data-v-df224139]{height:100%;width:100%}#redoc-container[data-v-df224139],.swagger-container[data-v-df224139]{height:100%;width:100%;background:#fff}.swagger-iframe[data-v-df224139]{width:100%;height:100%;border:none}.redoc-container{font-family:system-ui,-apple-system,sans-serif!important}.redoc-container .menu-content{background:#f8fafc!important}.redoc-container .api-content{background:#fff!important}
