
:root {
    --sw-ink: #1a1a2e;
    --sw-body: #374151;
    --sw-muted: #6b7280;
    --sw-line: #e6e8ee;
    --sw-brand: #5363c9;
    --sw-brand-bg: #eef0fb;
    --sw-ok: #2f7a5a;
    --sw-ok-bg: #e7f3ec;
    --sw-warn: #8a5a00;
    --sw-warn-bg: #fdf3e1;
    --sw-src: #37648a;
    --sw-src-bg: #e9f1f8;
}

/* ---------- 顶栏 ---------- */
#sw-topbar { height: 60px; flex-shrink: 0; display: flex; align-items: center; gap: 14px; padding: 0 18px; background: #fff; border-bottom: 1px solid var(--sw-line); position: relative; z-index: 20; font-family: 'DM Sans', 'PingFang SC', 'Microsoft YaHei', sans-serif; }
#sw-topbar .sw-back { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--sw-muted); text-decoration: none; white-space: nowrap; }
#sw-topbar .sw-back:hover { color: var(--sw-brand); }
#sw-topbar .sw-vdiv { width: 1px; height: 20px; background: var(--sw-line); flex-shrink: 0; }
#sw-topbar .sw-tb-title { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 0 1 auto; }
#sw-topbar .sidebar-title-wrap { margin: 0 !important; width: 230px; flex-shrink: 1; min-width: 140px; }
#sw-topbar .sidebar-script-name-input { height: 36px !important; font-size: 15px !important; font-weight: 700 !important; }
#sw-topbar .sw-tb-center { flex: 1; min-width: 0; }
#sw-topbar .sw-tb-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
#sw-topbar #btn-open-story-board { height: 32px !important; padding: 0 12px !important; margin: 0 !important; width: auto !important; border-radius: 10px !important; font-size: 12px !important; }
#sw-topbar #btn-download-script { width: 32px; height: 32px; border-radius: 10px; }
#sw-topbar .script-meta { gap: 10px; }
#sw-topbar .btn-first-save { height: 32px; padding: 0 14px; border-radius: 10px; background: var(--sw-brand) !important; }
.sw-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; line-height: 1.5; border-radius: 999px; padding: 2px 10px; white-space: nowrap; color: var(--sw-muted); background: #f1f2f6; }
.sw-chip.is-src { color: var(--sw-src); background: var(--sw-src-bg); }
.sw-chip.is-new { color: var(--sw-ok); background: var(--sw-ok-bg); }
.sw-chip[hidden] { display: none !important; }
.sw-card-btn:focus-visible { outline: 2px solid var(--sw-brand); outline-offset: 2px; }

/* 原工具栏里已搬走的东西 */
.editor-toolbar .toolbar-right:empty { display: none; }
.ep-ai-action-row.sw-emptied { display: none !important; }

