:root{--app-bg: #ffffff;--sidebar-bg: #fafafa;--chat-bg: #f5f5f5;--surface: #ffffff;--border: #e5e5e5;--border-soft: #ededed;--muted: #4d4d4d;--ink: #0d0d0d;--accent: #10a37f;--accent-soft: rgba(16, 163, 127, .08);--font-display: Georgia, "Source Serif Pro", ui-serif, serif}[data-theme=dark]{--app-bg: #0d0d0d;--sidebar-bg: #141414;--chat-bg: #1a1a1a;--surface: #1a1a1a;--border: #2a2a2a;--border-soft: #222222;--muted: #a6a6a6;--ink: #ececec;--accent: #10a37f;--accent-soft: rgba(16, 163, 127, .14)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--app-bg)}.app-shell{height:100vh;background:var(--app-bg)}.app-loading{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--app-bg)}.sidebar{border-right:1px solid var(--border);background:var(--sidebar-bg)!important}.sidebar-inner{height:100%;display:flex;flex-direction:column;padding:20px 14px 16px;overflow:hidden}.brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 4px}.brand-row{display:flex;align-items:center;gap:10px}.brand-mark{display:flex;align-items:center;justify-content:center;width:38px;height:38px;font-family:var(--font-display);font-size:19px;font-weight:600;color:#fff;background:var(--accent);border-radius:12px}.brand-title{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:.5px;color:var(--ink)}.brand-sub{margin-top:1px;font-size:11px;color:var(--muted)}.sidebar-section{min-height:0}.chats-section{flex:1;overflow-y:auto;margin-top:4px}.section-title{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 6px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted)}.script-cards{display:flex;flex-direction:column;gap:8px}.script-card{padding:12px;background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.script-card:hover{border-color:var(--accent);box-shadow:0 4px 16px #0d0d0d0f}.script-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.script-name{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-cast-count{flex:none;font-size:11px;color:var(--muted)}.script-card-desc{margin-top:6px;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-card-actions{display:flex;gap:2px;margin-top:4px;margin-left:-6px}.character-item,.chat-item{cursor:pointer;border-radius:12px;padding:8px 10px!important;transition:background .15s ease}.character-item:hover,.chat-item:hover{background:var(--accent-soft)}.character-item{background:var(--surface);border:1px solid var(--border);margin-bottom:8px}.chat-item.active{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.character-name{font-size:13px;font-weight:600;color:var(--ink)}.character-meta{display:flex;flex-direction:column;gap:1px}.character-script{font-size:11px;font-weight:600;color:var(--accent)}.character-desc{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-avatar{flex-shrink:0;font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:1px solid var(--border)}.character-item .ant-list-item-meta-avatar{margin-inline-end:14px}.character-item .ant-list-item-meta-content{margin-left:2px}.character-item,.chat-item{cursor:pointer;border-radius:10px;padding:8px 10px!important;transition:background .15s ease}.character-item:hover,.chat-item:hover,.chat-item.active{background:var(--accent-soft)}.chat-item{position:relative}.chat-item .ant-list-item-action{position:absolute;right:6px;top:50%;transform:translateY(-50%);margin-inline-start:0;padding:2px 4px;background:var(--sidebar-bg);border-radius:8px;opacity:0;transition:opacity .15s ease}.chat-item:hover .ant-list-item-meta-content,.chat-item.active .ant-list-item-meta-content{padding-right:104px}.chat-item:hover .ant-list-item-action,.chat-item.active .ant-list-item-action{opacity:1}.chat-title{display:block;max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-preview{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{padding-top:12px;border-top:1px solid var(--border)}.sidebar-footer .ant-typography{font-size:12px!important;color:var(--muted)!important}.main-layout{background:var(--chat-bg)}.main-content{height:100vh;overflow:hidden}.chat-pane{height:100%;display:flex;flex-direction:column;background:var(--chat-bg)}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.chat-header .ant-space{gap:8px}.chat-header{padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.chat-scroll{flex:1;overflow-y:auto;padding:24px 24px 20px;scroll-behavior:smooth}.chat-scroll .ant-bubble-list{gap:20px}.composer{padding:10px 24px 16px;background:linear-gradient(180deg,transparent,var(--chat-bg) 30%)}.composer-card{max-width:960px;margin:0 auto;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 30px #11112214}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}.structured-fields{display:flex;flex-direction:column;gap:8px}.dialogue-field{display:flex;flex-direction:column;gap:6px}.field-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink)}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}.composer-hint{margin-top:8px;text-align:center;font-size:11px;color:var(--muted)}.muted{color:var(--muted);font-size:12px}.composer-card textarea::placeholder,.composer-card input::placeholder{color:#8c8c8c}.composer-meta .muted{color:var(--muted);opacity:1}.plain-text{white-space:pre-wrap;word-break:break-word;line-height:1.7}.markdown{line-height:1.75;word-break:break-word}.markdown p{margin:0 0 .7em}.markdown p:last-child{margin-bottom:0}.markdown em{color:#8b5cf6;font-style:italic}.markdown code{background:var(--accent-soft);border-radius:4px;padding:.1em .35em;font-size:.9em}.markdown pre{background:#0000000f;border-radius:8px;padding:12px;overflow-x:auto}[data-theme=dark] .markdown pre{background:#ffffff0f}.markdown blockquote{border-left:3px solid var(--accent);margin:.6em 0;padding-left:12px;color:var(--muted)}.center-state{flex:1;min-height:240px;display:flex;align-items:center;justify-content:center}.welcome{height:100%;overflow-y:auto;padding:48px;position:relative}.welcome-inner{max-width:960px;margin:0 auto}.welcome-menu{position:absolute;top:16px;left:16px}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.character-card{overflow:hidden}.character-cover{height:96px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:34px;font-weight:700}.sidebar-toggle{display:none}.floating-warning{position:fixed;right:20px;bottom:20px;max-width:380px;z-index:1000;box-shadow:0 8px 30px #00000029}@media (max-width: 992px){.sidebar-toggle{display:inline-flex!important}.welcome{padding:32px 20px}.chat-header{padding:10px 14px}.chat-scroll{padding:12px}.composer{padding:8px 12px 12px}}.composer-chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.optional-field{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px dashed var(--border);border-radius:10px;background:var(--accent-soft)}.optional-field-head{display:flex;align-items:center;gap:8px}.optional-field-head .ant-tag{margin-inline-end:0}.optional-field-head .field-label{flex:1}.composer-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.compose-preview{margin:0;max-width:420px;white-space:pre-wrap;word-break:break-word;font-family:SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6}@media (max-width: 992px){.composer-chips{width:100%}.composer-meta{gap:6px}}.composer-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.suggestion-line{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;line-height:1.65}.suggestion-line:last-child{margin-bottom:0}.suggestion-line .ant-tag{flex:none;margin:0}.scene-preview{display:block;line-height:1.55}.context-content{max-height:220px;overflow-y:auto;padding:8px 10px;border-radius:8px;background:var(--accent-soft);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.65}.suggestion-popover{width:390px;max-width:82vw}.suggestion-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.suggestion-options{display:flex;flex-direction:column;gap:6px}.suggestion-option{display:flex;align-items:flex-start;gap:10px;width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.suggestion-option:hover{border-color:var(--accent);background:var(--accent-soft)}.suggestion-index{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:#6b4eff;font-size:12px;font-weight:600}.suggestion-option-body{display:flex;flex-direction:column;gap:3px;min-width:0}.suggestion-dialogue{font-size:13px;line-height:1.55}.suggestion-detail{color:var(--muted);font-size:11px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.branch-popover{width:380px;max-width:82vw}.branch-options{display:flex;flex-direction:column;gap:6px}.branch-option{display:flex;flex-direction:column;gap:4px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit;text-align:left;cursor:pointer}.branch-option:hover{border-color:var(--accent)}.branch-option.active{border-color:var(--accent);background:var(--accent-soft)}.branch-role{display:flex;align-items:center;gap:4px}.branch-role .ant-tag{margin:0}.branch-text{color:var(--muted);font-size:12px;line-height:1.5}.timeline-scene{max-width:min(760px,100%);margin:2px 0;padding:8px 12px;border:1px dashed rgba(16,163,127,.45);border-radius:10px;background:#10a37f0b}.timeline-scene-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px;font-size:12px}.timeline-scene-head .ant-tag{margin:0}.timeline-scene-content{color:var(--muted);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6}.scene-status-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 24px;border-bottom:1px solid var(--border);background:#10a37f06;font-size:12px}.scene-status-bar.empty{color:var(--muted)}@media (max-width: 992px){.scene-status-bar{padding:5px 12px}}.memory-summary{white-space:pre-wrap;line-height:1.8;padding:12px 14px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--border)}.ai-plan-card{max-width:960px;margin:0 auto 10px;padding:12px 14px;background:var(--surface);border:1px solid rgba(16,163,127,.35);border-radius:14px;box-shadow:0 8px 28px #1111220f}.ai-plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.composer-editing-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;padding:6px 10px;font-size:12px;color:#7a4d00;background:#d9a4411a;border:1px solid rgba(217,164,65,.25);border-radius:8px}.message-editing-source{padding-left:10px;border-left:3px solid #d9a441;border-radius:4px;background:#d9a44114}.composer-editing-copy{display:flex;align-items:center;gap:8px;min-width:0}.composer-editing-tag{flex:none;padding:1px 7px;font-size:11px;color:#7a4d00;background:#d9a44133;border-radius:999px}.composer-editing-excerpt{overflow:hidden;color:#6b4b14;text-overflow:ellipsis;white-space:nowrap}.branch-context{display:flex;flex-direction:column;gap:2px;margin-top:6px}.branch-context-line{font-size:11px;color:var(--rp-text-secondary, #8a8f98);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-search-pop{width:220px}.chat-search-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:6px}.chat-search-arrow{font-size:12px;line-height:1}.chat-bubble.message-match .ant-bubble-content{border-color:#d9a4418c;box-shadow:0 0 0 1px #d9a44140}.chat-bubble.message-match-active .ant-bubble-content{border-color:#d9a441;box-shadow:0 0 0 2px #d9a44173}.ant-bubble .ant-btn.ant-btn-sm.ant-btn-text{border:1px solid var(--border);background:var(--surface);color:var(--ink)}.ant-bubble .ant-btn.ant-btn-sm.ant-btn-text:hover{border-color:var(--accent);color:var(--accent)}.reasoning-details{margin-bottom:6px;font-size:12px;color:var(--muted)}.reasoning-details summary{cursor:pointer;-webkit-user-select:none;user-select:none}.reasoning-details .reasoning-body{margin-top:6px;padding:8px 10px;font-size:12px;line-height:1.6;color:var(--muted);background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;white-space:pre-wrap;max-height:220px;overflow-y:auto}@media (min-width: 1600px){.sidebar-inner{padding:22px 16px 16px}.chat-scroll{padding:28px 40px 24px}.composer-card{max-width:1060px;padding:16px 18px}}.sidebar-inner button:focus-visible,.chat-header button:focus-visible,.composer-toolbar button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.chat-item,.character-item{transition:background .15s ease,border-color .15s ease}
