.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.sutra-editor-shell{position:relative;width:100%}.sutra-editor{outline:none;padding:var(--sp-6, 32px) var(--sp-8, 48px);background:var(--paper-pure, #fefdfb);color:var(--ink-medium, #4a453d);font-family:var(--font-serif-zh, "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", "STSong", serif);font-size:var(--reading-doc-fs, 17px);line-height:1.9;min-height:520px}.sutra-editor.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--ink-wash, #b5aea3);pointer-events:none;font-style:italic}.sutra-editor h1,.sutra-editor h2,.sutra-editor h3,.sutra-editor h4{color:var(--ink-deepest, #1a1714);font-weight:600;margin:1.4em 0 .6em;line-height:1.4}.sutra-editor h1{font-size:1.7em}.sutra-editor h2{font-size:1.4em;padding-bottom:.2em;border-bottom:1px solid var(--paper-aged, #ede8df)}.sutra-editor h3{font-size:1.2em}.sutra-editor h4{font-size:1.05em}.sutra-editor p{margin:.6em 0;text-indent:2em}.sutra-editor ul,.sutra-editor ol{padding-left:2em;margin:.8em 0}.sutra-editor blockquote{margin:1em 0;padding:.4em 1em;border-left:3px solid var(--gold, #b8963e);background:#b8963e0f;color:var(--ink-deep, #2d2a26);font-style:italic}.sutra-editor code{background:var(--paper-shadow, #e2dcd2);padding:.1em .4em;border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.sutra-editor pre{background:var(--ink-deep, #2d2a26);color:var(--paper-warm, #f7f3ed);padding:1em;border-radius:4px;overflow-x:auto}.sutra-editor a{color:var(--azure, #3d6b7e);text-decoration:underline dotted var(--azure, #3d6b7e);text-underline-offset:2px}.sutra-editor hr{border:none;border-top:1px solid var(--paper-aged, #ede8df);margin:2em 0}.sutra-editor .ruby-text{position:relative;display:inline-block;margin-top:.9em;padding-top:.05em;cursor:help}.sutra-editor .ruby-text:before{content:attr(data-ruby);position:absolute;top:-1em;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.62em;letter-spacing:.04em;color:var(--gold, #b8963e);font-family:var(--font-sans, "PingFang SC", -apple-system, system-ui, sans-serif);font-style:normal;pointer-events:none;opacity:.85}.sutra-editor .ruby-text:hover{background:var(--trace-active, rgba(184, 150, 62, .16));border-radius:2px}.sutra-editor .ruby-text[data-active="1"]{background:var(--trace-active, rgba(184, 150, 62, .25));outline:1px solid var(--gold, #b8963e)}.sutra-editor p[data-kind=source],.sutra-editor p[data-segment-id]:not([data-kind]):has(.ruby-text){font-weight:600;color:var(--ink-deepest, #1a1714);border-left:3px solid var(--gold, #b8963e);padding:.15em .5em .15em .75em;text-indent:0;background:#b8963e0d;border-radius:0 4px 4px 0}[data-theme=dark] .sutra-editor p[data-kind=source],[data-theme=dark] .sutra-editor p[data-segment-id]:not([data-kind]):has(.ruby-text){background:#b8963e1f}.sutra-editor p[data-kind=translation]{font-weight:400;color:var(--ink-medium, #4a453d)}.tippy-box{font-family:var(--font-sans, system-ui, sans-serif)}.public-reader-shell{min-height:100vh;background:var(--paper-warm, #f7f3ed);color:var(--ink-medium, #4a453d);font-family:var(--font-serif-zh, "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", "STSong", serif)}.pr-masthead{display:flex;justify-content:space-between;align-items:center;max-width:760px;margin:0 auto;padding:16px 24px;border-bottom:1px solid var(--paper-aged, #ede8df)}.pr-brand{color:var(--ink-deepest, #1a1714);font-weight:600;text-decoration:none;font-size:17px}.pr-cta{color:var(--azure, #3d6b7e);text-decoration:none;font-size:14px;border:1px solid var(--azure, #3d6b7e);padding:4px 12px;border-radius:3px}.pr-cta:hover{background:var(--azure, #3d6b7e);color:#fff}.pr-paper{max-width:760px;margin:0 auto;padding:40px 32px 80px;background:var(--paper-pure, #fefdfb);min-height:calc(100vh - 60px);box-shadow:0 0 24px #0000000a}.pr-title{text-align:center;font-size:30px;color:var(--ink-deepest, #1a1714);font-weight:700;margin:0 0 8px;letter-spacing:.05em}.pr-subtitle{text-align:center;color:var(--ink-light, #7a746a);font-size:15px;margin:0 0 32px;font-style:italic}.pr-toc{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0 32px;padding:12px;background:var(--paper-light, #faf8f4);border-radius:4px;font-size:14px}.pr-toc-item{background:transparent;border:1px solid var(--paper-aged, #ede8df);padding:4px 12px;border-radius:3px;cursor:pointer;color:var(--ink-deep, #2d2a26);font-family:inherit}.pr-toc-item:hover{background:var(--paper-shadow, #e2dcd2)}.pr-toc-item.active{border-color:var(--gold, #b8963e);color:var(--gold, #b8963e);font-weight:600}.sutra-editor.sutra-editor--readonly{padding:0;background:transparent}.pr-footer{margin-top:64px;padding-top:24px;border-top:1px solid var(--paper-aged, #ede8df);font-size:14px;color:var(--ink-light, #7a746a);text-align:center}@media(max-width:640px){.pr-masthead{padding:12px 16px}.pr-brand{font-size:16px}.pr-paper{padding:24px 16px 60px;box-shadow:none}.pr-title{font-size:24px}.pr-subtitle{font-size:14px;margin-bottom:24px}.pr-toc{gap:4px;padding:8px;font-size:13px}.pr-toc-item{padding:4px 10px}.sutra-editor{font-size:16px;line-height:1.85}}:root{--ink-deepest: #1a1714;--ink-deep: #2d2a26;--ink-medium: #4a453d;--ink-light: #7a746a;--ink-wash: #b5aea3;--paper-warm: #f7f3ed;--paper-light: #faf8f4;--paper-pure: #fefdfb;--paper-aged: #e2dcd2;--paper-shadow: #d8d2c8;--cinnabar: #c45544;--cinnabar-light:#d47a6c;--azure: #3d6b7e;--azure-light: #5a8a9d;--azure-deep: #2a4d5c;--gold: #b8963e;--gold-light: #d4b76a;--vermilion: var(--cinnabar);--lang-tibetan: #8b6e4e;--lang-chinese: #5c7a5a;--lang-english: #5a6b7a;--lang-sanskrit: #7a5c6a;--trace-active: rgba(184, 150, 62, .2);--trace-hover: rgba(61, 107, 126, .12);--trace-chain: rgba(196, 85, 68, .1);--font-scripture: "Noto Serif SC", "Noto Serif Tibetan", "Cormorant Garamond", serif;--font-body: "Noto Serif SC", "Source Serif 4", serif;--font-ui: "Noto Sans SC", "Inter", sans-serif;--font-mono: "JetBrains Mono", "Menlo", monospace;--font-tibetan: "Noto Serif Tibetan", serif;--text-xs: .8125rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--lh-tight: 1.4;--lh-normal: 1.7;--lh-loose: 2;--reading-lh: 1.7;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4rem;--ease-gentle: cubic-bezier(.4, 0, .2, 1);--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .4s;--sidebar-width: 240px;--sidebar-collapsed: 56px;--status-bar-height: 40px}[data-theme=dark]{--ink-deepest: #e8e2d8;--ink-deep: #d4cec4;--ink-medium: #b5aea3;--ink-light: #8a8378;--ink-wash: #5a5448;--paper-warm: #1a1714;--paper-light: #222019;--paper-pure: #2a2722;--paper-aged: #33302a;--paper-shadow: #3d3a34;--cinnabar: #d47a6c;--vermilion: var(--cinnabar);--azure: #6a9cb0;--gold: #d4b76a;--trace-active: rgba(212, 183, 106, .2);--trace-hover: rgba(106, 156, 176, .12)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:17px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-ui);color:var(--ink-medium);background:var(--paper-warm);line-height:var(--lh-normal);overflow:hidden;height:100vh}#root{height:100vh;display:flex;flex-direction:column}.icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.icon--sm{width:16px;height:16px}.icon--lg{width:24px;height:24px}.icon--xl{width:32px;height:32px}.app-shell{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--ink-deep);color:var(--ink-wash);display:flex;flex-direction:column;transition:width var(--dur-slow) var(--ease-gentle);overflow:hidden;flex-shrink:0}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar__brand{padding:var(--sp-5) var(--sp-4);display:flex;align-items:center;gap:var(--sp-3);border-bottom:1px solid rgba(255,255,255,.06)}.sidebar__brand-text{font-family:var(--font-scripture);font-size:var(--text-lg);color:var(--gold);white-space:nowrap;overflow:hidden}.sidebar__nav{flex:1;overflow-y:auto;padding:var(--sp-3) 0}.sidebar__nav::-webkit-scrollbar{width:4px}.sidebar__nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);cursor:pointer;transition:background var(--dur-fast) var(--ease-gentle);white-space:nowrap;font-size:var(--text-sm);color:var(--ink-wash);border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:#ffffff0d;color:var(--paper-aged)}.nav-item.active{background:#ffffff14;color:var(--gold-light);border-left:2px solid var(--gold)}.nav-item--indent{padding-left:calc(var(--sp-4) + var(--sp-5))}.nav-item--indent-2{padding-left:calc(var(--sp-4) + var(--sp-5) * 2)}.nav-item--with-actions{-webkit-user-select:none;user-select:none;position:relative}.nav-item__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item__actions{display:none;gap:2px;margin-left:auto;flex-shrink:0}.nav-item--with-actions:hover .nav-item__actions,.nav-item--with-actions.active .nav-item__actions{display:inline-flex}.nav-item__action-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:var(--ink-wash);border-radius:3px;cursor:pointer;transition:background .12s,color .12s}.nav-item__action-btn:hover{background:#ffffff1f;color:var(--gold-light)}.nav-item__action-btn--danger:hover{background:#c435352e;color:var(--vermilion, #c43535)}.sidebar__toggle{padding:var(--sp-3) var(--sp-4);border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:center}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--paper-warm)}.breadcrumb-bar{background:var(--paper-light);border-bottom:1px solid var(--paper-aged);padding:var(--sp-2) var(--sp-5);display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm);flex-shrink:0}.breadcrumb{display:flex;align-items:center;gap:var(--sp-2);color:var(--ink-light)}.breadcrumb__sep{color:var(--ink-wash);font-size:var(--text-xs)}.breadcrumb__current{color:var(--ink-deepest);font-weight:600}.chain-indicator{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-ui);font-size:var(--text-xs)}.chain-tag{padding:2px var(--sp-2);border-radius:2px;font-size:var(--text-xs);font-weight:500}.chain-tag--bo{background:#8b6e4e1f;color:var(--lang-tibetan)}.chain-tag--zh{background:#5c7a5a1f;color:var(--lang-chinese)}.chain-tag--en{background:#5a6b7a1f;color:var(--lang-english)}.workbench{flex:1;display:flex;overflow:hidden}.source-panel{width:45%;min-width:360px;display:flex;flex-direction:column;border-right:1px solid var(--paper-aged);background:var(--paper-light)}.panel-header{padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--paper-aged);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.panel-title{font-family:var(--font-scripture);font-size:var(--text-lg);color:var(--ink-deepest);display:flex;align-items:center;gap:var(--sp-2)}.scan-viewer{flex:1;overflow:auto;padding:var(--sp-4);display:flex;justify-content:center;align-items:flex-start}.scan-image-container{position:relative;display:inline-block;max-width:100%}.scan-image-container img{max-width:100%;height:auto;display:block;border:1px solid var(--paper-aged);border-radius:2px}.bbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.bbox-rect{position:absolute;border:1.5px solid transparent;border-radius:1px;transition:all var(--dur-normal) var(--ease-gentle);pointer-events:auto;cursor:pointer}.bbox-rect:hover{background:var(--trace-hover);border-color:var(--azure)}.bbox-rect.active{background:var(--trace-active);border-color:var(--gold);box-shadow:0 0 8px #b8963e4d}.bbox-rect.chain-traced{background:var(--trace-chain);border-color:var(--cinnabar-light)}.source-text-view{flex:1;overflow:auto;padding:var(--sp-5) var(--sp-6);font-family:var(--font-scripture);font-size:var(--text-lg);line-height:var(--lh-loose);color:var(--ink-deepest)}.source-token{display:inline;cursor:pointer;transition:background var(--dur-fast) var(--ease-gentle);border-radius:2px;padding:0 1px}.source-token:hover{background:var(--trace-hover)}.source-token.active{background:var(--trace-active)}.translation-panel{flex:1;min-width:420px;display:flex;flex-direction:column;background:var(--paper-pure)}.lang-tabs{display:flex;border-bottom:1px solid var(--paper-aged);flex-shrink:0;background:var(--paper-light)}.lang-tab{padding:var(--sp-3) var(--sp-5);font-size:var(--text-sm);font-weight:500;color:var(--ink-light);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all var(--dur-fast) var(--ease-gentle);display:flex;align-items:center;gap:var(--sp-2)}.lang-tab:hover{color:var(--ink-medium);background:var(--paper-shadow)}.lang-tab.active{color:var(--ink-deepest);border-bottom-color:var(--cinnabar)}.lang-tab .lang-dot{width:8px;height:8px;border-radius:50%}.segments-list{flex:1;overflow-y:auto;padding:var(--sp-5);scroll-behavior:smooth}.segments-list::-webkit-scrollbar{width:6px}.segments-list::-webkit-scrollbar-thumb{background:var(--paper-shadow);border-radius:3px}.segment-card{padding:var(--sp-5) var(--sp-5) var(--sp-4);border-radius:0 4px 4px 0;background:var(--paper-light);transition:box-shadow var(--dur-normal) var(--ease-gentle),background var(--dur-normal) var(--ease-gentle)}.segment-card:hover{box-shadow:0 2px 12px #1a17140f}.segment-card.active{background:#b8963e0f;box-shadow:0 0 0 1px #b8963e40 inset,0 1px 6px #1a17140d}.segment-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3)}.segment-card__id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-wash)}.segment-card__status{font-size:var(--text-xs);padding:2px var(--sp-2);border-radius:2px}.status--raw{background:#b5aea333;color:var(--ink-light)}.status--draft{background:#3d6b7e1a;color:var(--azure)}.status--approved{background:#5c7a5a1f;color:var(--lang-chinese)}.segment-card{position:relative}.segment-card__stage-rule{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:2px 0 0 2px;opacity:.85;transition:opacity var(--dur-fast),width var(--dur-fast)}.segment-card:hover .segment-card__stage-rule{opacity:1;width:5px}.segment-card__stage-glyph{display:inline-block;margin-left:var(--sp-2);font-family:var(--font-scripture);font-size:.95em;font-weight:600;letter-spacing:.05em}.segment-card--stage-raw{background:var(--paper-light)}.segment-card--stage-draft{background:linear-gradient(to right,rgba(61,107,126,.04),transparent 60%)}.segment-card--stage-review{background:linear-gradient(to right,rgba(196,53,53,.05),transparent 60%)}.segment-card--stage-final{background:linear-gradient(to right,rgba(184,150,62,.07),transparent 60%)}.segment-card--empty{cursor:pointer}.segment-card--empty:hover{background:#b8963e0a;box-shadow:0 0 0 1px #b8963e26 inset}.segment-card--empty .proposal-empty--invitation{text-align:center;color:var(--ink-wash);font-style:italic;font-size:var(--text-sm);padding:var(--sp-4) var(--sp-3);border:1px dashed rgba(184,150,62,.25);border-radius:var(--radius-sm);background:transparent;transition:border-color var(--dur-fast),color var(--dur-fast)}.segment-card--empty:hover .proposal-empty--invitation{border-color:var(--gold);color:var(--gold)}.proposal-empty--invitation.proposal-empty--locked{opacity:.6;font-style:italic}.proposal-empty__hint:before{content:"✎ ";margin-right:4px}.chapter-kanban{position:relative;background:var(--paper-light);border-bottom:1px solid var(--paper-aged);padding:var(--sp-3) var(--sp-5);margin:calc(-1 * var(--sp-5)) calc(-1 * var(--sp-5)) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.chapter-kanban__progress{display:flex;align-items:center;gap:var(--sp-3)}.chapter-kanban__count{font-family:var(--font-scripture);font-size:var(--text-xl);font-weight:600;color:var(--gold);letter-spacing:.02em}.chapter-kanban__count-label{font-size:var(--text-xs);color:var(--ink-wash);margin-right:var(--sp-3)}.chapter-kanban__bar{flex:1;display:flex;height:4px;border-radius:2px;overflow:hidden;background:#0000000d}.chapter-kanban__bar-seg{height:100%;transition:flex var(--dur-mid) var(--ease-gentle)}.chapter-kanban__bar-seg--raw{background:var(--ink-wash);opacity:.35}.chapter-kanban__bar-seg--draft{background:var(--azure)}.chapter-kanban__bar-seg--review{background:var(--vermilion, #c43535)}.chapter-kanban__bar-seg--final{background:var(--gold)}.chapter-kanban__chips{display:flex;gap:var(--sp-2);flex-wrap:wrap}.stage-chip{display:inline-flex;align-items:baseline;gap:var(--sp-1);padding:4px 10px;border-radius:12px;border:1px solid transparent;background:transparent;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--ink-light);cursor:pointer;transition:all var(--dur-fast) var(--ease-gentle)}.stage-chip:hover{background:#0000000a}.stage-chip__glyph{font-family:var(--font-scripture);font-size:1.05em;font-weight:600}.stage-chip__count{font-family:var(--font-mono);font-size:.9em;color:var(--ink-wash)}.stage-chip--raw .stage-chip__glyph{color:var(--ink-light)}.stage-chip--draft .stage-chip__glyph{color:var(--azure)}.stage-chip--review .stage-chip__glyph{color:var(--vermilion, #c43535)}.stage-chip--final .stage-chip__glyph{color:var(--gold)}.stage-chip--active{background:var(--paper-warm);border-color:currentColor;color:var(--ink-deepest)}.stage-chip--active.stage-chip--raw{border-color:var(--ink-light)}.stage-chip--active.stage-chip--draft{border-color:var(--azure)}.stage-chip--active.stage-chip--review{border-color:var(--vermilion, #c43535)}.stage-chip--active.stage-chip--final{border-color:var(--gold)}.stage-chip--all{font-family:var(--font-scripture);color:var(--ink-deep)}.source-panel--folded,.translation-panel--folded{width:36px!important;min-width:36px!important;flex:0 0 36px!important;background:var(--paper-warm);border-right:1px solid var(--paper-aged)}.source-panel--folded .panel-header,.translation-panel--folded .panel-header,.source-panel--folded .scan-viewer,.source-panel--folded .text-source-viewer,.source-panel--folded .empty-state,.translation-panel--folded .lang-tabs,.translation-panel--folded .segments-list{display:none}.panel-fold-strip{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--sp-3);padding:var(--sp-5) 0;border:none;background:transparent;color:var(--ink-wash);cursor:pointer;transition:color var(--dur-fast),background var(--dur-fast)}.panel-fold-strip:hover{color:var(--gold);background:#b8963e0d}.panel-fold-strip__label{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--font-scripture);font-size:var(--text-sm);letter-spacing:.4em}.panel-fold-btn{margin-left:var(--sp-2);padding:4px 6px!important;color:var(--ink-wash)!important}.panel-fold-btn:hover{color:var(--gold)!important;background:#b8963e14!important}.panel-divider{background:var(--paper-aged)!important;width:4px!important}.panel-divider:hover{background:var(--gold)!important}.panel-divider:hover:after{background:var(--gold)!important;opacity:1!important;height:48px!important}.persona-tabs{display:flex;gap:var(--sp-1);margin-bottom:var(--sp-3);flex-wrap:wrap}.persona-tab{padding:var(--sp-1) var(--sp-3);border:1px solid var(--paper-aged);border-radius:3px;font-size:var(--text-xs);font-weight:500;color:var(--ink-light);cursor:pointer;background:none;transition:all var(--dur-fast) var(--ease-gentle)}.persona-tab:hover{border-color:var(--azure);color:var(--azure)}.persona-tab.active{border-color:var(--cinnabar);color:var(--cinnabar);background:#c455440a}.proposal-content{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-normal);color:var(--ink-deepest);padding:var(--sp-3) 0}.proposal-content--en{font-family:"Source Serif 4",var(--font-body)}.proposal-content--bo{font-family:var(--font-tibetan)}.proposal-meta{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--ink-wash)}.proposal-meta__badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:1px var(--sp-2);border-radius:2px;font-size:.8125rem}.badge--ai{background:#3d6b7e1a;color:var(--azure)}.badge--human{background:#b8963e1a;color:var(--gold)}.status-bar{height:var(--status-bar-height);background:var(--ink-deep);color:var(--ink-wash);display:flex;align-items:center;padding:0 var(--sp-5);gap:var(--sp-6);font-size:var(--text-xs);flex-shrink:0}.status-bar__section,.status-bar__progress{display:flex;align-items:center;gap:var(--sp-2)}.progress-bar{width:80px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.progress-bar__fill{height:100%;border-radius:2px;transition:width var(--dur-slow) var(--ease-gentle)}.progress-bar__fill--bo2zh{background:var(--lang-chinese)}.progress-bar__fill--zh2en{background:var(--lang-english)}.status-bar__collaborators{display:flex;gap:-4px}.collaborator-dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--ink-deep);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;margin-left:-4px}.collaborator-dot:first-child{margin-left:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:3px;font-size:var(--text-sm);font-family:var(--font-ui);font-weight:500;cursor:pointer;border:none;transition:all var(--dur-fast) var(--ease-gentle);letter-spacing:.02em}.btn--primary{background:var(--cinnabar);color:var(--paper-pure)}.btn--primary:hover{background:var(--cinnabar-light)}.btn--secondary{background:transparent;color:var(--azure);border:1px solid var(--azure)}.btn--secondary:hover{background:#3d6b7e0f}.btn--ghost{background:transparent;color:var(--ink-medium)}.btn--ghost:hover{background:var(--paper-shadow)}.btn--sm{padding:var(--sp-1) var(--sp-3);font-size:var(--text-xs)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-8);color:var(--ink-wash);text-align:center;gap:var(--sp-4)}.empty-state__icon{width:64px;height:64px;color:var(--paper-shadow)}.empty-state__title{font-family:var(--font-scripture);font-size:var(--text-xl);color:var(--ink-light)}.empty-state__desc{font-size:var(--text-sm);max-width:360px;line-height:var(--lh-normal)}.panel-divider{width:4px;background:transparent;cursor:col-resize;flex-shrink:0;transition:background var(--dur-fast) var(--ease-gentle);position:relative}.panel-divider:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:32px;background:var(--paper-shadow);border-radius:1px;opacity:0;transition:opacity var(--dur-fast)}.panel-divider:hover{background:var(--azure)}.panel-divider:hover:after{opacity:1}.translation-editor{margin-top:var(--sp-3);border:1px solid var(--paper-aged);border-radius:4px;background:var(--paper-pure);overflow:hidden}.editor-header{padding:var(--sp-2) var(--sp-3);background:var(--paper-light);border-bottom:1px solid var(--paper-aged);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.editor-header__label{font-size:var(--text-xs);font-weight:500;color:var(--ink-light);display:flex;align-items:center;gap:var(--sp-1)}.persona-selector{display:flex;gap:var(--sp-1);flex-wrap:wrap}.persona-chip{padding:2px var(--sp-2);border:1px solid var(--paper-aged);border-radius:2px;font-size:.8125rem;color:var(--ink-light);cursor:pointer;background:none;transition:all var(--dur-fast) var(--ease-gentle);font-family:var(--font-ui)}.persona-chip:hover{border-color:var(--azure);color:var(--azure)}.persona-chip.active{border-color:var(--cinnabar);color:var(--cinnabar);background:#c455440a}.editor-textarea{width:100%;border:none;padding:var(--sp-3) var(--sp-4);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-normal);color:var(--ink-deepest);background:var(--paper-pure);resize:vertical;min-height:60px;outline:none}.editor-textarea--en{font-family:"Source Serif 4",var(--font-body)}.editor-textarea::placeholder{color:var(--ink-wash)}.editor-actions{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--paper-aged);display:flex;align-items:center;justify-content:space-between}.editor-toggle{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);color:var(--ink-light);cursor:pointer}.editor-toggle input[type=checkbox]{accent-color:var(--azure)}.editor-toggle__label{-webkit-user-select:none;user-select:none}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.segment-source-preview{padding:var(--sp-2) 0 var(--sp-3);font-size:var(--text-xs);line-height:1.8;border-bottom:1px solid var(--paper-aged);margin-bottom:var(--sp-3)}.source-token-inline{display:inline;padding:1px 2px;border-radius:2px;cursor:pointer;transition:background var(--dur-fast) var(--ease-gentle);color:var(--ink-medium);font-family:var(--font-scripture)}.source-token-inline:hover{background:var(--trace-hover);color:var(--ink-deepest)}.source-token-inline.active{background:var(--trace-active);color:var(--ink-deepest)}.source-token-ellipsis{color:var(--ink-wash);padding:0 var(--sp-1)}.source-token-inline.has-literal{display:inline-flex;flex-direction:column;align-items:center;vertical-align:top;margin-bottom:var(--sp-1)}.source-token-text{display:inline}.source-token-literal{display:block;font-size:.8125rem;color:var(--gold);font-family:var(--font-ui);line-height:1.2;opacity:.85;white-space:nowrap;cursor:help;transition:opacity var(--dur-fast) var(--ease-gentle)}.source-token-inline:hover .source-token-literal{opacity:1;color:var(--gold-light)}.literal-toggle-btn{font-size:var(--text-xs)!important;padding:2px 6px!important;border-radius:3px;transition:all var(--dur-fast) var(--ease-gentle)}.literal-toggle-btn.active{background:var(--trace-active);color:var(--gold)}.literal-gen-btn{margin-left:var(--sp-2);color:var(--azure);font-size:var(--text-xs)!important;border:1px dashed var(--paper-aged);border-radius:3px;padding:2px 8px!important;transition:all var(--dur-fast) var(--ease-gentle)}.literal-gen-btn:hover:not(:disabled){border-color:var(--azure);background:var(--trace-hover)}.literal-gen-btn:disabled{opacity:.5;cursor:wait}.proposals-list{display:flex;flex-direction:column;gap:var(--sp-3)}.proposal-item{padding:var(--sp-3);background:var(--paper-pure);border:1px solid var(--paper-aged);border-radius:3px;transition:border-color var(--dur-fast) var(--ease-gentle)}.proposal-item:hover{border-color:var(--azure-light)}.proposal-item__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2)}.proposal-item__persona{font-size:var(--text-xs);font-weight:500;color:var(--ink-medium);display:flex;align-items:center;gap:var(--sp-1)}.proposal-empty{color:var(--ink-wash);font-size:var(--text-sm);font-style:italic;padding:var(--sp-3) 0}.add-translation-btn{margin-top:var(--sp-3);width:100%;justify-content:center;border:1px dashed var(--paper-aged);border-radius:3px;padding:var(--sp-2);color:var(--ink-wash)}.add-translation-btn:hover{border-color:var(--azure);color:var(--azure);background:#3d6b7e08}.bbox-tooltip{display:none;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--ink-deep);color:var(--paper-light);padding:2px var(--sp-2);border-radius:2px;font-size:.8125rem;font-family:var(--font-ui);white-space:nowrap;pointer-events:none;z-index:10}.bbox-rect:hover .bbox-tooltip,.bbox-rect.active .bbox-tooltip{display:block}.segment-card__token-count{font-size:.8125rem;color:var(--ink-wash);font-family:var(--font-mono)}.status--pending_review{background:#b8963e1f;color:var(--gold)}.status--rejected{background:#c4554414;color:var(--cinnabar)}.status--done{background:#5c7a5a1f;color:var(--lang-chinese)}.btn--loading{opacity:.7;pointer-events:none}.persona-manager-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a171480;z-index:100;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--dur-normal) var(--ease-gentle)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.persona-manager{width:720px;max-width:90vw;max-height:85vh;background:var(--paper-pure);border-radius:6px;box-shadow:0 8px 32px #1a171433,0 0 0 1px var(--paper-aged);display:flex;flex-direction:column;overflow:hidden;animation:slideUp var(--dur-slow) var(--ease-gentle)}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.pm-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.pm-list--compact{display:flex;flex-wrap:wrap;gap:6px;padding:var(--sp-2) 0}.pm-row{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--paper-aged);border-radius:999px;background:var(--paper-light);font-family:inherit;font-size:.8125rem;color:var(--ink-deep);cursor:pointer;transition:border-color var(--dur-fast, .15s) ease}.pm-row:hover{border-color:var(--gold)}.pm-row--active{border-color:var(--gold);background:#b8963e1a}.pm-row__lang{color:var(--ink-light)}.pm-row__builtin{font-size:.75rem;color:var(--gold);border:1px solid currentColor;border-radius:3px;padding:0 4px;line-height:1.4}.pm-row__del{color:var(--ink-wash);padding:0 2px;border-radius:3px;transition:color var(--dur-fast, .15s) ease}.pm-row__del:hover{color:var(--cinnabar, #c45544)}.pmcp--compact select{width:100%}.pmcp--compact .pmcp__hint{margin-top:4px;font-size:var(--text-xs);color:var(--ink-light);line-height:1.6}.pmcp--compact .pmcp__manual{margin-top:var(--sp-2)}.pm-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--paper-aged);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.pm-title{font-family:var(--font-scripture);font-size:var(--text-xl);font-weight:500;color:var(--ink-deepest);display:flex;align-items:center;gap:var(--sp-3)}.pm-message{padding:var(--sp-2) var(--sp-5);background:#5c7a5a1a;color:var(--lang-chinese);font-size:var(--text-sm);text-align:center}.pm-gateway-status{padding:var(--sp-2) var(--sp-5);display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);color:var(--ink-light);background:var(--paper-light);border-bottom:1px solid var(--paper-aged)}.pm-gw-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.pm-gw-dot--ok{background:var(--lang-chinese);box-shadow:0 0 4px #5c7a5a80}.pm-gw-dot--off{background:var(--vermilion);box-shadow:0 0 4px #c44e3c66}.pm-gw-count{margin-left:auto;color:var(--azure);font-family:var(--font-mono)}.pm-section{border-bottom:1px solid var(--paper-aged)}.pm-section:last-child{border-bottom:none}.pm-section-header{padding:var(--sp-3) var(--sp-5);display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);font-weight:500;color:var(--ink-medium);cursor:pointer;background:var(--paper-light);border:none;width:100%;text-align:left}.pm-section-count{margin-left:auto;font-size:var(--text-xs);color:var(--azure);font-weight:400}.pm-presets{padding:var(--sp-3) var(--sp-5);max-height:280px;overflow-y:auto}.pm-preset-card{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--paper-aged);border-radius:4px;margin-bottom:var(--sp-2);transition:border-color var(--dur-fast) var(--ease-gentle)}.pm-preset-card:hover{border-color:var(--azure-light)}.pm-preset-card.installed{opacity:.6}.pm-preset-info{flex:1;min-width:0}.pm-preset-name{font-family:var(--font-scripture);font-weight:500;color:var(--ink-deepest);font-size:var(--text-base)}.pm-preset-lang{margin-left:var(--sp-2);font-size:var(--text-xs);color:var(--ink-wash)}.pm-preset-desc{flex:2;font-size:var(--text-xs);color:var(--ink-light);line-height:1.5}.pm-preset-installed{font-size:var(--text-xs);color:var(--lang-chinese);display:flex;align-items:center;gap:var(--sp-1)}.pm-list{padding:var(--sp-3) var(--sp-5);max-height:200px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-2)}.pm-card{padding:var(--sp-3);border:1px solid var(--paper-aged);border-radius:4px;cursor:pointer;transition:all var(--dur-fast) var(--ease-gentle)}.pm-card:hover{border-color:var(--azure);box-shadow:0 1px 4px #1a17140f}.pm-card.active{border-color:var(--gold);background:#b8963e0a}.pm-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-1)}.pm-card-name{font-family:var(--font-scripture);font-weight:500;color:var(--ink-deepest);font-size:var(--text-sm)}.pm-card-lang{font-size:.8125rem;color:var(--ink-wash)}.pm-card-meta{display:flex;gap:var(--sp-2);font-size:.8125rem;color:var(--ink-wash);font-family:var(--font-mono)}.pm-card-builtin{color:var(--gold);font-family:var(--font-ui)}.pm-form{padding:var(--sp-3) var(--sp-5);overflow-y:auto;max-height:300px}.pm-form-row{display:flex;gap:var(--sp-3);margin-bottom:var(--sp-3)}.pm-form-row>label{flex:1;display:flex;flex-direction:column;gap:var(--sp-1)}.pm-form-full{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-3)}.pm-form label>span{font-size:var(--text-xs);color:var(--ink-light);font-weight:500}.pm-form input,.pm-form select,.pm-form textarea{padding:var(--sp-2) var(--sp-3);border:1px solid var(--paper-aged);border-radius:3px;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-deepest);background:var(--paper-light);outline:none;transition:border-color var(--dur-fast) var(--ease-gentle)}.pm-form input:focus,.pm-form select:focus,.pm-form textarea:focus{border-color:var(--azure)}.pm-form textarea{resize:vertical;font-family:var(--font-body);line-height:var(--lh-normal)}.pm-form input:disabled,.pm-form select:disabled{opacity:.5}.pm-form-actions{display:flex;justify-content:flex-end;padding-top:var(--sp-2)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a171480;z-index:200;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--dur-normal) var(--ease-gentle)}.dialog{width:520px;max-width:90vw;background:var(--paper-pure);border-radius:8px;box-shadow:0 12px 40px #1a171440,0 0 0 1px var(--paper-aged);animation:slideUp var(--dur-slow) var(--ease-gentle);overflow:hidden}.dialog__header{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--paper-aged);display:flex;align-items:center;justify-content:space-between}.dialog__title{font-family:var(--font-scripture);font-size:var(--text-xl);font-weight:500;color:var(--ink-deepest);display:flex;align-items:center;gap:var(--sp-3);margin:0}.dialog__body{padding:var(--sp-5) var(--sp-6)}.dialog__field{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.dialog__label{font-size:var(--text-sm);font-weight:500;color:var(--ink-medium)}.dialog__hint{font-size:var(--text-xs);color:var(--ink-wash);margin-top:2px}.dialog__input,.dialog__select,.dialog__textarea{padding:var(--sp-3) var(--sp-4);border:1px solid var(--paper-aged);border-radius:4px;font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink-deepest);background:var(--paper-light);outline:none;transition:border-color var(--dur-fast) var(--ease-gentle),box-shadow var(--dur-fast)}.dialog__input:focus,.dialog__select:focus,.dialog__textarea:focus{border-color:var(--azure);box-shadow:0 0 0 3px #4e698a1a}.dialog__textarea{resize:vertical;font-family:var(--font-body);line-height:var(--lh-normal)}.dialog__error{font-size:var(--text-sm);color:var(--vermilion);padding:var(--sp-2) 0}.dialog__actions{display:flex;justify-content:flex-end;gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--paper-aged);margin-top:var(--sp-2)}.inline-create{display:flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-7)}.inline-create__input{flex:1;padding:var(--sp-1) var(--sp-2);border:1px solid var(--azure-light);border-radius:3px;font-size:var(--text-xs);color:var(--ink-deepest);background:#ffffff1a;outline:none;font-family:var(--font-ui)}.inline-create__input:focus{border-color:var(--azure)}.sidebar__add-btn{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);margin:var(--sp-2) var(--sp-3);border:1px dashed var(--ink-wash);border-radius:4px;color:var(--ink-wash);font-size:var(--text-xs);cursor:pointer;background:transparent;width:calc(100% - var(--sp-6));transition:all var(--dur-fast) var(--ease-gentle)}.sidebar__add-btn:hover{border-color:var(--gold);color:var(--gold);background:#b8963e0d}.auth-page{min-height:100vh;display:flex;justify-content:flex-start;align-items:center;background-color:var(--paper-light);background-image:url(/bg-login.webp);background-size:cover;background-position:center right;background-repeat:no-repeat;position:relative;overflow-y:auto}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#faf8f4eb,#faf8f4c7 38%,#faf8f452 64%,#faf8f414);pointer-events:none}.auth-card{position:relative;width:400px;max-width:90vw;background:var(--paper-pure);border-radius:12px;box-shadow:0 20px 60px #1a17141f,0 0 0 1px #b8963e26;overflow:hidden;animation:slideUp var(--dur-slow) var(--ease-gentle)}.auth-brand{padding:var(--sp-7) var(--sp-6) var(--sp-5);text-align:center;background:linear-gradient(135deg,#b8963e0f,#4e698a0a);border-bottom:1px solid var(--paper-aged)}.auth-brand__icon{display:inline-block;color:var(--gold);margin-bottom:var(--sp-3)}.auth-brand__title{font-family:var(--font-scripture);font-size:1.75rem;font-weight:500;color:var(--ink-deepest);margin:0 0 var(--sp-2);letter-spacing:.15em}.auth-brand__subtitle{font-size:var(--text-xs);color:var(--ink-light);margin:0;letter-spacing:.05em}.auth-tabs{display:flex;border-bottom:1px solid var(--paper-aged)}.auth-tab{flex:1;padding:var(--sp-3);border:none;background:transparent;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--ink-wash);cursor:pointer;transition:all var(--dur-fast) var(--ease-gentle);position:relative}.auth-tab.active{color:var(--ink-deepest)}.auth-tab.active:after{content:"";position:absolute;bottom:-1px;left:20%;right:20%;height:2px;background:var(--gold);border-radius:1px}.auth-form{padding:var(--sp-5) var(--sp-6)}.auth-field{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.auth-label{font-size:var(--text-xs);font-weight:500;color:var(--ink-medium);letter-spacing:.02em}.auth-input{padding:var(--sp-3) var(--sp-4);border:1px solid var(--paper-aged);border-radius:6px;font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink-deepest);background:var(--paper-light);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.auth-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b8963e1a}.auth-input::placeholder{color:var(--ink-wash)}.auth-error{font-size:var(--text-sm);color:var(--vermilion);padding:var(--sp-2) var(--sp-3);background:#c44e3c0f;border-radius:4px;margin-bottom:var(--sp-3)}.auth-submit{width:100%;padding:var(--sp-3) var(--sp-4);border:none;border-radius:6px;background:linear-gradient(135deg,var(--gold),#a07828);color:#fff;font-family:var(--font-scripture);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:all var(--dur-fast) var(--ease-gentle);letter-spacing:.1em}.auth-submit:hover:not(:disabled){box-shadow:0 4px 16px #b8963e4d;transform:translateY(-1px)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{padding:var(--sp-4) var(--sp-6);text-align:center;font-size:var(--text-xs);color:var(--ink-wash);border-top:1px solid var(--paper-aged)}.auth-link{background:none;border:none;color:var(--azure);cursor:pointer;font-size:inherit;text-decoration:underline;text-underline-offset:2px}.auth-link:hover{color:var(--gold)}.approval-badge{display:inline-block;font-size:.8125rem;padding:1px 6px;border-radius:8px;font-weight:500;letter-spacing:.02em}.approval-badge--draft{background:#a0a0a01f;color:var(--ink-wash)}.approval-badge--pending_review{background:#b8963e1f;color:var(--gold)}.approval-badge--approved{background:#5c7a5a1f;color:var(--lang-chinese)}.approval-badge--rejected{background:#c44e3c1a;color:var(--vermilion)}.ai-preview{margin:var(--sp-2) 0;border:1px solid rgba(184,150,62,.25);border-radius:var(--radius);background:#b8963e0a;overflow:hidden}.ai-preview__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-1) var(--sp-3);background:#b8963e14;border-bottom:1px solid rgba(184,150,62,.12)}.ai-preview__content{padding:var(--sp-3);font-size:var(--text-sm);line-height:1.8;color:var(--ink-deep)}.reocr-btn{display:inline-flex;align-items:center;gap:4px;font-size:.8125rem;padding:2px 8px;border-radius:var(--radius);border:1px solid rgba(184,150,62,.3);background:#b8963e0f;color:var(--gold);cursor:pointer;transition:all .2s}.reocr-btn:hover{background:#b8963e1f}.export-btn{display:inline-flex;align-items:center;gap:4px;font-size:.8125rem;padding:3px 10px;background:#5c7a5a14;border:1px solid rgba(92,122,90,.2);border-radius:var(--radius);color:var(--lang-chinese);cursor:pointer;transition:all .2s}.export-btn:hover{background:#5c7a5a26}.comment-panel{margin-top:var(--sp-2);border-top:1px solid var(--border-light);padding-top:var(--sp-2)}.comment-panel__empty{text-align:center;font-size:var(--text-xs);color:var(--ink-wash);padding:var(--sp-2) 0}.comment-list{max-height:200px;overflow-y:auto;margin-bottom:var(--sp-2)}.comment-item{padding:var(--sp-1) 0;border-bottom:1px solid rgba(0,0,0,.04)}.comment-item__header{display:flex;align-items:center;gap:var(--sp-1);margin-bottom:2px}.comment-item__avatar{font-size:.8125rem}.comment-item__time{font-size:.8125rem;color:var(--ink-wash)}.comment-item__content{font-size:var(--text-xs);color:var(--ink-deep);line-height:1.5;padding-left:1.2em}.comment-input-row{display:flex;gap:var(--sp-1);align-items:center}.comment-input{flex:1;padding:4px 8px;font-size:var(--text-xs);border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-primary);color:var(--ink-deep);outline:none;font-family:var(--font-ui)}.comment-input:focus{border-color:var(--gold)}.comment-badge{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;border-radius:7px;background:var(--gold);color:#fff;font-size:.8125rem;font-weight:700;padding:0 3px;margin-left:2px}.proposal-edit-area{padding:var(--sp-2) 0}.proposal-edit-textarea{width:100%;padding:var(--sp-2);font-size:var(--text-sm);line-height:1.8;border:1px solid var(--gold);border-radius:var(--radius);background:#b8963e08;color:var(--ink-deep);resize:vertical;font-family:var(--font-body);outline:none}.proposal-edit-textarea:focus{box-shadow:0 0 0 2px #b8963e26}.tm-saved-toast{text-align:center;font-size:var(--text-xs);color:var(--lang-chinese);background:#5c7a5a0f;border:1px solid rgba(92,122,90,.15);border-radius:var(--radius);padding:3px 10px;margin-top:var(--sp-1);animation:tmFadeIn .3s ease}@keyframes tmFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.inline-toolbar{position:absolute;display:flex;gap:2px;background:var(--ink-deep);border-radius:var(--radius);padding:3px 4px;box-shadow:0 2px 8px #0000002e;z-index:100;animation:toolbarFadeIn .15s ease}.inline-toolbar__btn{display:flex;align-items:center;gap:3px;background:none;border:none;color:var(--paper-warm);font-size:.8125rem;padding:3px 8px;border-radius:2px;cursor:pointer;font-family:var(--font-ui);white-space:nowrap}.inline-toolbar__btn:hover{background:#ffffff1f}@keyframes toolbarFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-panel{margin-top:var(--sp-2);border:1px solid var(--gold);border-radius:var(--radius);background:#b8963e05;overflow:hidden;animation:chatSlideIn .25s ease}@keyframes chatSlideIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:400px}}.chat-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--border-light);font-size:var(--text-xs);font-weight:600;color:var(--gold)}.chat-panel__messages{max-height:200px;overflow-y:auto;padding:var(--sp-2)}.chat-msg{margin-bottom:var(--sp-2)}.chat-msg__system{font-size:var(--text-xs);color:var(--ink-wash);background:#00000005;padding:4px 8px;border-radius:var(--radius);border-left:2px solid var(--gold)}.chat-msg__user{font-size:var(--text-xs);color:var(--ink-deep);text-align:right;background:#3d6b7e0f;padding:4px 8px;border-radius:var(--radius);margin-left:20%}.chat-msg__ai{font-size:var(--text-xs);margin-right:10%}.chat-msg__ai-text{color:var(--ink-deep);background:#5c7a5a0f;padding:6px 8px;border-radius:var(--radius);border-left:2px solid var(--lang-chinese);line-height:1.7}.chat-msg__explanation{font-size:.8125rem;color:var(--ink-wash);margin-top:2px;padding-left:10px;font-style:italic}.chat-msg__error{font-size:var(--text-xs);color:var(--vermilion, var(--cinnabar));background:#c455440f;padding:4px 8px;border-radius:var(--radius)}.chat-msg--loading{font-size:var(--text-xs);color:var(--gold);text-align:center;padding:var(--sp-2)}.chat-panel__input{display:flex;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-top:1px solid var(--border-light);align-items:center}.proposal-content::selection{background:var(--trace-active);color:var(--ink-deepest)}.export-dropdown__menu.show{display:block!important}.activity-panel{position:fixed;right:0;bottom:30px;width:320px;max-height:400px;background:var(--paper-light);border:1px solid var(--border-light);border-radius:var(--radius) 0 0 0;box-shadow:-2px -2px 12px #00000014;z-index:300;display:flex;flex-direction:column;animation:activitySlideIn .25s ease}@keyframes activitySlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.activity-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-light);font-size:var(--text-sm);font-weight:600;color:var(--ink-deep)}.activity-panel__list{flex:1;overflow-y:auto;padding:var(--sp-2) var(--sp-3)}.activity-item{padding:var(--sp-1) 0;border-bottom:1px solid rgba(0,0,0,.03)}.activity-item__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.activity-item__user{font-size:var(--text-xs);font-weight:600;color:var(--azure)}.activity-item__time{font-size:.8125rem;color:var(--ink-wash)}.activity-item__action{font-size:var(--text-xs);color:var(--ink-medium);line-height:1.5}.segment-card.locked{border-left-color:var(--cinnabar)!important;opacity:.8}.segment-lock-badge{display:inline-flex;align-items:center;gap:3px;font-size:.8125rem;color:var(--cinnabar);padding:1px 6px;background:#c455440f;border-radius:var(--radius)}.text-import-dialog{width:680px;max-height:85vh;display:flex;flex-direction:column}.text-import-dialog__body{flex:1;overflow-y:auto;padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.text-import-config{display:flex;gap:var(--sp-4)}.text-import-config__row{display:flex;align-items:center;gap:var(--sp-2);flex:1}.text-import-config__row label{font-size:var(--text-xs);font-weight:600;color:var(--ink-medium);white-space:nowrap}.text-import-config__row .select{flex:1;padding:4px 8px;border:1px solid var(--border-light);border-radius:var(--radius);font-size:var(--text-xs);background:var(--paper);color:var(--ink-deep)}.text-import-input__toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-1)}.text-import-textarea{width:100%;min-height:200px;padding:var(--sp-3);border:1px solid var(--border-light);border-radius:var(--radius);font-family:"Noto Serif SC",serif;font-size:var(--text-sm);line-height:1.8;color:var(--ink-deep);background:var(--paper);resize:vertical;transition:border-color .2s}.text-import-textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #b48c481a}.text-import-textarea::placeholder{color:var(--ink-wash);font-style:italic}.text-import-input__stats{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--ink-wash);margin-top:var(--sp-1)}.text-import-preview{border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden}.text-import-preview__title{font-size:var(--text-xs);font-weight:600;color:var(--ink-medium);padding:var(--sp-1) var(--sp-2);background:#00000005;border-bottom:1px solid var(--border-light)}.text-import-preview__list{max-height:180px;overflow-y:auto}.text-import-preview__item{display:flex;gap:var(--sp-2);padding:4px var(--sp-2);border-bottom:1px solid rgba(0,0,0,.02);font-size:var(--text-xs);line-height:1.6}.text-import-preview__num{min-width:20px;color:var(--ink-wash);font-weight:600;text-align:right;flex-shrink:0}.text-import-preview__text{color:var(--ink-medium)}.text-import-dialog__result{padding:var(--sp-6)}.text-import-success{text-align:center;padding:var(--sp-4)}.text-import-success h4{margin:var(--sp-2) 0 var(--sp-1);color:var(--ink-deep)}.text-import-success p{font-size:var(--text-sm);color:var(--ink-medium)}.text-source-viewer{height:100%;display:flex;flex-direction:column;background:var(--paper);border-radius:var(--radius);border:1px solid var(--border-light);overflow:hidden}.text-source-viewer__header{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:#00000005;border-bottom:1px solid var(--border-light);font-size:var(--text-sm);font-weight:600;color:var(--ink-deep)}.text-source-viewer__badge{margin-left:auto;font-size:var(--text-xs);color:var(--ink-wash);font-weight:400}.text-source-viewer__content{flex:1;overflow-y:auto;padding:var(--sp-3)}.text-source-viewer__segment{display:flex;gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:1px solid rgba(0,0,0,.03);line-height:1.8}.text-source-viewer__segment:last-child{border-bottom:none}.text-source-viewer__num{min-width:24px;color:var(--ink-wash);font-size:var(--text-xs);font-weight:600;text-align:right;flex-shrink:0;padding-top:2px}.text-source-viewer__text{font-family:"Noto Serif SC",serif;font-size:var(--text-sm);color:var(--ink-deep)}.upload-progress-card{background:var(--paper);border-radius:var(--radius-lg);padding:var(--sp-6) var(--sp-8);text-align:center;min-width:340px;box-shadow:0 20px 60px #00000026;animation:uploadCardIn .3s cubic-bezier(.16,1,.3,1)}@keyframes uploadCardIn{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.upload-progress-card__icon{color:var(--gold);margin-bottom:var(--sp-3);animation:uploadPulse 1.5s ease-in-out infinite}@keyframes uploadPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.upload-progress-card__step{font-size:var(--text-base);font-weight:700;color:var(--ink-deep);margin-bottom:var(--sp-1)}.upload-progress-card__detail{font-size:var(--text-xs);color:var(--ink-wash);margin-bottom:var(--sp-4);min-height:1.2em}.upload-progress-card__bar{width:100%;height:6px;background:#0000000f;border-radius:3px;overflow:hidden;margin-bottom:var(--sp-2)}.upload-progress-card__fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--jade));border-radius:3px;transition:width .5s cubic-bezier(.16,1,.3,1);position:relative}.upload-progress-card__fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:uploadShimmer 1.5s infinite}@keyframes uploadShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.upload-progress-card__pct{font-size:.8125rem;color:var(--ink-wash);font-variant-numeric:tabular-nums}.segment-card--locked{border-left-color:var(--cinnabar)!important;background:#c4554408;opacity:.8}.segment-card--locked .add-translation-btn{opacity:.5;cursor:not-allowed}.segment-card--editing{border-left-color:var(--gold)!important;background:#b8963e0a;box-shadow:inset 0 0 0 1px #b8963e26}.segment-lock-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;font-size:.8125rem;font-weight:500;border-radius:10px;background:#c455441f;color:var(--cinnabar);white-space:nowrap;animation:lockPulse 2s ease-in-out infinite}.segment-lock-badge--mine{background:#b8963e1f;color:var(--gold);animation:none}@keyframes lockPulse{0%,to{opacity:1}50%{opacity:.7}}.segment-card:target,.segment-card:focus-within{box-shadow:0 0 0 2px var(--azure-light),0 2px 8px #3d6b7e1f}.kbd-hint{display:inline-flex;align-items:center;gap:3px;font-size:.8125rem;color:#ffffff59;font-family:var(--font-mono)}.kbd-hint kbd{display:inline-block;padding:0 4px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:3px;font-size:.8125rem;line-height:1.6;font-family:var(--font-mono)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ai-rewrite-options{margin-top:var(--sp-2);padding:var(--sp-3);background:var(--paper-light);border:1px solid var(--paper-aged);border-radius:4px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ai-rewrite-options__label{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);font-weight:500;color:var(--ink-light);margin-bottom:var(--sp-2)}.ai-rewrite-options__personas{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.compare-view{overflow-x:auto;overflow-y:auto;flex:1;min-height:0;scrollbar-gutter:stable}.compare-header{display:flex;position:sticky;top:0;z-index:5;background:var(--paper-warm);border-bottom:2px solid var(--paper-aged)}.compare-header__source{flex:0 0 220px;width:220px;padding:var(--sp-3) var(--sp-4);font-size:var(--text-sm);font-weight:600;color:var(--ink-medium);border-right:1px solid var(--paper-aged);box-sizing:border-box}.compare-header__persona{flex:1;min-width:200px;padding:var(--sp-3) var(--sp-4);display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-medium);border-right:1px solid var(--paper-aged);box-sizing:border-box}.compare-header__persona:last-child{border-right:none}.compare-body{display:flex;flex-direction:column}.compare-row{display:flex;border-bottom:1px solid var(--paper-aged);transition:background var(--dur-fast) var(--ease-gentle)}.compare-row:hover{background:var(--paper-light)}.compare-cell{flex:1;min-width:200px;padding:var(--sp-3) var(--sp-4);border-right:1px solid var(--paper-aged);display:flex;flex-direction:column;gap:var(--sp-1);box-sizing:border-box}.compare-cell:last-child{border-right:none}.compare-cell--source{flex:0 0 220px;width:220px;box-sizing:border-box;background:var(--paper-light)}.compare-cell--empty{opacity:.5}.compare-cell__label{font-size:.8125rem;font-family:var(--font-mono);color:var(--ink-wash);text-transform:uppercase;letter-spacing:.05em}.compare-cell__text{font-size:var(--text-base);line-height:var(--lh-normal);color:var(--ink-medium)}.compare-cell__badge{font-size:.8125rem;padding:1px 4px;border-radius:2px;align-self:flex-start}.compare-cell__placeholder{font-size:var(--text-sm);color:var(--ink-wash);font-style:italic}.compare-empty{display:flex;align-items:center;justify-content:center;padding:var(--sp-7);color:var(--ink-light);font-size:var(--text-base)}.quality-badge{display:inline-flex;align-items:center;gap:2px;font-size:.8125rem;font-weight:600;padding:1px 6px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--gold),var(--gold-dark, #b8860b));color:var(--paper-warm);letter-spacing:.03em;white-space:nowrap}.approval-badge--review{background:var(--azure);color:var(--paper-warm)}.approval-badge--polish{background:var(--gold);color:var(--ink-deep)}.approval-badge--final{background:var(--cinnabar);color:var(--paper-warm)}.approval-badge--published{background:var(--lang-chinese);color:var(--paper-warm)}.btn--xs{font-size:.8125rem;padding:2px 6px;gap:2px}@keyframes segCardFlash{0%{box-shadow:0 0 #b8963e00,0 0 #b8963e00}20%{box-shadow:0 0 0 2px #b8963e73,0 4px 18px #b8963e33}to{box-shadow:0 0 #b8963e00,0 0 #b8963e00}}.segment-card--flash{animation:segCardFlash 1.2s var(--ease-gentle)}@keyframes bboxFlash{0%{box-shadow:0 0 #b8963e00;border-color:#b8963e66}30%{box-shadow:0 0 0 4px #b8963e8c;border-color:#b8963e}to{box-shadow:0 0 #b8963e00;border-color:#b8963e66}}.bbox-rect--flash{animation:bboxFlash 1.2s var(--ease-gentle)}@keyframes textSegFlash{0%{background:#b8963e00}30%{background:#b8963e38}to{background:#b8963e00}}.text-source-viewer__segment--flash{animation:textSegFlash 1.2s var(--ease-gentle)}.text-source-viewer__segment.is-active{background:#b8963e12;border-left:2px solid var(--gold);padding-left:var(--sp-2);margin-left:-2px}.text-source-viewer__segment:hover{background:#b8963e0a}.source-token-inline.is-term-hit .source-token-text{background:linear-gradient(180deg,transparent 60%,rgba(184,150,62,.28) 60%);padding:0 1px;border-radius:1px}.source-token-inline.is-term-hit:after{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold);margin-left:2px;vertical-align:super;opacity:.7}.segment-card{transition:background var(--dur-mid) var(--ease-gentle),box-shadow var(--dur-mid) var(--ease-gentle)!important}@keyframes inkBleed{0%{transform:scaleY(.6);opacity:.5}40%{transform:scaleY(1.05);opacity:1}to{transform:scaleY(1);opacity:.85}}.segment-card__stage-rule{transform-origin:center;transition:background var(--dur-mid) var(--ease-gentle),opacity var(--dur-fast)}.segment-card--stage-final .segment-card__stage-rule,.segment-card--stage-review .segment-card__stage-rule{animation:inkBleed .8s var(--ease-gentle)}.scroll-end-seal{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-7) 0 var(--sp-5);margin-top:var(--sp-5);-webkit-user-select:none;user-select:none}.scroll-end-seal__glyph{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;font-family:var(--font-scripture);font-size:32px;font-weight:600;letter-spacing:0;color:var(--vermilion, #c43535);background:#c435350f;border:2px solid var(--vermilion, #c43535);border-radius:4px;transform:rotate(-4deg);box-shadow:inset 0 0 0 4px #c4353514;opacity:.85}.scroll-end-seal--complete .scroll-end-seal__glyph{color:var(--gold);border-color:var(--gold);background:#b8963e14;box-shadow:inset 0 0 0 4px #b8963e1a;opacity:1}.scroll-end-seal__caption{font-family:var(--font-scripture);font-size:var(--text-xs);color:var(--ink-wash);letter-spacing:.3em}.segments-list--focus{background:var(--paper-warm);padding:var(--sp-5) max(var(--sp-5),calc((100% - 760px)/2))}.segments-list--focus .segment-card{margin:0 auto var(--sp-5);max-width:720px;box-shadow:0 4px 24px #1a17140f}.segments-list--focus .chapter-kanban,.segments-list--focus .scroll-end-seal{display:none}.focus-hint{position:sticky;bottom:var(--sp-3);margin:var(--sp-5) auto 0;padding:8px 16px;background:#1a1714d9;color:var(--paper-warm);border-radius:999px;font-size:var(--text-xs);display:inline-flex;align-items:center;gap:var(--sp-3);width:fit-content;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10}.focus-hint kbd{font-family:var(--font-mono);background:#ffffff26;padding:1px 6px;border-radius:3px;font-size:.85em;margin:0 2px}.focus-hint .btn{color:var(--paper-warm)!important;background:#ffffff1a!important;font-size:.8125rem!important;padding:2px 8px!important}.focus-hint .btn:hover{background:#ffffff2e!important}.proposal-trace-toggle{position:absolute;top:var(--sp-2);right:var(--sp-2);display:inline-flex;align-items:center;padding:3px 8px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink-wash);font-family:var(--font-ui);font-size:.8125rem;cursor:pointer;transition:all var(--dur-fast) var(--ease-gentle);opacity:0}.proposal-content-wrapper:hover .proposal-trace-toggle{opacity:1}.proposal-trace-toggle:hover{background:#b8963e14;color:var(--gold);border-color:#b8963e4d}.proposal-trace-toggle--on{opacity:1!important;background:#b8963e1f;color:var(--gold);border-color:var(--gold)}.proposal-trace-toggle:disabled{cursor:wait}.proposal-content--trace-on{cursor:default;padding-right:80px}.proposal-content--trace-on .proposal-trace-span{background:linear-gradient(180deg,transparent 65%,rgba(184,150,62,.1) 65%);padding:0 1px;border-radius:1px;cursor:help;transition:background .15s var(--ease-gentle)}.proposal-content--trace-on .proposal-trace-span:hover{background:linear-gradient(180deg,transparent 30%,rgba(184,150,62,.32) 30%);color:var(--ink-deepest)}.source-token-inline.chain-traced{background:#c435351f;outline:1px solid var(--vermilion, #c43535);outline-offset:1px;border-radius:2px}.bbox-rect.chain-traced{background:#c4353524!important;border:2px solid var(--vermilion, #c43535)!important;box-shadow:0 0 12px #c4353559!important;z-index:3}.bbox-rect.chain-traced .bbox-tooltip{opacity:1}.proposal-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:4px;padding:0;border:none;background:transparent;color:var(--ink-wash);border-radius:3px;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s}.segment-card:hover .proposal-delete-btn,.proposal-item:hover .proposal-delete-btn{opacity:.6}.proposal-delete-btn:hover{opacity:1!important;background:#c4353526;color:var(--vermilion, #c43535)}.proposal-item--reference{background:var(--paper-warm, #f7f3ed);border-left:3px solid var(--paper-shadow, #d4cfc5);border-radius:2px;padding:8px 12px 8px 16px;margin-bottom:var(--sp-2);position:relative}.proposal-item--reference:hover{background:var(--paper-light, #faf8f4);border-left-color:var(--ink-wash)}.proposal-item__reference-head{display:flex;align-items:center;gap:var(--sp-2);font-size:.8125rem;margin-bottom:4px;flex-wrap:wrap}.proposal-item__reference-label{color:var(--ink-light);font-weight:500;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.proposal-item__reference-persona{color:var(--ink-wash);font-style:italic}.proposal-item__reference-action{margin-left:auto;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--ink-wash);font-size:.8125rem;padding:2px 8px;cursor:pointer;font-family:inherit;opacity:0;transition:opacity .15s,background .15s,color .15s,border-color .15s}.proposal-item--reference:hover .proposal-item__reference-action{opacity:1}.proposal-item__reference-action:hover{background:#b8963e14;color:var(--gold);border-color:#b8963e4d}.proposal-item__reference-content{margin:0;padding-left:8px;font-style:italic;color:var(--ink-medium, #4a453d);font-size:.85em;line-height:1.7;border-left:2px solid var(--paper-aged, #ede8df)}.scan-viewer__toolbar{display:flex;align-items:center;gap:var(--sp-2);padding:6px 10px;background:var(--paper-warm);border-bottom:1px solid var(--paper-aged);font-size:.8125rem}.scan-viewer__toolbar-hint{color:var(--gold);font-style:italic;letter-spacing:.02em}.scan-image-container--region-mode{cursor:crosshair!important;-webkit-user-select:none;user-select:none}.scan-image-container--region-mode img{pointer-events:none}.scan-image-container--region-mode .bbox-rect{pointer-events:none;opacity:.4}.region-selection-box{position:absolute;border:2px dashed var(--gold);background:#b8963e1a;pointer-events:none;z-index:5;border-radius:2px}.region-selection-box.is-ready{background:#b8963e29;box-shadow:0 0 0 1px #b8963e40}.region-confirm-popup{position:absolute;background:#2d2a26f5;color:var(--paper-warm);border-radius:4px;padding:8px 12px;font-size:.8125rem;z-index:10;box-shadow:0 4px 16px #00000040;min-width:180px;pointer-events:auto}.region-confirm-popup__title{margin-bottom:6px;color:var(--paper-aged);font-size:.8125rem}.region-confirm-popup .btn--primary{background:var(--gold)!important;border-color:var(--gold)!important;color:#fff!important}.region-confirm-popup .btn--ghost{color:var(--paper-warm)!important;background:#ffffff14!important}.pdf-fallback-viewer{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--paper-light)}.pdf-fallback-viewer__header{padding:8px 12px;background:#c435350f;border-bottom:1px solid rgba(196,53,53,.18);display:flex;align-items:center;flex-wrap:wrap}.pdf-fallback-viewer__hint{padding:8px 14px;font-size:.8125rem;color:var(--ink-light);line-height:1.7;background:var(--paper-warm);border-bottom:1px solid var(--paper-aged)}.pdf-fallback-viewer__hint code{background:#0000000d;padding:1px 4px;border-radius:2px;font-size:.92em;font-family:var(--font-mono);color:var(--ink-deep)}.pdf-fallback-viewer__frame{flex:1;width:100%;border:none;background:var(--paper-warm)}.pdf-fallback-viewer__diag{background:var(--paper-pure, #fefdfb);border-bottom:1px solid var(--paper-aged);padding:10px 14px;font-size:.8125rem;max-height:280px;overflow-y:auto}.pdf-fallback-viewer__diag-summary{margin-bottom:8px;color:var(--ink-deep);font-size:.8125rem}.pdf-fallback-viewer__diag-list{display:grid;grid-template-columns:1fr;gap:4px;margin-bottom:10px}.pdf-fallback-viewer__diag-row{display:flex;align-items:baseline;gap:8px;padding:4px 6px;background:var(--paper-warm);border-radius:3px;font-size:.8125rem}.pdf-fallback-viewer__diag-risk{flex-shrink:0;font-weight:600;min-width:90px}.pdf-fallback-viewer__diag-name{font-family:var(--font-mono, monospace);color:var(--ink-deep);word-break:break-all}.pdf-fallback-viewer__diag-matched{margin-left:auto;color:var(--ink-wash);font-size:.8125rem;font-style:italic}.pdf-fallback-viewer__diag-actions{display:flex;gap:8px;align-items:center;margin-top:8px}.pdf-fallback-viewer__diag-note{margin-top:8px;padding:6px 10px;background:#c435350d;border-left:2px solid var(--vermilion, #c43535);font-size:.8125rem;color:var(--ink-medium);line-height:1.6}.pdf-fallback-viewer__diag-note code{background:#0000000f;padding:1px 4px;border-radius:2px;font-family:var(--font-mono)}.segment-card--stage-recorded{background:var(--paper-light)}.chapter-kanban__bar-seg--recorded{background:var(--paper-shadow, #d4cfc5)}.stage-chip--recorded .stage-chip__glyph{color:var(--paper-shadow, #d4cfc5)}.stage-chip--active.stage-chip--recorded{border-color:var(--paper-shadow, #d4cfc5)}.source-token-inline--proofreading{cursor:text;border-bottom:1px dashed rgba(196,53,53,.45);padding-bottom:1px}.source-token-inline--proofreading:hover{background:#c4353514;border-bottom-color:var(--vermilion, #c43535)}.source-token-inline--corrected{border-bottom-color:var(--gold)!important;border-bottom-style:solid!important}.source-token-edit-input{display:inline-block;padding:0 4px;margin:0 1px;font-family:inherit;font-size:inherit;line-height:inherit;color:var(--ink-deepest);background:var(--paper-pure);border:1px solid var(--gold);border-radius:2px;outline:none;min-width:1.5em;box-shadow:0 0 0 2px #b8963e2e}.proofread-bar{display:flex;align-items:center;gap:var(--sp-2);padding:8px 12px;margin-top:var(--sp-2);margin-bottom:var(--sp-2);border-radius:3px;font-size:.8125rem;flex-wrap:wrap}.proofread-bar--pending{background:#c435350f;border-left:3px solid var(--vermilion, #c43535);color:var(--ink-medium)}.proofread-bar--done{background:#b8963e0d;border-left:3px solid var(--gold);color:var(--ink-light);padding:4px 12px;font-size:.8125rem}.proofread-bar__hint{flex:1;line-height:1.6}.proofread-bar__hint strong,.proofread-bar__hint b{color:var(--vermilion, #c43535);font-weight:600}.proofread-bar__hint--done{color:var(--gold);font-weight:500}.proofread-bar__time{color:var(--ink-wash);font-weight:400;font-size:.92em;margin-left:4px}.segment-toolbar--recorded{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);margin-top:var(--sp-2);border:1px dashed var(--paper-shadow);border-radius:3px;font-size:var(--text-xs);background:var(--paper-light)}.segment-toolbar--recorded .btn.is-active{color:var(--paper-pure);background:var(--cinnabar);border-color:var(--cinnabar)}.segment-toolbar__hint{margin-left:auto;color:var(--ink-light);font-style:italic;font-size:var(--text-xs)}.segment-source-preview--split-mode{background:var(--paper-light);padding:var(--sp-2);border-radius:3px;border:1px dashed var(--paper-shadow)}.split-wedge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:1.4em;margin:0 1px;padding:0;vertical-align:middle;background:transparent;border:none;color:var(--cinnabar);opacity:.32;cursor:pointer;border-radius:2px;transition:opacity var(--dur-fast) ease,background var(--dur-fast) ease}.split-wedge:hover{opacity:1;background:var(--paper-shadow)}.source-token-inline--bbox-alert{background:var(--paper-shadow);border-radius:2px}.source-token-bbox-alert{display:inline-block;color:var(--cinnabar);margin-right:1px;vertical-align:super;line-height:1}.bulk-replace-panel{margin-top:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--paper-pure);border:1px solid var(--paper-aged);border-radius:3px;font-size:var(--text-sm)}.bulk-replace-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.bulk-replace-input{flex:1;min-width:90px;padding:4px 8px;border:1px solid var(--paper-aged);border-radius:2px;background:var(--paper-pure);font-family:inherit;font-size:var(--text-sm);color:var(--ink-deepest)}.bulk-replace-input:focus{outline:none;border-color:var(--gold)}.bulk-replace-arrow{color:var(--ink-wash)}.bulk-replace-preview{margin-top:var(--sp-2);max-height:200px;overflow-y:auto}.bulk-replace-list{list-style:none;margin:0;padding:0;font-size:var(--text-xs)}.bulk-replace-list li{display:flex;align-items:center;gap:var(--sp-2);padding:3px 4px;border-bottom:1px solid var(--paper-aged)}.bulk-replace-list li:last-child{border-bottom:none}.bulk-replace-before{color:var(--cinnabar);text-decoration:line-through;font-family:var(--font-mono, JetBrains Mono, monospace)}.bulk-replace-after{color:var(--gold);font-weight:500;font-family:var(--font-mono, JetBrains Mono, monospace)}.bulk-replace-empty,.bulk-replace-more{color:var(--ink-wash);font-style:italic;padding:4px}.proofread-bar__sigil{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--cinnabar);margin-right:var(--sp-2)}.proofread-bar__sigil--done{color:var(--gold)}.pm-field-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);width:100%}.pm-ai-assist-btn{display:inline-flex;align-items:center;padding:3px 10px;font-size:var(--text-xs);font-weight:500;color:var(--gold);background:transparent;border:1px solid var(--gold);border-radius:12px;cursor:pointer;transition:background var(--dur-fast) ease}.pm-ai-assist-btn:hover{background:var(--paper-shadow)}.prompt-composer__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a17148c;display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--sp-4)}.prompt-composer--codex{background:var(--paper-pure);border-radius:4px;width:min(960px,100%);max-height:calc(100vh - var(--sp-6));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 48px #1a171452;border:1px solid var(--paper-aged)}.prompt-composer__header{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--paper-aged);background:var(--paper-light);position:relative}.prompt-composer__header:after{content:"";position:absolute;left:var(--sp-5);right:var(--sp-5);bottom:-1px;height:1px;background:var(--cinnabar);opacity:.18}.prompt-composer__seal-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:var(--paper-pure);border:1px solid var(--gold);color:var(--gold);border-radius:50%}.prompt-composer__title{flex:1}.prompt-composer__title h3{margin:0;font-size:var(--text-lg);font-weight:500;color:var(--ink-deepest);letter-spacing:.04em;font-family:var(--font-serif, "Noto Serif SC", serif)}.prompt-composer__title p{margin:4px 0 0;font-size:var(--text-sm);color:var(--ink-light)}.prompt-composer__close{background:transparent;border:none;color:var(--ink-wash);cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;transition:color var(--dur-fast) ease,background var(--dur-fast) ease}.prompt-composer__close:hover{color:var(--ink-deepest);background:var(--paper-shadow)}.prompt-composer__codex{flex:1;display:grid;grid-template-columns:1fr 1px 1fr;overflow:hidden;position:relative}.codex-page{padding:var(--sp-5);overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-4);position:relative}.codex-page--left{background:var(--paper-pure)}.codex-page--right{background:var(--paper-light)}.codex-page__corner{position:absolute;top:12px;right:16px;font-size:.8125rem;color:var(--ink-wash);letter-spacing:.3em;writing-mode:vertical-rl;font-family:var(--font-serif, "Noto Serif SC", serif)}.codex-page--right .codex-page__corner{left:16px;right:auto}.codex-spine{background:var(--cinnabar);opacity:.32}.codex-section{display:flex;flex-direction:column;gap:var(--sp-2)}.codex-section__numeral{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--paper-warm);color:var(--ink-medium);border:1px solid var(--paper-aged);border-radius:50%;font-size:var(--text-xs);font-weight:500;margin-right:var(--sp-2);font-family:var(--font-serif, "Noto Serif SC", serif)}.codex-section__title{display:inline-flex;align-items:center;font-size:var(--text-sm);font-weight:500;color:var(--ink-deepest);letter-spacing:.06em;font-family:var(--font-serif, "Noto Serif SC", serif)}.codex-section__sub{margin:0;padding-left:30px;font-size:var(--text-xs);color:var(--ink-wash);font-style:italic}.codex-hint{margin:0;padding:var(--sp-2) var(--sp-3);background:var(--paper-light);border-left:2px solid var(--gold);font-size:var(--text-xs);color:var(--ink-medium)}.codex-templates{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.tpl-chip{padding:5px 14px;font-size:var(--text-sm);border:1px solid var(--paper-aged);background:var(--paper-pure);border-radius:16px;cursor:pointer;color:var(--ink-medium);transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease;font-family:var(--font-serif, "Noto Serif SC", serif)}.tpl-chip:hover{border-color:var(--gold)}.tpl-chip--active{border-color:var(--gold);background:var(--gold-light);color:var(--ink-deepest)}.codex-textarea{font-family:var(--font-serif, "Noto Serif SC", serif);font-size:var(--text-sm);line-height:var(--line-height-normal, 1.7);padding:var(--sp-3);border:1px solid var(--paper-aged);border-radius:3px;background:var(--paper-pure);color:var(--ink-deepest);resize:vertical;min-height:100px}.codex-textarea:focus{outline:none;border-color:var(--gold)}.codex-textarea--edit{background:var(--paper-light)}.codex-lang-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding-left:30px}.lang-radio{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--paper-aged);border-radius:14px;background:var(--paper-pure);cursor:pointer;font-size:var(--text-sm);color:var(--ink-medium);transition:border-color var(--dur-fast) ease}.lang-radio:hover{border-color:var(--gold)}.lang-radio input[type=radio]{accent-color:var(--gold);cursor:pointer}.lang-radio--active{border-color:var(--gold);background:var(--paper-light);color:var(--ink-deepest)}.codex-action-bar{display:flex;gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px dashed var(--paper-aged)}.codex-error{display:flex;align-items:center;gap:4px;padding:var(--sp-2) var(--sp-3);background:var(--paper-light);border-left:3px solid var(--cinnabar);color:var(--cinnabar);font-size:var(--text-sm)}.codex-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);color:var(--ink-wash);font-style:italic;font-family:var(--font-serif, "Noto Serif SC", serif)}.codex-empty__rule{width:64px;height:1px;background:var(--paper-aged)}.codex-empty__text{font-size:var(--text-base);letter-spacing:.4em;padding:0 var(--sp-2)}.codex-output-head{display:flex;align-items:center;justify-content:space-between}.codex-streaming{font-size:var(--text-xs);font-style:italic;color:var(--gold)}.codex-preview{flex:1;margin:0;padding:var(--sp-3);background:var(--paper-pure);border:1px solid var(--paper-aged);border-radius:3px;font-family:var(--font-serif, "Noto Serif SC", serif);font-size:var(--text-sm);line-height:var(--line-height-normal, 1.7);color:var(--ink-deepest);white-space:pre-wrap;word-wrap:break-word;overflow-y:auto;min-height:240px}.codex-accept-bar{display:flex;gap:var(--sp-2);justify-content:flex-end;margin-top:var(--sp-3);padding-top:var(--sp-2);border-top:1px dashed var(--paper-aged)}.codex-stamp{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.codex-stamp__seal{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:84px;height:84px;border:3px double var(--cinnabar);border-radius:50%;color:var(--cinnabar);background:#fefdfbeb;transform:rotate(-12deg) scale(.4);opacity:0;animation:codex-stamp-seal .6s var(--ease-gentle, cubic-bezier(.4,0,.2,1)) forwards}.codex-stamp__char{font-family:var(--font-serif, "Noto Serif SC", serif);font-size:.95rem;font-weight:600;letter-spacing:.3em;margin-top:2px;padding-left:.3em}@keyframes codex-stamp-seal{0%{transform:rotate(-12deg) scale(.4);opacity:0}60%{transform:rotate(-12deg) scale(1.1);opacity:1}to{transform:rotate(-12deg) scale(1);opacity:1}}@media(max-width:720px){.prompt-composer__codex{grid-template-columns:1fr;grid-template-rows:auto 1px auto}.codex-spine{width:100%;height:1px}.codex-page__corner{display:none}}.user-menu{position:relative}.user-menu__trigger{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 12px 4px 4px;border:1px solid transparent;border-radius:16px;background:transparent;cursor:pointer;font-size:var(--text-xs);color:var(--ink-light);transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease}.user-menu__trigger:hover,.user-menu__trigger--open{background:var(--paper-light);border-color:var(--paper-aged)}.user-menu__avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--gold);color:var(--paper-pure);font-size:.8125rem;font-weight:600;letter-spacing:.02em}.user-menu__avatar--lg{width:36px;height:36px;font-size:.95rem}.user-menu__name{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-serif, "Noto Serif SC", serif)}.user-menu__dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--paper-pure);border:1px solid var(--paper-aged);border-radius:4px;box-shadow:0 12px 32px #1a17142e;min-width:240px;padding:4px;z-index:100}.user-menu__header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-bottom:1px solid var(--paper-aged);margin-bottom:4px}.user-menu__name-lg{font-size:var(--text-sm);font-weight:500;color:var(--ink-deepest);font-family:var(--font-serif, "Noto Serif SC", serif)}.user-menu__role{font-size:var(--text-xs);color:var(--gold);margin-top:2px;letter-spacing:.1em}.user-menu__group{padding:var(--sp-1) 0;border-bottom:1px solid var(--paper-aged)}.user-menu__group:last-child{border-bottom:none}.user-menu__group--logout{padding-top:var(--sp-1)}.user-menu__group-label{padding:4px 12px;font-size:var(--text-xs);color:var(--ink-wash);letter-spacing:.15em;font-family:var(--font-serif, "Noto Serif SC", serif)}.user-menu__item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:8px 12px;border:none;background:transparent;text-align:left;font-size:var(--text-sm);color:var(--ink-medium);cursor:pointer;border-radius:3px;font-family:var(--font-serif, "Noto Serif SC", serif);transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.user-menu__item:hover{background:var(--paper-light);color:var(--ink-deepest)}.user-menu__item--active{background:var(--paper-light);color:var(--gold)}.user-menu__item--danger{color:var(--cinnabar)}.user-menu__item--danger:hover{background:var(--paper-shadow)}.user-menu__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;color:currentColor}.pmcp{position:relative;padding-top:var(--sp-3)}.pmcp__loading{padding:var(--sp-3);color:var(--ink-wash);font-style:italic;font-family:var(--font-serif, "Noto Serif SC", serif)}.pmcp__rack{position:absolute;top:0;left:4px;right:4px;height:6px;background:linear-gradient(to bottom,var(--ink-medium),var(--ink-deep));border-radius:2px;box-shadow:0 2px 0 var(--paper-shadow)}.pmcp__brushes{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-3);padding:var(--sp-4) 0 var(--sp-2)}.brush{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 0 var(--sp-3);background:transparent;border:none;cursor:pointer;text-align:center;font-family:var(--font-serif, "Noto Serif SC", serif);transition:transform var(--dur-fast) ease}.brush:hover{transform:translateY(-2px)}.brush__cap{position:relative;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center}.brush__cap:before,.brush__cap:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:36px;height:1px;background:var(--ink-deep)}.brush__cap:before{top:6px}.brush__cap:after{top:32px}.brush__seal{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--cinnabar);color:var(--paper-pure);border-radius:50%;border:1px solid var(--cinnabar);box-shadow:0 1px 2px #1a17142e}.brush__body{display:flex;flex-direction:column;gap:4px;width:100%;padding:var(--sp-3) var(--sp-2);background:var(--paper-pure);border:1px solid var(--paper-aged);border-top:none;position:relative;margin-top:-2px;flex:1}.brush__body:before{content:"";position:absolute;top:0;bottom:14px;left:50%;width:1px;background:var(--paper-aged);opacity:.6}.brush__label{font-size:var(--text-base);font-weight:500;color:var(--ink-deepest);letter-spacing:.08em;line-height:1.4}.brush__desc{font-size:var(--text-xs);color:var(--ink-wash);line-height:1.5;min-height:2.5em}.brush__samples{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-top:4px}.brush__sample{font-size:.8125rem;padding:1px 5px;background:var(--paper-light);color:var(--ink-light);border-radius:8px;font-family:var(--font-mono, JetBrains Mono, monospace)}.brush__sample--more{color:var(--gold)}.brush__vacant-note{font-size:var(--text-xs);color:var(--cinnabar);font-style:italic;margin-top:4px}.brush__tip{position:relative;width:100%;height:18px;display:flex;justify-content:center}.brush__nib{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid var(--ink-deep)}.brush__drop{position:absolute;top:8px;left:50%;transform:translate(-50%);width:4px;height:8px;border-radius:50%;background:var(--cinnabar);opacity:0;transition:opacity var(--dur-normal) ease,transform var(--dur-slow) ease}.brush:hover .brush__drop{opacity:.85;transform:translate(-50%) translateY(8px)}.brush--active .brush__body{border-color:var(--gold);background:var(--paper-light);box-shadow:0 0 0 2px var(--gold-light)}.brush--active .brush__seal{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 3px #b8963e40}.brush--active .brush__drop{opacity:1;transform:translate(-50%) translateY(8px);background:var(--gold)}.brush--manual .brush__body{border-style:dashed}.brush--manual .brush__seal{background:var(--paper-pure);color:var(--ink-medium);border:1px dashed var(--ink-medium)}.brush--vacant .brush__seal{background:var(--paper-shadow);color:var(--cinnabar);border:1px dashed var(--cinnabar)}.pmcp__manual{margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--paper-light);border:1px dashed var(--gold);border-radius:4px;display:flex;flex-direction:column;gap:6px}.pmcp__manual-label{font-size:var(--text-sm);color:var(--gold);letter-spacing:.1em;font-family:var(--font-serif, "Noto Serif SC", serif)}.pmcp__manual select,.pmcp__manual input{padding:6px 10px;border:1px solid var(--paper-aged);border-radius:2px;background:var(--paper-pure);font-family:inherit;font-size:var(--text-sm);color:var(--ink-deepest)}.pmcp__manual select:focus,.pmcp__manual input:focus{outline:none;border-color:var(--gold)}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--paper-warm);z-index:150;display:flex;flex-direction:column}.settings-overlay__header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);background:var(--paper-pure);border-bottom:1px solid var(--paper-aged)}.settings-overlay__header h2{margin:0;font-size:var(--text-xl);font-weight:500;color:var(--ink-deepest);flex:1;display:inline-flex;align-items:center;gap:var(--sp-3);letter-spacing:.08em;font-family:var(--font-serif, "Noto Serif SC", serif)}.settings-overlay__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--paper-light);border:1px solid var(--gold);color:var(--gold);border-radius:4px}.settings-overlay__body{flex:1;overflow-y:auto;padding:var(--sp-5) var(--sp-6);max-width:1280px;width:100%;margin:0 auto}.settings-loading,.settings-error,.settings-placeholder{padding:var(--sp-6);color:var(--ink-wash);font-style:italic;text-align:center;font-family:var(--font-serif, "Noto Serif SC", serif)}.settings-error{color:var(--cinnabar);display:inline-flex;align-items:center;justify-content:center}.codex-strategy{display:flex;flex-direction:column;gap:var(--sp-4);font-family:var(--font-serif, "Noto Serif SC", serif)}.codex-strategy__preamble{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-start;justify-content:space-between;padding-bottom:var(--sp-3);border-bottom:1px solid var(--paper-aged)}.codex-strategy__title{margin:0;font-size:var(--text-2xl);font-weight:500;color:var(--ink-deepest);letter-spacing:.15em}.codex-strategy__intro{flex:1;min-width:280px;margin:0 var(--sp-4) 0 0;font-size:var(--text-sm);color:var(--ink-light);line-height:var(--line-height-normal, 1.7)}.codex-strategy__intro strong{color:var(--ink-deepest);font-weight:500}.codex-strategy__actions{flex-shrink:0}.codex-strategy__notice{display:inline-flex;align-items:center;padding:var(--sp-2) var(--sp-3);font-size:var(--text-sm);border-left-width:3px;border-left-style:solid;background:var(--paper-light)}.codex-strategy__notice--ok{border-left-color:var(--gold);color:var(--ink-medium)}.codex-strategy__notice--err{border-left-color:var(--cinnabar);color:var(--cinnabar)}.codex-strategy__board{display:grid;grid-template-columns:200px 1fr;gap:var(--sp-5);align-items:start}.codex-toc{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3) 0;border-right:1px solid var(--paper-aged)}.codex-toc__item{display:grid;grid-template-columns:28px 22px 1fr;align-items:center;gap:var(--sp-2);padding:8px var(--sp-3);border:none;background:transparent;cursor:pointer;font-size:var(--text-sm);color:var(--ink-light);font-family:var(--font-serif, "Noto Serif SC", serif);transition:background var(--dur-fast) ease,color var(--dur-fast) ease;text-align:left;border-left:2px solid transparent}.codex-toc__item:hover{background:var(--paper-light);color:var(--ink-medium)}.codex-toc__item--active{background:var(--paper-pure);color:var(--ink-deepest);border-left-color:var(--gold);font-weight:500}.codex-toc__numeral{font-size:.85em;color:var(--ink-wash);font-style:italic;text-align:center}.codex-toc__item--active .codex-toc__numeral{color:var(--gold)}.codex-toc__icon{display:inline-flex;align-items:center;justify-content:center;color:currentColor}.codex-folio{background:var(--paper-pure);border:1px solid var(--paper-aged);border-radius:4px;padding:var(--sp-5);min-height:480px;display:flex;flex-direction:column;gap:var(--sp-4)}.codex-folio__cover{display:flex;align-items:center;gap:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:2px solid var(--paper-aged);position:relative}.codex-folio__cover:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--cinnabar);opacity:.18}.codex-folio__seal{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--cinnabar);color:var(--paper-pure);border-radius:6px;border:2px solid var(--cinnabar);box-shadow:0 2px 6px #c4554440}.codex-folio__title{flex:1}.codex-folio__title h3{margin:0;font-size:var(--text-xl);font-weight:500;color:var(--ink-deepest);letter-spacing:.1em}.codex-folio__title p{margin:4px 0 0;font-size:var(--text-sm);color:var(--ink-light)}.codex-folio__manual-note{padding:var(--sp-4) var(--sp-5);background:var(--paper-light);border:1px dashed var(--gold);border-radius:4px;color:var(--ink-medium);font-size:var(--text-sm);text-align:center;letter-spacing:.05em}.codex-entries{display:flex;flex-direction:column;gap:var(--sp-3)}.codex-entries__empty{padding:var(--sp-5);color:var(--ink-wash);font-style:italic;text-align:center}.codex-entry{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto auto;grid-template-areas:"n  main" "n  gloss" ".  meta";gap:4px var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--paper-aged)}.codex-entry__numeral{grid-area:n;display:inline-flex;align-items:flex-start;justify-content:center;padding-top:6px;color:var(--gold);font-size:var(--text-base);font-family:var(--font-serif, "Noto Serif SC", serif)}.codex-entry__main{grid-area:main;display:flex;flex-direction:column;gap:2px}.codex-entry__gloss{grid-area:gloss;display:flex;flex-direction:column;gap:2px;padding-left:var(--sp-3);border-left:1px solid var(--paper-aged)}.codex-entry__label{font-size:.8125rem;color:var(--ink-wash);letter-spacing:.2em}.codex-entry__suggested{font-size:var(--text-base);color:var(--ink-deepest);font-weight:500;font-family:var(--font-mono, JetBrains Mono, monospace);letter-spacing:.02em}.codex-entry__bind{padding:4px 8px;border:1px solid var(--paper-aged);border-radius:2px;background:var(--paper-light);font-family:var(--font-mono, JetBrains Mono, monospace);font-size:var(--text-sm);color:var(--ink-medium)}.codex-entry__bind:focus{outline:none;border-color:var(--gold);background:var(--paper-pure)}.codex-entry__meta{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);padding-top:4px;font-size:var(--text-xs);color:var(--ink-light)}.codex-entry__meta-cell{display:inline-flex;align-items:center;gap:4px}.codex-entry__meta-key{color:var(--ink-wash);letter-spacing:.1em}.codex-entry__priority{width:50px;padding:1px 4px;text-align:center;border:1px solid var(--paper-aged);border-radius:2px;background:var(--paper-pure);font-family:var(--font-mono, JetBrains Mono, monospace);font-size:var(--text-xs)}.codex-entry__priority:focus{outline:none;border-color:var(--gold)}.codex-entry__fit{display:inline-flex;align-items:baseline;gap:4px;padding:0 6px;border-radius:8px;font-weight:500}.codex-entry__fit-pct{font-size:.85em;opacity:.7;font-family:var(--font-mono, JetBrains Mono, monospace)}.codex-entry__fit--high{color:var(--gold)}.codex-entry__fit--mid{color:var(--ink-medium)}.codex-entry__fit--low{color:var(--cinnabar)}.codex-entry__fit--none{color:var(--ink-wash)}.codex-entry__source{display:inline-flex;align-items:center}.codex-entry__source--auto{color:var(--ink-light)}.codex-entry__source--manual{color:var(--gold);font-weight:500}.codex-entry__remove{margin-left:auto;padding:2px 8px;border:1px solid var(--paper-aged);background:transparent;border-radius:2px;cursor:pointer;font-size:var(--text-xs);color:var(--ink-light);font-family:var(--font-serif, "Noto Serif SC", serif);letter-spacing:.1em}.codex-entry__remove:hover{border-color:var(--cinnabar);color:var(--cinnabar)}.codex-add-trigger{display:inline-flex;align-items:center;padding:6px 14px;border:1px dashed var(--gold);background:transparent;color:var(--gold);border-radius:16px;cursor:pointer;font-size:var(--text-sm);font-family:var(--font-serif, "Noto Serif SC", serif)}.codex-add-trigger:hover{background:var(--paper-light)}.codex-add{margin-top:var(--sp-3);padding:var(--sp-4);background:var(--paper-light);border:1px solid var(--paper-aged);border-radius:4px}.codex-add h4{margin:0 0 var(--sp-3);font-size:var(--text-base);font-weight:500;color:var(--ink-deepest);letter-spacing:.1em}.codex-add label{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--sp-3);font-size:var(--text-sm)}.codex-add label>span{color:var(--ink-medium)}.codex-add input{padding:6px 10px;border:1px solid var(--paper-aged);border-radius:2px;background:var(--paper-pure);font-family:var(--font-mono, JetBrains Mono, monospace);font-size:var(--text-sm)}.codex-add__actions{display:flex;gap:var(--sp-2);justify-content:flex-end}@media(max-width:720px){.codex-strategy__board{grid-template-columns:1fr}.codex-toc{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--paper-aged);padding:0}.codex-toc__item{border-left:none;border-bottom:2px solid transparent}.codex-toc__item--active{border-bottom-color:var(--gold);border-left-color:transparent}}.ledger{display:flex;flex-direction:column;gap:var(--sp-5);font-family:var(--font-serif, "Noto Serif SC", serif)}.ledger__cover{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);background:var(--paper-pure);border:1px solid var(--paper-aged);border-radius:4px;position:relative}.ledger__cover:after{content:"";position:absolute;left:var(--sp-5);right:var(--sp-5);bottom:0;height:2px;background:var(--cinnabar);opacity:.18}.ledger__seal-block{display:flex;align-items:center;gap:var(--sp-4)}.ledger__seal{display:inline-flex;flex-direction:column;width:50px;height:60px;border:2px solid var(--cinnabar);border-radius:4px;background:var(--paper-pure);color:var(--cinnabar);align-items:center;justify-content:center;letter-spacing:0;line-height:1}.ledger__seal-char{font-size:1.4rem;font-weight:600;font-family:var(--font-serif, "Noto Serif SC", serif)}.ledger__seal-char--top{margin-top:4px}.ledger__seal-char--bot{margin-bottom:4px}.ledger__seal-meta{display:flex;flex-direction:column;gap:4px}.ledger__title{margin:0;font-size:var(--text-2xl);font-weight:500;color:var(--ink-deepest);letter-spacing:.18em}.ledger__subtitle{margin:0;font-size:var(--text-sm);color:var(--ink-light);letter-spacing:.1em}.ledger__period{display:flex;align-items:center}.ledger__period label{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm)}.ledger__period select{padding:4px 12px;border:1px solid var(--paper-aged);border-radius:2px;background:var(--paper-pure);font-family:inherit;font-size:var(--text-sm);color:var(--ink-deepest)}.ledger-stamps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-3)}.ledger-stamp{position:relative;padding:var(--sp-4) var(--sp-5);background:var(--paper-pure);border:1px solid var(--paper-aged);border-radius:4px;text-align:center}.ledger-stamp:before{content:"";position:absolute;top:8px;left:8px;right:8px;height:1px;background:var(--cinnabar);opacity:.12}.ledger-stamp:after{content:"";position:absolute;bottom:8px;left:8px;right:8px;height:1px;background:var(--cinnabar);opacity:.12}.ledger-stamp__num{font-size:var(--text-3xl);font-weight:500;color:var(--ink-deepest);letter-spacing:.04em;line-height:1.1}.ledger-stamp__num-unit{font-size:.5em;color:var(--ink-light);margin-left:4px;font-weight:400}.ledger-stamp__label{margin-top:6px;font-size:var(--text-xs);color:var(--ink-wash);letter-spacing:.3em;font-family:var(--font-serif, "Noto Serif SC", serif)}.ledger-section{padding:var(--sp-4) var(--sp-5);background:var(--paper-pure);border:1px solid var(--paper-aged);border-radius:4px}.ledger-section__head{margin:0 0 var(--sp-3);font-size:var(--text-base);font-weight:500;color:var(--ink-deepest);letter-spacing:.1em;display:inline-flex;align-items:center;border-bottom:1px dashed var(--paper-aged);padding-bottom:6px}.ledger-section__head svg{color:var(--gold)}.ledger-altars{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:var(--sp-2);align-items:flex-end}.altar{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--sp-2) 0}.altar__column{width:18px;height:140px;background:var(--paper-light);border:1px solid var(--paper-aged);border-bottom:2px solid var(--ink-medium);display:flex;align-items:flex-end;position:relative}.altar__fill{width:100%;background:linear-gradient(to top,var(--cinnabar),var(--cinnabar-light));transition:height var(--dur-slow) var(--ease-gentle, ease)}.altar__date{font-size:var(--text-xs);color:var(--ink-light);letter-spacing:.05em}.altar__num{font-size:.8125rem;color:var(--ink-medium);font-weight:500;font-family:var(--font-mono, JetBrains Mono, monospace)}.ledger-folio{display:flex;flex-direction:column;gap:var(--sp-2)}.folio-row{display:grid;grid-template-columns:80px 1fr 100px 70px;align-items:center;gap:var(--sp-3);padding:6px 0;border-bottom:1px solid var(--paper-aged)}.folio-row:last-child{border-bottom:none}.folio-row__label{font-size:var(--text-base);color:var(--ink-deepest);letter-spacing:.08em}.folio-row__bar{height:8px;background:var(--paper-light);border-radius:1px;overflow:hidden}.folio-row__fill{height:100%;background:var(--gold)}.folio-row__num{text-align:right;font-size:var(--text-sm);font-weight:500;color:var(--ink-medium);font-family:var(--font-mono, JetBrains Mono, monospace)}.folio-row__sub{text-align:right;font-size:var(--text-xs);color:var(--ink-wash)}.ledger-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ledger-table th,.ledger-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--paper-aged)}.ledger-table th{background:var(--paper-light);font-weight:500;color:var(--ink-medium);letter-spacing:.1em}.ledger-mono{font-family:var(--font-mono, JetBrains Mono, monospace);font-size:var(--text-xs);color:var(--ink-light)}.ledger-empty{padding:var(--sp-4);text-align:center;color:var(--ink-wash);font-style:italic}[data-theme=sepia]{--ink-deepest: #3b2f23;--ink-deep: #4a3c2c;--ink-medium: #5e4d39;--ink-light: #8a755c;--ink-wash: #b6a489;--paper-warm: #ece0c9;--paper-light: #f2e8d4;--paper-pure: #f6eedd;--paper-aged: #ddcdb0;--paper-shadow: #d2c1a2}.proposal-content,.editor-textarea,.compare-cell__text,.source-text-view{line-height:var(--reading-lh, 1.7)}@keyframes spin{to{transform:rotate(360deg)}}.council-panel{border:1px solid var(--gold);border-radius:8px;background:var(--paper-light);margin-bottom:var(--sp-3);overflow:hidden}.council-panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:6px 10px;background:#b8963e1a;font-size:var(--text-xs);color:var(--ink-medium)}.council-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--paper-aged)}.council-col{background:var(--paper-pure);display:flex;flex-direction:column}.council-col__head{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--paper-aged)}.council-col__num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:none;border-radius:50%;background:var(--azure);color:#fff;font-size:.75rem;font-weight:600}.council-col__name{flex:1;font-size:var(--text-xs);font-weight:600;color:var(--ink-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.council-col__text{padding:8px 10px;font-size:var(--text-base);line-height:var(--reading-lh, 1.7);color:var(--ink-deep);white-space:pre-wrap}mark.council-diff{background:#c455442e;color:var(--cinnabar);border-radius:2px;padding:0 1px}.term-hints{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:var(--sp-2)}.term-hints__label{font-size:var(--text-xs);color:var(--ink-wash);margin-right:2px}.term-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px dashed var(--gold);border-radius:999px;background:#b8963e14;color:var(--ink-medium);font-size:var(--text-xs);cursor:pointer;transition:all .15s}.term-chip:hover{background:#b8963e2e;border-style:solid}.term-chip__src{color:var(--ink-light)}.term-chip__arrow{color:var(--ink-wash)}.term-chip__tgt{color:var(--gold);font-weight:600}.term-chip__plus{color:var(--azure);font-weight:700;margin-left:2px}.trace-hint{display:flex;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;background:#3d6b7e1a;border:1px solid var(--azure);border-radius:7px;font-size:var(--text-xs);color:var(--ink-medium);line-height:1.5}.trace-hint__ok{flex:none;margin-left:auto;cursor:pointer;padding:2px 10px;border-radius:999px;border:1px solid var(--azure);background:transparent;color:var(--azure);font-size:var(--text-xs)}.trace-hint__ok:hover{background:var(--azure);color:#fff}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--cinnabar);color:#fff;font-size:10px;line-height:16px;font-weight:700;text-align:center}.notif-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:1200;width:320px;max-height:420px;display:flex;flex-direction:column;background:var(--paper-pure);border:1px solid var(--paper-aged);border-radius:10px;box-shadow:0 12px 36px #0000002e;color:var(--ink-deep);overflow:hidden}.notif-panel__head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--paper-aged);font-weight:600;font-size:var(--text-sm)}.notif-list{overflow-y:auto}.notif-empty{padding:28px 12px;text-align:center;color:var(--ink-wash);font-size:var(--text-sm)}.notif-item{display:flex;gap:8px;width:100%;text-align:left;padding:10px 12px;border:none;border-bottom:1px solid var(--paper-light);background:transparent;cursor:pointer}.notif-item:hover{background:var(--paper-light)}.notif-item--unread{background:#b8963e14}.notif-item__icon{flex:none;width:20px;text-align:center;color:var(--gold)}.notif-item__body{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-item__title{font-size:var(--text-sm);color:var(--ink-deep);font-weight:500}.notif-item__text{font-size:var(--text-xs);color:var(--ink-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:270px}.notif-item__time{font-size:var(--text-xs);color:var(--ink-wash)}.relay-source{margin-bottom:var(--sp-2);border:1px solid var(--lang-chinese);border-left-width:3px;border-radius:6px;background:#5c7a5a0f;overflow:hidden}.relay-source__label{padding:4px 10px;font-size:var(--text-xs);color:var(--lang-chinese);background:#5c7a5a1a;font-weight:600}.relay-source__text{padding:8px 10px;font-size:var(--text-base);line-height:var(--reading-lh, 1.7);color:var(--ink-deep)}[data-theme=dark] .auth-page{background-image:url(/bg-login-dark.webp)}[data-theme=dark] .auth-bg{background:linear-gradient(90deg,#12100de0,#12100db3 42%,#12100d4d),radial-gradient(ellipse at 80% 18%,rgba(120,150,170,.06) 0%,transparent 42%)}[data-theme=sepia] .auth-bg{background:linear-gradient(90deg,#f6eedde6,#f6eeddbd 42%,#f6eedd57)}.app-shell{background-image:url(/pattern-vine.webp);background-repeat:repeat;background-size:340px;background-blend-mode:multiply}[data-theme=dark] .app-shell{background-image:none}.auth-landing{position:relative;z-index:1;width:max-content;max-width:min(480px,88vw);margin-left:clamp(32px,9vw,150px);margin-right:24px;padding:48px 0;display:flex;flex-direction:column;align-items:center}.auth-landing .auth-brand{background:none;border:none;padding:0;text-align:center}.auth-landing .auth-brand__title{font-size:2.6rem;letter-spacing:.22em;text-indent:.22em;margin:8px 0 12px}.auth-landing .auth-brand__subtitle{font-size:var(--text-sm);letter-spacing:.26em;text-indent:.26em}.auth-landing .auth-enter-btn{margin-top:38px}.auth-landing .auth-enter-link{margin-top:14px}.auth-enter-btn{width:104px;height:104px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fefdfbb8;border:1.5px solid var(--gold, #b8963e);box-shadow:inset 0 0 0 3px #fefdfbb8,inset 0 0 0 4px #b8963e8c,0 6px 20px #0000001a;color:var(--gold, #b8963e);cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:all .25s var(--ease-gentle, ease)}.auth-enter-btn:hover{background:var(--gold, #b8963e);color:#fff;box-shadow:inset 0 0 0 3px #b8963e,inset 0 0 0 4px #fefdfbd9,0 10px 28px #b8963e59;transform:translateY(-2px) scale(1.03)}.auth-enter-btn__label{font-family:var(--font-scripture);font-size:1.3rem;font-weight:600;letter-spacing:.3em;text-indent:.3em}.auth-enter-link{background:none;border:none;cursor:pointer;padding:0;color:var(--ink-light);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:3px}.auth-enter-link:hover{color:var(--gold)}.auth-try{width:100%}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;background:#1a171475;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;animation:authFade .18s ease}@keyframes authFade{0%{opacity:0}to{opacity:1}}.auth-card{position:relative}.auth-card__close{position:absolute;top:10px;right:12px;width:30px;height:30px;border-radius:50%;border:1px solid var(--paper-aged);background:var(--paper-light);color:var(--ink-light);font-size:20px;line-height:1;cursor:pointer}.auth-card__close:hover{background:var(--paper-shadow);color:var(--ink-deep)}.auth-brand--sm{margin-bottom:8px}.auth-brand--sm .auth-brand__subtitle{display:none}@media(max-width:860px){.auth-page{justify-content:center}.auth-landing{margin:0 auto;align-items:center;width:min(560px,92vw)}.auth-landing .auth-brand{text-align:center;align-items:center}.auth-bg{background:linear-gradient(#faf8f4db,#faf8f4e6)}}.auth-landing .auth-brand__subtitle--couplet{font-family:var(--font-scripture);font-size:var(--text-base);font-weight:600;color:var(--cinnabar, #c45544);letter-spacing:.08em;text-indent:0;line-height:2.1;white-space:nowrap;text-shadow:0 -1px 0 rgba(255,252,245,.8),0 2px 3px rgba(110,40,30,.26)}[data-theme=dark] .auth-landing .auth-brand__subtitle--couplet{text-shadow:0 2px 4px rgba(0,0,0,.55)}@media(max-width:520px){.auth-landing .auth-brand__subtitle--couplet{white-space:normal;font-size:var(--text-xs)}}.auth-remember{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--ink-light);cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:2px}.auth-remember input{width:15px;height:15px;cursor:pointer;accent-color:var(--gold, #b8963e)}.compare-header,.compare-row{width:max-content;min-width:100%}.compare-header__persona,.compare-cell:not(.compare-cell--source){max-width:440px}.stage-dots{display:inline-flex;align-items:center;gap:3px;margin-right:4px}.stage-dot{width:7px;height:7px;border-radius:50%;background:var(--paper-shadow);transition:all .25s var(--ease-gentle, ease)}.stage-dot--past{background:var(--gold-light)}.stage-dot--now{background:var(--gold);box-shadow:0 0 0 2px #b8963e40;transform:scale(1.2)}@keyframes stagePulse{0%{box-shadow:0 0 #b8963e73}to{box-shadow:0 0 0 12px #b8963e00}}.proposal-item--pulse{animation:stagePulse .9s ease-out;border-radius:8px}.compare-cell__seed{font-size:var(--text-xs);color:var(--ink-wash);border:1px dashed var(--ink-wash);border-radius:999px;padding:0 7px;white-space:nowrap}.other-lang-hint{margin:6px 0 2px;display:flex;flex-wrap:wrap;gap:6px}.other-lang-chip{display:inline-flex;align-items:center;padding:3px 12px;border-radius:999px;cursor:pointer;border:1px dashed var(--azure);background:#3d6b7e12;color:var(--azure);font-size:var(--text-xs);transition:all .15s}.other-lang-chip:hover{background:var(--azure);color:#fff;border-style:solid}.lang-tab__count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:4px;border-radius:999px;background:#b8963e2e;color:var(--gold);font-size:10px;font-weight:700;line-height:1}.source-text-view{font-size:calc(var(--text-lg) * var(--work-fs-scale, 1))}.proposal-content,.editor-textarea,.compare-cell__text{font-size:calc(var(--text-base) * var(--work-fs-scale, 1))}.segment-source-preview{font-size:calc(var(--text-xs) * var(--work-fs-scale, 1))}.source-token-literal{font-size:calc(.8125rem * var(--work-fs-scale, 1))}.scan-viewer{justify-content:safe center}.scan-image-container--zoomed{max-width:none}.scan-image-container--zoomed img{width:100%;max-width:none}.scan-viewer{flex-direction:column;align-items:center;justify-content:flex-start;padding:0}.scan-viewer__toolbar{align-self:stretch;flex-wrap:wrap;position:sticky;top:0;z-index:5}.scan-image-container{margin:var(--sp-4)}.scan-image-container--zoomed{align-self:flex-start}.btn{white-space:nowrap}.panel-header{flex-wrap:wrap;row-gap:4px}.panel-title{flex-wrap:wrap;row-gap:2px}.panel-title>*{white-space:nowrap;flex:none}.lang-tabs{flex-wrap:wrap;row-gap:4px}.lang-tab,.persona-chip{white-space:nowrap;flex:none}.scan-viewer__toolbar .btn,.scan-viewer__toolbar a{white-space:nowrap}.breadcrumb-bar{flex-wrap:wrap;row-gap:6px}.breadcrumb{flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow:hidden}.breadcrumb>span{white-space:nowrap}.breadcrumb>span:first-child{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;max-width:28ch}.chain-indicator{flex-wrap:wrap;row-gap:6px;justify-content:flex-end}.chain-indicator>*{white-space:nowrap;flex:none}.chain-tag{white-space:nowrap}

/* Login visual patch: neutralize religious couplet, use fractal background. */
.auth-page {
  background-color: #020518 !important;
  background-image: url("/login-fractal.png") !important;
  background-size: cover !important;
  background-position: center center !important;
}

.auth-bg {
  background:
    linear-gradient(90deg, rgba(2, 5, 24, 0.74) 0%, rgba(4, 10, 48, 0.48) 42%, rgba(4, 12, 56, 0.18) 72%, rgba(0, 0, 0, 0.06) 100%) !important;
}

.auth-landing .auth-brand__subtitle--couplet {
  display: none !important;
}

.auth-landing .auth-brand__title {
  color: rgba(248, 250, 255, 0.94) !important;
  text-shadow: 0 2px 18px rgba(0, 91, 255, 0.42), 0 1px 3px rgba(0, 0, 0, 0.5);
}

.auth-landing .auth-brand__icon {
  color: rgba(248, 250, 255, 0.84) !important;
  filter: drop-shadow(0 2px 12px rgba(0, 91, 255, 0.36));
}

.auth-enter-link {
  color: rgba(248, 250, 255, 0.78) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

@media (max-width: 860px) {
  .auth-bg {
    background: linear-gradient(180deg, rgba(2, 5, 24, 0.6), rgba(2, 5, 24, 0.78)) !important;
  }
}

/* Local workspace patch: make the left navigation sidebar resizable. */
.sidebar {
  position: relative;
  overflow: visible !important;
}

.sidebar__resize-handle {
  position: absolute;
  top: 0;
  right: -10px;
  z-index: 320;
  width: 28px;
  height: 100%;
  cursor: col-resize;
  touch-action: none;
}

.sidebar__resize-handle::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.sidebar__resize-handle:hover::after,
body.sidebar-resizing .sidebar__resize-handle::after {
  background: var(--gold, #b8963e);
  box-shadow: -2px 0 8px rgba(184, 150, 62, 0.32);
}

.sidebar.collapsed .sidebar__resize-handle {
  display: none;
}

body.sidebar-resizing {
  cursor: col-resize;
  user-select: none;
}

/* Local workspace patch: compact page navigator with thumbnail / outline views. */
.sidebar__nav.sutra-page-nav-ready > .nav-item[data-sutra-original-page] {
  display: none !important;
}

.sutra-page-browser {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  margin: 8px 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.025);
  overflow: hidden;
}

.sutra-page-browser__tabs,
.sutra-page-browser__pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.source-panel .sutra-page-pager-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  position: sticky;
  top: 0;
  z-index: 7;
  width: 100%;
  box-sizing: border-box;
  padding: 6px 10px;
  border-bottom: 1px solid var(--border-light, #ebe6da);
  background: rgba(250, 248, 242, 0.72);
  white-space: nowrap;
  overflow: hidden;
}

.sidebar__nav [data-sutra-unchaptered="true"] {
  display: none !important;
}

.source-panel.sutra-source-one-line > .panel-header {
  display: none !important;
}

.sutra-page-pager-row__title {
  display: none !important;
}

.source-panel .sutra-page-browser__pager--source {
  padding: 0;
  border: 0;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.source-panel .sutra-page-browser__pager--source button {
  color: #5d5a52;
  border-color: #d8dde3;
  background: #f2f5f7;
}

.source-panel .sutra-page-browser__pager--source button:hover:not(:disabled) {
  color: #8b6a18;
  border-color: #c9a84f;
  background: #fffaf0;
}

.source-panel .sutra-page-browser__pager--source input {
  width: 54px;
  min-width: 44px;
  max-width: 20%;
  color: #403d37;
  border-color: #d8dde3;
  background: #fff;
}

.source-panel .sutra-page-browser__pager--source .sutra-page-browser__total {
  flex: 0 1 auto;
  min-width: 0;
  color: #77736a;
}

.notif-panel,
.sutra-notification-popover {
  box-sizing: border-box !important;
  max-width: min(360px, calc(100vw - 24px)) !important;
  max-height: min(420px, calc(100vh - 96px)) !important;
  overflow: auto !important;
  right: 12px !important;
  left: auto !important;
}

.sutra-page-browser__tabs button,
.sutra-page-browser__pager button {
  min-width: 30px;
  height: 30px;
  padding: 0 7px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
}

.sutra-page-browser__tabs button {
  flex: 1;
  min-height: 38px;
  font-size: 20px;
  line-height: 1;
}

.sutra-page-browser__tabs button.active,
.sutra-page-browser__pager button:hover:not(:disabled) {
  color: #e1ba58;
  border-color: rgba(225, 186, 88, 0.5);
  background: rgba(225, 186, 88, 0.1);
}

.sutra-page-browser__pager button:disabled {
  opacity: 0.32;
  cursor: default;
}

.sutra-page-browser__pager input {
  width: 48px;
  height: 30px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  color: #f4f1e8;
  background: rgba(0, 0, 0, 0.22);
  text-align: center;
  font: inherit;
}

.sutra-page-browser__total {
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  white-space: nowrap;
}

.sutra-page-browser__body {
  min-height: 0;
  padding: 9px;
  overflow: auto;
}

.sutra-page-thumb {
  display: block;
  width: 100%;
  margin: 0 0 11px;
  padding: 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: rgba(255, 255, 255, 0.66);
  background: transparent;
  cursor: pointer;
}

.sutra-page-thumb:hover,
.sutra-page-thumb.active {
  border-color: rgba(225, 186, 88, 0.5);
  background: rgba(225, 186, 88, 0.08);
}

.sutra-page-thumb img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.28);
}

.scan-image-container.sutra-source-sync-ready {
  cursor: crosshair;
}

.sutra-source-sync-overlay {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 8;
  pointer-events: auto;
  padding: 0;
  appearance: none;
  border: 0;
  outline: none;
  box-shadow: none;
  background: transparent;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.sutra-source-sync-overlay:hover,
.sutra-source-sync-overlay.active {
  background: rgba(225, 186, 88, 0.055);
  box-shadow: inset 3px 0 rgba(184, 150, 62, 0.72);
}

.sutra-source-sync-overlay:focus,
.sutra-source-sync-overlay:focus-visible {
  outline: none;
  box-shadow: inset 3px 0 rgba(184, 150, 62, 0.86);
}

.segment-card.sutra-source-sync-active {
  outline: none;
  box-shadow: inset 3px 0 rgba(184, 150, 62, 0.72) !important;
}

.segment-source-preview {
  cursor: pointer;
}

/* One clear entry opens the translation editor; the invitation already owns the click action. */
.segment-card:has(.proposal-empty--invitation) > .add-translation-btn {
  display: none !important;
}

.proposal-empty--invitation {
  min-height: 54px !important;
  margin-bottom: 0 !important;
  cursor: pointer !important;
}

.proposal-empty--invitation:hover {
  border-color: rgba(184, 150, 62, 0.72) !important;
  background: rgba(225, 186, 88, 0.08) !important;
}

.sutra-page-thumb span {
  display: block;
  padding-top: 5px;
  font-size: 12px;
  text-align: center;
}

.sutra-page-outline button {
  display: block;
  width: 100%;
  margin-bottom: 3px;
  padding: 8px 10px;
  border: 0;
  border-radius: 5px;
  color: rgba(255, 255, 255, 0.68);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.sutra-page-outline button:hover,
.sutra-page-outline button.active {
  color: #f1d58f;
  background: rgba(225, 186, 88, 0.11);
}

/* Keep the source header calm: secondary actions live in a More menu. */
.sutra-source-more {
  position: relative;
  margin-left: 2px;
}

.sutra-source-more > button {
  min-width: 30px;
  font-size: 20px !important;
  line-height: 1 !important;
}

.sutra-source-more__menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 80;
  display: none;
  min-width: 138px;
  padding: 6px;
  border: 1px solid var(--border, #ded8c9);
  border-radius: 8px;
  background: var(--paper, #fffdf8);
  box-shadow: 0 10px 28px rgba(47, 39, 24, 0.18);
}

.sutra-source-more.open .sutra-source-more__menu {
  display: grid;
  gap: 4px;
}

.sutra-source-more__menu > * {
  width: 100% !important;
  justify-content: flex-start !important;
  margin: 0 !important;
}

.sutra-source-more__menu .scan-viewer__toolbar.sutra-scan-toolbar-in-menu {
  display: grid !important;
  width: 100%;
  gap: 4px;
  padding: 4px 0 0 !important;
  border-top: 1px solid var(--border-light, #ebe6da);
  background: transparent !important;
}

.sutra-source-more__menu .scan-viewer__toolbar.sutra-scan-toolbar-in-menu > * {
  width: 100%;
  justify-content: flex-start;
}

.source-panel .panel-header [data-sutra-toolbar-secondary="true"] {
  display: none !important;
}

.source-panel .panel-header .panel-title > span:not(.icon),
.source-panel .panel-header .panel-title > .reocr-btn {
  display: none !important;
}

/* The detailed bilingual pipeline is already visible in the workbench. */
.status-bar__progress {
  display: none !important;
}

/* Local workspace patch: keep fallback text source compact; PDF uses original page images. */
.text-source-viewer__content {
  padding: 14px 18px 80px !important;
  background: #fbfaf6 !important;
}

.text-source-viewer__segment {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 0 4px !important;
  padding: 4px 6px !important;
  min-height: auto !important;
  border: 0 !important;
  border-left: 2px solid transparent !important;
  border-radius: 3px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.text-source-viewer__segment:hover,
.text-source-viewer__segment[data-sutra-sync-block="ready"]:hover {
  border-left-color: rgba(184, 150, 62, 0.98) !important;
  background: rgba(184, 150, 62, 0.08) !important;
}

.text-source-viewer__num {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 999px !important;
  background: rgba(184, 150, 62, 0.1) !important;
  color: #8a6e25 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
}

.text-source-viewer__text {
  min-width: 0 !important;
  color: #4d4639 !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
}

/* Local workspace patch: calm down dense workbench controls. */
.breadcrumb-bar,
.panel-header,
.lang-tabs,
.scan-viewer__toolbar {
  gap: 6px !important;
}

.workbench .panel-header {
  padding: 9px 16px !important;
}

.workbench .panel-title {
  gap: 6px !important;
  font-size: 1rem !important;
}

.workbench .btn,
.workbench .reocr-btn,
.breadcrumb-bar .btn,
.chain-indicator .btn,
.lang-tabs .btn,
.lang-tabs .persona-chip {
  min-height: 28px !important;
  padding: 4px 9px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}

.chain-indicator {
  gap: 6px !important;
}

.chain-indicator button[title*="木鱼"],
.chain-indicator button[title*="落笔音"] {
  display: none !important;
}

.segments-list {
  padding: 16px 18px !important;
}

.segment-card {
  padding: 14px 18px 12px !important;
}

.segment-card__header {
  justify-content: flex-end !important;
  min-height: 26px !important;
  margin-bottom: 8px !important;
}

.segment-card__id,
.segment-card__token-count {
  display: none !important;
}

.segment-card__header > div {
  margin-left: auto !important;
}

.segment-card__header .literal-toggle-btn {
  opacity: 0.75 !important;
}

.segment-card__header .literal-toggle-btn:hover,
.segment-card__header .literal-toggle-btn.active {
  opacity: 1 !important;
}

body.sutra-same-source-target .proposal-empty--invitation,
body.sutra-same-source-target .add-translation-btn {
  display: none !important;
}

body.sutra-same-source-target .segment-card__header {
  margin-bottom: 4px !important;
}

.sutra-target-lang-dropdown {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.chain-indicator .chain-tag.sutra-target-lang-display-hidden {
  display: none !important;
}

.sutra-target-lang-select {
  min-height: 28px !important;
  padding: 4px 28px 4px 10px !important;
  border: 1px solid #d9d5cc !important;
  border-radius: 4px !important;
  background: #f0efe9 !important;
  color: #546b8b !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  appearance: auto !important;
}

.sutra-target-lang-select:focus {
  outline: 1px solid rgba(83, 121, 170, 0.45) !important;
  outline-offset: 0 !important;
}

.workbench .translation-panel .lang-tabs {
  min-height: 40px !important;
}

.workbench .translation-panel .lang-tabs .lang-tab,
.workbench .translation-panel .lang-tabs .lang-dot {
  display: none !important;
}

.workbench .translation-panel .lang-tabs .persona-chip.sutra-target-persona-hidden,
.translation-editor .persona-chip.sutra-target-persona-hidden {
  display: none !important;
}

.translation-editor .editor-header {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) auto !important;
  align-items: flex-start !important;
  gap: 8px !important;
}

.translation-editor .editor-header__label {
  width: 64px !important;
  min-width: 64px !important;
}

.translation-editor .persona-selector {
  width: 100% !important;
  min-width: 0 !important;
  align-content: flex-start !important;
}

.segments-list {
  scrollbar-gutter: stable !important;
}

.translation-editor,
.translation-editor .editor-header,
.translation-editor .persona-selector {
  box-sizing: border-box !important;
}

.translation-editor__collapse,
.translation-editor__collapse-bottom {
  margin-left: auto !important;
  min-width: 52px !important;
  flex-shrink: 0 !important;
  color: #7b7369 !important;
}

.translation-editor__collapse:hover,
.translation-editor__collapse-bottom:hover {
  color: var(--ink-deep) !important;
  border-color: var(--paper-aged) !important;
  background: var(--paper-warm) !important;
}

.segment-card.sutra-collapse-in-proofread-bar .translation-editor__collapse,
.segment-card.sutra-collapse-in-proofread-bar .translation-editor__collapse-bottom {
  display: none !important;
}

.proofread-bar__collapse-before-revert {
  margin-left: auto !important;
  color: #7b7369 !important;
}

.proofread-bar__collapse-before-revert + button {
  margin-left: 4px !important;
}

.sutra-role-visibility-toggle {
  margin-left: 10px !important;
  min-height: 28px !important;
  padding: 4px 10px !important;
  border: 1px solid rgba(184, 150, 62, 0.35) !important;
  border-radius: 999px !important;
  background: rgba(184, 150, 62, 0.08) !important;
  color: #8a6e25 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.sutra-role-visibility-toggle:hover {
  background: rgba(184, 150, 62, 0.14) !important;
  border-color: rgba(184, 150, 62, 0.52) !important;
}

/* Multi-model comparison returns one readable section per model. */
.ai-preview__content {
  white-space: pre-wrap !important;
}

.council-panel--models .council-grid {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(260px, 1fr) !important;
  grid-template-columns: none !important;
  overflow-x: auto !important;
}

.council-col__meta {
  padding: 6px 10px !important;
  border-bottom: 1px solid var(--paper-aged) !important;
  color: var(--ink-wash) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}