/* ---------- 左栏 ---------- */
#saas-fullscreen-app-wrapper .left-sidebar { width: 177px; gap: 10px; }
/* ================= 左栏两张卡片的统一规则（「准备」与「分集」） =================
 * 卡片：白底、1px 边框、16px 圆角、内边距 12/8/8
 * 卡片标题：14px 粗体 + 12px 灰色进度
 * 分组行（故事设定 / 第 1–10 集）：14px 粗体，右侧 14px 箭头，收起时箭头左转 90°
 * 子项行（A/B/C / 第 N 集）：左 16px 右 12px，12px 粗体名称 + 右侧 11px 灰色说明，选中为淡紫底紫字
 */
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section { display: flex !important; flex-direction: column !important; align-items: stretch !important; flex-shrink: 0 !important; height: auto !important; min-height: 0 !important; overflow: visible !important; gap: 2px !important; background: #fff !important; border: 1px solid #e6ebf3 !important; border-radius: 16px !important; padding: 12px 0 8px !important; margin: 0 4px !important; box-shadow: none !important; }
.sw-card-hd { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 26px; padding: 0 10px 0 14px; margin-bottom: 6px; }
.sw-card-t { font-size: 14px; font-weight: 700; color: var(--sw-ink); white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.sw-card-meta, #sw-ep-progress { font-size: 12px !important; font-weight: 400 !important; color: var(--sw-muted) !important; margin-left: 4px; }
/* 分集卡片和准备卡片用同一套左右留白 */
#saas-fullscreen-app-wrapper .left-sidebar .episode-section.sw-merged { padding: 12px 0 8px !important; }
#sw-ep-card-hd { padding: 0 10px 0 14px !important; margin-bottom: 6px; }
.episode-section.sw-merged #sw-ep-tip, .episode-section.sw-merged .ep-fieldset { margin-left: 8px !important; margin-right: 8px !important; }
/* 分组行 */
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item { display: flex !important; align-items: center !important; gap: 8px !important; height: auto !important; min-height: 36px; margin: 0 8px !important; padding: 8px 8px 8px 12px !important; border: 0 !important; border-radius: 12px !important; box-shadow: none !important; background: transparent !important; font-size: 14px !important; font-weight: 700 !important; color: #475569 !important; line-height: 1.4 !important; box-sizing: border-box; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item + .sidebar-nav-item { margin-top: 0 !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item:hover { background: #f6f8fc !important; color: var(--sw-ink) !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item.active { background: rgba(112,131,223,.11) !important; color: #5b6fd6 !important; box-shadow: inset 0 0 0 1px rgba(112,131,223,.18) !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item > svg { width: 16px !important; height: 16px !important; flex-shrink: 0; margin: 0 !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item .sw-step { width: 18px !important; height: 18px !important; margin: 0 !important; font-size: 10px !important; flex-shrink: 0; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item.sw-done .sw-step { background: var(--sw-ok) !important; color: #fff !important; font-size: 0 !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item.sw-done .sw-step::after { content: '✓'; font-size: 10px; line-height: 1; }
/* 分组行右侧箭头：和「第 1–10 集」相同 */
#saas-fullscreen-app-wrapper .sw-sub-toggle { margin-left: auto; width: 24px; height: 24px; flex-shrink: 0; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #475569; opacity: .8; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
#saas-fullscreen-app-wrapper .sw-sub-toggle:hover { opacity: 1; background: rgba(112,131,223,.10); }
#saas-fullscreen-app-wrapper .sw-sub-toggle:focus-visible { outline: 2px solid var(--sw-brand); outline-offset: 1px; }
.sw-sub-toggle svg { width: 14px; height: 14px; transition: transform .2s; }
.sw-sub-toggle[aria-expanded="false"] svg { transform: rotate(-90deg); }
/* 子项：A / B / C，和「第 N 集」同一行规则 */
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail { position: static !important; width: auto !important; height: auto !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; margin: 4px 0 8px 20px !important; padding: 2px 0 2px 9px !important; border-left: 1px solid #e6e8f0 !important; overflow: visible !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail.sw-collapsed { display: none !important; }
.left-sidebar #setting-steprail .ssr-label, .left-sidebar #setting-steprail .ssr-line { display: none !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node { display: flex; align-items: flex-start; gap: 7px; margin: 0 4px 4px 0 !important; padding: 6px 8px !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; box-shadow: none !important; min-width: 0; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node:last-child { margin-bottom: 0 !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node:hover { background: #f4f6fa !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.on { background: rgba(112,131,223,.10) !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-circ { width: 16px !important; height: 16px !important; margin-top: 2px; font-size: 9px !important; font-weight: 700 !important; border: 0 !important; box-shadow: none !important; background: #e9ebf2 !important; color: #8b93a7 !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.filled .ssr-circ { background: #e3f1e8 !important; color: #3f8c62 !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.on .ssr-circ { background: var(--sw-brand) !important; color: #fff !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.filled .ssr-tx .t { color: #4a5164 !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-tx { flex: 1; min-width: 0; display: flex; flex-direction: column !important; align-items: flex-start; justify-content: flex-start; gap: 2px; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-tx .t { font-size: 12px !important; font-weight: 600 !important; color: #5a6173 !important; line-height: 1.4 !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.on .ssr-tx .t { font-weight: 700 !important; color: #5b6fd6 !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-tx .s { font-size: 11px !important; font-weight: 400 !important; color: #99a0b0 !important; line-height: 1.4 !important; margin: 0 !important; min-width: 0; overflow: visible; text-overflow: clip; white-space: normal; word-break: break-word; }
/* 分集列表的分组行 / 子项沿用原样式，只统一字色 */
.episode-section.sw-merged .fw-folder-hd { color: #475569; }
#saas-fullscreen-app-wrapper #main-editor-scroll.is-setting-mode { padding-left: 0 !important; }
/* 分集列表：每集状态 */
.episode-item .sw-ep-wc { display: inline-flex; align-items: center; flex-shrink: 0; margin-left: 6px; font-family: 'DM Mono', ui-monospace, monospace; font-size: 11px; line-height: 1.5; color: var(--sw-muted); font-variant-numeric: tabular-nums; }
.episode-item .sw-ep-wc .o { min-width: 34px; text-align: right; }
.episode-item .sw-ep-wc .c { min-width: 34px; text-align: left; }
.episode-item .sw-ep-wc .sep { padding: 0 4px; color: #c3c8d4; }
.episode-item .sw-ep-wc.is-empty .sep { visibility: hidden; }
.episode-item.active .sw-ep-wc { color: var(--sw-brand); }
.episode-item .episode-item-name { flex: 1; min-width: 0; }
.episode-item .ep-word-count { display: none !important; }
.episode-list-toolbar { display: flex; align-items: center; justify-content: space-between; }

/* ---------- 分集卡片（剧集分配 + 分集列表合并） ---------- */
#saas-fullscreen-app-wrapper .left-sidebar .episode-section.sw-merged { background: #fff; border: 1px solid #e6ebf3; border-radius: 16px; padding: 12px 8px 8px; gap: 8px; margin: 0 4px; }
.episode-section.sw-merged .episode-list-wrapper { border: 0 !important; border-radius: 0 !important; background: transparent !important; padding: 0 !important; }
.episode-section.sw-merged .episode-list-toolbar { display: none !important; }
.episode-section.sw-merged .ep-legend { display: none !important; }
#saas-fullscreen-app-wrapper #sw-ep-gear { display: inline-flex; align-items: center; gap: 3px; height: 26px; padding: 0 4px 0 6px; border: 1px solid var(--sw-line); border-radius: 8px; background: #fff; color: var(--sw-body); font-family: inherit; font-size: 12px; font-weight: 500; flex-shrink: 0; cursor: pointer; white-space: nowrap; }
#saas-fullscreen-app-wrapper #sw-ep-gear:hover { border-color: #c9cff3; color: var(--sw-brand); }
#saas-fullscreen-app-wrapper #sw-ep-gear[aria-expanded="true"] { background: var(--sw-brand-bg); border-color: #c9cff3; color: var(--sw-brand); font-weight: 600; }
#sw-ep-gear .sw-chev { display: inline-flex; transition: transform .15s ease; }
#sw-ep-gear[aria-expanded="true"] .sw-chev { transform: rotate(180deg); }
/* 设置区：未分集 = 引导卡；已分集 = 可折叠面板 */
.episode-section.sw-merged .ep-fieldset { margin: 0 4px !important; border-radius: 12px !important; padding: 12px !important; }
.episode-section.sw-merged .ep-fieldset { display: none; border: 1px solid #dfe3f5 !important; background: #f8f9ff !important; }
.episode-section.sw-merged.sw-ep-open .ep-fieldset { display: block; }
#sw-ep-panel-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
#sw-ep-panel-hd b { font-size: 12px; font-weight: 700; color: var(--sw-ink); }
#saas-fullscreen-app-wrapper #sw-ep-collapse { display: inline-flex; align-items: center; gap: 3px; height: 24px; padding: 0 8px; border: 1px solid #c9cff3; border-radius: 7px; background: #fff; color: var(--sw-brand); font-family: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
#saas-fullscreen-app-wrapper #sw-ep-collapse:hover { background: var(--sw-brand-bg); }
#sw-ep-tip { display: none; margin: 0 4px; align-items: flex-start; gap: 8px; background: #f8f9ff; border: 1px solid #dfe3f5; border-radius: 10px; padding: 8px 6px 8px 10px; }
.episode-section.sw-ep-tip-on #sw-ep-tip { display: flex; }
.episode-section.sw-ep-open #sw-ep-tip { display: none !important; }
#sw-ep-tip .sw-tip-ic { color: var(--sw-brand); margin-top: 2px; flex-shrink: 0; display: inline-flex; }
#sw-ep-tip .sw-tip-tx { flex: 1; font-size: 12px; line-height: 1.6; color: var(--sw-body); }
#saas-fullscreen-app-wrapper #sw-ep-tip .sw-tip-link { display: inline; border: 0; background: transparent; padding: 0; font-family: inherit; font-size: 12px; font-weight: 600; color: var(--sw-brand); text-decoration: underline; cursor: pointer; }
#saas-fullscreen-app-wrapper #sw-ep-tip .sw-tip-x { flex-shrink: 0; width: 22px; height: 22px; border: 0; border-radius: 6px; background: transparent; color: var(--sw-muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
#saas-fullscreen-app-wrapper #sw-ep-tip .sw-tip-x:hover { background: #eceef4; color: var(--sw-ink); }
#sw-ep-warn { display: none; font-size: 11px; font-weight: 500; color: var(--sw-warn); white-space: nowrap; }
.episode-section.sw-ep-started #sw-ep-warn { display: inline; }
/* 设置面板 · 步进器（方案 C） */
.episode-section.sw-merged .episode-settings { display: flex !important; flex-direction: column !important; gap: 6px !important; padding-bottom: 10px; border-bottom: 1px solid #e3e6f2; }
.episode-section.sw-merged .ep-input-box { display: flex !important; align-items: center; gap: 6px; height: auto; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; min-width: 0; }
.episode-section.sw-merged .ep-input-label { width: 30px; margin: 0 !important; font-size: 12px !important; font-weight: 500 !important; color: var(--sw-muted) !important; white-space: nowrap; flex-shrink: 0; line-height: 1.5 !important; }
.episode-section.sw-merged .ep-input-wrapper { flex: 1 !important; min-width: 0; height: 28px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 3px !important; background: #fff !important; border: 1px solid var(--sw-line) !important; border-radius: 7px !important; padding: 0 6px !important; box-sizing: border-box; }
.episode-section.sw-merged .ep-input-wrapper:focus-within { border-color: #aeb6ea !important; box-shadow: 0 0 0 3px rgba(83,99,201,.12); }
.episode-section.sw-merged .ep-num-input { width: 40px !important; min-width: 0 !important; padding: 0 !important; text-align: right !important; font-size: 14px !important; font-weight: 700 !important; color: var(--sw-ink) !important; background: transparent !important; -moz-appearance: textfield; appearance: textfield; }
.episode-section.sw-merged .ep-num-input::-webkit-inner-spin-button, .episode-section.sw-merged .ep-num-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; display: none; }
.episode-section.sw-merged .ep-unit { position: static !important; left: auto !important; right: auto !important; top: auto !important; transform: none !important; margin: 0 !important; font-size: 11px !important; font-weight: 500 !important; color: var(--sw-muted) !important; flex-shrink: 0; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-step-btn { width: 24px; height: 24px; flex-shrink: 0; padding: 0; border: 1px solid var(--sw-line); border-radius: 7px; background: #fff; color: var(--sw-body); font-family: inherit; font-size: 15px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-step-btn:hover { border-color: #c9cff3; color: var(--sw-brand); background: var(--sw-brand-bg); }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-step-btn:focus-visible { outline: 2px solid var(--sw-brand); outline-offset: 1px; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #btn-ai-split-episodes { height: 30px !important; margin-top: 10px !important; padding: 0 10px !important; border-radius: 8px !important; background: #fff !important; border: 1px solid #c9cff3 !important; color: var(--sw-brand) !important; box-shadow: none !important; transform: none !important; font-size: 12px !important; font-weight: 700 !important; gap: 5px !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #btn-ai-split-episodes span { color: var(--sw-brand) !important; font-size: 12px !important; font-weight: 700 !important; background: transparent !important; padding: 0 !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #btn-ai-split-episodes svg { width: 12px !important; height: 12px !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #btn-ai-split-episodes:hover { background: var(--sw-brand-bg) !important; border-color: #aeb6ea !important; }
.episode-section.sw-merged .sw-ai-split-meta { margin-top: 8px !important; flex-wrap: wrap; row-gap: 2px; font-weight: 500 !important; }

/* ---------- 工具栏：AI 帮写 ---------- */
#btn-toolbar-ai.sw-tb-ai { margin-left: 4px; }
#btn-toolbar-ai.sw-tb-ai svg { width: 14px; height: 14px; }
/* 正文上方「集纲 / 剧本」旁的 AI 帮写：已统一到工具栏，这里隐藏 */
#saas-fullscreen-app-wrapper #mode-switch-container #btn-mode-ai-write, #saas-fullscreen-app-wrapper #mode-switch-container .mode-ai-write-btn { display: none !important; }


/* ================= 全局看板：字体字号与编辑器统一 =================
 * 标题 16/700 · 按钮与标签 12/600 · 卡片正文 14/400 行高 1.8 · 说明 11–12/400
 * 去掉 geometricPrecision 与悬停位移，避免文字发虚
 */















/* 色选：平时隐藏，点调色板图标才弹出 */
body .storyos-board-wrapper .sc-color-picker { display: none; opacity: 1; position: absolute; top: calc(100% + 8px); right: 0; z-index: 30; gap: 8px; padding: 7px 10px; border-radius: 999px; background: var(--bg-white, #fff); border: 1px solid var(--border, #e6e8ef); box-shadow: 0 8px 20px rgba(5,0,56,.14); }





























/* ================= 全局看板 · 便签 A1（图钉 + 大圆角） ================= */
/* 看板顶部：去掉「导出大纲」「返回编辑器」「已保存」（关闭看板用顶栏按钮） */
body .storyos-board-wrapper #btn-export-outline, body .storyos-board-wrapper #btn-close-story-board, body .storyos-board-wrapper #btn-save-doc-board, body .storyos-board-wrapper #btn-save-story-board { display: none !important; }
/* 去掉「结构节点」功能：标签与选择菜单都不显示（已保存的数据不删除） */
body .storyos-board-wrapper .sc-beat-tag, body .storyos-board-wrapper .beat-selector-menu { display: none !important; }
/* 看板从顶栏下方开始，不遮住顶栏；打开看板时隐藏左栏，看板占满宽度 */

body.board-active #saas-fullscreen-app-wrapper .left-sidebar { display: none !important; }






/* 每行张数切换按钮 */























body .storyos-board-wrapper .sc-header-sep { display: none; }



















/* ================= 信纸：纸色 / 纹理 / 字号（只改显示） ================= */
#saas-dashboard-main-container, #saas-fullscreen-app-wrapper, #sw-topbar, .editor-toolbar, .editor-content, .ql-editor, .left-sidebar, .document-mode-switch { transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
body.sw-pp-cream { --pp-bg: #f5eedc; --pp-chrome: #f3ecdb; --pp-side: #ebe4d2; --pp-card: #fbf6ea; --pp-field: #fdf9ef; --pp-soft: #f6efdf; --pp-hover: #f1e9d6; --pp-text: #3b3325; --pp-text2: #5a4f3a; --pp-muted: #8a7f63; --pp-ph: #b9ad8e; --pp-border: #e3d8bd; --pp-line: rgba(120,100,60,.16); }
body.sw-pp-green { --pp-bg: #e3eddc; --pp-chrome: #dde8d5; --pp-side: #d6e2cd; --pp-card: #eef4e9; --pp-field: #f4f8f1; --pp-soft: #e8f0e2; --pp-hover: #dbe6d3; --pp-text: #26332a; --pp-text2: #3e4d41; --pp-muted: #6b7d6e; --pp-ph: #9fb0a1; --pp-border: #c9d8c0; --pp-line: rgba(60,100,60,.15); }
body.sw-pp-gray  { --pp-bg: #eef0f3; --pp-chrome: #e8ebef; --pp-side: #e2e5ea; --pp-card: #f6f7f9; --pp-field: #fafbfc; --pp-soft: #eff1f4; --pp-hover: #e4e7ec; --pp-text: #262a33; --pp-text2: #434957; --pp-muted: #7a8190; --pp-ph: #a9afbb; --pp-border: #d8dce3; --pp-line: rgba(60,70,90,.12); }
body.sw-pp-night { --pp-bg: #1f2128; --pp-chrome: #1a1c22; --pp-side: #16171c; --pp-card: #23252d; --pp-field: #2a2d36; --pp-soft: #262932; --pp-hover: #2b2e38; --pp-text: #c9ccd6; --pp-text2: #aeb2bf; --pp-muted: #8a8fa0; --pp-ph: #5d6272; --pp-border: #30333d; --pp-line: rgba(255,255,255,.07); }
html:not(.dark-mode) body.sw-pp #saas-dashboard-main-container, html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper {
    --bg-white: var(--pp-bg); --bg-gray: var(--pp-soft); --border: var(--pp-border); --border-light: var(--pp-border); --active-bg: var(--pp-hover);
    --text-primary: var(--pp-text); --text-secondary: var(--pp-text2); --text-muted: var(--pp-muted); --text-placeholder: var(--pp-ph);
    --sw-ink: var(--pp-text); --sw-body: var(--pp-text2); --sw-muted: var(--pp-muted); --sw-line: var(--pp-border);
}
html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper { background: var(--pp-side) !important; }
html:not(.dark-mode) body.sw-pp #sw-topbar, html:not(.dark-mode) body.sw-pp .editor-toolbar { background: var(--pp-chrome) !important; border-color: var(--pp-border) !important; }
html:not(.dark-mode) body.sw-pp .editor-content, html:not(.dark-mode) body.sw-pp .document-mode-switch, html:not(.dark-mode) body.sw-pp .editor-area { background: var(--pp-bg) !important; border-color: var(--pp-border) !important; }
html:not(.dark-mode) body.sw-pp .ql-editor { color: var(--pp-text) !important; }
html:not(.dark-mode) body.sw-pp .ql-editor.ql-blank::before { color: var(--pp-ph) !important; }
html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper .left-sidebar { background: var(--pp-side) !important; border-color: var(--pp-border) !important; }
html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper .left-sidebar .sidebar-section,
html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper .left-sidebar .episode-section.sw-merged { background: var(--pp-card) !important; border-color: var(--pp-border) !important; }
html:not(.dark-mode) body.sw-pp .episode-section.sw-merged .ep-fieldset, html:not(.dark-mode) body.sw-pp #sw-ep-tip { background: var(--pp-soft) !important; border-color: var(--pp-border) !important; }
html:not(.dark-mode) body.sw-pp .episode-section.sw-merged .ep-input-wrapper, html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-step-btn,
html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper #sw-ep-gear, html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper #sw-ep-collapse,
html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper .episode-section.sw-merged #btn-ai-split-episodes,
html:not(.dark-mode) body.sw-pp #sw-topbar .sidebar-title-wrap, html:not(.dark-mode) body.sw-pp #sw-topbar #btn-open-story-board { background: var(--pp-field) !important; border-color: var(--pp-border) !important; color: var(--pp-text) !important; }
html:not(.dark-mode) body.sw-pp #sw-topbar .sidebar-script-name-input, html:not(.dark-mode) body.sw-pp .episode-section.sw-merged .ep-num-input { color: var(--pp-text) !important; }
html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item { color: var(--pp-text2) !important; }
html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item:hover,
html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node:hover { background: var(--pp-hover) !important; }
html:not(.dark-mode) body.sw-pp .episode-item .episode-item-name, html:not(.dark-mode) body.sw-pp .fw-folder-hd, html:not(.dark-mode) body.sw-pp #saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-tx .t { color: var(--pp-text2) !important; }
html:not(.dark-mode) body.sw-pp #main-side-panel { background: var(--pp-chrome) !important; }
html:not(.dark-mode) body.sw-pp .sw-start .sw-start-minor { background: var(--pp-card); border-color: var(--pp-border); }
html:not(.dark-mode) body.sw-pp .sw-start .sw-road { background: var(--pp-soft); }
html:not(.dark-mode) body.sw-pp-night .editor-toolbar button, html:not(.dark-mode) body.sw-pp-night .editor-toolbar .fw-btn-nav { color: var(--pp-text2); }
html:not(.dark-mode) body.sw-pp-night #sw-topbar .sw-back { color: var(--pp-muted); }
/* 纹理：横线 / 方格，行高与线距对齐 */
body.sw-fs-s { --pp-lh: 28px; } body.sw-fs-m { --pp-lh: 32px; } body.sw-fs-l { --pp-lh: 36px; }
body.sw-fs-s .ql-editor { font-size: 14px !important; } body.sw-fs-l .ql-editor { font-size: 18px !important; }
body.sw-tx-lines .ql-editor, body.sw-tx-grid .ql-editor { line-height: var(--pp-lh, 32px) !important; background-origin: content-box; background-clip: padding-box; }
body.sw-tx-lines .ql-editor > *, body.sw-tx-grid .ql-editor > * { line-height: var(--pp-lh, 32px) !important; margin-top: 0 !important; margin-bottom: 0 !important; }
body.sw-tx-lines .ql-editor { background-image: repeating-linear-gradient(to bottom, transparent 0 calc(var(--pp-lh, 32px) - 1px), var(--pp-line, rgba(60,70,90,.12)) calc(var(--pp-lh, 32px) - 1px) var(--pp-lh, 32px)); }
body.sw-tx-grid .ql-editor { background-image: repeating-linear-gradient(to bottom, transparent 0 calc(var(--pp-lh, 32px) - 1px), var(--pp-line, rgba(60,70,90,.12)) calc(var(--pp-lh, 32px) - 1px) var(--pp-lh, 32px)), repeating-linear-gradient(to right, transparent 0 calc(var(--pp-lh, 32px) - 1px), var(--pp-line, rgba(60,70,90,.12)) calc(var(--pp-lh, 32px) - 1px) var(--pp-lh, 32px)); }
/* 信纸按钮 + 面板 */
.editor-toolbar .sw-pp-btn { height: 30px; padding: 0 7px 0 8px; margin-right: 4px; border-radius: 7px; border: 0; background: transparent; color: #4b5163; font-family: inherit; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }
.editor-toolbar .sw-pp-btn svg { width: 14px; height: 14px; }
.editor-toolbar .sw-pp-btn .sw-pp-sw { width: 12px; height: 12px; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.18); }
.editor-toolbar .sw-pp-btn .sw-pp-car { width: 10px; height: 10px; transition: transform .15s ease; }
.editor-toolbar .sw-pp-btn:hover, .editor-toolbar .sw-pp-btn[aria-expanded="true"] { background: rgba(83,99,201,.1); color: #5b6fd6; }
.editor-toolbar .sw-pp-btn[aria-expanded="true"] .sw-pp-car { transform: rotate(180deg); }
.editor-toolbar .sw-pp-btn:focus-visible { outline: 2px solid #5b6fd6; outline-offset: 1px; }
html.dark-mode .editor-toolbar .sw-pp-btn { display: none; }
#sw-pp-panel { position: fixed; z-index: 2147483000; width: 320px; display: none; flex-direction: column; gap: 12px; padding: 14px; background: #fff; border: 1px solid #e6e8ee; border-radius: 14px; box-shadow: 0 14px 36px rgba(5,0,56,.16); font-family: 'DM Sans', 'PingFang SC', 'Microsoft YaHei', sans-serif; color: #1a1a2e; }
#sw-pp-panel.is-open { display: flex; }
#sw-pp-panel .sw-pp-t { font-size: 13px; font-weight: 700; }
#sw-pp-panel .sw-pp-papers { display: flex; justify-content: space-between; }
#sw-pp-panel .sw-pp-paper { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0; border: 0; background: transparent; cursor: pointer; font-family: inherit; }
#sw-pp-panel .sw-pp-chip { width: 46px; height: 32px; border-radius: 8px; border: 1px solid #dfe2ea; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; box-sizing: border-box; }
#sw-pp-panel .sw-pp-paper span:last-child { font-size: 11px; color: #6b7280; }
#sw-pp-panel .sw-pp-paper[aria-checked="true"] .sw-pp-chip { border: 2px solid #5b6fd6; }
#sw-pp-panel .sw-pp-paper[aria-checked="true"] span:last-child { color: #5b6fd6; font-weight: 700; }
#sw-pp-panel .sw-pp-paper:focus-visible .sw-pp-chip { outline: 2px solid #5b6fd6; outline-offset: 2px; }
#sw-pp-panel .sw-pp-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#sw-pp-panel .sw-pp-row > span { font-size: 12px; color: #6b7280; }
#sw-pp-panel .sw-pp-seg { display: inline-flex; background: #f1f2f6; border-radius: 8px; padding: 2px; gap: 2px; }
#sw-pp-panel .sw-pp-seg button { border: 0; background: transparent; padding: 3px 10px; border-radius: 6px; font-family: inherit; font-size: 12px; font-weight: 600; color: #6b7280; cursor: pointer; }
#sw-pp-panel .sw-pp-seg button[aria-checked="true"] { background: #fff; color: #1a1a2e; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
#sw-pp-panel .sw-pp-seg button:focus-visible { outline: 2px solid #5b6fd6; outline-offset: 1px; }
#sw-pp-panel .sw-pp-note { font-size: 11px; color: #6b7280; }


/* ================= 集纲 / 对照写 / 剧本 ================= */
#mode-switch-container .sw-modeseg { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 12px; background: #eff0f5; }
#mode-switch-container .sw-modeseg .mode-text-btn, #mode-switch-container .sw-modeseg .sw-split-btn { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px !important; margin: 0 !important; border-radius: 9px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; color: #6b7280 !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer; user-select: none; }
#mode-switch-container .sw-modeseg svg { width: 15px; height: 15px; flex-shrink: 0; }
#mode-switch-container .sw-modeseg .mode-text-btn:hover, #mode-switch-container .sw-modeseg .sw-split-btn:hover { color: #1a1a2e !important; }
#mode-switch-container .sw-modeseg .mode-text-btn.active, #mode-switch-container .sw-modeseg .sw-split-btn.sw-on { background: #fff !important; color: #5b6fd6 !important; box-shadow: 0 1px 3px rgba(20,20,60,.12) !important; }
#mode-switch-container.sw-split-on .sw-modeseg .mode-text-btn.active { background: transparent !important; color: #6b7280 !important; box-shadow: none !important; }
#mode-switch-container .sw-modeseg .sw-split-btn:focus-visible, #mode-switch-container .sw-modeseg .mode-text-btn:focus-visible { outline: 2px solid #5b6fd6; outline-offset: 1px; }
#sw-split-pane { display: none; position: absolute; left: 0; bottom: 0; top: var(--sw-split-top, 50px); width: var(--sw-split-w, 38%); z-index: 5; flex-direction: column; background: #f8f9fc; border-right: 1px solid var(--border, #e6e8ef); box-sizing: border-box; }
body.sw-split #sw-split-pane { display: flex; }
body.sw-split #main-editor-scroll { margin-left: var(--sw-split-w, 38%); }
body.board-active #sw-split-pane, body.board-active #sw-split-bar { display: none !important; }
#sw-split-pane .sw-sp-hd { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 18px 10px; }
#sw-split-pane .sw-sp-t { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--text-primary, #1a1a2e); }
#sw-split-pane .sw-sp-t svg { width: 15px; height: 15px; color: #5b6fd6; }
#sw-split-pane .sw-sp-m { font-size: 11px; color: var(--text-muted, #94a3b8); white-space: nowrap; }
#sw-split-pane .sw-sp-ed { flex: 1; min-height: 0; overflow-y: auto; padding: 4px 18px 60px; font-size: 14px; line-height: 1.8; color: var(--text-primary, #1a1a2e); outline: none; word-break: break-word; }
#sw-split-pane .sw-sp-ed p { margin: 0 0 .7em; }
#sw-split-pane { position: absolute; }
#sw-split-pane .sw-sp-ed { scrollbar-width: none; -ms-overflow-style: none; }
#sw-split-pane .sw-sp-ed::-webkit-scrollbar { width: 0 !important; height: 0 !important; display: none !important; }
#main-editor-scroll { scrollbar-width: none; -ms-overflow-style: none; }
#main-editor-scroll::-webkit-scrollbar { width: 0 !important; height: 0 !important; display: none !important; }
.sw-thumb { position: absolute; top: 0; left: 0; width: 5px; height: 36px; border-radius: 3px; background: rgba(40,44,70,.28); opacity: 0; pointer-events: none; transition: opacity .25s ease, width .15s ease, background .15s ease; z-index: 7; touch-action: none; }
.sw-thumb.is-on { opacity: 1; pointer-events: auto; cursor: grab; }
.sw-thumb.is-on:hover, .sw-thumb.is-drag { width: 7px; background: rgba(83,99,201,.55); }
.sw-thumb.is-drag { cursor: grabbing; }
body.board-active .editor-area > .sw-thumb { display: none; }
html.dark-mode .sw-thumb, html:not(.dark-mode) body.sw-pp-night .sw-thumb { background: rgba(255,255,255,.3); }
#sw-split-pane .sw-sp-ed:empty::before { content: attr(data-ph); color: var(--text-placeholder, #b3b8c4); }
#sw-split-pane .sw-sp-ed:focus { box-shadow: inset 0 0 0 2px rgba(83,99,201,.18); border-radius: 6px; }
#sw-split-bar { display: none; position: absolute; top: var(--sw-split-top, 50px); bottom: 0; left: calc(var(--sw-split-w, 38%) - 5px); width: 10px; z-index: 6; cursor: col-resize; touch-action: none; }
body.sw-split #sw-split-bar { display: block; }
#sw-split-bar::before { content: ''; position: absolute; left: 4px; top: 0; bottom: 0; width: 2px; background: transparent; transition: background .15s ease; }
#sw-split-bar::after { content: ''; position: absolute; left: 2px; top: 50%; width: 6px; height: 40px; margin-top: -20px; border-radius: 3px; background: #cfd4e2; transition: background .15s ease; }
#sw-split-bar:hover::before, #sw-split-bar.is-drag::before, #sw-split-bar:focus-visible::before { background: #5b6fd6; }
#sw-split-bar:hover::after, #sw-split-bar.is-drag::after, #sw-split-bar:focus-visible::after { background: #5b6fd6; }
#sw-split-bar:focus-visible { outline: none; }
body.sw-split-dragging, body.sw-split-dragging * { cursor: col-resize !important; user-select: none !important; }
html:not(.dark-mode) body.sw-pp #sw-split-pane { background: var(--pp-soft); border-color: var(--pp-border); }
html.dark-mode #sw-split-pane { background: #151626; }


/* ================= 左栏与右侧面板缩窄 ================= */
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-circ { margin-top: 1px; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item { padding: 8px 6px 8px 10px !important; gap: 6px !important; }
.sw-card-hd, #sw-ep-card-hd { padding: 0 8px 0 12px !important; }
.episode-section.sw-merged .episode-item { padding-left: 12px !important; padding-right: 8px !important; }
.episode-item .sw-ep-wc { grid-template-columns: 28px 10px 30px; margin-left: 2px; }
.episode-section.sw-merged .fw-folder-hd { padding-left: 10px !important; padding-right: 8px !important; }
.episode-section.sw-merged .ep-fieldset { padding: 10px !important; }
.episode-section.sw-merged .ep-input-label { width: 26px; }
.episode-section.sw-merged .ep-num-input { width: 32px !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-step-btn { width: 22px; height: 22px; }
#saas-fullscreen-app-wrapper #sw-ep-gear { padding: 0 2px 0 4px; gap: 2px; font-size: 11px; }
#saas-fullscreen-app-wrapper .left-sidebar { padding-left: 6px !important; padding-right: 6px !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section, #saas-fullscreen-app-wrapper .left-sidebar .episode-section.sw-merged { margin-left: 0 !important; margin-right: 0 !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item { margin-left: 4px !important; margin-right: 4px !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node { margin-left: 4px !important; margin-right: 4px !important; }
.episode-section.sw-merged .episode-item { margin-left: 4px !important; margin-right: 4px !important; padding-left: 10px !important; padding-right: 6px !important; }
.episode-section.sw-merged .episode-item .episode-item-name { flex: 0 0 auto !important; white-space: nowrap; }
.episode-section.sw-merged .episode-item .sw-ep-wc { margin-left: auto; }
.episode-section.sw-merged .fw-folder-hd { margin-left: 4px !important; margin-right: 4px !important; }
.sw-card-hd, #sw-ep-card-hd { padding: 0 6px 0 10px !important; gap: 4px !important; }
#sw-ep-card-hd .sw-card-t { flex-shrink: 0; overflow: visible; }
#sw-ep-progress { margin-left: 3px !important; }
.episode-section.sw-merged .ep-fieldset, .episode-section.sw-merged #sw-ep-tip { margin-left: 4px !important; margin-right: 4px !important; }
.episode-section.sw-merged .ep-fieldset { padding: 10px 8px !important; }
.episode-section.sw-merged .ep-input-box { gap: 4px !important; }
.episode-section.sw-merged .ep-input-wrapper { padding: 0 4px !important; }
#saas-fullscreen-app-wrapper .right-panel.open { width: 300px; }
#main-side-panel .nav-stats-grid { gap: 6px; }
#main-side-panel .nav-stat-box { flex-direction: column; gap: 4px; padding: 8px 4px; }
#main-side-panel .nav-stat-label { white-space: nowrap; }
#saas-fullscreen-app-wrapper .right-panel .rp-body, #saas-fullscreen-app-wrapper .right-panel .rp-header-container, #saas-fullscreen-app-wrapper .right-panel [style*="min-width: 400px"] { min-width: 300px !important; }


/* ================= 下载 Word 下拉 ================= */
#sw-topbar #btn-download-script { width: auto; min-width: 44px; padding: 0 6px 0 8px; gap: 2px; }
#sw-topbar #btn-download-script .sw-dl-car { width: 10px; height: 10px; transition: transform .15s ease; }
#sw-topbar #btn-download-script[aria-expanded="true"] { background: var(--sw-brand-bg); border-color: #c9cff3; color: var(--sw-brand); }
#sw-topbar #btn-download-script[aria-expanded="true"] .sw-dl-car { transform: rotate(180deg); }
#sw-dl-menu { position: fixed; z-index: 2147483000; width: 232px; display: none; flex-direction: column; gap: 2px; padding: 6px; background: #fff; border: 1px solid #e6e8ef; border-radius: 12px; box-shadow: 0 14px 36px rgba(5,0,56,.16); font-family: 'DM Sans', 'PingFang SC', 'Microsoft YaHei', sans-serif; }
#sw-dl-menu.is-open { display: flex; }
#sw-dl-menu .sw-dl-hd { padding: 6px 10px 4px; font-size: 11px; font-weight: 600; color: #6b7280; }
#sw-dl-menu button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border: 0; border-radius: 8px; background: transparent; text-align: left; font-family: inherit; cursor: pointer; }
#sw-dl-menu button:hover, #sw-dl-menu button:focus-visible { background: #f3f4fb; outline: none; }
#sw-dl-menu .sw-dl-ic { width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #eef0fb; color: #5b6fd6; display: flex; align-items: center; justify-content: center; }
#sw-dl-menu .sw-dl-ic svg { width: 15px; height: 15px; }
#sw-dl-menu .sw-dl-tx { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
#sw-dl-menu .sw-dl-tx b { font-size: 13px; color: #1a1a2e; }
#sw-dl-menu .sw-dl-tx span { font-size: 11px; color: #6b7280; }
#sw-dl-menu .sw-dl-sep { height: 1px; background: #eef0f4; margin: 2px 4px; }


/* ================= AI 创作 · 对话式 ================= */
#panel-wrapper-ai.sw-chat-on > #pane-ai-assistant { display: none !important; }

/* 打开已有剧本、数据还没取回时，不显示开头引导（避免闪现） */
html.sw-loading #overview-action-container, html.sw-loading #characters-action-container { visibility: hidden !important; }

/* ---------- 空白梗概页 ---------- */
#overview-action-container.sw-start { width: min(680px, calc(100% - 48px)); top: 45% !important; gap: 22px !important; }
.sw-start .sw-minor-row, .sw-start .sw-primary-action, .sw-start .sw-empty-sub { display: none !important; }
.sw-start .sw-start-actions { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 6px; }
.sw-start .sw-start-main { all: unset; box-sizing: border-box; height: 46px; padding: 0 28px; border-radius: 12px; background: var(--sw-brand); color: #fff; font-size: 15px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; box-shadow: 0 8px 20px -8px rgba(83,99,201,.7); transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.sw-start .sw-start-main:hover { background: #4d5fc4; transform: translateY(-1px); box-shadow: 0 12px 24px -10px rgba(83,99,201,.8); }
.sw-start .sw-start-main:focus-visible { outline: 2px solid var(--sw-brand); outline-offset: 3px; }
.sw-start .sw-start-minors { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.sw-start .sw-start-minor { all: unset; box-sizing: border-box; height: 34px; padding: 0 14px; border: 1px solid var(--sw-line); border-radius: 999px; background: #fff; color: var(--sw-body); font-size: 13px; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; transition: border-color .15s ease, color .15s ease, background .15s ease; }
.sw-start .sw-start-minor:hover { border-color: #c9cff3; color: var(--sw-brand); background: #f8f9ff; }
.sw-start .sw-start-minor:focus-visible { outline: 2px solid var(--sw-brand); outline-offset: 2px; }
.sw-start .sw-road { display: inline-flex; align-items: center; gap: 8px; width: auto; margin-top: 12px; padding: 8px 16px; border: 0; border-radius: 999px; background: #f6f7fb; }
.sw-start .sw-road-step { font-size: 12px; color: var(--sw-muted); }
.sw-start .sw-road-step.is-now { font-weight: 700; color: var(--sw-ink); }
.sw-start .sw-road-arrow { font-size: 12px; color: #c3c8d4; }

@media (max-width: 1280px) {
    #saas-fullscreen-app-wrapper .left-sidebar { width: 177px; }
    #sw-topbar .sidebar-title-wrap { width: 180px; }
}
html.dark-mode #sw-topbar { background: #161726; border-color: #2a2b40; }

/* ======================================================================
   V1.43 · 左栏 ZB：上半「目录式」（不画卡片、不画描边），下半「集数网格」
   节标题 12px 灰色；行 34px；选中项一层浅靛蓝底；设置收成一行小字 + ⚙
   全部写在最后并带 #saas-fullscreen-app-wrapper 前缀，覆盖上面 V1.x 的卡片样式
   ====================================================================== */
#saas-fullscreen-app-wrapper .left-sidebar { gap: 0 !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section,
#saas-fullscreen-app-wrapper .left-sidebar .episode-section.sw-merged {
    background: transparent !important; border: 0 !important; border-radius: 0 !important;
    box-shadow: none !important; margin: 0 !important; padding: 6px 2px 8px !important;
}
#saas-fullscreen-app-wrapper .left-sidebar .episode-section.sw-merged {
    border-top: 1px solid rgba(60, 60, 67, .10) !important; margin-top: 4px !important; padding-top: 12px !important;
}
/* 节标题：准备 0 / 2 · 分集 0 / 20 */
#saas-fullscreen-app-wrapper .left-sidebar .sw-card-hd,
#saas-fullscreen-app-wrapper .left-sidebar #sw-ep-card-hd { min-height: 22px !important; padding: 0 10px !important; margin-bottom: 4px !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sw-card-t { font-size: 12px !important; font-weight: 600 !important; letter-spacing: .02em; color: #6b7280 !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sw-card-meta,
#saas-fullscreen-app-wrapper .left-sidebar #sw-ep-progress {
    font-size: 11px !important; font-weight: 400 !important; color: #9aa0ab !important; margin-left: 6px !important;
    font-variant-numeric: tabular-nums;
}
/* 准备：故事梗概 / 故事设定 —— 34px 纯文字行，去掉 1 / 2 圆圈 */
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item {
    min-height: 34px !important; height: 34px !important; margin: 0 !important; padding: 0 8px 0 10px !important; gap: 8px !important;
    border: 0 !important; border-radius: 8px !important; background: transparent !important; box-shadow: none !important;
    font-size: 14px !important; font-weight: 400 !important; color: #1d1d1f !important;
}
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item:hover { background: rgba(74, 85, 199, .06) !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item.active { background: #eef0fb !important; color: #4a55c7 !important; font-weight: 600 !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item > svg { width: 15px !important; height: 15px !important; color: #6b7280 !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item.active > svg { color: #4a55c7 !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item .sw-step { display: none !important; }
/* 已完成：名字后面一个小绿勾 */
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item.sw-done .sw-nav-tx::after { content: ' ✓'; font-size: 11px; font-weight: 400; color: #3f8a5f; }
#saas-fullscreen-app-wrapper .sw-sub-toggle { width: 22px !important; height: 22px !important; background: transparent !important; color: #9aa0ab !important; opacity: 1 !important; }
#saas-fullscreen-app-wrapper .sw-sub-toggle:hover { color: #454b57 !important; background: transparent !important; }
/* 故事设定子项：去 A / B / C 圆圈，纯文字 + 灰色说明，缩进和上一级文字对齐 */
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-circ { display: none !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node {
    margin: 0 !important; padding: 6px 10px 6px 33px !important; gap: 0 !important; border-radius: 8px !important;
    background: transparent !important; box-shadow: none !important; border: 0 !important;
}
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node:hover { background: rgba(74, 85, 199, .06) !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.on { background: #eef0fb !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-tx .t {
    display: flex; align-items: center; font-size: 13px !important; font-weight: 400 !important; color: #1d1d1f !important; line-height: 1.4 !important;
}
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.on .ssr-tx .t { font-weight: 600 !important; color: #4a55c7 !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.filled .ssr-tx .t::after { content: ' ✓'; margin-left: 3px; font-size: 11px; font-weight: 400; color: #3f8a5f; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-tx .s { font-size: 11px !important; color: #9aa0ab !important; margin-top: 2px !important; line-height: 1.4 !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sw-opt {
    display: inline-flex; align-items: center; margin-left: 6px; padding: 0 5px; height: 16px; border-radius: 4px;
    background: #eceef4; color: #6b7280; font-size: 10px; font-weight: 600; line-height: 1;
}
/* 分集标题右侧：「20 集 · 2 分钟 ⚙」一行小字，不要框 */
#saas-fullscreen-app-wrapper #sw-ep-gear {
    height: 22px !important; padding: 0 !important; gap: 4px !important; border: 0 !important; border-radius: 0 !important;
    background: transparent !important; color: #6b7280 !important; font-size: 11px !important; font-weight: 400 !important;
    flex-direction: row-reverse;
}
#saas-fullscreen-app-wrapper #sw-ep-gear:hover,
#saas-fullscreen-app-wrapper #sw-ep-gear[aria-expanded="true"] { color: #4a55c7 !important; background: transparent !important; }
#saas-fullscreen-app-wrapper #sw-ep-gear .sw-chev { display: none !important; }
#saas-fullscreen-app-wrapper #sw-ep-gear svg { width: 13px !important; height: 13px !important; }
/* 分集设置（点 ⚙ 才出现）：浅灰底一块，不画描边 */
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-fieldset {
    margin: 0 4px 8px !important; padding: 10px !important; border: 0 !important; border-radius: 10px !important; background: #eef0f5 !important;
}
#saas-fullscreen-app-wrapper #sw-ep-panel-hd b { font-size: 12px !important; font-weight: 600 !important; color: #454b57 !important; }
#saas-fullscreen-app-wrapper #sw-ep-collapse { border: 0 !important; background: transparent !important; padding: 0 !important; height: auto !important; color: #4a55c7 !important; font-size: 12px !important; font-weight: 500 !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-step-btn { border: 0 !important; background: #ffffff !important; color: #6b7280 !important; border-radius: 7px !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-step-btn:hover { color: #4a55c7 !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-input-wrapper { border: 0 !important; background: #ffffff !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-unit { font-size: 11px !important; white-space: nowrap; }
/* 提示条：去描边 */
#saas-fullscreen-app-wrapper #sw-ep-tip { border: 0 !important; background: #eef0f5 !important; margin: 0 4px 8px !important; }
/* 「AI 一键分集 · 50 点」：网格上方一行靛蓝文字 */
#sw-ep-ai-row { display: flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 10px; margin-bottom: 6px; }
#saas-fullscreen-app-wrapper #sw-ep-ai-row #btn-ai-split-episodes {
    display: inline-flex !important; align-items: center !important; gap: 6px !important; width: auto !important; height: auto !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important;
    color: #4a55c7 !important; font-size: 13px !important; font-weight: 500 !important; cursor: pointer;
}
#saas-fullscreen-app-wrapper #sw-ep-ai-row #btn-ai-split-episodes:hover { color: #3f49ad !important; }
#saas-fullscreen-app-wrapper #sw-ep-ai-row .sw-ai-split-meta {
    display: inline-flex !important; align-items: center; gap: 4px; margin: 0 0 0 auto !important; padding: 0 !important;
    font-size: 11px !important; font-weight: 400 !important; color: #9aa0ab !important; white-space: nowrap; flex-wrap: nowrap !important;
}
#saas-fullscreen-app-wrapper #sw-ep-ai-row .sw-ai-split-vip,
#saas-fullscreen-app-wrapper #sw-ep-ai-row .sw-ai-split-dot { display: none !important; }
#saas-fullscreen-app-wrapper #sw-ep-ai-row #ai-split-ext-trigger { display: inline !important; }   /* 管理员的扩展入口保留 */
#saas-fullscreen-app-wrapper #sw-ep-ai-row #sw-ep-warn { display: none !important; }
/* 集数网格：5 列数字格子，当前集实心靛蓝，写过的深一档 */
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list {
    display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 6px !important; padding: 0 4px !important;
}
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .fw-folder,
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .fw-folder .fw-folder-bd,
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .fw-folder.collapsed .fw-folder-bd { display: contents !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .fw-folder-hd { display: none !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item {
    position: relative; display: flex !important; align-items: center !important; justify-content: center !important;
    height: 30px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 8px !important; background: #eef0f5 !important; box-shadow: none !important;
    font-size: 12px !important; font-weight: 400 !important; color: #454b57 !important; font-variant-numeric: tabular-nums; cursor: pointer;
}
/* V1.47：格子编号直接用 CSS 计数器算，不再等脚本补 data-n —— 分集列表不管什么时候重新生成，格子里都直接是数字 */
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list { counter-reset: swep; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item { counter-increment: swep; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item::before { content: counter(swep); }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item .episode-item-name {
    position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important;
}
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item .sw-ep-wc,
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item .ep-word-count { display: none !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item:hover { background: #e3e6ee !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item.sw-has { background: #e1e5f4 !important; color: #1d1d1f !important; font-weight: 600 !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item.active { background: #4a55c7 !important; color: #ffffff !important; font-weight: 600 !important; }
#sw-ep-cur { padding: 10px 10px 0; font-size: 11px; color: #9aa0ab; }
#sw-ep-cur:empty { display: none; }
/* 深色模式 */
html.dark-mode #saas-fullscreen-app-wrapper .left-sidebar .sw-card-t { color: #8a8fa3 !important; }
html.dark-mode #saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item,
html.dark-mode #saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-tx .t { color: #d6d8e2 !important; }
html.dark-mode #saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item.active,
html.dark-mode #saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.on { background: rgba(122, 132, 240, .18) !important; }
html.dark-mode #saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item.active,
html.dark-mode #saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.on .ssr-tx .t { color: #b3b9f7 !important; }
html.dark-mode #saas-fullscreen-app-wrapper .left-sidebar .episode-section.sw-merged { border-top-color: rgba(255, 255, 255, .08) !important; }
html.dark-mode #saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-fieldset,
html.dark-mode #saas-fullscreen-app-wrapper #sw-ep-tip { background: #1e2030 !important; }
html.dark-mode #saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item { background: #232536 !important; color: #c3c6d2 !important; }
html.dark-mode #saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item.sw-has { background: #2e3150 !important; color: #e6e8f0 !important; }
html.dark-mode #saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item.active { background: #5b66d6 !important; color: #fff !important; }
html.dark-mode #saas-fullscreen-app-wrapper #sw-ep-ai-row #btn-ai-split-episodes { color: #aab1f5 !important; }
html.dark-mode #saas-fullscreen-app-wrapper .left-sidebar .sw-opt { background: #2a2d40; color: #9ba1b0; }

/* ======================================================================
   V1.44 · 分集改成 ZA：白底小框设置行 + 白底描边格子 + 底部浅靛蓝按钮
   ====================================================================== */
/* 修：格子被拉散 —— 列表容器原来撑满剩余高度，网格把行平均摊开。改成从上往下紧排、每行固定高度 */
#saas-fullscreen-app-wrapper .episode-section.sw-merged .episode-list-wrapper { flex: 0 0 auto !important; height: auto !important; min-height: 0 !important; overflow: visible !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list {
    align-content: start !important; grid-auto-rows: 30px !important; height: auto !important; min-height: 0 !important; overflow: visible !important; flex: 0 0 auto !important;
}
/* 设置行：标题下方一行白底细描边小框，左边文字、右边齿轮 */
#saas-fullscreen-app-wrapper #sw-ep-gear {
    display: flex !important; flex-direction: row-reverse !important; justify-content: space-between !important; align-items: center !important;
    width: calc(100% - 8px) !important; height: 32px !important; margin: 0 4px 10px !important; padding: 0 10px !important;
    border: 0 !important; border-radius: 9px !important; background: #ffffff !important; box-shadow: inset 0 0 0 1px #e3e6ee !important;
    font-size: 12px !important; color: #454b57 !important; cursor: pointer;
}
#saas-fullscreen-app-wrapper #sw-ep-gear svg { color: #9aa0ab !important; }
#saas-fullscreen-app-wrapper #sw-ep-gear:hover,
#saas-fullscreen-app-wrapper #sw-ep-gear[aria-expanded="true"] { box-shadow: inset 0 0 0 1px #c9cdf0 !important; color: #4a55c7 !important; }
#saas-fullscreen-app-wrapper #sw-ep-gear:hover svg,
#saas-fullscreen-app-wrapper #sw-ep-gear[aria-expanded="true"] svg { color: #4a55c7 !important; }
/* 格子：白底 + 细描边；当前集实心靛蓝；写过的格子字深一档、底浅靛蓝 */
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item {
    height: 30px !important; background: #ffffff !important; box-shadow: inset 0 0 0 1px #e3e6ee !important; color: #454b57 !important; font-weight: 400 !important;
}
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item:hover { box-shadow: inset 0 0 0 1px #c9cdf0 !important; background: #ffffff !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item.sw-has { background: #f2f3fb !important; color: #1d1d1f !important; font-weight: 600 !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item.active { background: #4a55c7 !important; box-shadow: none !important; color: #ffffff !important; font-weight: 600 !important; }
/* 底部按钮：浅靛蓝整条「✦ AI 一键分集 · 50 点」 */
#saas-fullscreen-app-wrapper #sw-ep-ai-row {
    justify-content: center !important; gap: 4px !important; height: 34px !important; min-height: 34px !important; margin: 12px 4px 0 !important; padding: 0 10px !important;
    border-radius: 9px !important; background: #eef0fb !important;
}
#saas-fullscreen-app-wrapper #sw-ep-ai-row .sw-ai-split-meta { margin: 0 !important; color: #6b72b8 !important; font-size: 12px !important; }
#saas-fullscreen-app-wrapper #sw-ep-ai-row .sw-ai-split-cost::before { content: '· '; }
#saas-fullscreen-app-wrapper #sw-ep-ai-row #btn-ai-split-episodes { font-size: 12px !important; }
#saas-fullscreen-app-wrapper #sw-ep-ai-row:hover { background: #e5e8f9 !important; }
#sw-ep-cur { display: none; }


/* ======================================================================
   V1.45 · 全页统一设计语言（与分类页 / 升级浮窗 / 草稿箱同一套）
   主色 #4A55C7、浅底 #EEF0FB；文字 #1D1D1F / #454B57 / #6B7280 / #9AA0AB；
   字号 12 / 13 / 14 / 15 / 17 / 20，字重只用 400、600；细线 rgba(60,60,67,.10)；
   圆角：行与格子 8、输入框与按钮 10、卡片与面板 14；每个区域只有一个实心靛蓝按钮，其余白底描边或纯文字
   ====================================================================== */
:root, #saas-dashboard-main-container, #saas-fullscreen-app-wrapper {
    --brand-primary: #4a55c7; --brand-hover: #3f49ad; --brand-light: #eef0fb; --track-fill: #4a55c7;
    --text-primary: #1d1d1f; --text-secondary: #454b57; --text-muted: #9aa0ab; --text-placeholder: #c4c8d0;
    --border: #e3e6ee; --border-light: #eef0f5; --bg-gray: #f5f6fa; --active-bg: #eef0fb;
    --sw-ink: #1d1d1f; --sw-body: #454b57; --sw-muted: #6b7280; --sw-line: #e3e6ee;
    --sw-brand: #4a55c7; --sw-brand-bg: #eef0fb; --sw-ok: #3f8a5f; --sw-ok-bg: #e6f3eb;
    --sw-warn: #8a6100; --sw-warn-bg: #fdf3dc; --sw-src: #4a55c7; --sw-src-bg: #eef0fb;
}
/* —— 顶栏 —— */
#sw-topbar { height: 56px !important; padding: 0 20px !important; gap: 12px !important; border-bottom: 1px solid rgba(60, 60, 67, .10) !important; }
#sw-topbar .sw-back { font-size: 13px !important; color: #6b7280 !important; }
#sw-topbar .sw-back:hover { color: #4a55c7 !important; }
#sw-topbar .sidebar-title-wrap { border: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 8px !important; }
#sw-topbar .sidebar-title-wrap:hover { background: #f5f6fa !important; }
#sw-topbar .sidebar-script-name-input { font-size: 15px !important; font-weight: 600 !important; color: #1d1d1f !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.sw-chip { border-radius: 6px !important; padding: 2px 8px !important; font-size: 12px !important; font-weight: 600 !important; background: #f1f3f8 !important; color: #6b7280 !important; }
.sw-chip.is-new { background: #e6f3eb !important; color: #3f8a5f !important; }
.sw-chip.is-src { background: #eef0fb !important; color: #4a55c7 !important; }
#sw-topbar #btn-open-story-board,
#sw-topbar #btn-download-script {
    height: 32px !important; border-radius: 10px !important; background: #ffffff !important; border: 1px solid #dfe3ea !important;
    box-shadow: none !important; color: #1d1d1f !important; font-size: 13px !important; font-weight: 600 !important;
}
#sw-topbar #btn-open-story-board:hover, #sw-topbar #btn-download-script:hover { border-color: #c9cdf0 !important; color: #4a55c7 !important; }
#sw-topbar .btn-first-save {
    height: 32px !important; padding: 0 16px !important; border: 0 !important; border-radius: 10px !important; box-shadow: none !important;
    background: #4a55c7 !important; color: #ffffff !important; font-size: 13px !important; font-weight: 600 !important;
}
#sw-topbar .btn-first-save:hover { background: #3f49ad !important; }
/* —— 工具栏：图标按钮中性色，选中浅靛蓝底；「场景导航」「AI 帮写」改成纯文字按钮，不再是浅紫胶囊 —— */
#saas-fullscreen-app-wrapper .editor-toolbar { height: 48px !important; border-bottom: 1px solid rgba(60, 60, 67, .10) !important; }
#saas-fullscreen-app-wrapper .editor-toolbar .tb { border-radius: 8px !important; background: transparent !important; color: #454b57 !important; box-shadow: none !important; font-weight: 600 !important; }
#saas-fullscreen-app-wrapper .editor-toolbar .tb:hover { background: #f1f3f8 !important; }
#saas-fullscreen-app-wrapper .editor-toolbar .tb.active { background: #eef0fb !important; color: #4a55c7 !important; }
#saas-fullscreen-app-wrapper .editor-toolbar .sw-tb-feature-group { background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; gap: 2px !important; }
#saas-fullscreen-app-wrapper .editor-toolbar .tb-divider { background: rgba(60, 60, 67, .12) !important; }
#saas-fullscreen-app-wrapper .editor-toolbar .fw-btn-nav,
#saas-fullscreen-app-wrapper .editor-toolbar #btn-toolbar-ai.sw-tb-ai {
    height: 32px !important; padding: 0 10px !important; border: 0 !important; border-radius: 8px !important; box-shadow: none !important;
    background: transparent !important; color: #454b57 !important; font-size: 13px !important; font-weight: 600 !important;
}
#saas-fullscreen-app-wrapper .editor-toolbar .fw-btn-nav:hover { background: #f1f3f8 !important; }
#saas-fullscreen-app-wrapper .editor-toolbar .fw-btn-nav.panel-active,
#saas-fullscreen-app-wrapper .editor-toolbar #btn-toolbar-ai.sw-tb-ai.panel-active { background: #eef0fb !important; color: #4a55c7 !important; }
#saas-fullscreen-app-wrapper .editor-toolbar #btn-toolbar-ai.sw-tb-ai svg { color: #4a55c7 !important; }
/* —— 编辑区标题（故事设定各项）：方块图标 + 17px 标题 + 13px 说明 —— */
#setting-cur-head .sch-ic { width: 28px !important; height: 28px !important; border-radius: 8px !important; background: #eef0fb !important; color: #4a55c7 !important; font-size: 13px !important; font-weight: 600 !important; }
#setting-cur-head #sch-name { font-size: 17px !important; font-weight: 600 !important; color: #1d1d1f !important; }
#setting-cur-head #sch-hint { font-size: 13px !important; font-weight: 400 !important; color: #6b7280 !important; }
/* —— 集纲 / 对照写 / 剧本：和全站一样的灰底分段按钮，选中白底黑字 —— */
#mode-switch-container .sw-modeseg { padding: 3px !important; border-radius: 10px !important; background: #eceef4 !important; border: 0 !important; box-shadow: none !important; }
#mode-switch-container .sw-modeseg .mode-text-btn,
#mode-switch-container .sw-modeseg .sw-split-btn { height: 30px !important; padding: 0 14px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 400 !important; color: #454b57 !important; background: transparent !important; box-shadow: none !important; }
#mode-switch-container .sw-modeseg .mode-text-btn.active,
#mode-switch-container .sw-modeseg .sw-split-btn.sw-on,
#mode-switch-container.sw-split-on .sw-modeseg .sw-split-btn.sw-on { background: #ffffff !important; color: #1d1d1f !important; font-weight: 600 !important; box-shadow: 0 1px 2px rgba(0, 0, 0, .08) !important; }
#mode-switch-container.sw-split-on .sw-modeseg .mode-text-btn.active { background: transparent !important; color: #454b57 !important; font-weight: 400 !important; box-shadow: none !important; }
#sw-split-pane .sw-sp-t { font-size: 13px !important; font-weight: 600 !important; color: #1d1d1f !important; }
#sw-split-pane .sw-sp-m { font-size: 12px !important; color: #9aa0ab !important; }
/* —— 右侧面板：标题 15px、关闭按钮圆形浅灰、标签页下划线 —— */
#saas-fullscreen-app-wrapper .right-panel .rp-header-container { border-bottom: 1px solid rgba(60, 60, 67, .10) !important; }
#saas-fullscreen-app-wrapper .right-panel .rp-nav-title { font-size: 15px !important; font-weight: 600 !important; color: #1d1d1f !important; }
#saas-fullscreen-app-wrapper .right-panel .btn-close-panel { width: 28px !important; height: 28px !important; border-radius: 50% !important; background: #f1f3f8 !important; color: #454b57 !important; border: 0 !important; }
#saas-fullscreen-app-wrapper .right-panel .btn-close-panel:hover { background: #e6e9f0 !important; }
#saas-fullscreen-app-wrapper .right-panel .rp-tab { font-size: 13px !important; font-weight: 400 !important; color: #6b7280 !important; }
#saas-fullscreen-app-wrapper .right-panel .rp-tab.active { font-weight: 600 !important; color: #1d1d1f !important; box-shadow: inset 0 -2px 0 #4a55c7 !important; }
/* —— AI 创作面板：快捷指令是白底描边小按钮，首个推荐项浅靛蓝底；发送是唯一的实心按钮 —— */


/* ======================================================================
   V1.49 · 分集设置面板（按侧栏实际可用宽度 ≈130px 重排）
   ====================================================================== */
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-fieldset { padding: 10px !important; border-radius: 10px !important; background: #eef0f5 !important; border: 0 !important; }
#saas-fullscreen-app-wrapper #sw-ep-panel-hd { margin: 0 0 6px !important; }
#saas-fullscreen-app-wrapper #sw-ep-panel-hd b { font-size: 12px !important; font-weight: 600 !important; color: #6b7280 !important; letter-spacing: .02em; }
#saas-fullscreen-app-wrapper #sw-ep-collapse { font-size: 12px !important; font-weight: 400 !important; color: #6b7280 !important; gap: 2px !important; }
#saas-fullscreen-app-wrapper #sw-ep-collapse svg { width: 12px !important; height: 12px !important; }
#saas-fullscreen-app-wrapper #sw-ep-collapse:hover { color: #4a55c7 !important; }
/* 行 */
#saas-fullscreen-app-wrapper .episode-section.sw-merged .episode-settings { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; gap: 0 !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-input-box { display: flex !important; align-items: center !important; margin: 0 !important; padding: 0 !important; border: 0 !important; gap: 8px !important; background: transparent !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-input-label { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; font-size: 13px !important; font-weight: 400 !important; color: #454b57 !important; line-height: 1 !important; white-space: nowrap; }
/* 「− 数值 +」整体控件 */
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-stepper { display: inline-flex; align-items: center; margin-left: auto; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-stepper .sw-step-btn {
    flex: 0 0 auto; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 !important; margin: 0 !important;
    border: 0 !important; box-shadow: none !important; font-size: 14px !important; font-weight: 400 !important; line-height: 1 !important; cursor: pointer;
}
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-input-wrapper {
    flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; height: 28px !important; margin: 0 !important; padding: 0 !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 2px !important;
    background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
}
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-num-input {
    font-family: inherit !important; font-size: 14px !important; font-weight: 600 !important; color: #1d1d1f !important; font-variant-numeric: tabular-nums;
    height: 28px !important; line-height: 28px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important;
    width: 2.2ch !important; min-width: 1.2ch !important; max-width: 3.4ch !important; text-align: right !important; field-sizing: content; letter-spacing: 0 !important;
}
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-unit { margin: 0 !important; font-size: 12px !important; font-weight: 400 !important; color: #6b7280 !important; line-height: 28px !important; white-space: nowrap !important; flex: 0 0 auto; }
/* AI 一键分集：一行完整的按钮 + 下方一行小字说明（不再折行、不再出现两个点） */
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row {
    display: block !important; height: auto !important; min-height: 0 !important; margin: 10px 0 0 !important; padding: 0 !important;
    background: transparent !important; box-shadow: none !important; border-radius: 0 !important;
}
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row #btn-ai-split-episodes {
    display: flex !important; width: 100% !important; height: 32px !important; align-items: center !important; justify-content: center !important; gap: 6px !important;
    margin: 0 !important; padding: 0 8px !important; border-radius: 9px !important; white-space: nowrap !important;
    font-size: 13px !important; font-weight: 600 !important; color: #4a55c7 !important; background: #ffffff !important; box-shadow: inset 0 0 0 1px #dfe3ea !important; border: 0 !important;
}
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row #btn-ai-split-episodes:hover { box-shadow: inset 0 0 0 1px #c9cdf0 !important; background: #fbfbff !important; }
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row #btn-ai-split-episodes svg { width: 13px !important; height: 13px !important; flex: 0 0 auto; }
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row .sw-ai-split-meta {
    display: block !important; margin: 6px 0 0 !important; padding: 0 !important; text-align: center !important; white-space: nowrap !important;
    font-size: 11px !important; font-weight: 400 !important; color: #9aa0ab !important;
}
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row .sw-ai-split-meta::before { content: '按梗概拆出集纲'; }
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row .sw-ai-split-cost::before { content: ' · '; }
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row .sw-ai-split-vip,
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row .sw-ai-split-dot,
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row #sw-ep-warn { display: none !important; }
/* 管理员的扩展入口：不再显示成一个多余的点，改为点击这行小字打开 */
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row #ai-split-ext-trigger { display: none !important; }
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row .sw-ai-split-meta.sw-has-ext { cursor: pointer; }
/* 保留「− 白色数字框 +」：加减按钮收窄到 22px，数字框自动占满剩余宽度，数字 + 单位居中、不溢出 */
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-input-box { height: 36px !important; gap: 6px !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-input-label { flex: 0 0 26px !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-stepper { flex: 1 1 auto; min-width: 0; margin-left: 0; gap: 4px; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-stepper .sw-step-btn { width: 22px !important; height: 28px !important; border-radius: 7px !important; background: #ffffff !important; color: #6b7280 !important; font-size: 14px !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-stepper .sw-step-btn:hover { color: #4a55c7 !important; box-shadow: inset 0 0 0 1px #c9cdf0 !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-input-wrapper {
    flex: 1 1 auto !important; min-width: 0 !important; padding: 0 4px !important; overflow: hidden !important;
    background: #ffffff !important; border-radius: 7px !important;
}
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-input-wrapper:focus-within { box-shadow: inset 0 0 0 1px #c9cdf0 !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-num-input { min-width: 1.2ch !important; max-width: none !important; field-sizing: fixed; }


/* V1.50：「故事设定」和下面的子项（角色设定…）之间拉开一点 */
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail { margin-top: 6px !important; }

/* ======================================================================
   V1.51 · 字体法则层（依据《StoryOS 全站字体使用法则》11 条，覆盖 48 个模块中的 33 个）
   字号 6 级：24/30 · 17/24 · 14/20 · 13/18 · 12/16 · 11/14（字号/行高）；字重只用 400 / 600；
   文字色：浅色 #1D1D1F / #6E6E73 / #86868B / #AEAEB2 / 主色 #4A55C7；深色 #F5F5F7 / #A1A1A6 / #86868B / #636366 / #8E96F0；
   错误 #C4332B（深色 #FF6961）。四个核心模块（场景导航 / 批注 / 看板 / AI 面板）本身不改，统一在这里覆盖。
   ====================================================================== */
:root { --sf-1: #1d1d1f; --sf-2: #6e6e73; --sf-3: #86868b; --sf-4: #aeaeb2; --sf-brand: #4a55c7; --sf-err: #c4332b; }
html.dark-mode { --sf-1: #f5f5f7; --sf-2: #a1a1a6; --sf-3: #86868b; --sf-4: #636366; --sf-brand: #8e96f0; --sf-err: #ff6961; }

/* —— 第 1 条：字体与渲染；按钮、输入框必须继承页面字体（弹窗按钮原来退回 Arial） —— */
#saas-fullscreen-app-wrapper, .storyos-board-wrapper, .custom-slider-modal-overlay, .ai-large-modal-overlay, [id^="storyos-lib-import"] {
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-optical-sizing: auto;
}
#saas-fullscreen-app-wrapper button, #saas-fullscreen-app-wrapper input, #saas-fullscreen-app-wrapper textarea, #saas-fullscreen-app-wrapper select,
.custom-slider-modal button, .custom-slider-modal input, .ai-large-modal button, .storyos-board-wrapper button, .storyos-board-wrapper textarea, .storyos-board-wrapper select {
    font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif !important;
}

/* —— 顶栏（模块 3–8） —— */
#sw-topbar .sw-back { font-size: 13px !important; line-height: 18px !important; color: var(--sf-2) !important; }
#sw-topbar .sw-back:hover { color: var(--sf-brand) !important; }
#sw-topbar #sidebar-doc-title-input { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; color: var(--sf-1) !important; }
#sw-topbar .sw-chip { font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; }
#sw-topbar #sw-spec-chip { color: var(--sf-2) !important; }
#sw-topbar #btn-open-story-board, #sw-topbar .btn-first-save { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; }
#sw-topbar #btn-save-doc { font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; color: var(--sf-3) !important; }
#sw-dl-menu .sw-dl-hd { font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; color: var(--sf-2) !important; }
#sw-dl-menu .sw-dl-tx b { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; color: var(--sf-1) !important; }
#sw-dl-menu .sw-dl-tx span { font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; color: var(--sf-2) !important; }

/* —— 工具栏（模块 9–12） —— */
#saas-fullscreen-app-wrapper .editor-toolbar #tb-auto-scene, #saas-fullscreen-app-wrapper .editor-toolbar #tb-auto-delta { font-size: 12px !important; line-height: 16px !important; }
#saas-fullscreen-app-wrapper .editor-toolbar .fw-btn-nav, #saas-fullscreen-app-wrapper .editor-toolbar #btn-toolbar-ai.sw-tb-ai { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; color: var(--sf-2) !important; }
#saas-fullscreen-app-wrapper .editor-toolbar .fw-btn-nav.panel-active, #saas-fullscreen-app-wrapper .editor-toolbar #btn-toolbar-ai.sw-tb-ai.panel-active { color: var(--sf-brand) !important; }
#sw-pp-panel .sw-pp-t { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; color: var(--sf-1) !important; }
#sw-pp-panel .sw-pp-paper .sw-pp-chip { font-weight: 600 !important; }
#sw-pp-panel .sw-pp-paper > span:last-child { font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; color: var(--sf-2) !important; }
#sw-pp-panel .sw-pp-paper[aria-checked="true"] > span:last-child { font-weight: 600 !important; color: var(--sf-brand) !important; }
#sw-pp-panel .sw-pp-paper[aria-checked="true"] .sw-pp-chip { border-color: var(--sf-brand) !important; }
#sw-pp-panel .sw-pp-row > span:first-child { font-size: 12px !important; line-height: 16px !important; color: var(--sf-2) !important; }
#sw-pp-panel .sw-pp-seg button { font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; color: var(--sf-2) !important; }
#sw-pp-panel .sw-pp-seg button[aria-checked="true"] { font-weight: 600 !important; color: var(--sf-1) !important; }
#sw-pp-panel .sw-pp-note { font-size: 11px !important; line-height: 14px !important; color: var(--sf-3) !important; }

/* —— 左栏（模块 13–17） —— */
#saas-fullscreen-app-wrapper .left-sidebar .sw-card-t { font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; color: var(--sf-2) !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sw-card-meta, #saas-fullscreen-app-wrapper .left-sidebar #sw-ep-progress { font-size: 11px !important; line-height: 14px !important; color: var(--sf-3) !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item { font-size: 14px !important; line-height: 20px !important; color: var(--sf-1) !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item.active { color: var(--sf-brand) !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-tx .t { font-size: 13px !important; line-height: 18px !important; color: var(--sf-1) !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node.on .ssr-tx .t { color: var(--sf-brand) !important; }
#saas-fullscreen-app-wrapper .left-sidebar #setting-steprail .ssr-node .ssr-tx .s { font-size: 11px !important; line-height: 14px !important; color: var(--sf-3) !important; }
#saas-fullscreen-app-wrapper .left-sidebar .sw-opt { font-size: 11px !important; line-height: 14px !important; height: 16px !important; font-weight: 600 !important; color: var(--sf-2) !important; }
#saas-fullscreen-app-wrapper #sw-ep-gear { font-size: 12px !important; line-height: 16px !important; color: var(--sf-2) !important; }
#saas-fullscreen-app-wrapper #sw-ep-gear:hover, #saas-fullscreen-app-wrapper #sw-ep-gear[aria-expanded="true"] { color: var(--sf-brand) !important; }
#saas-fullscreen-app-wrapper #sw-ep-panel-hd b { font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; color: var(--sf-2) !important; }
#saas-fullscreen-app-wrapper #sw-ep-collapse { font-size: 12px !important; line-height: 16px !important; color: var(--sf-2) !important; }
#saas-fullscreen-app-wrapper #sw-ep-collapse:hover { color: var(--sf-brand) !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-input-label { font-size: 13px !important; line-height: 18px !important; color: var(--sf-2) !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-unit { font-size: 12px !important; color: var(--sf-2) !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-num-input { color: var(--sf-1) !important; }
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row #btn-ai-split-episodes, #saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row #btn-ai-split-episodes span { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; color: var(--sf-brand) !important; }
#saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row .sw-ai-split-meta, #saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row .sw-ai-split-meta * { font-size: 11px !important; line-height: 14px !important; color: var(--sf-3) !important; }
#saas-fullscreen-app-wrapper .episode-section.sw-merged #dynamic-episode-list .episode-item { font-size: 12px !important; line-height: 16px !important; }
#saas-fullscreen-app-wrapper .ep-loading-overlay .ep-loading-text { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; color: var(--sf-1) !important; }

/* —— 编辑区（模块 18–22、26） —— */
#overview-action-container .sw-empty-kicker, #characters-action-container .sw-empty-kicker { font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; color: var(--sf-brand) !important; }
#overview-action-container .sw-empty-h, #characters-action-container .sw-empty-h { font-size: 24px !important; line-height: 30px !important; font-weight: 600 !important; letter-spacing: -0.01em !important; color: var(--sf-1) !important; }
#overview-action-container .sw-start-main, #overview-action-container .sw-start-main span { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; }
#overview-action-container .sw-start-minor, #overview-action-container .sw-start-minor span { font-size: 13px !important; line-height: 18px !important; font-weight: 400 !important; color: var(--sf-2) !important; }
#overview-action-container .sw-road-step { font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; color: var(--sf-3) !important; }
#overview-action-container .sw-road-step.is-now { font-weight: 600 !important; color: var(--sf-brand) !important; }
#setting-cur-head #sch-hint { font-size: 13px !important; line-height: 18px !important; color: var(--sf-2) !important; }
#setting-cur-head #sch-name { font-size: 17px !important; line-height: 24px !important; letter-spacing: -0.01em !important; color: var(--sf-1) !important; }
#mode-switch-container .sw-modeseg .mode-text-btn, #mode-switch-container .sw-modeseg .sw-split-btn { line-height: 18px !important; color: var(--sf-2) !important; }
#mode-switch-container .sw-modeseg .mode-text-btn.active, #mode-switch-container .sw-modeseg .sw-split-btn.sw-on { color: var(--sf-1) !important; }
#mode-switch-container.sw-split-on .sw-modeseg .mode-text-btn.active { color: var(--sf-2) !important; }
#sw-split-pane .sw-sp-t { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; color: var(--sf-1) !important; }
#sw-split-pane .sw-sp-t svg { color: var(--sf-brand) !important; }
#sw-split-pane .sw-sp-m { font-size: 12px !important; line-height: 16px !important; color: var(--sf-3) !important; }
.comment-time { font-family: "DM Sans", -apple-system, "PingFang SC", sans-serif !important; font-weight: 400 !important; font-size: 11px !important; line-height: 14px !important; color: var(--sf-3) !important; font-variant-numeric: tabular-nums; }

/* —— 场景导航（模块 28–31） —— */
#saas-fullscreen-app-wrapper .right-panel .rp-nav-title { font-size: 17px !important; line-height: 24px !important; font-weight: 600 !important; color: var(--sf-1) !important; }
.nav-panel-title, .nav-list-title { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; color: var(--sf-1) !important; }
.nav-total-badge { font-size: 11px !important; line-height: 14px !important; font-weight: 600 !important; color: var(--sf-brand) !important; font-variant-numeric: tabular-nums; }
.nav-stat-box .nav-stat-val { font-size: 17px !important; line-height: 24px !important; font-weight: 600 !important; color: var(--sf-1) !important; font-variant-numeric: tabular-nums; }
.nav-stat-box .nav-stat-label { font-size: 11px !important; line-height: 14px !important; font-weight: 400 !important; color: var(--sf-3) !important; }
.nav-filter-note, .nav-empty-state__desc { font-size: 12px !important; line-height: 1.6 !important; font-weight: 400 !important; color: var(--sf-3) !important; }
.nav-list-subtitle { font-size: 11px !important; line-height: 14px !important; font-weight: 400 !important; color: var(--sf-3) !important; }
.nav-empty-state__title { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; color: var(--sf-1) !important; }
.nav-filter-select { font-size: 13px !important; line-height: 18px !important; font-weight: 400 !important; color: var(--sf-1) !important; }
.nav-ep-divider__title { font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; color: var(--sf-2) !important; }
.nav-ep-divider__count, .nav-meta-pill { font-size: 11px !important; line-height: 14px !important; font-weight: 400 !important; color: var(--sf-3) !important; font-variant-numeric: tabular-nums; }
.nav-scene-badge { font-size: 11px !important; line-height: 14px !important; font-weight: 600 !important; font-variant-numeric: tabular-nums; }
.nav-scene-title { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; color: var(--sf-1) !important; }
.nav-scene-sub { font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; color: var(--sf-2) !important; }

/* —— AI 面板（模块 32、33） —— */
#ai-panel-main-title, #ai-panel-main-title span { font-size: 17px !important; line-height: 24px !important; font-weight: 600 !important; color: var(--sf-1) !important; }

/* —— 全局看板（模块 41–44） —— */






.v-timeline-segment::after { font-weight: 600 !important; }

.story-card .sc-beat-tag, .beat-option, .beat-option.clear, .beat-custom-input { font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; }
















/* —— 弹窗（模块 45、46、48） —— */
.custom-slider-modal .custom-slider-modal-hd, .ai-large-modal .ai-large-modal-hd, .ai-large-modal .ai-large-modal-hd span {
    font-size: 17px !important; line-height: 24px !important; font-weight: 600 !important; letter-spacing: -0.01em !important; color: var(--sf-1) !important;
}
#sys-alert-title { color: var(--sf-err) !important; }
.custom-slider-modal .custom-slider-modal-bd, #ep-confirm-msg, #sys-alert-msg { font-size: 14px !important; line-height: 1.6 !important; font-weight: 400 !important; color: var(--sf-1) !important; }
.custom-slider-modal .custom-slider-modal-ft button, .ai-large-modal .ai-large-modal-ft button { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; }
.custom-slider-modal .btn-custom-slider-cancel { color: var(--sf-2) !important; }
#custom-slider-name-input { font-size: 14px !important; line-height: 20px !important; font-weight: 400 !important; color: var(--sf-1) !important; }
#ext-content-body { font-family: "DM Sans", -apple-system, "PingFang SC", sans-serif !important; font-size: 12px !important; line-height: 1.6 !important; color: var(--sf-2) !important; font-variant-numeric: tabular-nums; }
/* 从资产库引入（模块 48）：样式写在元素行内，这里用 !important 覆盖 */
#storyos-lib-import-overlay div:has(> #storyos-lib-import-close) { font-size: 17px !important; line-height: 24px !important; font-weight: 600 !important; letter-spacing: -0.01em !important; color: var(--sf-1) !important; }
#storyos-lib-import-list .storyos-lib-item > div > div:first-child { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; color: var(--sf-1) !important; }
#storyos-lib-import-list .storyos-lib-item > div > div:nth-child(2) { font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; color: var(--sf-3) !important; }
#storyos-lib-import-list .storyos-lib-item > span { font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; color: var(--sf-brand) !important; }
#storyos-lib-import-list > div:not(.storyos-lib-item) { font-size: 13px !important; line-height: 1.6 !important; color: var(--sf-3) !important; }

/* 看板「AI 结构诊断」按钮行高按 13px 级别 */
#btn-run-ai-doctor, #btn-export-outline { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; }


/* ======================================================================
   V1.52 · 右侧面板标题栏统一（设计稿 A）：场景导航与 AI 创作两个标题栏同高 56px、同一分隔线；
   标题 17/24 半粗；图标 18px 主色；关闭按钮 28px 浅灰圆底，悬停加深。颜色走法则变量，深色模式自动切换。
   ====================================================================== */
:root { --sf-surface: #ffffff; --sf-fill: #f0f1f5; --sf-fill-hover: #e4e6ec; }
html.dark-mode { --sf-surface: #14151f; --sf-fill: rgba(255, 255, 255, .08); --sf-fill-hover: rgba(255, 255, 255, .14); }

/* 两个面板标题栏统一：同高 56px、同内边距、标题 17/24 半粗、图标 18px */
#saas-fullscreen-app-wrapper #panel-wrapper-nav .rp-header-container, #saas-fullscreen-app-wrapper #panel-wrapper-ai .rp-header-container { height: 56px !important; min-height: 56px !important; padding: 0 14px 0 20px !important; box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: space-between !important; background: var(--sf-surface) !important; }
#saas-fullscreen-app-wrapper #panel-wrapper-ai .ai-panel-header-cell { width: 100% !important; height: 100% !important; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; background: transparent !important; }
#saas-fullscreen-app-wrapper #panel-wrapper-nav .rp-nav-title, #saas-fullscreen-app-wrapper #ai-panel-main-title { display: flex !important; align-items: center !important; gap: 10px !important; }
#saas-fullscreen-app-wrapper #panel-wrapper-nav .rp-nav-title svg, #saas-fullscreen-app-wrapper #ai-panel-main-title svg { width: 18px !important; height: 18px !important; flex: 0 0 18px; }
#saas-fullscreen-app-wrapper #panel-wrapper-nav .rp-nav-title svg, #saas-fullscreen-app-wrapper #panel-wrapper-nav .rp-nav-title svg *, #saas-fullscreen-app-wrapper #ai-panel-main-title svg, #saas-fullscreen-app-wrapper #ai-panel-main-title svg * { stroke: currentColor !important; }
#saas-fullscreen-app-wrapper #panel-wrapper-nav .btn-close-panel, #saas-fullscreen-app-wrapper #panel-wrapper-ai .btn-close-saas { width: 28px !important; height: 28px !important; min-width: 28px !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer; transition: background .15s, color .15s; }
#saas-fullscreen-app-wrapper #panel-wrapper-nav .btn-close-panel svg, #saas-fullscreen-app-wrapper #panel-wrapper-ai .btn-close-saas svg { width: 14px !important; height: 14px !important; }
#saas-fullscreen-app-wrapper #panel-wrapper-nav .btn-close-panel svg *, #saas-fullscreen-app-wrapper #panel-wrapper-ai .btn-close-saas svg * { stroke: currentColor !important; }
#saas-fullscreen-app-wrapper #panel-wrapper-nav .rp-header-container, #saas-fullscreen-app-wrapper #panel-wrapper-ai .rp-header-container { border-bottom: 1px solid rgba(60, 60, 67, .10) !important; }
#saas-fullscreen-app-wrapper #panel-wrapper-ai .ai-panel-header-cell { border: 0 !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper #panel-wrapper-nav .btn-close-panel, #saas-fullscreen-app-wrapper #panel-wrapper-ai .btn-close-saas { background: var(--sf-fill) !important; color: var(--sf-2) !important; }
#saas-fullscreen-app-wrapper #panel-wrapper-nav .btn-close-panel:hover, #saas-fullscreen-app-wrapper #panel-wrapper-ai .btn-close-saas:hover { background: var(--sf-fill-hover) !important; color: var(--sf-1) !important; }#saas-fullscreen-app-wrapper #panel-wrapper-nav .rp-nav-title svg, #saas-fullscreen-app-wrapper #ai-panel-main-title svg { color: var(--sf-brand) !important; }

/* V1.52：AI 创作对话补上深色模式（原来深色模式下仍是白底；法则层让文字变浅后几乎看不清） */
html.dark-mode #saas-fullscreen-app-wrapper #panel-wrapper-ai,

/* V1.52：深色模式补齐 —— 早先改版层写死的浅色底（标签、模式切换、信纸面板、下载菜单、空白页按钮、分集设置等）
   在深色模式下换成半透明深色底；工具栏图标按钮的文字色改走法则变量 */
html.dark-mode #sw-topbar .sw-chip { background: rgba(255, 255, 255, .08) !important; }
html.dark-mode #sw-topbar .sw-chip.is-new { background: rgba(63, 138, 95, .24) !important; color: #8fd9ae !important; }
html.dark-mode #sw-topbar .sw-chip.is-src { background: rgba(142, 150, 240, .16) !important; color: var(--sf-brand) !important; }
html.dark-mode #saas-fullscreen-app-wrapper .editor-toolbar .tb { color: var(--sf-2) !important; }
html.dark-mode #saas-fullscreen-app-wrapper .editor-toolbar .tb:hover { background: var(--sf-fill) !important; }
html.dark-mode #saas-fullscreen-app-wrapper .editor-toolbar .tb.active { background: rgba(142, 150, 240, .16) !important; color: var(--sf-brand) !important; }
html.dark-mode #saas-fullscreen-app-wrapper .editor-toolbar .fw-btn-nav:hover { background: var(--sf-fill) !important; }
html.dark-mode #saas-fullscreen-app-wrapper .editor-toolbar .fw-btn-nav.panel-active, html.dark-mode #saas-fullscreen-app-wrapper .editor-toolbar #btn-toolbar-ai.sw-tb-ai.panel-active { background: rgba(142, 150, 240, .16) !important; }
html.dark-mode #overview-action-container .sw-start-minor { background: rgba(255, 255, 255, .05) !important; border-color: rgba(255, 255, 255, .12) !important; box-shadow: none !important; }
html.dark-mode #overview-action-container .sw-road, html.dark-mode #overview-action-container .sw-road-step { background: rgba(255, 255, 255, .05) !important; }
html.dark-mode #overview-action-container .sw-road-arrow { color: var(--sf-3) !important; }
html.dark-mode #saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-fieldset { background: rgba(255, 255, 255, .04) !important; }
html.dark-mode #saas-fullscreen-app-wrapper .episode-section.sw-merged .ep-input-wrapper, html.dark-mode #saas-fullscreen-app-wrapper .episode-section.sw-merged .sw-stepper .sw-step-btn { background: rgba(255, 255, 255, .08) !important; }
html.dark-mode #saas-fullscreen-app-wrapper #sw-ep-gear, html.dark-mode #saas-fullscreen-app-wrapper .ep-fieldset #sw-ep-ai-row #btn-ai-split-episodes { background: rgba(255, 255, 255, .05) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14) !important; }
html.dark-mode #mode-switch-container .sw-modeseg { background: rgba(255, 255, 255, .06) !important; }
html.dark-mode #mode-switch-container .sw-modeseg .mode-text-btn.active, html.dark-mode #mode-switch-container .sw-modeseg .sw-split-btn.sw-on { background: rgba(255, 255, 255, .12) !important; box-shadow: none !important; }
html.dark-mode #mode-switch-container.sw-split-on .sw-modeseg .mode-text-btn.active { background: transparent !important; }

html.dark-mode .custom-slider-modal .custom-slider-modal-ft button { color: var(--sf-1) !important; }
html.dark-mode .custom-slider-modal .btn-custom-slider-cancel { color: var(--sf-2) !important; }
html.dark-mode #btn-confirm-custom-slider, html.dark-mode #btn-sys-alert-ok, html.dark-mode #btn-ext-content-close { color: var(--sf-brand) !important; }
html.dark-mode #btn-ep-confirm-ok { color: #ffffff !important; }
html.dark-mode #sw-pp-panel { background: var(--sf-surface) !important; border-color: rgba(255, 255, 255, .12) !important; box-shadow: 0 12px 32px rgba(0, 0, 0, .45) !important; }
html.dark-mode #sw-pp-panel .sw-pp-seg { background: rgba(255, 255, 255, .06) !important; }
html.dark-mode #sw-pp-panel .sw-pp-seg button[aria-checked="true"] { background: rgba(255, 255, 255, .12) !important; box-shadow: none !important; }
html.dark-mode #sw-dl-menu { background: var(--sf-surface) !important; border-color: rgba(255, 255, 255, .12) !important; box-shadow: 0 12px 32px rgba(0, 0, 0, .45) !important; }
html.dark-mode #sw-dl-menu button:hover, html.dark-mode #sw-dl-menu button:focus-visible { background: var(--sf-fill) !important; }

/* ======================================================================
   V1.53 · 补漏：AI 创作对话的动态状态（回复卡片、报错、参考菜单、清空）与场景导航「外景」标签
   ====================================================================== */
/* 场景导航：内景主色、外景中性灰（原来是绿色 #2EB8A0，不在法则色板里） */
.nav-scene-badge.nav-badge-ext { color: var(--sf-2) !important; background: var(--sf-fill) !important; border-color: transparent !important; }
/* 深色模式 */
/* ======================================================================
   V1.54 · 信纸方案 A：信纸只作用于编辑区（纸面、对照写集纲栏、空白页）；
   顶栏、工具栏、左栏、右侧面板保持原来的颜色，文字一律按字体法则，只跟随浅色 / 深色模式。
   （body.sw-pp.sw-pp 双写类名，是为了权重高过原来整区换色的规则）
   ====================================================================== */
html:not(.dark-mode) body.sw-pp.sw-pp #saas-fullscreen-app-wrapper { background: #edf0f5 !important; }
html:not(.dark-mode) body.sw-pp.sw-pp #sw-topbar, html:not(.dark-mode) body.sw-pp.sw-pp .editor-toolbar { background: #ffffff !important; border-color: rgba(60, 60, 67, .10) !important; }
html:not(.dark-mode) body.sw-pp.sw-pp #saas-fullscreen-app-wrapper .left-sidebar { background: #f8f9fc !important; border-color: #e6ebf3 !important; }
html:not(.dark-mode) body.sw-pp.sw-pp #saas-fullscreen-app-wrapper .left-sidebar .episode-section.sw-merged { background: transparent !important; border-color: rgba(60, 60, 67, .10) !important; }
html:not(.dark-mode) body.sw-pp.sw-pp .episode-section.sw-merged .ep-fieldset, html:not(.dark-mode) body.sw-pp.sw-pp #sw-ep-tip { background: #eef0f5 !important; }
html:not(.dark-mode) body.sw-pp.sw-pp #main-side-panel { background: #f5f6fa !important; }
html:not(.dark-mode) body.sw-pp.sw-pp #sw-topbar .sidebar-title-wrap { background: transparent !important; color: var(--sf-1) !important; }
html:not(.dark-mode) body.sw-pp.sw-pp #sw-topbar #btn-open-story-board { background: #ffffff !important; border-color: #dfe3ea !important; color: var(--sf-1) !important; }
html:not(.dark-mode) body.sw-pp.sw-pp #sw-topbar .sidebar-script-name-input, html:not(.dark-mode) body.sw-pp.sw-pp .episode-section.sw-merged .ep-num-input { color: var(--sf-1) !important; }
html:not(.dark-mode) body.sw-pp.sw-pp #saas-fullscreen-app-wrapper .left-sidebar .sidebar-section .sidebar-nav-item:not(.active) { color: var(--sf-1) !important; }
html:not(.dark-mode) body.sw-pp.sw-pp .episode-item .episode-item-name, html:not(.dark-mode) body.sw-pp.sw-pp .fw-folder-hd { color: var(--sf-1) !important; }
html:not(.dark-mode) body.sw-pp-night.sw-pp-night .editor-toolbar button, html:not(.dark-mode) body.sw-pp-night.sw-pp-night .editor-toolbar .fw-btn-nav { color: var(--sf-2) !important; }
html:not(.dark-mode) body.sw-pp-night.sw-pp-night #sw-topbar .sw-back { color: var(--sf-2) !important; }
html:not(.dark-mode) body.sw-pp-night.sw-pp-night .sw-thumb { background: rgba(0, 0, 0, .18) !important; }
/* 夜读：只有纸面变深，纸面上的文字换成深色模式文字色 */
html:not(.dark-mode) body.sw-pp-night .editor-area, html:not(.dark-mode) body.sw-pp-night .editor-content,
html:not(.dark-mode) body.sw-pp-night .document-mode-switch, html:not(.dark-mode) body.sw-pp-night #sw-split-pane,
html:not(.dark-mode) body.sw-pp-night #overview-action-container, html:not(.dark-mode) body.sw-pp-night #characters-action-container,
html:not(.dark-mode) body.sw-pp-night #setting-cur-head, html:not(.dark-mode) body.sw-pp-night #mode-switch-container {
    --sf-1: #f5f5f7; --sf-2: #a1a1a6; --sf-3: #86868b; --sf-4: #636366; --sf-brand: #8e96f0;
}
html:not(.dark-mode) body.sw-pp.sw-pp #saas-fullscreen-app-wrapper .left-sidebar .sidebar-section { background: transparent !important; border-color: rgba(60, 60, 67, .10) !important; }
/* 工具栏在编辑区外框里，但不属于纸面：夜读时保持浅色文字色 */
html:not(.dark-mode) body.sw-pp-night .editor-toolbar { --sf-1: #1d1d1f; --sf-2: #6e6e73; --sf-3: #86868b; --sf-4: #aeaeb2; --sf-brand: #4a55c7; }
html:not(.dark-mode) body.sw-pp.sw-pp #saas-fullscreen-app-wrapper #sw-ep-gear { background: #ffffff !important; border-color: rgba(60, 60, 67, .12) !important; box-shadow: inset 0 0 0 1px rgba(60, 60, 67, .12) !important; color: var(--sf-2) !important; }
html:not(.dark-mode) body.sw-pp.sw-pp #saas-fullscreen-app-wrapper #sw-ep-gear * { color: var(--sf-2) !important; }
/* 空白页流程分隔箭头：原来太淡（在纸色上对比度 1.5），改用弱化灰 */
#overview-action-container .sw-road-arrow { color: var(--sf-3) !important; }
/* ======================================================================
   V2.0 · 剧本编辑器全屏工作区（规则书 V2.24 · 定稿 ① · 第一批：骨架）
   只在 #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 下生效（脚本排好新结构后加 sw2 类）；
   顶栏 #sw-topbar 从第一帧就不显示，里面的元素搬进左栏头部 / 主区头部 / 左栏底部。
   ====================================================================== */
#saas-fullscreen-app-wrapper #sw-topbar { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 {
  --s2-t1: #18181B; --s2-ink0: #09090B; --s2-head: #27272A; --s2-t2: #3F3F46; --s2-t5: #52525B; --s2-t3: #71717A; --s2-t4: #A1A1AA;
  --s2-line: #E4E4E7; --s2-field: #D4D4D8; --s2-row: #F4F4F5; --s2-soft: #FAFAFA; --s2-paper: #FFFFFF; --s2-ink: #27272A; --s2-inkb: #18181B; --s2-onink: #FAFAFA; --s2-warn: #9A3412;
  --s2-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; --s2-serif: "Songti SC", "STSong", "SimSun", serif; --s2-mono: "DM Mono", ui-monospace, Menlo, monospace;
  --s2-pop: 0 0 0 1px #E4E4E7, 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
}
html.dark-mode #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 {
  --s2-t1: #FAFAFA; --s2-ink0: #FAFAFA; --s2-head: #E4E4E7; --s2-t2: #D4D4D8; --s2-t5: #A1A1AA; --s2-t3: #A1A1AA; --s2-t4: #71717A;
  --s2-line: #3F3F46; --s2-field: #52525B; --s2-row: #27272A; --s2-soft: #1F1F23; --s2-paper: #18181B; --s2-ink: #F4F4F5; --s2-inkb: #FAFAFA; --s2-onink: #18181B; --s2-warn: #FED7AA;
  --s2-pop: 0 0 0 1px #3F3F46, 0 10px 15px -3px rgba(0,0,0,.4), 0 4px 6px -4px rgba(0,0,0,.4);
}
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-workspace, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .main-body { background: var(--s2-paper) !important; font-family: var(--s2-sans) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .main-body { height: 100% !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-ic { width: 16px; height: 16px; flex-shrink: 0; fill: currentColor; }

/* ---------- 左栏 360 ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar { position: relative !important; width: 360px !important; min-width: 360px !important; max-width: 360px !important; flex: 0 0 360px !important; padding: 0 !important; gap: 0 !important; background: var(--s2-paper) !important; border-right: 1px solid var(--s2-line) !important; display: flex !important; flex-direction: column !important; overflow: visible !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar > .sw2-lbody { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; box-sizing: border-box; padding: 4px 20px 64px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lhead { height: 56px; flex-shrink: 0; box-sizing: border-box; padding: 0 28px 0 16px; border-bottom: 1px solid var(--s2-line); display: flex; align-items: center; gap: 8px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-round { width: 36px; height: 36px; flex-shrink: 0; border-radius: 9999px; display: inline-flex; align-items: center; justify-content: center; color: var(--s2-t5); text-decoration: none; background: transparent; border: 0; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-round .sw2-ic { width: 20px; height: 20px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-round:hover { background: var(--s2-row); color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lhead .sw2-round { width: 32px; height: 32px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-ltitle { flex: 1; min-width: 0; padding-left: 2px; display: flex; flex-direction: column; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tline { display: flex; align-items: center; gap: 6px; min-width: 0; cursor: text; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tline .sw2-pen { width: 12px; height: 12px; color: var(--s2-t4); flex-shrink: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tline:hover .sw2-pen { color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sidebar-doc-title-input { width: auto !important; min-width: 40px !important; max-width: 100% !important; height: 20px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; font-family: var(--s2-serif) !important; font-size: 15px !important; line-height: 20px !important; font-weight: 600 !important; letter-spacing: 0 !important; color: var(--s2-head) !important; text-overflow: ellipsis; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sidebar-doc-title-input:focus { box-shadow: 0 1px 0 var(--s2-t3) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lsub { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-sq { width: 32px; height: 32px; flex-shrink: 0; border-radius: 4px; border: 0; background: transparent; color: var(--s2-t3); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-sq:hover { background: var(--s2-row); color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-handle { position: absolute; right: 0; top: 12px; width: 16px; height: 32px; box-sizing: border-box; background: var(--s2-paper); border: 1px solid var(--s2-line); border-right: 0; border-radius: 6px 0 0 6px; display: flex; align-items: center; justify-content: center; gap: 2px; z-index: 30; cursor: col-resize; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-handle i { width: 1.5px; height: 12px; background: var(--s2-field); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-handle:hover i { background: var(--s2-t3); }
/* 左栏收起 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-lcollapsed .left-sidebar { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-expand { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-lcollapsed .sw2-expand { display: inline-flex; }

/* 分组条（准备 / 分集） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-section, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .episode-section { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; gap: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .episode-section.sw-merged { margin-top: 16px !important; border-top: 1px solid var(--s2-row) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sw-card-hd { height: auto !important; min-height: 24px !important; box-sizing: border-box !important; margin: 22px 0 8px !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sw-card-hd .sw-card-t { display: inline-flex !important; align-items: baseline !important; gap: 8px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sw-card-hd, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sw-card-hd * { font-family: var(--s2-sans) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sw-card-hd .sw-card-title, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sw-card-hd > span:first-child, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sw-card-hd h3, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sw-card-hd b { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; letter-spacing: .08em !important; color: var(--s2-t1) !important; text-transform: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sw-card-meta { margin: 0 !important; font-family: var(--s2-sans) !important; font-size: 13px !important; line-height: 18px !important; font-weight: 400 !important; letter-spacing: 0 !important; color: var(--s2-t3) !important; font-variant-numeric: tabular-nums; }
/* 分集设置（原「⚙」整行）→ 分组条右侧一行小字 + 齿轮 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-gear { width: auto !important; height: 24px !important; margin: 0 -4px 0 auto !important; padding: 0 4px !important; border: 0 !important; border-radius: 4px !important; background: transparent !important; box-shadow: none !important; display: inline-flex !important; align-items: center !important; gap: 4px !important; color: var(--s2-t5) !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-gear:hover { background: var(--s2-row) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-gear-text { font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; letter-spacing: 0 !important; color: inherit !important; font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-gear svg { width: 14px !important; height: 14px !important; color: var(--s2-t4) !important; }
/* 准备：行 36，底色内缩（离左栏边缘 10），圆角 6（V3.0.2 · 规则书 V2.49 L1） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item { height: 40px !important; min-height: 40px !important; box-sizing: border-box !important; margin: 0 -10px 2px !important; padding: 0 10px !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important; display: flex !important; align-items: center !important; gap: 10px !important; color: var(--s2-t2) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item:hover { background: var(--s2-soft) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item.active { background: var(--s2-row) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item .sw-nav-tx { display: inline-flex !important; align-items: center !important; gap: 10px !important; font-size: 15px !important; line-height: 22px !important; font-weight: 500 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item.active .sw-nav-tx { font-weight: 600 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item > svg { display: none !important; }
/* 完成圆标（规则书 V2.50 · L4）：已完成深灰实心圆 + 白勾，未完成浅灰空心圆；文字后不再加「✓」 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item .sw-nav-tx::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-tx .t::before { content: '' !important; display: inline-block !important; flex: 0 0 18px !important; width: 18px !important; height: 18px !important; box-sizing: border-box !important; margin: 0 !important; border-radius: 9999px !important; border: 1.5px solid var(--s2-t4) !important; background: transparent !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item.sw-done .sw-nav-tx::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node.filled .ssr-tx .t::before { border-color: var(--s2-t2) !important; background: var(--s2-t2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px 11px no-repeat !important; }
html.dark-mode #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item.sw-done .sw-nav-tx::before, html.dark-mode #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node.filled .ssr-tx .t::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318181B' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item.sw-done .sw-nav-tx::after, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node.filled .ssr-tx .t::after { content: none !important; display: none !important; }
/* V3.0.14（规则书 V2.61）：故事设定子项比「故事设定」低一级——圆标换成 6px 小圆点（和上面的圆标同一条中线），文字 14 / 400 与上级文字左对齐 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node .ssr-tx .t::before { flex: 0 0 6px !important; width: 6px !important; height: 6px !important; margin: 0 8px 0 0 !important; border: 0 !important; border-radius: 9999px !important; background: var(--s2-field) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node.filled .ssr-tx .t::before { background: var(--s2-t2) !important; }
html.dark-mode #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node.ssr-node.filled .ssr-tx .t::before { background-image: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item.sw-done .sw-nav-tx::after, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item .sw-check { color: var(--s2-t4) !important; }
/* 故事设定子步骤 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sw-sub, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-sub-item, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar [class*="sw-step"] { font-family: var(--s2-sans) !important; }
/* 集数格子：一行 6 格、34 高、等宽数字（V3.0.2） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list { display: grid !important; grid-template-columns: repeat(auto-fill, 34px) !important; justify-content: start !important; gap: 6px !important; row-gap: 6px !important; column-gap: 6px !important; grid-auto-rows: 36px !important; align-content: start !important; padding: 0 !important; margin: 0 !important; width: auto !important; height: auto !important; background: transparent !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item { position: relative !important; height: 36px !important; min-height: 36px !important; width: auto !important; box-sizing: border-box !important; margin: 0 !important; padding: 0 !important; border: 1px solid var(--s2-line) !important; border-radius: 6px !important; background: var(--s2-paper) !important; box-shadow: none !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item > * { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item::before { content: attr(data-n) !important; display: block !important; position: static !important; font-family: var(--s2-sans) !important; font-size: 14px !important; line-height: 20px !important; font-weight: 400 !important; color: var(--s2-t3) !important; font-variant-numeric: tabular-nums; background: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item::after { display: none !important; content: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item.sw-has { background: var(--s2-row) !important; border-color: transparent !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item.sw-has::before { font-weight: 600 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item:hover { border-color: var(--s2-t4) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item.active { border-color: var(--s2-inkb) !important; box-shadow: 0 0 0 1px var(--s2-inkb) !important; background: var(--s2-paper) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item.active::before { font-weight: 700 !important; color: var(--s2-ink0) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item .sw2-dot { display: block !important; position: absolute; top: 4px; right: 4px; width: 6px; height: 6px; border-radius: 9999px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .episode-list-wrapper, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .episode-folder, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .episode-folder-content { padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .episode-folder-header { display: none !important; }
/* 当前集小卡 + 分集按钮 */
/* 前后衔接（V3.0.6 · 规则书 V2.53 · Q1 框内时间线）：白底细边框、字号 12 / 14 / 13、每段标来源；无按钮、无进度条 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard { margin: 16px 0 0; padding: 14px; box-sizing: border-box; border: 1px solid var(--s2-line); border-radius: 8px; background: var(--s2-paper); display: block; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard[hidden] { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-hd { width: 100%; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: var(--s2-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0; text-align: left; color: var(--s2-t2); cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-tog { display: inline-flex; align-items: center; gap: 3px; font-size: 12px; font-weight: 400; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-hd:hover .sw2-ec-tog { color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-hd:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: 4px; border-radius: 4px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-tog svg { transition: transform .15s ease; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard.is-open .sw2-ec-tog svg { transform: rotate(180deg); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-bd { display: none; margin-top: 12px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard.is-open .sw2-ec-bd { display: block; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-tl { position: relative; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-tl::before { content: ""; position: absolute; left: 3.5px; top: 14px; bottom: 40px; width: 1px; background: var(--s2-line); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-seg { position: relative; padding: 0 0 14px 16px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-seg:last-child { padding-bottom: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-dot { position: absolute; left: 0; top: 6px; width: 8px; height: 8px; box-sizing: border-box; border-radius: 9999px; border: 1.5px solid var(--s2-field); background: var(--s2-paper); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-seg.is-cur .sw2-ec-dot { border-color: var(--s2-t2); background: var(--s2-t2); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-top { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-width: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-tag { min-width: 0; font-size: 12px; line-height: 18px; color: var(--s2-t3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-src { flex-shrink: 0; height: 18px; padding: 0 6px; border-radius: 4px; background: var(--s2-row); color: var(--s2-t3); font-size: 11px; line-height: 18px; white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-t { margin-top: 3px; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--s2-t2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-t.is-none { color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-t.is-empty { color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-seg.is-cur .sw2-ec-t { font-weight: 600; color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-b { margin-top: 3px; font-size: 13px; line-height: 20px; color: var(--s2-t5); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; word-break: break-all; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-b.is-empty { color: var(--s2-t4); }
/* V3.0.8 · R2：上一集 / 下一集摘录区框内滚轮滚动，框高不变（V3.0.9 起最高 6 行） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-b.is-sc { display: block; -webkit-line-clamp: unset; max-height: 120px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding-right: 6px; scrollbar-width: thin; scrollbar-color: var(--s2-field) transparent; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-b.is-sc::-webkit-scrollbar { width: 4px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-b.is-sc::-webkit-scrollbar-thumb { background: var(--s2-field); border-radius: 4px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-b.is-sc::-webkit-scrollbar-track { background: transparent; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-b.is-sc.fade-t { -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 16px); mask-image: linear-gradient(to bottom, transparent 0, #000 16px); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-b.is-sc.fade-b { -webkit-mask-image: linear-gradient(to top, transparent 0, #000 16px); mask-image: linear-gradient(to top, transparent 0, #000 16px); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-b.is-sc.fade-t.fade-b { -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-hint { margin-top: 4px; font-size: 11px; line-height: 16px; color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-hint[hidden] { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-seg.is-cur .sw2-ec-b { color: var(--s2-t2); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-cnt { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--s2-row); font-size: 12px; line-height: 16px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard .sw2-ec-cnt b { font-family: var(--s2-sans); font-weight: 400; color: var(--s2-t2); font-variant-numeric: tabular-nums; }
/* 次按钮 / 主按钮 / 文字按钮（规则书「按钮」） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-btn { box-sizing: border-box; height: 30px; padding: 0 10px; border-radius: 4px; border: 1px solid var(--s2-field); background: var(--s2-paper); color: var(--s2-t5); display: inline-flex; align-items: center; justify-content: center; gap: 4px; font-family: var(--s2-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .3px; white-space: nowrap; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-btn:hover { background: var(--s2-soft); border-color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-btn .sw2-ic { width: 14px; height: 14px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-btn.is-primary { background: var(--s2-inkb); border-color: var(--s2-inkb); color: var(--s2-onink); font-size: 13px; letter-spacing: 0; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-btn.is-primary:hover { background: var(--s2-ink); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-btn.is-primary[aria-disabled="true"] { opacity: .6; cursor: default; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-btn.is-icon { width: 30px; padding: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbtn { box-sizing: border-box; height: 30px; padding: 0 10px; border-radius: 4px; border: 0; background: transparent; color: var(--s2-t5); display: inline-flex; align-items: center; gap: 6px; font-family: var(--s2-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .3px; white-space: nowrap; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbtn .sw2-ic { width: 14px; height: 14px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbtn:hover { background: var(--s2-row); color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbtn.is-on { background: var(--s2-row); color: var(--s2-t1); }
/* 左栏底部 59 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar { height: 59px; flex-shrink: 0; box-sizing: border-box; padding: 0 20px 0 12px; border-top: 1px solid var(--s2-line); display: flex; align-items: center; gap: 2px; background: var(--s2-paper); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-av { width: 42px; height: 42px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-av span { width: 32px; height: 32px; border-radius: 9999px; background: var(--s2-row); color: var(--s2-t2); display: inline-flex; align-items: center; justify-content: center; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar #btn-download-script, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar .sw-pp-btn { box-sizing: border-box !important; width: auto !important; min-width: 0 !important; height: 34px !important; margin: 0 !important; padding: 0 8px !important; border: 0 !important; border-radius: 9999px !important; background: transparent !important; box-shadow: none !important; color: var(--s2-t5) !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; font-family: var(--s2-sans) !important; font-size: 14px !important; line-height: 20px !important; font-weight: 500 !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar #btn-download-script:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar .sw-pp-btn:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar #btn-download-script[aria-expanded="true"], #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar .sw-pp-btn[aria-expanded="true"] { background: var(--s2-row) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar #btn-download-script > *:not(.sw2-bl), #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar .sw-pp-btn > *:not(.sw2-bl) { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar .sw2-bl { display: inline-flex; align-items: center; gap: 6px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-status { margin-left: auto; padding-right: 8px; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--s2-t3); white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-status.is-dirty { color: var(--s2-warn); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-status i { width: 6px; height: 6px; border-radius: 9999px; background: currentColor; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #btn-save-doc { display: none !important; }

/* ---------- 主区 ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-area { position: relative !important; background: var(--s2-paper) !important; display: flex !important; flex-direction: column !important; min-width: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mhead { height: 56px; flex-shrink: 0; box-sizing: border-box; padding: 0 12px 0 20px; border-bottom: 1px solid var(--s2-line); display: flex; align-items: center; gap: 12px; background: var(--s2-paper); position: relative; z-index: 25; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-modes { display: flex; align-items: center; flex-shrink: 0; box-sizing: border-box; height: auto; padding-right: 0; border-right: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mode { box-sizing: border-box; height: 34px; padding: 0 14px; border-radius: 9999px; border: 1px solid var(--s2-field); background: var(--s2-paper); color: var(--s2-t5); display: inline-flex; align-items: center; gap: 6px; font-family: var(--s2-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .3px; cursor: pointer; white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mode:hover { background: rgba(161,161,170,.2); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mode.is-on { background: var(--s2-ink); border-color: var(--s2-inkb); color: var(--s2-onink); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-step { display: flex; align-items: center; gap: 8px; }
/* V3.0.13：顶栏不再显示切集块（第 N 集 · 标题 · N / 20 · ‹ ›）和页面标题（故事梗概 · N 字）；[hidden] 加 !important，压过 E1 对页面标题写死的 display */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-step[hidden], #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pagetitle[hidden] { display: none !important; }
/* V3.0.13：「集纲 / 对照写 / 剧本」分段不许被挤窄换行 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container { flex-shrink: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #mode-switch-container .mode-text-btn { flex-shrink: 0 !important; white-space: nowrap !important; word-break: keep-all !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-step .sw2-btn { width: 30px; padding: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-step .sw2-btn[disabled] { opacity: .6; cursor: default; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-steplb { display: flex; flex-direction: column; align-items: center; min-width: 112px; max-width: 220px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-steplb b { font-size: 14px; line-height: 18px; font-weight: 600; color: var(--s2-t1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-steplb span { font-size: 11px; line-height: 14px; color: var(--s2-t3); font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pagetitle { display: flex; align-items: baseline; gap: 12px; min-width: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pagetitle b { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--s2-t1); white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pagetitle span { font-size: 12px; line-height: 16px; color: var(--s2-t3); white-space: nowrap; font-variant-numeric: tabular-nums; }
/* 集纲 / 对照写 / 剧本 分段 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container { position: static !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; gap: 0 !important; transform: none !important; width: auto !important; height: auto !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container:not([style*="none"]) { display: flex !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .mode-text-btn { box-sizing: border-box !important; height: 30px !important; margin: 0 0 0 -1px !important; padding: 0 12px !important; border: 1px solid var(--s2-field) !important; border-radius: 0 !important; background: var(--s2-paper) !important; box-shadow: none !important; color: var(--s2-t5) !important; display: inline-flex !important; align-items: center !important; font-family: var(--s2-sans) !important; font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; letter-spacing: .3px !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .mode-text-btn:first-of-type { margin-left: 0 !important; border-radius: 4px 0 0 4px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .mode-text-btn.sw2-last { border-radius: 0 4px 4px 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .mode-text-btn.active { background: var(--s2-ink) !important; border-color: var(--s2-inkb) !important; color: var(--s2-onink) !important; position: relative; z-index: 1; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .mode-text-btn::after, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .mode-text-btn::before { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .mode-ai-write-btn, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-mode-sep { display: none !important; }
/* 右侧开关（场景 / AI 创作）：原按钮搬进来改样式 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-nav, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai { box-sizing: border-box !important; width: auto !important; height: 30px !important; margin: 0 !important; padding: 0 10px !important; border: 0 !important; border-radius: 4px !important; background: transparent !important; box-shadow: none !important; color: var(--s2-t5) !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; font-family: var(--s2-sans) !important; font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; letter-spacing: .3px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-nav svg, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai svg { width: 14px !important; height: 14px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-nav:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-nav.sw2-on, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai.sw2-on { background: var(--s2-row) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-narrow .sw2-right #btn-toolbar-nav .sw2-lb, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-narrow .sw2-right #btn-toolbar-ai .sw2-lb, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-narrow .sw2-steplb b { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-narrow .sw2-steplb { min-width: 44px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-narrow .sw2-steplb span { font-size: 12px; line-height: 16px; font-weight: 600; color: var(--s2-t1); }

/* 工具条 44 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar { height: 44px !important; min-height: 44px !important; box-sizing: border-box !important; padding: 0 12px 0 16px !important; margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--s2-line) !important; border-radius: 0 !important; background: var(--s2-paper) !important; box-shadow: none !important; display: flex !important; align-items: center !important; gap: 2px !important; position: relative !important; top: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .tb { width: 30px !important; min-width: 30px !important; height: 30px !important; border: 0 !important; border-radius: 4px !important; background: transparent !important; color: var(--s2-t2) !important; box-shadow: none !important; font-family: var(--s2-sans) !important; font-size: 14px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .tb svg { width: 16px !important; height: 16px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .tb:hover { background: var(--s2-row) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .tb.active { background: var(--s2-row) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-scene, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-delta { width: auto !important; padding: 0 10px !important; margin: 0 2px !important; border: 1px solid var(--s2-field) !important; background: var(--s2-paper) !important; color: var(--s2-t5) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .3px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-scene.active, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-delta.active { background: var(--s2-row) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .tb-divider, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .toolbar-divider, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar [class*="divider"] { width: 1px !important; height: 18px !important; margin: 0 6px !important; background: var(--s2-line) !important; border: 0 !important; }

/* 写作区：浅灰底 + 纸面 720 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll { flex: 1 !important; min-height: 0 !important; background: var(--s2-soft) !important; padding: 24px 24px 0 !important; box-sizing: border-box !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #quill-editor-container { width: 100% !important; max-width: 720px !important; margin: 0 auto !important; box-sizing: border-box !important; background: var(--pp-card, var(--s2-paper)) !important; border: 1px solid var(--s2-line) !important; border-bottom: 0 !important; border-radius: 8px 8px 0 0 !important; box-shadow: none !important; min-height: calc(100% - 24px) !important; height: auto !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #quill-editor-container .ql-editor { padding: 40px 56px 170px !important; font-family: var(--s2-serif) !important; font-size: 16px !important; line-height: 28px !important; color: var(--pp-text, var(--s2-head)) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #quill-editor-container .ql-editor p { margin: 0 0 8px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #quill-editor-container .ql-editor strong, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #quill-editor-container .ql-editor b { font-weight: 700 !important; color: var(--pp-text, var(--s2-t1)) !important; }
body.sw-fs-s #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #quill-editor-container .ql-editor { font-size: 15px !important; line-height: 26px !important; }
body.sw-fs-l #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #quill-editor-container .ql-editor { font-size: 18px !important; line-height: 32px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-empty-stage, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #overview-action-container, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #characters-action-container { max-width: 720px; margin-left: auto !important; margin-right: auto !important; }

/* 窄屏：左栏收窄 */
@media (max-width: 1280px) {
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar { width: 320px !important; min-width: 320px !important; max-width: 320px !important; flex-basis: 320px !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list { grid-template-columns: repeat(auto-fill, 34px) !important; }
}
/* 分集设置浮层（原来在左栏里展开，改成从分组条右侧弹出，按「弹出菜单」规格） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .episode-section.sw-merged { position: relative !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset { position: absolute !important; top: 48px !important; right: 0 !important; left: 0 !important; width: auto !important; max-width: none !important; box-sizing: border-box !important; z-index: 40 !important; margin: 0 !important; padding: 14px !important; background: var(--s2-paper) !important; border: 0 !important; border-radius: 8px !important; box-shadow: var(--s2-pop) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset * { font-family: var(--s2-sans) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset input { height: 30px !important; border: 1px solid var(--s2-field) !important; border-radius: 4px !important; background: var(--s2-paper) !important; color: var(--s2-t1) !important; font-size: 14px !important; font-weight: 600 !important; text-align: center; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset button { border-radius: 4px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset #btn-ai-split-episodes { height: 30px !important; border: 1px solid var(--s2-field) !important; background: var(--s2-paper) !important; color: var(--s2-t5) !important; font-size: 12px !important; font-weight: 600 !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-tip { display: none !important; }

#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sidebar-doc-title-input { field-sizing: content; }
/* 内测条 44（全屏工作区规格：顶部内测条，下面左右两块） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-workspace { display: flex !important; flex-direction: column !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-banner { flex-shrink: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .main-body { flex: 1 !important; min-height: 0 !important; height: auto !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-banner-fallback { all: unset; box-sizing: border-box; width: 100%; height: 44px; background: #18181B; color: #fff; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 14px; line-height: 20px; font-family: var(--s2-sans); cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-banner-fallback b { font-weight: 600; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-banner-fallback:hover span { text-decoration: underline; }

/* 集纲 / 对照写 / 剧本：#238 的 .sw-modeseg（里面是 .mode-text-btn 与 .sw-split-btn）→ 次按钮拼接的分段 */
/* V3.0.18（规则书 V2.65）：写作时「集纲 / 对照写 / 剧本」改成和「网格 / 大纲 / 体检」同一套浅灰胶囊（32 高、14 / 500、15px 图标、选中白底浮起），靠左、前面一条竖线 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container::before { content: ""; width: 1px; height: 20px; flex-shrink: 0; margin: 0 20px 0 8px; background: var(--s2-line); align-self: center; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg { display: inline-flex !important; gap: 0 !important; padding: 3px !important; border-radius: 9999px !important; background: var(--s2-row) !important; border: 0 !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .mode-text-btn, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .sw-split-btn { box-sizing: border-box !important; height: 30px !important; margin: 0 !important; padding: 0 12px !important; border: 0 !important; border-radius: 9999px !important; background: transparent !important; box-shadow: none !important; color: var(--s2-t5) !important; display: inline-flex !important; align-items: center !important; gap: 5px !important; font-family: var(--s2-sans) !important; font-size: 13px !important; line-height: 18px !important; font-weight: 400 !important; letter-spacing: 0 !important; white-space: nowrap !important; cursor: pointer; position: relative; z-index: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg svg { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .mode-text-btn::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .sw-split-btn::before { content: "" !important; display: inline-block !important; flex: 0 0 14px; width: 14px !important; height: 14px !important; position: static !important; background: var(--s2-t3) !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E") center / contain no-repeat; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .mode-text-btn[data-mode="outline"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h12M8 12h12M8 18h12'/%3E%3Ccircle cx='4' cy='6' r='1'/%3E%3Ccircle cx='4' cy='12' r='1'/%3E%3Ccircle cx='4' cy='18' r='1'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h12M8 12h12M8 18h12'/%3E%3Ccircle cx='4' cy='6' r='1'/%3E%3Ccircle cx='4' cy='12' r='1'/%3E%3Ccircle cx='4' cy='18' r='1'/%3E%3C/svg%3E"); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .sw-split-btn::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M12 4v16'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M12 4v16'/%3E%3C/svg%3E"); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .mode-text-btn.active, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .sw-split-btn.sw-on { background: var(--s2-paper) !important; box-shadow: 0 1px 2px rgba(0,0,0,.08) !important; color: var(--s2-t1) !important; font-weight: 500 !important; z-index: 1; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .mode-text-btn.active::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .sw-split-btn.sw-on::before { background: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container.sw-split-on .sw-modeseg .mode-text-btn.active { background: transparent !important; box-shadow: none !important; color: var(--s2-t5) !important; font-weight: 400 !important; z-index: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container.sw-split-on .sw-modeseg .mode-text-btn.active::before { background: var(--s2-t3) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .mode-text-btn:hover:not(.active), #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .sw-split-btn:hover:not(.sw-on) { background: transparent !important; color: var(--s2-ink0) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .mode-text-btn:focus-visible, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .sw-split-btn:focus-visible { outline: 2px solid var(--s2-inkb) !important; outline-offset: 1px; }

/* ===== V2.0.1 · 上线后诊断修正 ===== */
/* 1) 旧左侧图标菜单（#210）：全屏工作区不显示（脚本照常加载），不再占 60px */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #saas-global-sidebar, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-sidebar-container, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #saas-sidebar-overlay { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #saas-dashboard-main-container { margin-left: 0 !important; padding-left: 0 !important; left: 0 !important; width: 100% !important; max-width: none !important; flex: 1 1 auto !important; }
@media (min-width: 721px) { #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-mm-btn, .sw2-on-page #storyos-mm-btn { display: none !important; } }

/* 2) 空白梗概页：衬线标题 + 三张入口卡片 + 完整流程（统一版第 14 张） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #overview-action-container.sw-start:not([style*="none"]) { display: flex !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #overview-action-container.sw-start { max-width: 680px !important; width: 100% !important; margin: 24px auto 0 !important; padding: 40px 0 64px !important; box-sizing: border-box; flex-direction: column !important; align-items: stretch !important; gap: 32px !important; background: transparent !important; text-align: left !important; }
/* V3.0.12 · 空白梗概页 S4「直接可写」（规则书 V2.59）：大标题 + 一张可以直接点进去写的纸 + 下方两个小胶囊；不再显示「完整流程」 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-empty-kicker { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-empty-h { text-align: center !important; font-family: var(--s2-serif) !important; font-size: 28px !important; line-height: 36px !important; font-weight: 600 !important; letter-spacing: -.02em !important; color: var(--s2-ink0) !important; margin: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw2-empty-sub { display: block; margin-top: 8px; text-align: center; font-family: var(--s2-sans); font-size: 15px; line-height: 24px; font-weight: 400; letter-spacing: 0; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-actions { display: flex !important; flex-direction: column !important; gap: 16px !important; margin: 0 !important; align-items: stretch !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-main { all: unset; box-sizing: border-box !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; gap: 0 !important; min-height: 200px !important; padding: 24px 28px !important; border: 1px solid var(--s2-line) !important; border-radius: 12px !important; background: var(--s2-paper) !important; box-shadow: 0 1px 2px rgba(15,23,42,.05) !important; cursor: text; text-align: left !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-main:hover { border-color: var(--s2-t4) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-main:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: 2px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-main svg { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-main .sw2-pad-tx, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-main .sw2-pad-eg { display: block; font-family: var(--s2-serif) !important; font-size: 16px !important; line-height: 28px !important; font-weight: 400 !important; letter-spacing: 0 !important; color: var(--s2-t4) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-minors { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; gap: 10px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-minors::before { content: "或者"; font-size: 13px; line-height: 34px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-minor { all: unset; box-sizing: border-box !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; height: 34px !important; padding: 0 14px !important; border: 1px solid var(--s2-field) !important; border-radius: 9999px !important; background: var(--s2-paper) !important; color: var(--s2-t2) !important; font-family: var(--s2-sans) !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-minor:hover { border-color: var(--s2-t3) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-minor:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: 2px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-minor svg { width: 16px !important; height: 16px !important; color: var(--s2-t5) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-minor > span { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; letter-spacing: 0 !important; color: inherit !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-minor .sw2-cd { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw2-start-hint { margin-top: -6px; text-align: center; font-size: 12px; line-height: 16px; color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-road { display: none !important; }
@media (max-width: 1100px) { #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-main { min-height: 160px !important; } }

/* 3) 故事设定：左栏四项 + 编辑区标题头 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail { margin: 0 !important; padding: 0 !important; background: transparent !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail::after { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node { position: relative !important; height: 34px !important; min-height: 34px !important; box-sizing: border-box !important; margin: 0 -10px 2px !important; padding: 0 10px 0 16px !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; text-align: left !important; width: auto !important; max-width: none !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node:hover { background: var(--s2-soft) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node.on { background: var(--s2-row) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node > *:not(.ssr-tx) { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node::after { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-tx { display: flex !important; align-items: center !important; justify-content: flex-start !important; width: 100% !important; text-align: left !important; margin: 0 !important; padding: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-tx .t { flex: 1 1 auto !important; width: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; text-align: left !important; gap: 8px !important; font-family: var(--s2-sans) !important; font-size: 14px !important; line-height: 20px !important; font-weight: 400 !important; color: var(--s2-t2) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node.on .ssr-tx .t { font-weight: 600 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-tx .s { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .sw-opt { height: 18px !important; padding: 0 6px !important; border-radius: 4px !important; background: var(--s2-row) !important; color: var(--s2-t3) !important; font-size: 11px !important; line-height: 18px !important; font-weight: 400 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-cur-head { width: 100% !important; max-width: 720px !important; margin: 0 auto !important; box-sizing: border-box !important; padding: 36px 56px 4px !important; background: var(--pp-card, var(--s2-paper)) !important; border: 1px solid var(--s2-line) !important; border-bottom: 0 !important; border-radius: 8px 8px 0 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll.is-setting-mode #quill-editor-container { border-top: 0 !important; border-radius: 0 !important; min-height: calc(100% - 110px) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll.is-setting-mode #quill-editor-container .ql-editor { padding-top: 16px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-cur-head .sch-title { display: flex !important; align-items: center !important; gap: 10px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-cur-head .sch-ic { width: 28px !important; height: 28px !important; border-radius: 6px !important; background: var(--s2-row) !important; color: var(--s2-t2) !important; font-family: var(--s2-sans) !important; font-size: 13px !important; font-weight: 600 !important; display: inline-flex !important; align-items: center; justify-content: center; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-cur-head #sch-name { font-family: var(--s2-serif) !important; font-size: 20px !important; line-height: 28px !important; font-weight: 600 !important; letter-spacing: -.02em !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-cur-head #sch-hint { margin: 4px 0 0 38px !important; font-size: 14px !important; line-height: 20px !important; font-weight: 400 !important; color: var(--s2-t3) !important; }

/* 4) 对照写左栏：浅灰底、字段标签、衬线正文 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-pane { background: var(--s2-soft) !important; border-right: 1px solid var(--s2-line) !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-pane .sw-sp-hd { padding: 20px 32px 8px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-pane .sw-sp-t { gap: 6px !important; font-family: var(--s2-sans) !important; font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; color: var(--s2-t2) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-pane .sw-sp-t svg { width: 14px !important; height: 14px !important; color: var(--s2-t3) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-pane .sw-sp-m { font-size: 12px !important; line-height: 16px !important; color: var(--s2-t3) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-pane .sw-sp-ed { padding: 4px 32px 64px !important; font-family: var(--s2-serif) !important; font-size: 16px !important; line-height: 28px !important; color: var(--s2-head) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-pane .sw-sp-ed:focus { box-shadow: none !important; outline: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-bar::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-bar::after { background: var(--s2-field) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-tx .t::after { margin-left: auto !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-tx .t::after, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item .sw-nav-tx::after, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item::after { color: var(--s2-t4) !important; }

/* ======================================================================
   V2.1 · 第二批：规划页（网格 / 大纲 / 体检），取代旧全局看板的界面
   ====================================================================== */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-plan { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan #sw2-plan { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow-y: auto; padding: 0 12px 48px; background: var(--s2-paper); position: relative; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan .editor-toolbar,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan #main-editor-scroll,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan #sw-split-pane,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan #sw-split-bar,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan #storyos-board-container,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan #storyos-comment-margin,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan #main-side-panel,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan .sw2-step,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan .sw2-pagetitle,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan .sw2-mid #mode-switch-container,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan .sw2-right #btn-toolbar-nav,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan .sw2-right #btn-toolbar-ai { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pviews { display: none; align-items: center; gap: 12px; min-width: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan .sw2-pviews { display: flex; }
/* V3.0.15 · 规划顶栏 H3（规则书 V2.62）：「网格 / 大纲 / 体检」改成和「规划 / 写作」同一套浅灰胶囊（带 15px 图标），规划时靠左、前面一条竖线 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-seg { display: inline-flex; flex-shrink: 0; padding: 3px; border-radius: 9999px; background: var(--s2-row); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-seg button { box-sizing: border-box; height: 30px; margin: 0; padding: 0 12px; border: 0; border-radius: 9999px; background: transparent; box-shadow: none; display: inline-flex; align-items: center; gap: 5px; font-family: var(--s2-sans); font-size: 13px; line-height: 18px; font-weight: 400; color: var(--s2-t5); white-space: nowrap; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-seg button svg { width: 14px; height: 14px; flex-shrink: 0; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-seg button:hover { color: var(--s2-ink0); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-seg button.is-on { background: var(--s2-paper); box-shadow: 0 1px 2px rgba(0,0,0,.08); font-weight: 500; color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-seg button.is-on svg { color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-seg button:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: 1px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mhead .sw2-mid { justify-content: flex-start !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pviews::before { content: ""; width: 1px; height: 20px; flex-shrink: 0; margin: 0 8px; background: var(--s2-line); }
/* 右侧：「信纸」「导出」收成 32 图标按钮（悬停显示名字）；「保存」前一条竖线；没改动时浅灰描边，有改动时深色描边（墨色实底只留给「AI 帮写」） */
/* V3.0.29：规划页用不上信纸，不显示「信纸」按钮 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan .sw2-right .sw-pp-btn.sw-pp-btn { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw-pp-btn.sw-pp-btn, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script { width: 32px !important; min-width: 32px !important; padding: 0 !important; justify-content: center !important; gap: 0 !important; font-size: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw-pp-btn.sw-pp-btn > svg, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw-pp-btn.sw-pp-btn .sw-pp-sw, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw-pp-btn.sw-pp-btn .sw-pp-car, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script > svg, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script > span:not(.sw2-bl) { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw-pp-btn.sw-pp-btn .sw2-bl, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script .sw2-bl { display: inline-flex !important; align-items: center !important; gap: 0 !important; font-size: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw-pp-btn.sw-pp-btn .sw2-bl svg, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script .sw2-bl svg { width: 18px !important; height: 18px !important; color: var(--s2-t5) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw2-save.sw2-save { position: relative; margin-left: 13px !important; height: 32px !important; padding: 0 14px !important; border: 1px solid var(--s2-field) !important; border-radius: 6px !important; background: var(--s2-paper) !important; color: var(--s2-t1) !important; font-size: 14px !important; font-weight: 600 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw2-save.sw2-save::before { content: ""; position: absolute; left: -8px; top: 6px; bottom: 6px; width: 1px; background: var(--s2-line); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw2-save.sw2-save:hover { background: var(--s2-row) !important; border-color: var(--s2-t4) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw2-save.sw2-save[aria-disabled="true"], #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw2-save.sw2-save[aria-disabled="true"]:hover { background: transparent !important; border-color: var(--s2-line) !important; color: var(--s2-t4) !important; cursor: default; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-flabel { font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .3px; color: var(--s2-t2); white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-filter { box-sizing: border-box; width: 200px; height: 30px; padding: 0 10px; border: 1px solid var(--s2-field); border-radius: 4px; background: var(--s2-paper); color: var(--s2-t1); font-family: var(--s2-sans); font-size: 14px; outline: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-filter:focus { border-color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-filter::placeholder { color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-narrow .sw2-pviews .sw2-flabel { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-narrow .sw2-filter { width: 140px; }
/* 分组标题行 48（吸顶） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-acthd { position: sticky; top: 0; z-index: 3; height: 48px; flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--s2-paper); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-acthd h2 { margin: 0; font-family: var(--s2-sans); font-size: 15px; line-height: 22px; font-weight: 600; color: var(--s2-t1); letter-spacing: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-acthd .sw2-hsum { font-size: 12px; line-height: 16px; color: var(--s2-t3); font-variant-numeric: tabular-nums; white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-acthd .sw2-hdr { align-items: baseline !important; gap: 10px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hctl { display: inline-flex; align-items: center; gap: 12px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hlb { font-size: 12px; line-height: 16px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hcols { display: inline-flex; padding: 3px; border-radius: 9999px; background: var(--s2-row); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hcols button { box-sizing: border-box; min-width: 26px; height: 26px; padding: 0 9px; border: 0; border-radius: 9999px; background: transparent; font-family: var(--s2-sans); font-size: 12px; line-height: 16px; font-weight: 400; color: var(--s2-t5); font-variant-numeric: tabular-nums; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hcols button:hover { color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hcols button.is-on { background: var(--s2-paper); box-shadow: 0 1px 2px rgba(0,0,0,.08); color: var(--s2-t1); font-weight: 500; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hsep { width: 1px; height: 18px; background: var(--s2-line); display: inline-block; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hbtn { height: 30px; padding: 0 10px; border: 0; border-radius: 6px; background: transparent; display: inline-flex; align-items: center; gap: 6px; font-family: var(--s2-sans); font-size: 13px; font-weight: 500; color: var(--s2-t2); cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hbtn:hover { background: var(--s2-row); color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hbtn svg { width: 14px; height: 14px; color: var(--s2-t5); }
/* 网格：一集一张卡（Novelcrafter 章节卡） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-grid { display: grid; grid-template-columns: repeat(var(--sw2-cols, 4), minmax(0, 1fr)); gap: 12px; padding-top: 4px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card { position: relative; aspect-ratio: 4 / 3; min-height: 0; background: var(--s2-row); border-radius: 6px; display: flex; flex-direction: column; overflow: hidden; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card.is-cur { box-shadow: 0 0 0 1px var(--s2-field); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card.is-drag { opacity: .4; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card.drop-before::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card.drop-after::after { content: ''; position: absolute; top: 0; bottom: 0; width: 3px; border-radius: 2px; background: var(--s2-inkb); z-index: 4; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card.drop-before::before { left: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card.drop-after::after { right: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-chd { height: 34px; flex-shrink: 0; box-sizing: border-box; padding: 0 4px 0 6px; border-bottom: 1px solid var(--s2-line); display: flex; align-items: center; gap: 6px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-grip { color: var(--s2-t4); cursor: grab; display: inline-flex; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-num { font-family: var(--s2-sans); font-size: 12px; line-height: 16px; font-weight: 400; color: var(--s2-t4); font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-ctitle { flex: 1; min-width: 0; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--s2-t1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cdot { width: 8px; height: 8px; border-radius: 9999px; flex-shrink: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-ib { width: 24px; height: 24px; flex-shrink: 0; border: 0; border-radius: 4px; background: transparent; color: var(--s2-t3); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-ib:hover { background: rgba(161,161,170,.2); color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-ib .sw2-ic { width: 14px; height: 14px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cin { margin: 8px; flex: 1; background: var(--s2-paper); border: 1px solid rgba(161,161,170,.4); border-radius: 4px; display: flex; flex-direction: column; min-height: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cinhd { height: 30px; flex-shrink: 0; box-sizing: border-box; padding: 0 10px; border-bottom: 1px solid var(--s2-line); display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mini { display: inline-flex; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mini button { height: 20px; margin-left: -1px; padding: 0 6px; border: 1px solid var(--s2-field); background: var(--s2-paper); color: var(--s2-t5); font-family: var(--s2-sans); font-size: 12px; line-height: 18px; font-weight: 400; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mini button:first-child { margin-left: 0; border-radius: 4px 0 0 4px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mini button:last-child { border-radius: 0 4px 4px 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mini button.is-on { background: var(--s2-ink); border-color: var(--s2-inkb); color: var(--s2-onink); position: relative; z-index: 1; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tag { display: inline-flex; align-items: center; height: 20px; padding: 0 6px; border-radius: 4px; background: var(--s2-row); color: var(--s2-t3); font-size: 11px; line-height: 16px; font-weight: 400; white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cbody { flex: 1; padding: 10px; font-family: var(--s2-serif); font-size: 14px; line-height: 22px; color: var(--s2-t2); min-height: 0; display: block; overflow: hidden; -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cbody.is-empty { font-family: var(--s2-sans); color: var(--s2-t4); -webkit-mask-image: none; mask-image: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card .sw2-cbody { cursor: text; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card.is-editing .sw2-cbody { -webkit-mask-image: none; mask-image: none; padding: 6px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cedit { display: block; width: 100%; height: 100%; box-sizing: border-box; margin: 0; padding: 4px 6px; border: 0; border-radius: 4px; outline: 2px solid var(--s2-row); resize: none; background: var(--s2-paper); font-family: var(--s2-serif); font-size: 14px; line-height: 22px; color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cedit:focus { outline-color: var(--s2-field); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cedit::placeholder { color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card.is-editing .sw2-dive { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cft { padding: 0 10px 8px; display: flex; justify-content: space-between; gap: 8px; font-size: 12px; line-height: 16px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cft b { font-weight: 400; color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cft span { color: var(--s2-t4); font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-dive { position: absolute; left: 12px; right: 12px; bottom: 12px; opacity: 0; pointer-events: none; transition: opacity .12s; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card:hover .sw2-dive, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-card:focus-within .sw2-dive { opacity: 1; pointer-events: auto; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-dive .sw2-btn { width: 100%; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mini button.is-on { font-weight: 500; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-dive .sw2-btn { font-size: 13px; font-weight: 500; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-dive .sw2-btn:hover { background: var(--s2-row); color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-dive .sw2-btn svg { width: 12px; height: 12px; color: var(--s2-t5); }
/* 弹出菜单（线索颜色） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-menu { position: fixed; z-index: 2147483000; width: 200px; box-sizing: border-box; padding: 4px; background: var(--s2-paper); border-radius: 8px; box-shadow: var(--s2-pop); display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-menu.is-open { display: block; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-menu .sw2-mhd { padding: 6px 12px 4px; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-menu button { width: 100%; height: 32px; box-sizing: border-box; padding: 6px 12px; border: 0; border-radius: 6px; background: transparent; color: var(--s2-t2); display: flex; align-items: center; gap: 12px; font-family: var(--s2-sans); font-size: 14px; line-height: 20px; text-align: left; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-menu button:hover { background: var(--s2-row); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-menu button i { width: 8px; height: 8px; border-radius: 9999px; box-shadow: inset 0 0 0 1px var(--s2-field); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-menu button .sw2-mk { margin-left: auto; color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-menu hr { height: 1px; margin: 4px 0; border: 0; background: var(--s2-line); }
/* 大纲：一集一行 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-otable { border: 1px solid var(--s2-line); border-radius: 8px; overflow: hidden; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow { display: grid; grid-template-columns: 40px minmax(120px, 170px) 1fr 24px 76px 104px 20px; align-items: start; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--s2-row); cursor: pointer; position: relative; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow:last-child { border-bottom: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow:hover { background: var(--s2-soft); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow.is-cur { background: var(--s2-row); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow.is-hd { height: 37px; box-sizing: border-box; padding: 0 12px; align-items: center; background: var(--s2-soft); border-bottom: 1px solid var(--s2-line); cursor: default; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow.is-hd span { font-size: 12px; line-height: 16px; font-weight: 600; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow .o-n { font-family: var(--s2-mono); font-size: 12px; line-height: 24px; font-weight: 600; color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow .o-t { font-size: 14px; line-height: 24px; font-weight: 700; color: var(--s2-ink0); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow .o-o { font-family: var(--s2-serif); font-size: 14px; line-height: 22px; color: var(--s2-t5); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow .o-o.is-empty { font-family: var(--s2-sans); color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow .o-d { padding-top: 8px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow .o-s { font-size: 12px; line-height: 24px; font-weight: 500; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow .o-w { font-size: 12px; line-height: 24px; color: var(--s2-t4); font-variant-numeric: tabular-nums; white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow .sw2-grip { padding-top: 4px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow.drop-before { box-shadow: inset 0 3px 0 var(--s2-inkb); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow.drop-after { box-shadow: inset 0 -3px 0 var(--s2-inkb); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow.is-drag { opacity: .4; }
/* 体检 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hc { display: flex; flex-direction: column; gap: 12px; padding-top: 12px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hrow { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hcard { background: var(--s2-paper); border: 1px solid var(--s2-line); border-radius: 8px; box-shadow: 0 1px 2px rgba(0,0,0,.05); padding: 24px; box-sizing: border-box; min-width: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hcard h3 { margin: 0; font-family: var(--s2-sans); font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: .35px; color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hcard .h-big { margin-top: 4px; font-size: 32px; line-height: 40px; font-weight: 700; color: var(--s2-ink0); font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hcard .h-sub { font-size: 12px; line-height: 16px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hscore { display: flex; align-items: center; gap: 16px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-bars { display: flex; align-items: flex-end; gap: 4px; height: 150px; margin-top: 12px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-bars > div { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; height: 100%; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-bars i { display: block; width: 100%; max-width: 24px; border-radius: 2px 2px 0 0; background: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-bars i.is-cur { background: var(--s2-inkb); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-bars i.is-zero { background: var(--s2-line); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-bars span { font-size: 11px; line-height: 14px; color: var(--s2-t3); font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-warn { display: flex; gap: 10px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--s2-row); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-warn b { display: block; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--s2-ink0); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-warn small { display: block; font-size: 12px; line-height: 16px; color: var(--s2-t5); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-st { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 8px; border-radius: 9999px; font-size: 12px; font-weight: 500; white-space: nowrap; flex-shrink: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-st::before { content: ''; width: 6px; height: 6px; border-radius: 9999px; background: currentColor; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-st.is-fail { background: #FEE2E2; color: #991B1B; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-st.is-warn { background: #FFEDD5; color: #9A3412; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-st.is-ok { background: #DCFCE7; color: #166534; }
html.dark-mode #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-st.is-fail { background: #450A0A; color: #FCA5A5; }
html.dark-mode #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-st.is-warn { background: #431407; color: #FED7AA; }
html.dark-mode #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-st.is-ok { background: #052E16; color: #86EFAC; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-empty { padding: 20px 16px; border: 1px dashed rgba(161,161,170,.5); border-radius: 8px; background: rgba(228,228,231,.25); text-align: center; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-empty b { display: block; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-empty span { display: block; font-family: var(--s2-serif); font-size: 15px; line-height: 24px; color: var(--s2-t3); }
/* 规划页底部提示条（AI 分集 / 体检 快捷入口） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pbar { display: none; position: absolute; left: 24px; right: 24px; bottom: 20px; z-index: 20; justify-content: center; pointer-events: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-plan .sw2-pbar { display: none; }  /* V3.0.25：底部快捷条去掉 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pbar > div { pointer-events: auto; width: 100%; max-width: 640px; box-sizing: border-box; padding: 10px 12px; background: var(--s2-paper); border: 1px solid var(--s2-line); border-radius: 8px; box-shadow: var(--s2-pop); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-chip { box-sizing: border-box; height: 28px; padding: 0 12px; border-radius: 9999px; border: 1px solid var(--s2-line); background: var(--s2-paper); color: var(--s2-t5); font-family: var(--s2-sans); font-size: 12px; line-height: 16px; font-weight: 500; display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-chip:hover { background: var(--s2-soft); border-color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-chip .sw2-ic { width: 12px; height: 12px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pbar small { margin-left: auto; font-size: 12px; line-height: 16px; color: var(--s2-t3); }

/* ======================================================================
   V2.2 · 第三批：右侧面板、场景导航、AI 创作、批注、星芒、信纸、下载、弹窗、手机
   ====================================================================== */
/* ---------- 右侧面板 360（头部 56 与主区头部对齐） ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel { background: var(--s2-paper) !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel.open { width: 360px !important; min-width: 360px !important; max-width: 360px !important; border-left: 1px solid var(--s2-line) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel:not(.open) { width: 0 !important; min-width: 0 !important; max-width: 0 !important; border-left: 0 !important; overflow: hidden !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .rp-body { background: var(--s2-paper) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .rp-header-container { height: 56px !important; min-height: 56px !important; box-sizing: border-box !important; padding: 0 8px 0 16px !important; background: var(--s2-paper) !important; border-bottom: 1px solid var(--s2-line) !important; box-shadow: none !important; display: flex !important; align-items: center !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .ai-panel-header-cell { width: 100% !important; height: 56px !important; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; border: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .rp-nav-title, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .ai-panel-header-title { display: flex !important; align-items: center !important; gap: 8px !important; font-family: var(--s2-sans) !important; font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; letter-spacing: 0 !important; color: var(--s2-t1) !important; min-width: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .rp-nav-title svg, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .ai-panel-header-title svg { width: 16px !important; height: 16px !important; color: var(--s2-t2) !important; stroke: currentColor !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .ai-panel-header-title span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px !important; font-weight: 600 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .btn-close-panel, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .btn-close-saas { width: 32px !important; height: 32px !important; margin-left: auto !important; border-radius: 4px !important; background: transparent !important; color: var(--s2-t3) !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .btn-close-panel:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .btn-close-saas:hover { background: var(--s2-row) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .btn-close-panel svg, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel .btn-close-saas svg { width: 16px !important; height: 16px !important; }

/* ---------- 场景导航（#70） ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container * { font-family: var(--s2-sans) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container { background: var(--s2-paper) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-shell { padding: 0 0 64px !important; gap: 0 !important; background: transparent !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-panel-card { margin: 0 !important; padding: 12px !important; border: 0 !important; border-bottom: 1px solid var(--s2-line) !important; border-radius: 0 !important; background: var(--s2-paper) !important; box-shadow: none !important; backdrop-filter: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-panel-title, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-list-title { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; letter-spacing: .35px !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-total-badge, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-list-subtitle { height: auto !important; padding: 0 6px !important; border-radius: 4px !important; background: var(--s2-row) !important; color: var(--s2-t5) !important; font-size: 12px !important; line-height: 20px !important; font-weight: 500 !important; border: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-list-subtitle { background: transparent !important; padding: 0 !important; color: var(--s2-t3) !important; font-weight: 400 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-stats-grid { gap: 6px !important; margin-top: 12px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-stat-box { height: auto !important; padding: 8px 10px !important; border: 1px solid var(--s2-line) !important; border-radius: 8px !important; background: var(--s2-paper) !important; box-shadow: none !important; align-items: flex-start !important; text-align: left !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-stat-val { font-size: 18px !important; line-height: 28px !important; font-weight: 700 !important; color: var(--s2-ink0) !important; font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-stat-label { font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; color: var(--s2-t3) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-filter-block { margin-top: 12px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-filter-select { height: 30px !important; padding: 0 10px !important; border: 1px solid var(--s2-field) !important; border-radius: 4px !important; background-color: var(--s2-paper) !important; color: var(--s2-t1) !important; font-size: 14px !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-filter-note { font-size: 12px !important; line-height: 18px !important; color: var(--s2-t3) !important; background: transparent !important; padding: 0 !important; border: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-list-shell { padding: 0 !important; border-bottom: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-list-head { padding: 12px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-timeline-container { padding: 0 !important; margin: 0 !important; border: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-timeline-container::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-ep-group::before { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-ep-group { padding: 0 !important; margin: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-ep-divider { position: static !important; width: auto !important; height: 34px !important; margin: 0 !important; padding: 0 12px !important; box-sizing: border-box !important; background: var(--s2-soft) !important; border: 0 !important; border-top: 1px solid var(--s2-line) !important; border-bottom: 1px solid var(--s2-line) !important; border-radius: 0 !important; display: flex !important; align-items: center !important; gap: 6px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-ep-divider__dot { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-ep-divider__title { font-size: 13px !important; font-weight: 600 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-ep-divider__count { margin-left: auto !important; font-size: 12px !important; color: var(--s2-t3) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-ep-scenes { padding: 0 !important; margin: 0 !important; gap: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-card { margin: 0 !important; padding: 8px 12px 8px 12px !important; border: 0 !important; border-bottom: 1px solid var(--s2-row) !important; border-radius: 0 !important; background: var(--s2-paper) !important; box-shadow: none !important; transform: none !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-card:hover { background: var(--s2-soft) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-card.active, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-card.is-active { background: var(--s2-row) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-card::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-card::after { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-header { gap: 8px !important; align-items: center !important; min-height: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-title { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-sub { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-badge, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-meta-pill { height: 20px !important; padding: 0 6px !important; border: 0 !important; border-radius: 4px !important; background: var(--s2-row) !important; color: var(--s2-t5) !important; font-size: 12px !important; line-height: 20px !important; font-weight: 500 !important; flex-shrink: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-scene-meta { margin: 4px 0 0 !important; padding: 0 !important; gap: 6px !important; flex-wrap: wrap !important; min-height: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-empty-state { margin: 12px !important; padding: 20px 16px !important; border: 1px dashed rgba(161,161,170,.5) !important; border-radius: 8px !important; background: rgba(228,228,231,.25) !important; height: auto !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-empty-state__icon { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-empty-state__title { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #storyos-navigator-container .nav-empty-state__desc { font-family: var(--s2-serif) !important; font-size: 15px !important; line-height: 24px !important; color: var(--s2-t3) !important; }

/* ---------- AI 创作（#238 对话） ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #panel-wrapper-ai, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ai-chat { background: var(--s2-paper) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-thumb { background: var(--s2-field) !important; }

/* ---------- 批注（#71） ---------- */
.sw2-on-page .story-comment-highlight { background: rgba(228,228,231,.9) !important; border-bottom: 2px solid #71717A !important; }
.sw2-on-page .story-comment-highlight.active-highlight { background: #D4D4D8 !important; }
html.dark-mode .sw2-on-page .story-comment-highlight { background: rgba(63,63,70,.9) !important; border-bottom-color: #A1A1AA !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card { width: 240px !important; border: 1px solid var(--s2-line) !important; border-radius: 8px !important; background: var(--s2-paper) !important; box-shadow: 0 1px 2px rgba(0,0,0,.05) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card::before { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card.active-card { box-shadow: 0 0 0 2px var(--s2-inkb) !important; transform: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card * { font-family: var(--s2-sans) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card .comment-card-hd { padding: 10px 12px 0 !important; background: transparent !important; border: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card .comment-author { font-size: 12px !important; font-weight: 600 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card .comment-time { font-size: 12px !important; color: var(--s2-t4) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card .comment-card-bd { padding: 6px 12px 10px !important; font-size: 14px !important; line-height: 20px !important; color: var(--s2-t2) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card .comment-textarea { border: 1px solid var(--s2-line) !important; border-radius: 8px !important; background: #F7F7F8 !important; font-size: 14px !important; color: var(--s2-t1) !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card .comment-actions button, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card .btn-cmt-resolve, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card .btn-cmt-save { height: 26px !important; padding: 0 8px !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; color: var(--s2-t5) !important; font-size: 12px !important; font-weight: 500 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .saas-comment-card .btn-cmt-save { background: var(--s2-inkb) !important; color: var(--s2-onink) !important; border-radius: 4px !important; font-weight: 600 !important; }

/* ---------- AI 星芒（#86）：浮层按弹出菜单规格 ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .storyos-ai-handle { width: 22px !important; height: 22px !important; border-radius: 9999px !important; background: var(--s2-ink) !important; color: var(--s2-onink) !important; box-shadow: none !important; font-size: 12px !important; }
.sw2-on-page .storyos-ai-menu, .sw2-on-page .storyos-ai-result-modal { border: 0 !important; border-radius: 8px !important; background: #fff !important; box-shadow: 0 0 0 1px #E4E4E7, 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1) !important; font-family: "DM Sans", -apple-system, "PingFang SC", sans-serif !important; }
.sw2-on-page .storyos-ai-menu-item { height: 32px !important; border-radius: 6px !important; font-size: 14px !important; color: #3F3F46 !important; }
.sw2-on-page .storyos-ai-menu-item:hover, .sw2-on-page .storyos-ai-menu-item.active { background: #F4F4F5 !important; color: #18181B !important; }
.sw2-on-page .storyos-ai-menu-title { font-size: 12px !important; font-weight: 600 !important; color: #71717A !important; }
.sw2-on-page .storyos-ai-result-option { border: 1px solid #E4E4E7 !important; border-radius: 6px !important; background: #fff !important; font-family: "Songti SC", "STSong", serif !important; font-size: 14px !important; line-height: 22px !important; color: #27272A !important; }
.sw2-on-page .storyos-ai-result-option.selected { box-shadow: 0 0 0 2px #18181B !important; border-color: #18181B !important; }
.sw2-on-page .storyos-ai-result-overlay { background: rgba(9,9,11,.4) !important; }
.sw2-on-page .btn-ai-insert { background: #18181B !important; color: #FAFAFA !important; border-radius: 4px !important; }
.sw2-on-page .btn-ai-discard { background: #fff !important; color: #52525B !important; border: 1px solid #D4D4D8 !important; border-radius: 4px !important; }

/* ---------- 下载菜单 / 信纸面板（弹出菜单规格） ---------- */
.sw2-on-page #sw-dl-menu { width: 234px !important; padding: 4px !important; border: 0 !important; border-radius: 8px !important; background: #fff !important; box-shadow: 0 0 0 1px #E4E4E7, 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1) !important; gap: 0 !important; }
.sw2-on-page #sw-dl-menu .sw-dl-hd { padding: 6px 12px 4px !important; font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; color: #71717A !important; }
.sw2-on-page #sw-dl-menu button { padding: 6px 12px !important; border-radius: 6px !important; gap: 12px !important; background: transparent !important; }
.sw2-on-page #sw-dl-menu button:hover, .sw2-on-page #sw-dl-menu button:focus-visible { background: #F4F4F5 !important; }
.sw2-on-page #sw-dl-menu .sw-dl-ic { width: 16px !important; height: 16px !important; background: transparent !important; color: #71717A !important; }
.sw2-on-page #sw-dl-menu .sw-dl-ic svg { width: 16px !important; height: 16px !important; }
.sw2-on-page #sw-dl-menu .sw-dl-tx b { font-size: 14px !important; line-height: 20px !important; font-weight: 500 !important; color: #3F3F46 !important; }
.sw2-on-page #sw-dl-menu .sw-dl-tx span { font-size: 12px !important; line-height: 16px !important; color: #71717A !important; }
.sw2-on-page #sw-dl-menu .sw-dl-sep { margin: 4px 0 !important; background: #E4E4E7 !important; }
.sw2-on-page #sw-pp-panel { width: 290px !important; padding: 16px !important; border: 0 !important; border-radius: 8px !important; background: #fff !important; box-shadow: 0 0 0 1px #E4E4E7, 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1) !important; }
.sw2-on-page #sw-pp-panel, .sw2-on-page #sw-pp-panel * { font-family: "DM Sans", -apple-system, "PingFang SC", sans-serif !important; }
.sw2-on-page #sw-pp-panel .sw-pp-t { font-size: 12px !important; font-weight: 600 !important; color: #3F3F46 !important; }
.sw2-on-page #sw-pp-panel .sw-pp-chip { width: 40px !important; height: 52px !important; border-radius: 6px !important; border: 1px solid #E4E4E7 !important; box-shadow: none !important; font-family: "Songti SC", serif !important; }
.sw2-on-page #sw-pp-panel .sw-pp-paper.is-on .sw-pp-chip, .sw2-on-page #sw-pp-panel .sw-pp-paper[aria-checked="true"] .sw-pp-chip { box-shadow: 0 0 0 2px #18181B !important; }
.sw2-on-page #sw-pp-panel .sw-pp-paper > span:last-child { font-size: 12px !important; color: #71717A !important; }
.sw2-on-page #sw-pp-panel .sw-pp-paper.is-on > span:last-child, .sw2-on-page #sw-pp-panel .sw-pp-paper[aria-checked="true"] > span:last-child { color: #18181B !important; font-weight: 600 !important; }
.sw2-on-page #sw-pp-panel .sw-pp-row > span:first-child { font-size: 12px !important; font-weight: 600 !important; color: #3F3F46 !important; }
.sw2-on-page #sw-pp-panel .sw-pp-seg { padding: 0 !important; gap: 0 !important; border-radius: 0 !important; background: transparent !important; display: inline-flex !important; }
.sw2-on-page #sw-pp-panel .sw-pp-seg button { height: 28px !important; margin-left: -1px !important; padding: 0 12px !important; border: 1px solid #D4D4D8 !important; border-radius: 0 !important; background: #fff !important; color: #52525B !important; font-size: 12px !important; font-weight: 600 !important; box-shadow: none !important; }
.sw2-on-page #sw-pp-panel .sw-pp-seg button:first-child { margin-left: 0 !important; border-radius: 4px 0 0 4px !important; }
.sw2-on-page #sw-pp-panel .sw-pp-seg button:last-child { border-radius: 0 4px 4px 0 !important; }
.sw2-on-page #sw-pp-panel .sw-pp-seg button.is-on, .sw2-on-page #sw-pp-panel .sw-pp-seg button[aria-checked="true"] { background: #27272A !important; border-color: #18181B !important; color: #FAFAFA !important; position: relative; z-index: 1; }
.sw2-on-page #sw-pp-panel .sw-pp-note { font-size: 12px !important; color: #71717A !important; }
html.dark-mode .sw2-on-page #sw-dl-menu, html.dark-mode .sw2-on-page #sw-pp-panel { background: #18181B !important; box-shadow: 0 0 0 1px #3F3F46, 0 10px 15px -3px rgba(0,0,0,.4) !important; }
html.dark-mode .sw2-on-page #sw-dl-menu .sw-dl-tx b { color: #D4D4D8 !important; }
html.dark-mode .sw2-on-page #sw-dl-menu button:hover { background: #27272A !important; }

/* ---------- 分集设置浮层内部 ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-panel-hd { display: flex !important; align-items: center !important; justify-content: space-between !important; margin: 0 0 12px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-panel-hd b { font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; letter-spacing: 0 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset #sw-ep-collapse { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 28px !important; height: 28px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 9999px !important; background: var(--s2-row) !important; color: var(--s2-t3) !important; box-shadow: none !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset #sw-ep-collapse:hover { background: var(--s2-line) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset #sw-ep-collapse svg { width: 12px !important; height: 12px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset .ep-input-label { width: 90px !important; flex: 0 0 90px !important; white-space: nowrap !important; font-size: 14px !important; font-weight: 400 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset .sw-step-btn { width: 30px !important; height: 30px !important; border: 1px solid var(--s2-field) !important; border-radius: 4px !important; background: var(--s2-paper) !important; color: var(--s2-t5) !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset .ep-input-wrapper { height: 30px !important; border: 1px solid var(--s2-field) !important; border-radius: 4px !important; background: var(--s2-paper) !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset .ep-input-wrapper input { border: 0 !important; height: 28px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset .ep-unit { font-size: 12px !important; color: var(--s2-t3) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset #sw-ep-ai-row { margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid var(--s2-row) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset #btn-ai-split-episodes span, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset #btn-ai-split-episodes svg { color: var(--s2-t5) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset .sw-ai-split-meta { margin-top: 6px !important; font-size: 12px !important; color: var(--s2-t3) !important; text-align: left !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-fieldset .sw-ai-split-cost { color: var(--s2-t3) !important; }

/* ---------- 弹窗（规则书「弹窗」）：分集确认、系统提示、扩展内容、资产库引入、分集生成中 ---------- */
.sw2-on-page .custom-slider-modal-overlay { background: rgba(9,9,11,.4) !important; backdrop-filter: none !important; }
html.dark-mode .sw2-on-page .custom-slider-modal-overlay { background: rgba(0,0,0,.6) !important; }
.sw2-on-page .custom-slider-modal { border: 1px solid #E4E4E7 !important; border-radius: 12px !important; background: #fff !important; box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1) !important; overflow: hidden !important; font-family: "DM Sans", -apple-system, "PingFang SC", sans-serif !important; }
.sw2-on-page .custom-slider-modal-hd { padding: 24px 24px 8px !important; background: transparent !important; border: 0 !important; text-align: left !important; font-family: "Songti SC", "STSong", serif !important; font-size: 20px !important; line-height: 28px !important; font-weight: 600 !important; letter-spacing: -.02em !important; color: #18181B !important; }
.sw2-on-page .custom-slider-modal-bd { padding: 0 24px 20px !important; text-align: left !important; font-size: 14px !important; line-height: 22px !important; color: #3F3F46 !important; background: transparent !important; }
.sw2-on-page .custom-slider-modal-ft { padding: 16px 24px !important; border-top: 1px solid #F4F4F5 !important; background: transparent !important; display: flex !important; justify-content: flex-end !important; gap: 8px !important; }
.sw2-on-page .custom-slider-modal-ft button { flex: 0 0 auto !important; height: 30px !important; padding: 0 12px !important; border: 1px solid #D4D4D8 !important; border-radius: 4px !important; background: #fff !important; color: #52525B !important; font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; letter-spacing: .3px; box-shadow: none !important; }
.sw2-on-page .custom-slider-modal-ft .btn-custom-slider-confirm { border-color: #18181B !important; background: #18181B !important; color: #FAFAFA !important; font-size: 13px !important; letter-spacing: 0; }
.sw2-on-page .custom-slider-modal-ft .btn-custom-slider-confirm.is-danger, .sw2-on-page #ep-confirm-modal-overlay.sw2-danger .btn-custom-slider-confirm { border-color: #991B1B !important; background: #991B1B !important; }
html.dark-mode .sw2-on-page .custom-slider-modal { background: #18181B !important; border-color: #3F3F46 !important; }
html.dark-mode .sw2-on-page .custom-slider-modal-hd { color: #FAFAFA !important; }
html.dark-mode .sw2-on-page .custom-slider-modal-bd { color: #D4D4D8 !important; }
html.dark-mode .sw2-on-page .custom-slider-modal-ft { border-top-color: #27272A !important; }
html.dark-mode .sw2-on-page .custom-slider-modal-ft button { background: #18181B !important; border-color: #52525B !important; color: #A1A1AA !important; }
html.dark-mode .sw2-on-page .custom-slider-modal-ft .btn-custom-slider-confirm { background: #F4F4F5 !important; border-color: #FAFAFA !important; color: #18181B !important; }
.sw2-on-page #ext-content-body { margin: 0 !important; border: 1px solid #E4E4E7 !important; border-radius: 8px !important; background: #F7F7F8 !important; font-size: 12px !important; line-height: 20px !important; color: #3F3F46 !important; }
.sw2-on-page #storyos-lib-import-overlay { background: rgba(9,9,11,.4) !important; backdrop-filter: none !important; }
.sw2-on-page #storyos-lib-import-overlay > div { border: 1px solid #E4E4E7 !important; border-radius: 12px !important; background: #fff !important; box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1) !important; font-family: "DM Sans", -apple-system, "PingFang SC", sans-serif !important; }
.sw2-on-page #storyos-lib-import-list { background: #FAFAFA !important; border-top: 1px solid #E4E4E7 !important; padding: 20px 24px 24px !important; }
.sw2-on-page .storyos-lib-item { padding: 16px 20px !important; border: 1px solid #E4E4E7 !important; border-radius: 8px !important; background: #fff !important; }
.sw2-on-page .storyos-lib-item:hover { border-color: #A1A1AA !important; background: #fff !important; }
.sw2-on-page #storyos-lib-import-close { width: 32px !important; height: 32px !important; border-radius: 4px !important; background: transparent !important; color: #71717A !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #ep-loading-overlay { background: rgba(255,255,255,.9) !important; backdrop-filter: none !important; }
html.dark-mode #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #ep-loading-overlay { background: rgba(24,24,27,.9) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #ep-loading-overlay .ep-spinner { border-color: var(--s2-line) !important; border-top-color: var(--s2-inkb) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #ep-loading-overlay .ep-loading-text { font-size: 14px !important; font-weight: 600 !important; color: var(--s2-t1) !important; }

/* ---------- 规划页：节拍、颜色筛选、导出 ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cf { display: inline-flex; gap: 6px; align-items: center; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cf button { box-sizing: border-box; height: 28px; padding: 0 10px; border-radius: 9999px; border: 1px solid var(--s2-line); background: var(--s2-paper); color: var(--s2-t5); font-family: var(--s2-sans); font-size: 12px; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cf button i { width: 8px; height: 8px; border-radius: 9999px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cf button.is-on { background: #52525B; border-color: #52525B; color: #fff; }
html.dark-mode #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-cf button.is-on { background: #D4D4D8; border-color: #D4D4D8; color: #18181B; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-acthd .sw2-hdr { display: flex; align-items: center; gap: 12px; min-width: 0; }

/* ---------- 手机（≤ 720px） ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mtab { display: none; }
@media (max-width: 720px) {
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .main-body { position: relative !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar { width: 100% !important; min-width: 0 !important; max-width: none !important; flex: 1 1 auto !important; border-right: 0 !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-handle, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-collapse, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-expand { display: none !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2:not(.sw2-m-list) .left-sidebar { display: none !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-m-list .editor-area { display: none !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-area { padding-bottom: 56px !important; box-sizing: border-box !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-m-list .left-sidebar { padding-bottom: 56px !important; box-sizing: border-box !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mhead { padding: 0 8px !important; gap: 8px !important; overflow-x: auto; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-modes { display: none !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-steplb b { display: none !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-steplb { min-width: 44px !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-nav .sw2-lb, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai .sw2-lb { display: none !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar { overflow-x: auto !important; overflow-y: hidden !important; padding: 0 8px !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar > * { flex-shrink: 0 !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll { padding: 0 !important; background: var(--s2-paper) !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #quill-editor-container { max-width: none !important; border: 0 !important; border-radius: 0 !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #quill-editor-container .ql-editor { padding: 20px 20px 120px !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel:not(.open) { display: none !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-side-panel.open { position: fixed !important; inset: 0 !important; width: 100% !important; min-width: 0 !important; max-width: none !important; z-index: 60 !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-plan { padding: 0 8px 120px !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-grid { grid-template-columns: 1fr !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow { grid-template-columns: 32px 1fr 70px !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow > :nth-child(3), #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow > :nth-child(4), #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow > :nth-child(6), #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-orow > :nth-child(7) { display: none !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pbar { bottom: 64px !important; left: 8px !important; right: 8px !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pbar small, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pviews .sw2-filter, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-pviews .sw2-flabel { display: none !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mtab { display: flex; position: fixed; left: 0; right: 0; bottom: 0; height: 56px; z-index: 70; background: var(--s2-paper); border-top: 1px solid var(--s2-line); align-items: center; justify-content: space-around; padding-bottom: env(safe-area-inset-bottom, 0px); }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mtab button { height: 40px; padding: 0 16px; border: 0; border-radius: 9999px; background: transparent; color: var(--s2-t5); display: inline-flex; align-items: center; gap: 6px; font-family: var(--s2-sans); font-size: 14px; font-weight: 500; cursor: pointer; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mtab button.is-on { background: var(--s2-row); color: var(--s2-t1); }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-start .sw-start-main { min-height: 160px !important; padding: 20px !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #overview-action-container.sw-start { padding: 16px 16px 64px !important; }
}
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-nospark .storyos-ai-handle, .sw2-on-page .storyos-ai-handle.sw2-hide { display: none !important; }
.sw2-on-page #sys-alert-title, .sw2-on-page #ep-confirm-title, .sw2-on-page .custom-slider-modal-hd[style] { color: #18181B !important; }
html.dark-mode .sw2-on-page #sys-alert-title, html.dark-mode .sw2-on-page #ep-confirm-title { color: #FAFAFA !important; }
@media (max-width: 720px) { #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .mode-text-btn, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mid #mode-switch-container .sw-modeseg .sw-split-btn { white-space: nowrap !important; padding: 0 8px !important; flex-shrink: 0 !important; } #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-banner-fallback { font-size: 12px; padding: 0 12px; white-space: nowrap; overflow: hidden; } }
/* V3.0.46 · 下载 D1（规则书 V2.86）：「已保存」左边的文字按钮「⬇ 下载 ⌄」；菜单三项「下载集纲 / 下载剧本 / 下载全部」+ 浅灰 .docx，宽度按内容 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script { width: auto !important; min-width: 0 !important; padding: 0 10px !important; gap: 6px !important; font-size: 0 !important;  /* 按钮里插件原有的文字不显示，只显示下面 ::after 的「下载」 */ font-weight: 500 !important; color: var(--s2-t2) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script .sw2-bl { display: inline-flex !important; align-items: center !important; gap: 6px !important; font-size: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script .sw2-bl::after { content: "下载"; font-size: 13px; line-height: 18px; font-weight: 500; color: var(--s2-t2); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script .sw2-bl svg { width: 15px !important; height: 15px !important; color: var(--s2-t5) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script .sw-dl-car { display: inline-block !important; width: 11px !important; height: 11px !important; color: var(--s2-t3) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-download-script[aria-expanded="true"] { background: var(--s2-row) !important; }
html body #sw-dl-menu#sw-dl-menu { width: max-content !important; min-width: 168px; max-width: 240px; padding: 6px !important; gap: 0 !important; border: 0 !important; border-radius: 8px !important; background: var(--s2-paper, #fff) !important; box-shadow: 0 0 0 1px var(--s2-line, #E4E4E7), 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1) !important; }
html body #sw-dl-menu#sw-dl-menu .sw-dl-hd, html body #sw-dl-menu#sw-dl-menu .sw-dl-tx span { display: none !important; }
html body #sw-dl-menu#sw-dl-menu button { height: 34px !important; padding: 0 10px !important; gap: 10px !important; border-radius: 6px !important; }
html body #sw-dl-menu#sw-dl-menu button::after { content: ".docx"; margin-left: auto; padding-left: 16px; font-size: 11px; color: var(--s2-t4, #A1A1AA); }
html body #sw-dl-menu#sw-dl-menu button:hover, html body #sw-dl-menu#sw-dl-menu button:focus-visible { background: var(--s2-row, #F4F4F5) !important; }
html body #sw-dl-menu#sw-dl-menu .sw-dl-ic { width: auto !important; height: auto !important; background: transparent !important; color: var(--s2-t5, #52525B) !important; }
html body #sw-dl-menu#sw-dl-menu .sw-dl-ic svg { width: 15px !important; height: 15px !important; }
html body #sw-dl-menu#sw-dl-menu .sw-dl-tx b { font-size: 14px !important; line-height: 20px !important; font-weight: 400 !important; color: var(--s2-t2, #3F3F46) !important; white-space: nowrap; }
html body #sw-dl-menu#sw-dl-menu .sw-dl-sep { margin: 4px !important; background: var(--s2-row, #F4F4F5) !important; }
/* V3.0.44 · AI 浮窗 W1（规则书 V2.85） */
html body #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai#btn-toolbar-ai { display: none !important; }
/* 打开浮窗时纸面往左让一点（让多少由脚本按屏幕宽度算），对照写时右栏留出浮窗位置 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll #quill-editor-container { transition: transform .2s ease; }
body.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-sp-rhd { padding-right: 156px; }
/* V3.0.43 · 纸面页眉 P1（规则书 V2.84）：纸面左上角一行浅灰小字「☰ 第 N 集 · 集纲 / 📄 第 N 集 · 剧本」，一直显示，避免在集纲页写剧本 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll #quill-editor-container { position: relative; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-pghd { position: absolute; left: 56px; top: 14px; z-index: 1; display: inline-flex; align-items: center; gap: 6px; font-family: var(--s2-sans); font-size: 11px; line-height: 16px; letter-spacing: .08em; color: var(--s2-t4); pointer-events: none; user-select: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-pghd[hidden] { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-pghd svg { width: 12px; height: 12px; flex-shrink: 0; }
body.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-pghd { display: none !important; }
/* V3.0.40 · 体检 V2（规则书 V2.83）：左体检 · 右场景（右栏约为 V2 效果图的四分之三宽）；写作顶栏去掉「场景」按钮 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hwrap { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 16px; align-items: start; padding-top: 12px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hwrap > .sw2-hc { padding-top: 0; }
@media (max-width: 1100px) { #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hwrap { grid-template-columns: minmax(0, 1fr); } }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-hsc { padding: 18px 18px 12px !important; position: sticky; top: 12px; align-self: start; margin-top: 0; max-height: calc(100vh - 150px); overflow-y: auto; }  /* V3.0.41：吸顶位置 = 自然位置，和左栏顶部对齐（原 top:56 会一开始就被推下去） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-schd { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-schd.is-sub { margin: 0 0 6px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-schd span { font-size: 12px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-sctag { height: 22px; padding: 0 8px; border-radius: 4px; background: var(--s2-row); display: inline-flex; align-items: center; font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-sc4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scnum { border: 1px solid var(--s2-line); border-radius: 8px; padding: 8px 10px; min-width: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scnum b { display: block; font-size: 18px; line-height: 24px; font-weight: 700; color: var(--s2-ink0); font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scnum span { font-size: 12px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scsep { height: 1px; background: var(--s2-row); margin: 12px 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scr { display: flex; flex-wrap: wrap; gap: 6px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scr button { height: 26px; padding: 0 10px; border: 0; border-radius: 9999px; background: var(--s2-row); color: var(--s2-t2); font-family: var(--s2-sans); font-size: 12px; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scr button em { font-style: normal; color: var(--s2-t3); font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scr button.is-on { background: var(--s2-ink); color: var(--s2-onink); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scr button.is-on em { color: var(--s2-onink); opacity: .7; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scnote { font-size: 12px; line-height: 18px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scgrp { margin: 10px 0 2px; font-size: 11px; font-weight: 600; letter-spacing: .08em; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scgrp:first-child { margin-top: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scrow { width: 100%; min-height: 34px; padding: 6px 8px; border: 0; border-radius: 6px; background: transparent; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; column-gap: 8px; align-items: center; text-align: left; font-family: var(--s2-sans); cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scrow:hover { background: var(--s2-row); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scno { font-size: 12px; color: var(--s2-t4); font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scloc { font-size: 13px; color: var(--s2-t1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scdi { font-size: 11px; color: var(--s2-t3); white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scwho { grid-column: 2 / 4; font-size: 11px; line-height: 16px; color: var(--s2-t3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scempty { padding: 28px 16px; border: 1px dashed var(--s2-field); border-radius: 8px; background: var(--s2-soft); text-align: center; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scempty b { display: block; font-size: 14px; color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-scempty span { display: block; margin-top: 6px; font-size: 12px; line-height: 18px; color: var(--s2-t3); }
html body #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-nav#btn-toolbar-nav { display: none !important; }
/* V3.0.35 · 设定子项 B1（规则书 V2.81）：从「故事设定」圆标下方拉一条竖线，三个子项的小圆点挂在线上，一看就是它的子项 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar #setting-steprail { position: relative !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar #setting-steprail::before { content: "" !important; display: block !important; position: absolute !important; left: 8.25px !important; top: -11px !important; bottom: 19px !important; width: 1.5px !important; height: auto !important; background: var(--s2-line) !important; border: 0 !important; z-index: 1 !important; pointer-events: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar #setting-steprail .ssr-node .ssr-tx .t::before { position: relative !important; z-index: 2 !important; box-shadow: 0 0 0 3px var(--s2-paper) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar #setting-steprail .ssr-node.on .ssr-tx .t::before, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar #setting-steprail .ssr-node:hover .ssr-tx .t::before { box-shadow: 0 0 0 3px var(--s2-row) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar #setting-steprail .ssr-node:hover:not(.on) .ssr-tx .t::before { box-shadow: 0 0 0 3px var(--s2-soft) !important; }
/* V3.0.35（规则书 V2.81）：「已保存」和「保存」重复——去掉「保存」按钮，保存状态放到原来按钮的位置（竖线后面）；有改动时点它就保存，也可按 Ctrl / ⌘ + S */
html body #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw2-save.sw2-save { display: none !important; }
html body #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw2-status { order: 8; position: relative; margin: 0 4px 0 17px !important; }
html body #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw2-status::after { content: ""; position: absolute; left: -9px; top: 50%; width: 1px; height: 20px; margin-top: -10px; background: var(--s2-line); }
html body #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw2-status.is-dirty { cursor: pointer; border-radius: 4px; }
html body #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right .sw2-status.is-dirty:hover { color: var(--s2-t1) !important; text-decoration: underline; text-underline-offset: 3px; }
/* V3.0.34 · 信纸扩到全屏（规则书 V2.80）：选了米黄 / 豆沙绿 / 浅灰 / 夜读后，左栏、顶栏、工具栏、正文底、卡片、浮层一起换色，真正护眼 */
body.sw-pp-cream #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 { --s2-paper: #F5EEDC; --s2-soft: #EDE4CE; --s2-row: #E6DCC3; --s2-line: #DCD1B6; --s2-field: #CBBFA2; --s2-t1: #3B3325; --s2-ink0: #2E271B; --s2-head: #3B3325; --s2-t2: #4A4131; --s2-t5: #5E5442; --s2-t3: #7A6F58; --s2-t4: #A0957C; --s2-ink: #3B3325; --s2-inkb: #2E271B; --s2-onink: #F5EEDC; background: #EDE4CE !important; color: #3B3325; }
body.sw-pp-green #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 { --s2-paper: #E3EDDC; --s2-soft: #D8E4D0; --s2-row: #CFDCC6; --s2-line: #C3D2B9; --s2-field: #B2C3A6; --s2-t1: #26332A; --s2-ink0: #1C261F; --s2-head: #26332A; --s2-t2: #33413A; --s2-t5: #465549; --s2-t3: #5F6F63; --s2-t4: #8A9A8D; --s2-ink: #26332A; --s2-inkb: #1C261F; --s2-onink: #E3EDDC; background: #D8E4D0 !important; color: #26332A; }
body.sw-pp-gray #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 { --s2-paper: #EEF0F3; --s2-soft: #E4E7EC; --s2-row: #DCE0E6; --s2-line: #D0D5DD; --s2-field: #BFC5CF; --s2-t1: #262A33; --s2-ink0: #1B1E25; --s2-head: #262A33; --s2-t2: #353A45; --s2-t5: #4B515C; --s2-t3: #6A707D; --s2-t4: #979DA8; --s2-ink: #262A33; --s2-inkb: #1B1E25; --s2-onink: #EEF0F3; background: #E4E7EC !important; color: #262A33; }
body.sw-pp-night #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 { --s2-paper: #1F2128; --s2-soft: #181A20; --s2-row: #2A2D35; --s2-line: #343741; --s2-field: #474B57; --s2-t1: #E4E6EC; --s2-ink0: #F2F3F6; --s2-head: #D5D8E0; --s2-t2: #C9CCD6; --s2-t5: #AEB2BD; --s2-t3: #9A9EAA; --s2-t4: #6E7280; --s2-ink: #D5D8E0; --s2-inkb: #F2F3F6; --s2-onink: #1F2128; background: #181A20 !important; color: #E4E6EC; }
body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar, body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lhead, body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbody, body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar, body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-area, body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar { background: var(--s2-paper) !important; border-color: var(--s2-line) !important; }
html body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-mhead { background: var(--s2-paper) !important; border-bottom-color: var(--s2-line) !important; }
html body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lhead { border-bottom-color: var(--s2-line) !important; }
html body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-modes { background: var(--s2-row) !important; }
html body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-modes .sw2-mode { color: var(--s2-t1) !important; }
html body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-modes .sw2-mode.is-on { background: var(--s2-paper) !important; color: var(--s2-t1) !important; }
html body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai#btn-toolbar-ai { background: var(--s2-ink) !important; border-color: var(--s2-ink) !important; color: var(--s2-onink) !important; }
html body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai#btn-toolbar-ai svg { color: var(--s2-onink) !important; }
body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll { background: var(--s2-soft) !important; }
body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .ql-editor, body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw-sp-ed { color: var(--s2-head) !important; }
body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-pane { background: var(--s2-soft) !important; border-color: var(--s2-line) !important; }
body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop, body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-aim, body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-aid, body.sw-pp #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-menu { background: var(--s2-paper) !important; }
body.sw-pp.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll, body.sw-pp.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll #quill-editor-container, body.sw-pp.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-sp-rhd { background: var(--s2-paper) !important; }
body.sw-pp-night #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-nav-item.sw-done .sw-nav-tx::before, body.sw-pp-night #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #setting-steprail .ssr-node.filled .ssr-tx .t::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318181B' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") !important; }
/* V3.0.32 · 编辑工具栏 F1（规则书 V2.79） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .tb.sw2-tbx { width: auto !important; min-width: 30px !important; padding: 0 8px !important; gap: 4px !important; display: inline-flex !important; align-items: center !important; font-family: var(--s2-sans) !important; font-size: 13px !important; font-weight: 500 !important; color: var(--s2-t2) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .tb.sw2-tbx svg { width: 15px !important; height: 15px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .tb.sw2-tbx svg:last-child:not(:first-child) { width: 11px !important; height: 11px !important; color: var(--s2-t3) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .tb.sw2-tb-find { padding: 0 !important; width: 30px !important; justify-content: center !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .sw-pp-btn.sw2-pp-intb { width: auto !important; height: 30px !important; padding: 0 8px !important; margin: 0 !important; border: 0 !important; border-radius: 4px !important; background: transparent !important; box-shadow: none !important; display: inline-flex !important; align-items: center !important; gap: 4px !important; font-size: 13px !important; font-weight: 500 !important; color: var(--s2-t2) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .sw-pp-btn.sw2-pp-intb:hover { background: var(--s2-row) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .sw-pp-btn.sw2-pp-intb > svg:not(.sw-pp-car), #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .sw-pp-btn.sw2-pp-intb .sw-pp-sw { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .sw-pp-btn.sw2-pp-intb .sw2-bl { display: inline-flex !important; align-items: center !important; gap: 4px !important; font-size: 13px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .sw-pp-btn.sw2-pp-intb .sw2-bl svg { width: 15px !important; height: 15px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .sw-pp-btn.sw2-pp-intb .sw-pp-car { width: 11px !important; height: 11px !important; color: var(--s2-t3) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop { position: fixed; z-index: 65; min-width: 180px; max-width: 280px; box-sizing: border-box; padding: 6px; border-radius: 8px; background: var(--s2-paper); box-shadow: 0 0 0 1px var(--s2-line), 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1); font-family: var(--s2-sans); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop[hidden] { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop-hd { padding: 6px 10px 4px; font-size: 12px; font-weight: 600; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop button[data-name], #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop button[data-tr] { width: 100%; height: 32px; padding: 0 10px; border: 0; border-radius: 6px; background: transparent; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: var(--s2-sans); font-size: 14px; color: var(--s2-t2); cursor: pointer; text-align: left; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop button[data-name]:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop button[data-tr]:hover { background: var(--s2-row); color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop button em { font-style: normal; font-size: 12px; color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop-empty { padding: 6px 10px; font-size: 12px; line-height: 18px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop-in { padding: 6px 4px 2px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop input { width: 100%; box-sizing: border-box; height: 32px; padding: 0 10px; border: 1px solid var(--s2-field); border-radius: 6px; background: var(--s2-paper); font-family: var(--s2-sans); font-size: 13px; color: var(--s2-t1); outline: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop input:focus { border-color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-tbpop.is-find { width: 300px; max-width: 300px; padding: 10px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-fr-row { position: relative; margin-bottom: 8px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-fr-n { position: absolute; right: 10px; top: 8px; font-size: 12px; color: var(--s2-t3); font-variant-numeric: tabular-nums; pointer-events: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-fr-ft { display: flex; align-items: center; gap: 6px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-fr-ft span { flex: 1; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-fr-ft button { height: 28px; padding: 0 10px; border: 1px solid var(--s2-field); border-radius: 6px; background: var(--s2-paper); font-family: var(--s2-sans); font-size: 12px; font-weight: 500; color: var(--s2-t2); cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-fr-ft button:hover { background: var(--s2-row); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-fr-ft button.is-main { border-color: var(--s2-inkb); background: var(--s2-ink); color: var(--s2-onink); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .sw-tb-feature-group { display: inline-flex !important; align-items: center !important; gap: 2px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-scene.tb, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-delta.tb { border: 0 !important; box-shadow: none !important; background: transparent !important; height: 30px !important; padding: 0 8px !important; font-family: var(--s2-sans) !important; font-size: 13px !important; color: var(--s2-t2) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-scene.tb { font-weight: 600 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-delta.tb { font-weight: 500 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-scene.tb:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-delta.tb:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-scene.tb.active, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar #tb-auto-delta.tb.active { background: var(--s2-row) !important; color: var(--s2-t1) !important; }
/* V3.0.36：空白提示不再另加一层，改为把插件原来的「本集任务/标题…」换成「本集集纲… / 本集剧本…」（见脚本 fixPlaceholder） */
/* V3.0.38：按线上诊断——插件的提示写在 .is-outline-mode .ql-editor.first-line-empty > p:first-child::before（只在集纲页）；
   剧本页编辑器首行带一个看不见的零宽字符，不算「空白」（没有 ql-blank），所以按插件同一套条件（first-line-empty）补一行，样子完全照插件那行 */
html.sw2-ed-content #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll:not(.is-outline-mode) .ql-editor.first-line-empty > p:first-child { position: relative !important; }
html #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll .ql-editor.first-line-empty > p:first-child::before { content: none !important; display: none !important; }  /* V3.0.43：「本集集纲 / 本集剧本」预留文字都不要了 */
body.sw-pp-night #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll .ql-editor.first-line-empty > p:first-child::before { color: #5A5E6A !important; }
/* V3.0.39：对照写时两边都不显示空白提示（左「写下本集的主要事件和卡点…」、右「本集剧本...」） */
html body.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-split-pane .sw-sp-ed:empty::before { content: none !important; display: none !important; }
html.sw2-ed-content body.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll .ql-editor.first-line-empty > p:first-child::before, html body.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll .ql-editor.ql-blank::before { content: none !important; display: none !important; }
/* V3.0.30 · 对照写 S1（规则书 V2.77）：右侧剧本不再是「浅灰底上的纸面框」，直接白底铺满；左浅灰集纲、右白剧本，两侧小标题行同高、正文同一起点 */
body.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll { background: var(--s2-paper) !important; padding: 0 !important; }
body.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll #quill-editor-container { max-width: none !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: var(--s2-paper) !important; min-height: 100% !important; }
body.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll #quill-editor-container .ql-editor { padding: 4px 56px 170px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-sp-rhd { display: none; }
body.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-sp-rhd { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 20px 56px 8px; background: var(--s2-paper); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-sp-rhd b { display: inline-flex; align-items: center; gap: 6px; font-family: var(--s2-sans); font-size: 12px; line-height: 16px; font-weight: 600; color: var(--s2-t2); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-sp-rhd b svg { width: 14px; height: 14px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-sp-rhd em { font-style: normal; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-sp-rhd span { font-size: 12px; line-height: 16px; color: var(--s2-t3); font-variant-numeric: tabular-nums; white-space: nowrap; }
/* V3.0.23 · 星芒状态（规则书 V2.70）：在写＝微微闪烁；写好了＝雅绿色 */
@media (prefers-reduced-motion: reduce) { #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-aik.is-run svg { animation: none; opacity: .6; } }
/* V3.0.22 · 左栏滚动条：隐藏系统长滚动条，改成超短细条（规则书 V2.69） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar > .sw2-lbody { scrollbar-width: none; -ms-overflow-style: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar > .sw2-lbody::-webkit-scrollbar { width: 0; height: 0; display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-sthumb { position: absolute; right: 3px; top: 0; z-index: 25; width: 4px; height: 32px; border-radius: 9999px; background: rgba(24,24,27,.28); opacity: 0; pointer-events: none; transition: opacity .25s ease, width .15s ease, background .15s ease; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-sthumb.has.on { opacity: 1; pointer-events: auto; cursor: default; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-sthumb.has.on:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-sthumb.drag { width: 6px; right: 2px; background: rgba(24,24,27,.45); }
html.dark-mode #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-sthumb { background: rgba(250,250,250,.3); }
/* V3.0.20 · 正文行首 AI 按钮（规则书 V2.67 · A1 浅色版）+ 菜单 + 三选一弹窗 */
/* V3.0.19：底部 AI 输入条已去掉，样式一并删除 */
/* ---------- V2.2.2 · 「AI 帮写」放在主区头部最显眼的位置（重点功能） ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai.sw2-ai-main { height: 34px !important; padding: 0 14px !important; margin-right: 4px !important; border: 1px solid var(--s2-inkb) !important; border-radius: 9999px !important; background: var(--s2-paper) !important; color: var(--s2-t1) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0 !important; box-shadow: 0 1px 2px rgba(0,0,0,.05) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai.sw2-ai-main svg { width: 16px !important; height: 16px !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai.sw2-ai-main:hover { background: var(--s2-row) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai.sw2-ai-main.sw2-on { background: var(--s2-ink) !important; border-color: var(--s2-inkb) !important; color: var(--s2-onink) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai.sw2-ai-main.sw2-on svg { color: var(--s2-onink) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.sw2-narrow .sw2-right #btn-toolbar-ai.sw2-ai-main .sw2-lb { display: inline !important; }
@media (max-width: 720px) { #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-right #btn-toolbar-ai.sw2-ai-main { display: none !important; } }
/* ---------- V2.2.3 · 故事梗概页头（同故事设定标题头） ---------- */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-ov-head { width: 100%; max-width: 720px; margin: 0 auto; box-sizing: border-box; padding: 36px 56px 4px; background: var(--pp-card, var(--s2-paper)); border: 1px solid var(--s2-line); border-bottom: 0; border-radius: 8px 8px 0 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-ov-head .sch-title { display: flex; align-items: center; gap: 10px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-ov-head .sch-ic { width: 28px; height: 28px; border-radius: 6px; background: var(--s2-row); color: var(--s2-t2); font-family: var(--s2-sans); font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-ov-head .sw2-ovname { font-family: var(--s2-serif); font-size: 20px; line-height: 28px; font-weight: 600; letter-spacing: -.02em; color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-ov-head .sw2-ovhint { margin: 4px 0 0 38px; font-family: var(--s2-sans); font-size: 14px; line-height: 20px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll.sw2-has-head #quill-editor-container { border-top: 0 !important; border-radius: 0 !important; min-height: calc(100% - 110px) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #main-editor-scroll.sw2-has-head #quill-editor-container .ql-editor { padding-top: 16px !important; }
@media (max-width: 720px) { #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-ov-head { max-width: none; border: 0; border-radius: 0; padding: 20px 20px 0; } #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw2-ov-head .sw2-ovhint { margin-left: 0; } }


/* ======================================================================
   V3.9.0 · 左栏（规则书 V2.149 · X3）。原 V3.7.0 R1：236 宽、集列表 + 条带 + 底部「分集设置 / AI 一键分集」
   只在电脑宽度（> 720px）生效；手机沿用原来的整页列表，只换列表样式。
   ====================================================================== */
@media (min-width: 721px) {
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar { width: 200px !important; min-width: 200px !important; max-width: 200px !important; flex: 0 0 200px !important; }
}
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lhead { padding: 0 12px 0 6px; gap: 4px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar > .sw2-lbody { padding: 0 0 8px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .episode-section.sw-merged { margin-top: 0 !important; border-top: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .left-sidebar .sidebar-section:empty,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-card-hd,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-tip,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-cur,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-epcard,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #sw-ep-gear { display: none !important; }

/* 顶部：分集 · 写完 N / 总数 + 条带 + 列名（滚动时固定在顶上） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-top { position: sticky; top: 0; z-index: 3; box-sizing: border-box; padding: 14px 16px 8px; background: var(--s2-paper); font-family: var(--s2-sans); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-hd { display: flex; align-items: baseline; gap: 6px; white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-hd b { font-size: 13px; line-height: 18px; font-weight: 600; color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-hd > span { font-size: 11px; line-height: 16px; color: var(--s2-t3); font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-cols { display: inline-flex; margin: 0 0 0 auto; padding: 0; font-style: normal; font-size: 11px; line-height: 16px; color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-cols span { width: 30px; text-align: right; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-cols span.s3-gap { width: 13px; }

/* 集列表：一集一行 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list { display: flex !important; flex-direction: column !important; grid-template-columns: none !important; gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important; grid-auto-rows: auto !important; padding: 0 8px 8px !important; box-sizing: border-box !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item.episode-item.episode-item { display: flex !important; flex: 0 0 36px; align-items: center !important; justify-content: flex-start !important; width: auto !important; height: 36px !important; min-height: 36px !important; padding: 0 8px !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item::before,
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item::after { display: none !important; content: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item > *:not(.s3r) { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item.episode-item.episode-item:hover { background: var(--s2-soft) !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item.episode-item.episode-item.active { background: var(--s2-row) !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: -2px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #dynamic-episode-list .episode-item > .s3r { display: flex !important; align-items: center; gap: 0; width: 100%; min-width: 0; font-family: var(--s2-sans); }
.s3r .s3n { flex: 0 0 auto; font-size: 12px; line-height: 16px; font-weight: 400; color: var(--s2-t5); white-space: nowrap; }
.episode-item.active .s3r .s3n { font-weight: 600; color: var(--s2-t1); }
.s3r .s3k { flex: 0 0 auto; margin-left: 6px; height: 16px; padding: 0 5px; border-radius: 9999px; background: var(--s2-t1); color: var(--s2-paper); font-size: 11px; line-height: 16px; font-weight: 600; font-style: normal; white-space: nowrap; }
.s3r .s3k[hidden] { display: none; }
.s3r .s3sp { flex: 1 1 0; min-width: 4px; }
.s3r .s3o, .s3r .s3b { flex: 0 0 auto; min-width: 30px; text-align: right; font-size: 11px; line-height: 16px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.episode-item.active .s3r .s3b { color: var(--s2-t1); font-weight: 600; }
.s3r .s3o { color: var(--s2-t4); }
.s3r .s3b { color: var(--s2-t5); font-weight: 500; }
.s3r .s3o.is-none, .s3r .s3b.is-none { color: var(--s2-field); font-weight: 400; }
.episode-item.active .s3r .s3b.is-none { color: var(--s2-field); font-weight: 400; }
.s3r .s3x { flex: 0 0 1px; width: 1px; height: 12px; margin: 0 6px; background: var(--s2-line); }

/* 底部：分集设置（上）+ AI 一键分集（下，黑色主按钮）+ 一行小字 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock { position: relative; flex-shrink: 0; box-sizing: border-box; padding: 12px 8px 22px; border-top: 1px solid var(--s2-line); background: var(--s2-soft); display: flex; flex-direction: column; gap: 8px; font-family: var(--s2-sans); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock .s3-grp { box-sizing: border-box; border: 1px solid var(--s2-line); border-radius: 12px; background: var(--s2-paper); overflow: hidden; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock .s3-set { box-sizing: border-box; width: 100%; height: 50px; margin: 0; padding: 0 7px; border: 0; border-bottom: 1px solid var(--s2-line); border-radius: 0; background: var(--s2-paper); color: var(--s2-t2); display: grid; grid-template-columns: auto 1fr auto; align-content: center; align-items: center; column-gap: 6px; row-gap: 1px; font-family: var(--s2-sans); cursor: pointer; white-space: nowrap; text-align: left; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock .s3-set:hover, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock.s3-open .s3-set { background: var(--s2-soft); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock .s3-set:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: 2px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock .s3-set svg { flex: 0 0 14px; width: 14px; height: 14px; color: var(--s2-t3); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock .s3-set b { flex: 0 0 auto; font-size: 13px; line-height: 18px; font-weight: 500; color: var(--s2-t2); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock .s3-set .s3-chev { grid-column: 3; justify-self: end; text-decoration: none; font-size: 15px; line-height: 18px; color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock .s3-set em { grid-column: 1 / -1; margin: 0; font-style: normal; font-size: 11px; line-height: 16px; color: var(--s2-t3); text-align: left; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-ai-row { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; display: block !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-ai-row #btn-ai-split-episodes { box-sizing: border-box !important; width: 100% !important; height: 40px !important; margin: 0 !important; padding: 0 12px !important; border: 0 !important; border-radius: 0 !important; background: var(--s2-t1) !important; color: var(--s2-paper) !important; box-shadow: none !important; transform: none !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; font-family: var(--s2-sans) !important; font-size: 13px !important; line-height: 18px !important; font-weight: 600 !important; white-space: nowrap !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-ai-row #btn-ai-split-episodes:hover { background: var(--s2-head) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-ai-row #btn-ai-split-episodes:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: 2px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-ai-row #btn-ai-split-episodes:disabled { opacity: .6; cursor: not-allowed; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-ai-row #btn-ai-split-episodes svg { width: 13px !important; height: 13px !important; flex: 0 0 auto; color: inherit !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-ai-row #btn-ai-split-episodes span { color: inherit !important; background: transparent !important; padding: 0 !important; font-size: 13px !important; font-weight: 600 !important; line-height: 18px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-ai-row #btn-ai-split-episodes span.s3-cost { font-weight: 400 !important; font-size: 12px !important; opacity: .7; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-ai-row .sw-ai-split-meta { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock .s3-note { padding: 0 8px; font-size: 11px; line-height: 14px; color: var(--s2-t4); text-align: left; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock .s3-note[hidden] { display: none; }
/* V4.4.0 · 0 集（还没分集）：左栏直接设置 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp { box-sizing: border-box; padding: 4px 16px 12px; font-family: var(--s2-sans); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp[hidden] { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-row { display: flex; align-items: center; height: 34px; font-size: 12px; line-height: 16px; color: var(--s2-t2); white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-row > span:first-child { flex: 1 1 auto; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-row.is-off { color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-st { display: inline-flex; align-items: center; height: 26px; border: 1px solid var(--s2-line); border-radius: 8px; background: var(--s2-paper); overflow: hidden; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-st:focus-within { border-color: var(--s2-inkb); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-st button { flex: 0 0 22px; width: 22px; height: 100%; margin: 0; padding: 0; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--s2-t3) !important; font-size: 14px; line-height: 1; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-st button:hover:not(:disabled) { background: var(--s2-soft) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-st button:disabled { color: var(--s2-field) !important; cursor: default; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-st button:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: -2px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-st input { flex: 0 0 34px; width: 34px; height: 100%; min-height: 0; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: none; text-align: center; font: 600 12px/16px var(--s2-sans); color: var(--s2-t1); font-variant-numeric: tabular-nums; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-row.is-off .s3z-st input { color: var(--s2-t4); font-weight: 400; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-row u { flex: 0 0 30px; text-align: right; text-decoration: none; font-size: 11px; color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-go { box-sizing: border-box; display: block; width: 100%; height: 34px; margin: 8px 0 0; padding: 0 10px; border: 1px solid var(--s2-t1) !important; border-radius: 9px !important; background: var(--s2-paper) !important; color: var(--s2-t1) !important; font: 600 13px/32px var(--s2-sans); cursor: pointer; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-go:hover:not(:disabled) { background: var(--s2-soft) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-go:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: 2px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-go:disabled { border-color: var(--s2-line) !important; color: var(--s2-t4) !important; cursor: not-allowed; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp .s3z-hint { margin-top: 6px; font-size: 11px; line-height: 16px; color: var(--s2-t4); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp.is-err .s3z-hint { color: #B42318; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp.is-err .s3z-row[data-k="n"] .s3z-st { border-color: #B42318; }
/* V4.5.0 · 0 集时点「写作 / 布局」的提示气泡 + 左栏高亮（规则书 V2.168） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp { position: relative; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp.s3z-hl { border-radius: 12px; box-shadow: inset 0 0 0 2px #4A55C7; background: rgba(74,85,199,.06); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp.s3z-hl::after { content: "先从这里开始"; position: absolute; right: 10px; bottom: 10px; padding: 0 8px; border-radius: 9px; background: #4A55C7; color: #fff; font: 600 11px/18px var(--s2-sans); white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zp.s3z-hl .s3z-hint { padding-right: 88px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zpop { position: fixed; z-index: 2147483000; box-sizing: border-box; width: 300px; max-width: calc(100vw - 16px); padding: 16px; background: var(--s2-paper); border: 1px solid var(--s2-line); border-radius: 14px; box-shadow: 0 12px 32px rgba(24,24,27,.14); font-family: var(--s2-sans); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zpop::before { content: ""; position: absolute; top: -7px; left: var(--ax, 34px); width: 12px; height: 12px; background: var(--s2-paper); border-left: 1px solid var(--s2-line); border-top: 1px solid var(--s2-line); transform: rotate(45deg); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zpop .s3zp-t { font-size: 14px; line-height: 20px; font-weight: 700; color: var(--s2-t1); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zpop .s3zp-d { margin-top: 4px; font-size: 13px; line-height: 20px; color: var(--s2-t2); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zpop .s3zp-b { display: flex; gap: 8px; margin-top: 14px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zpop .s3zp-b button { flex: 1; height: 34px; margin: 0; padding: 0 8px; border-radius: 9px; font: 600 13px/16px var(--s2-sans); cursor: pointer; white-space: nowrap; border: 1px solid var(--s2-field) !important; background: var(--s2-paper) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zpop .s3zp-b button.p { background: var(--s2-ink) !important; border-color: var(--s2-inkb) !important; color: var(--s2-onink) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-zpop .s3zp-b button:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: 2px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.s3-zero .s3-cols { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.s3-zero .s3-dock .s3-set { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.s3-zero .s3-dock .s3-grp { border: 0; background: transparent; overflow: visible; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2.s3-zero .s3-dock #sw-ep-ai-row #btn-ai-split-episodes { border-radius: 10px !important; }
/* 分集设置浮层：改从底部这一块向上弹出（集数 / 时长 / 一卡在第几集） */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset { display: none !important; position: absolute !important; top: auto !important; bottom: calc(100% + 6px) !important; left: 8px !important; right: auto !important; width: 232px !important; padding: 12px !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock.s3-open #sw-ep-fieldset { display: block !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .ep-legend { display: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset #sw-ep-panel-hd { display: flex !important; align-items: center !important; justify-content: space-between !important; margin: 0 0 10px !important; padding: 0 !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset #sw-ep-panel-hd b { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .episode-settings { display: flex !important; flex-direction: column !important; gap: 10px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .ep-input-box { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 6px !important; width: auto !important; height: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .ep-input-label { width: auto !important; flex: 0 1 auto !important; margin: 0 !important; font-size: 13px !important; line-height: 18px !important; font-weight: 400 !important; color: var(--s2-t1) !important; white-space: nowrap !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .sw-stepper { display: inline-flex !important; flex-direction: row !important; align-items: center !important; gap: 4px !important; flex: 0 0 auto; margin-left: auto; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .sw-step-btn { width: 26px !important; height: 30px !important; flex: 0 0 26px; padding: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border: 1px solid var(--s2-field) !important; border-radius: 4px !important; background: var(--s2-paper) !important; color: var(--s2-t5) !important; cursor: pointer; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .sw-step-btn:hover { background: var(--s2-row) !important; color: var(--s2-t1) !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .ep-input-wrapper { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: center !important; gap: 2px !important; width: auto !important; min-width: 0 !important; height: 30px !important; flex: 0 0 auto !important; margin: 0 !important; padding: 0 6px !important; box-sizing: border-box !important; border: 1px solid var(--s2-field) !important; border-radius: 4px !important; background: var(--s2-paper) !important; box-shadow: none !important; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .ep-input-wrapper input { min-width: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; height: 28px !important; background: transparent !important; box-shadow: none !important; text-align: right !important; font-size: 14px !important; font-weight: 600 !important; color: var(--s2-t1) !important; -moz-appearance: textfield; appearance: textfield; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .ep-input-wrapper input::-webkit-inner-spin-button, #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .ep-input-wrapper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .s3-dock #sw-ep-fieldset .ep-unit { position: static !important; transform: none !important; margin: 0 0 0 3px !important; font-size: 12px !important; color: var(--s2-t3) !important; flex: 0 0 auto; }

/* 写作页：纸面右上角「标记写完」+ 工具栏右侧「大纲 N | 正文 N」 */
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-done { position: absolute; right: 56px; top: 6px; z-index: 2; box-sizing: border-box; height: 28px; padding: 0 12px; border: 1px solid var(--s2-line); border-radius: 9999px; background: var(--s2-paper); color: var(--s2-t1); display: inline-flex; align-items: center; gap: 5px; font-family: var(--s2-sans); font-size: 12px; line-height: 16px; font-weight: 500; cursor: pointer; white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-done[hidden] { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-done:hover { border-color: var(--s2-field); background: var(--s2-soft); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-done:focus-visible { outline: 2px solid var(--s2-inkb); outline-offset: 2px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-done i { width: 11px; height: 11px; box-sizing: border-box; border-radius: 9999px; border: 1.5px solid var(--s2-t3); display: inline-block; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-done.is-done { background: var(--s2-t1); border-color: var(--s2-t1); color: var(--s2-paper); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-done.is-done:hover { background: var(--s2-head); }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-done.is-done i { border-color: var(--s2-paper); background: var(--s2-paper); }
body.sw-split #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-done { display: none; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .editor-toolbar .toolbar-right.s3-has { display: flex !important; align-items: center; margin-left: auto; padding-right: 8px; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-wc { font-family: var(--s2-sans); font-size: 12px; line-height: 16px; color: var(--s2-t4); font-variant-numeric: tabular-nums; white-space: nowrap; }
#saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-wc b { font-weight: 400; color: var(--s2-t3); }
@media (max-width: 720px) {
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 #s3-done { right: 16px; }
}

@media (min-width: 721px) {
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar { padding: 0 12px 0 8px; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar #btn-download-script { flex: 0 0 auto !important; white-space: nowrap !important; }
  #saas-fullscreen-app-wrapper#saas-fullscreen-app-wrapper.sw2 .sw2-lbar .sw2-status { padding-right: 0; font-size: 13px; }
}
