@font-face{font-family:Geist;src:url(/fonts/Geist.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--font-sans: "Geist", system-ui, -apple-system, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", monospace;--fs-10: 10.5px;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-16: 16px;--fs-18: 18px;--fs-22: 22px;--fs-28: 28px;--fs-40: 40px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-12: 48px;--r-sm: 7px;--r-md: 10px;--r-lg: 12px;--r-xl: 16px;--content-max: 1280px;--sidebar-w: 244px;--topbar-h: 52px;--doc-font: "Calibri", "Carlito", "Segoe UI", var(--font-sans);--page-w: 210mm;--page-min-h: 297mm;--page-margin: 25.4mm;--comment-margin-w: 260px;--comment-margin-gap: 24px;--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur: .2s}:root,[data-theme=light]{--bg: #faf9f6;--panel: #ffffff;--panel-2: #f4f2ec;--border: #e8e5dd;--border-strong: #d8d3c6;--text: #18160f;--text-2: #4a463c;--muted: #8c8678;--primary: #2b2a26;--primary-deep: #18160f;--primary-contrast: #ffffff;--success: #1f8a5b;--success-tint: #e3f3eb;--warning: #b8860b;--warning-tint: #f7eed5;--danger: #c0392b;--danger-tint: #fbe6e1;--info: #2a5fdb;--info-tint: #e3ebfb;--ring: color-mix(in srgb, var(--accent) 45%, transparent);--shadow-sm: 0 1px 2px rgba(24, 22, 15, .06), 0 1px 1px rgba(24, 22, 15, .04);--shadow-md: 0 2px 8px rgba(24, 22, 15, .08), 0 1px 2px rgba(24, 22, 15, .05);--shadow-lg: 0 8px 28px rgba(24, 22, 15, .14);--canvas: #e6e3db;--page-bg: #ffffff;--page-shadow: 0 1px 3px rgba(24, 22, 15, .12), 0 10px 28px rgba(24, 22, 15, .1)}[data-theme=dark]{--bg: #131210;--panel: #1b1a17;--panel-2: #232118;--border: #2c2a24;--border-strong: #3a372f;--text: #ece8de;--text-2: #c3bdac;--muted: #8c8678;--primary: #ece8de;--primary-deep: #ffffff;--primary-contrast: #18160f;--success: #4cc38a;--success-tint: #163324;--warning: #d9a942;--warning-tint: #382f17;--danger: #e5715f;--danger-tint: #3a201b;--info: #6a93f0;--info-tint: #1c2740;--ring: color-mix(in srgb, var(--accent) 55%, transparent);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 10px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 32px rgba(0, 0, 0, .6);--canvas: #100f0d;--page-bg: #1f1e1a;--page-shadow: 0 1px 3px rgba(0, 0, 0, .5), 0 10px 28px rgba(0, 0, 0, .55)}:root,[data-accent=terracotta]{--accent: #d97757;--accent-deep: #b45a3d;--accent-tint: #fbeee5}[data-accent=blue]{--accent: #2a5fdb;--accent-deep: #1e47a8;--accent-tint: #e3ebfb}[data-accent=green]{--accent: #1f8a5b;--accent-deep: #166844;--accent-tint: #e3f3eb}[data-accent=purple]{--accent: #7c3aed;--accent-deep: #5f2cb8;--accent-tint: #efe7fb}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{font-family:var(--font-sans);font-size:var(--fs-14);line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}body{background:var(--bg);color:var(--text)}a{color:var(--accent-deep);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ring);outline-offset:1px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.page-title{font-size:var(--fs-22);font-weight:600;letter-spacing:-.015em}.card-title{font-size:var(--fs-13);font-weight:600}.field-label{font-family:var(--font-mono);font-size:var(--fs-10);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.text-2{color:var(--text-2)}.muted{color:var(--muted)}.display{font-size:var(--fs-40);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:7px 12px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm);cursor:pointer;font-size:var(--fs-13);font-weight:500;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn:hover{background:var(--panel-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.btn.primary:hover{background:var(--primary-deep)}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.accent:hover{background:var(--accent-deep)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.ghost:hover{background:var(--panel-2)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-tint)}.btn.sm{padding:4px 8px;font-size:var(--fs-12)}.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:var(--fs-10);text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:4px;background:var(--panel-2);color:var(--text-2)}.badge .dot{width:5px;height:5px;border-radius:50%;background:currentColor}.badge.success{background:var(--success-tint);color:var(--success)}.badge.warn{background:var(--warning-tint);color:var(--warning)}.badge.danger{background:var(--danger-tint);color:var(--danger)}.badge.info{background:var(--info-tint);color:var(--info)}.badge.accent{background:var(--accent-tint);color:var(--accent-deep)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.card-body{padding:16px}.input,.select,.textarea{width:100%;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--panel);color:var(--text);transition:border-color var(--dur-fast) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:2px solid var(--ring);outline-offset:0}.seg{display:inline-flex;gap:2px;padding:3px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm)}.seg button{border:0;background:transparent;color:var(--text-2);padding:4px 10px;border-radius:5px;cursor:pointer;font-size:var(--fs-12)}.seg button.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm)}.progress-track{height:4px;border-radius:999px;background:var(--panel-2);overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width var(--dur) var(--ease)}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--panel-2) 25%,var(--border) 37%,var(--panel-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--border);font-weight:500}.table td{padding:12px;border-bottom:1px solid var(--border)}.table tbody tr{cursor:pointer;transition:background var(--dur-fast) var(--ease)}.table tbody tr:hover{background:var(--panel-2)}.table tbody tr.selected{background:var(--accent-tint)}.context-strip{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:10px 14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md)}.context-strip .cs-item{display:flex;flex-direction:column;gap:2px}.context-strip .cs-sep{width:1px;align-self:stretch;background:var(--border)}.empty{display:grid;place-items:center;gap:var(--sp-3);padding:var(--sp-12);text-align:center;color:var(--muted)}.fade-in{animation:fade-in var(--dur) var(--ease)}@keyframes fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;overflow:hidden}.sidebar{display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4)}.sidebar-brand .logo{width:26px;height:26px;border-radius:7px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}.sidebar-brand .name{font-weight:600;line-height:1.1}.sidebar-section{font-family:var(--font-mono);font-size:var(--fs-10);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:var(--sp-3) var(--sp-4) var(--sp-1)}.nav-item{display:flex;align-items:center;gap:var(--sp-3);margin:1px var(--sp-2);padding:7px 10px;border-radius:var(--r-sm);color:var(--text-2);border:1px solid transparent;cursor:pointer}.nav-item:hover{background:var(--panel-2);text-decoration:none}.nav-item.active{background:var(--panel);border-color:var(--border);box-shadow:var(--shadow-sm);color:var(--text)}.nav-item.active .nav-icon,.nav-item.active .step-num{color:var(--accent)}.nav-item .nav-label{flex:1}.nav-item .step-num{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--muted);min-width:16px;text-align:center}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-top:1px solid var(--border)}.sidebar-footer .who{flex:1;line-height:1.2;min-width:0}.sidebar-footer .who small{color:var(--muted)}.app-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);padding:0 var(--sp-6);border-bottom:1px solid var(--border);flex:none}.crumbs{display:flex;align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-13)}.crumbs .current{color:var(--text);font-weight:500}.app-content{overflow-y:auto;padding:28px 32px 48px}.app-content--fluid{padding:16px;overflow:hidden;display:flex;flex-direction:column}.app-content-inner{max-width:var(--content-max);margin:0 auto;display:grid;gap:var(--sp-6)}.app-content-inner--fluid{max-width:none;margin:0;width:100%;flex:1;min-height:0}.preview-page{display:grid;grid-template-rows:auto 1fr;gap:var(--sp-5);min-height:0}.preview-grid{display:grid;grid-template-columns:260px minmax(0,1fr) 340px;gap:16px;align-items:stretch;min-height:0}.preview-panel{display:flex;flex-direction:column;overflow:hidden;min-height:0}.preview-panel>.card-body{flex:1;min-height:0;overflow-y:auto}.preview-contents{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-content:start}.toc-list{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;align-content:start}.toc-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text);font-size:var(--fs-13);cursor:pointer;text-align:left}.toc-item:hover{background:var(--panel-2)}.toc-item.on{background:var(--accent-tint)}.toc-item .toc-num{flex:none;width:18px;text-align:right;font-family:var(--font-mono);font-size:var(--fs-11);color:var(--muted)}.toc-item .toc-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-item .badge{flex:none}.rail-tabs{display:flex;align-items:center;gap:2px}.rail-tab{position:relative;width:30px;height:30px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-2);cursor:pointer}.rail-tab:hover{background:var(--panel-2);color:var(--text)}.rail-tab.on{background:var(--accent-tint);color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.preview-railstrip{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:0;padding:8px 4px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow-y:auto}.railstrip-btn{position:relative;width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-size:var(--fs-13);cursor:pointer}.railstrip-btn:hover{background:var(--panel-2);color:var(--text)}.railstrip-btn.on{background:var(--accent-tint);color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.railstrip-sep{width:20px;height:1px;flex:none;background:var(--border);margin:2px 0}.railstrip-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--warning);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.preview-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);cursor:pointer}.preview-collapse-btn:hover{background:var(--panel-2);color:var(--text)}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:var(--fs-12);font-weight:600;flex:none}.cmdk-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:flex-start;padding-top:14vh;z-index:100}.cmdk{width:100%;max-width:540px;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}.cmdk input{width:100%;border:0;border-bottom:1px solid var(--border);padding:14px 16px;background:transparent;font-size:var(--fs-16)}.cmdk input:focus{outline:none}.cmdk-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer}.cmdk-item.active{background:var(--accent-tint)}.cmdk-item .step-num{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-11);color:var(--muted)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6)}.auth-card{width:100%;max-width:380px}.editor-surface{display:flex;flex-direction:column;gap:6px}.section-editor{border:1px solid var(--border-strong);border-radius:6px;padding:10px;margin-top:8px}.doc-workspace{display:flex;flex-direction:column;min-height:0;height:100%;border:1px solid var(--border);border-radius:var(--r-md);background:var(--canvas);overflow:hidden}.doc-workspace-connecting{align-items:center;justify-content:center;color:var(--muted);min-height:240px}.doc-topbar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--panel-2);flex:none}.doc-topbar-tools{flex:1;min-width:0;overflow-x:auto}.doc-topbar .editor-toolbar{position:static;border:0;border-radius:0;background:transparent;padding:0;flex-wrap:nowrap}.doc-topbar-readonly{font-size:var(--fs-13);color:var(--muted);padding:4px 2px}.doc-topbar-meta{display:flex;align-items:center;gap:10px;flex:none}.ws-indicator{display:inline-flex;align-items:center}.ws-indicator.ok{color:var(--success)}.ws-indicator.bad{color:var(--danger)}.ws-indicator.pending{color:var(--muted)}.doc-banner{flex:none;padding:5px 12px;font-size:var(--fs-13)}.doc-banner.warn{background:var(--warning-tint);color:var(--warning)}.doc-banner.danger{background:var(--danger-tint);color:var(--danger)}.doc-canvas{flex:1;min-height:0;overflow:auto;background:var(--canvas)}.doc-zoom{zoom:var(--doc-zoom, 1);padding:28px 24px 48px}.doc-stage{width:var(--page-w);margin:0 auto}.doc-pagecol{width:var(--page-w)}.doc-stage.with-margin{display:flex;align-items:stretch;gap:var(--comment-margin-gap);width:calc(var(--page-w) + var(--comment-margin-gap) + var(--comment-margin-w))}.doc-stage.with-margin .doc-pagecol{flex:none}.doc-margincol{position:relative;flex:none;width:var(--comment-margin-w)}.comment-margin{position:absolute;top:0;right:0;bottom:0;left:0}.comment-margin-empty{position:absolute;top:6px;left:0;right:0;text-align:center}.comment-card{position:absolute;left:0;width:100%;padding:9px 11px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-13);transition:top var(--dur) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.comment-card:hover{border-color:var(--border-strong)}.comment-card.is-active{border-color:var(--accent);box-shadow:var(--shadow-md);cursor:default;z-index:2}.comment-card.is-active:before{content:"";position:absolute;top:12px;right:100%;width:var(--comment-margin-gap);border-top:1px dashed var(--accent)}.comment-body-head{display:flex;align-items:center;gap:6px}.comment-body-head strong{font-size:var(--fs-13)}.comment-body-text{margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.comment-card:not(.is-active) .comment-body-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.comment-reply-count{display:inline-block;margin-top:6px}.comment-reply{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.comment-card-actions{display:flex;align-items:center;gap:6px;margin-top:8px}.comment-reply-input{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-12)}.comment-reply-input:focus{outline:2px solid var(--ring);outline-offset:0;border-color:var(--accent)}.doc-canvas-empty{display:grid;place-items:center;min-height:40vh}.doc-titlebar{display:flex;gap:8px;align-items:center;margin-bottom:14px;padding:0 2px;color:var(--text-2)}.doc-titlebar .doc-title{font-weight:600;font-size:var(--fs-14);color:var(--text)}.doc-statusbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 10px;border-top:1px solid var(--border);background:var(--panel-2);font-size:var(--fs-12);color:var(--text-2)}.doc-status-info{display:flex;align-items:center;gap:6px;min-width:0}.doc-status-dot{color:var(--muted)}.doc-status-mode{color:var(--text)}.zoom-control{display:flex;align-items:center;gap:2px}.zoom-control .tb-btn{height:24px;min-width:24px}.zoom-value{min-width:46px;height:24px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text);font-size:var(--fs-12);cursor:pointer}.zoom-value:hover{border-color:var(--border-strong)}.zoom-fit{height:24px;padding:0 8px;margin-left:4px;border:1px solid var(--border-strong);border-radius:5px;background:var(--panel);color:var(--text);font-size:var(--fs-12);cursor:pointer}.zoom-fit:hover{border-color:var(--accent)}.doc-canvas .editor-content .ProseMirror{width:100%;min-height:var(--page-min-h);margin:0;padding:var(--page-margin);border:0;border-radius:0;background:var(--page-bg);box-shadow:var(--page-shadow);color:var(--text);font-family:var(--doc-font);font-size:11pt;line-height:1.5}.doc-canvas .editor-content .ProseMirror:focus-within{border:0}.doc-canvas .editor-content .ProseMirror p{margin:0 0 8pt}.doc-canvas .editor-content .ProseMirror h1{font-size:16pt;font-weight:700;line-height:1.2;margin:0 0 8pt}.doc-canvas .editor-content .ProseMirror h2{font-size:13pt;font-weight:700;line-height:1.25;margin:14pt 0 6pt}.doc-canvas .editor-content .ProseMirror h3{font-size:12pt;font-weight:700;margin:12pt 0 4pt}.doc-canvas .editor-content .ProseMirror ul,.doc-canvas .editor-content .ProseMirror ol{margin:0 0 8pt;padding-left:20pt}.doc-sheet-wrap{position:relative}.page-break-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.page-break-line{position:absolute;left:0;right:0;border-top:1.5px dashed color-mix(in srgb,var(--border-strong) 85%,transparent)}.page-break-label{position:absolute;right:10px;top:-9px;padding:1px 7px;border:1px solid var(--border);border-radius:9px;background:var(--page-bg);color:var(--muted);font-family:var(--font-sans);font-size:10px;font-weight:600;line-height:14px;white-space:nowrap}.editor-content .ProseMirror ins.suggestion-insert{color:var(--suggestion-color, var(--accent));text-decoration:underline}.editor-content .ProseMirror del.suggestion-delete{color:var(--suggestion-color, #dc2626);text-decoration:line-through}.editor-content .ProseMirror [data-suggestion-op=insert]{outline:2px solid var(--suggestion-color, var(--accent));outline-offset:2px;border-radius:2px}.editor-content .ProseMirror [data-suggestion-op=delete]{outline:2px dashed var(--suggestion-color, #dc2626);outline-offset:2px;border-radius:2px;opacity:.55}.editor-content .ProseMirror td[data-suggestion-op],.editor-content .ProseMirror th[data-suggestion-op]{outline:none;background-color:color-mix(in srgb,var(--suggestion-color, var(--accent)) 12%,transparent)}.editor-content .ProseMirror td[data-suggestion-op=delete],.editor-content .ProseMirror th[data-suggestion-op=delete]{opacity:.55;background-image:linear-gradient(to top right,transparent 48%,var(--suggestion-color, #dc2626) 48%,var(--suggestion-color, #dc2626) 52%,transparent 52%)}.editor-content .ProseMirror tr[data-suggestion-op=delete]>td,.editor-content .ProseMirror tr[data-suggestion-op=delete]>th{opacity:.55;background-color:color-mix(in srgb,var(--suggestion-color, #dc2626) 12%,transparent);text-decoration:line-through}.editor-content .ProseMirror tr[data-suggestion-op=insert]>td,.editor-content .ProseMirror tr[data-suggestion-op=insert]>th{background-color:color-mix(in srgb,var(--suggestion-color, var(--accent)) 10%,transparent)}.doc-final .ProseMirror del.suggestion-delete{display:none}.doc-final .ProseMirror ins.suggestion-insert{color:inherit!important;text-decoration:none!important}.doc-final .ProseMirror [data-suggestion-op=delete],.doc-final .ProseMirror tr[data-suggestion-op=delete]{display:none}.doc-final .ProseMirror td[data-suggestion-op=delete],.doc-final .ProseMirror th[data-suggestion-op=delete]{display:table-cell;opacity:0;background:none}.doc-final .ProseMirror [data-suggestion-op=insert]{outline:none;opacity:1}.doc-final .ProseMirror td[data-suggestion-op],.doc-final .ProseMirror th[data-suggestion-op],.doc-final .ProseMirror tr[data-suggestion-op=insert]>td,.doc-final .ProseMirror tr[data-suggestion-op=insert]>th{background:none;text-decoration:none}.doc-paged{display:flex;flex-direction:column}.doc-paged-page{position:relative;margin-bottom:28px}.doc-paged-page:last-child{margin-bottom:0}.final-toggle{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--panel);color:var(--text);font-size:var(--fs-13);cursor:pointer}.final-toggle:hover{border-color:var(--accent)}.final-toggle.on{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.final-toggle-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;font-weight:700}.doc-continuous{display:flex;flex-direction:column}.doc-section{width:min(var(--page-w),100%);margin:0 auto 28px}.doc-section:last-child{margin-bottom:0}.doc-sheet{display:flex;flex-direction:column}.doc-page-static{min-height:var(--page-min-h);padding:var(--page-margin);background:var(--page-bg);box-shadow:var(--page-shadow);color:var(--text);font-family:var(--doc-font);font-size:11pt;line-height:1.5}.doc-page-static p{margin:0 0 8pt}.doc-page-connecting{display:grid;place-items:center;color:var(--muted)}.editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);position:sticky;top:0;z-index:5}.tb-btn{min-width:28px;height:28px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text);font-size:13px;line-height:1;cursor:pointer}.tb-btn:hover:not(:disabled){background:var(--panel);border-color:var(--border)}.tb-btn.on{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--text)}.tb-btn:disabled{opacity:.4;cursor:default}.tb-select{height:28px;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:var(--text);font-size:13px;padding:0 4px}.tb-sep{width:1px;align-self:stretch;margin:2px 4px;background:var(--border)}.editor-bubble{display:flex;gap:2px;padding:3px;border:1px solid var(--border-strong);border-radius:7px;background:var(--panel);box-shadow:0 4px 16px #00000038}.editor-content .ProseMirror{min-height:120px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);outline:none;white-space:pre-wrap}.editor-content .ProseMirror:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--muted);pointer-events:none}.editor-content .ProseMirror table{border-collapse:collapse;width:100%;margin:8px 0;overflow:hidden}.editor-content .ProseMirror td,.editor-content .ProseMirror th{border:1px solid var(--border-strong);padding:5px 8px;vertical-align:top;position:relative}.editor-content .ProseMirror th{background:var(--panel-2);font-weight:600;text-align:left}.editor-content .ProseMirror .selectedCell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--accent) 14%,transparent);pointer-events:none}.editor-content .ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--accent);cursor:col-resize}.editor-content .ProseMirror .editor-image{margin:8px 0}.editor-content .ProseMirror .editor-image img{max-width:100%;height:auto;border-radius:4px;display:block}.editor-image-skeleton{display:block;width:220px;height:140px;border-radius:4px;background:linear-gradient(90deg,var(--panel-2) 25%,var(--border) 37%,var(--panel-2) 63%);background-size:400% 100%;animation:editor-image-shimmer 1.4s ease infinite}@keyframes editor-image-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.editor-content .ProseMirror .comment-anchor-live{background:color-mix(in srgb,#f59e0b 26%,transparent);border-bottom:1px solid #f59e0b;border-radius:2px;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.editor-content .ProseMirror .comment-anchor-live.is-active{background:color-mix(in srgb,#f59e0b 48%,transparent);border-bottom-color:#d97706}.editor-content .ProseMirror mark{background:#fde68a;border-radius:2px;padding:0 1px}.editor-footer{display:flex;justify-content:flex-end}.ai-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.ai-modal{width:min(720px,100%);max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border-strong);border-radius:10px;background:var(--panel);color:var(--text);box-shadow:0 12px 40px #00000059}.ai-modal-head,.ai-modal-foot{display:flex;align-items:center;justify-content:space-between}.ai-modal-foot{justify-content:flex-end;gap:8px}.ai-modal-body{display:flex;flex-direction:column;gap:8px}.ai-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:560px){.ai-compare{grid-template-columns:1fr}}.ai-text{margin-top:4px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);white-space:pre-wrap;font-size:13px;min-height:80px;max-height:40vh;overflow:auto}.ai-text-rewrite{border-color:color-mix(in srgb,#7c3aed 45%,var(--border))}.suggestion-ai-badge{display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#7c3aed;border-radius:3px;padding:0 4px;margin-left:6px}.presence-bar{display:inline-flex;align-items:center}.presence-avatar{position:relative;width:24px;height:24px;margin-left:-6px;border-radius:50%;border:2px solid var(--panel);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.presence-avatar:first-child{margin-left:0}.presence-more{background:var(--muted)}.presence-mode{position:absolute;bottom:-3px;right:-3px;font-size:9px;line-height:1;background:var(--panel);color:var(--text);border-radius:50%;padding:1px}.collaboration-cursor__caret{position:relative;margin-left:-1px;margin-right:-1px;border-left:1px solid currentColor;border-right:1px solid currentColor;word-break:normal;pointer-events:none}.collaboration-cursor__label{position:absolute;top:-1.4em;left:-1px;font-size:11px;font-style:normal;font-weight:600;line-height:1;color:#fff;padding:1px 4px;border-radius:3px 3px 3px 0;white-space:nowrap;-webkit-user-select:none;user-select:none}
