.toolbar{height:auto;min-height:var(--toolbar-h);background:var(--bg-toolbar);border-bottom:1px solid var(--border);z-index:100;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:2px;padding:4px 12px;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0000000d}.tb-btn{min-width:30px;height:30px;color:var(--text-primary);cursor:pointer;font-size:13px;font-family:var(--font-ui);background:0 0;border:1px solid #0000;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:0 6px;transition:background .15s,border-color .15s,color .15s;display:flex}.tb-btn:hover:not(.disabled){background:#0000000d;border-color:#00000014}.tb-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.tb-btn.disabled{opacity:.35;cursor:not-allowed}.tb-sep{background:#00000014;flex-shrink:0;width:1px;height:22px;margin:0 4px}.tb-select{height:30px;color:var(--text-primary);cursor:pointer;font-family:var(--font-ui);white-space:nowrap;background:#00000008;border:1px solid #00000014;border-radius:5px;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;padding:0 8px;font-size:13px;transition:background .15s;display:flex}.tb-select:hover{background:#0000000f}.heading-select{min-width:110px}.font-family-select{min-width:140px;max-width:160px}.font-family-select span{text-overflow:ellipsis;white-space:nowrap;max-width:120px;display:block;overflow:hidden}.tb-dropdown-wrap{position:relative}.font-size-wrap{background:#00000008;border:1px solid #00000014;border-radius:5px;align-items:center;height:30px;display:flex;overflow:hidden}.tb-font-size-input{width:42px;height:100%;color:var(--text-primary);font-family:var(--font-ui);text-align:center;-moz-appearance:textfield;background:0 0;border:none;outline:none;padding:0 4px;font-size:13px}.tb-font-size-input::-webkit-inner-spin-button{-webkit-appearance:none}.tb-font-size-input::-webkit-outer-spin-button{-webkit-appearance:none}.tb-font-size-arrows{border-left:1px solid #00000014;flex-direction:column;height:100%;display:flex}.tb-size-arrow{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:0 3px;transition:background .1s;display:flex}.tb-size-arrow:hover{color:var(--text-primary);background:#0000000d}.tb-size-arrow:first-child{border-bottom:1px solid #00000014}.tb-dropdown{box-shadow:var(--shadow-menu);z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:130px;animation:.12s dropIn;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tb-dropdown-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;font-family:var(--font-ui);background:0 0;border:none;padding:8px 14px;font-size:13px;transition:background .1s;display:block}.tb-dropdown-item:hover{background:#0000000a}.tb-dropdown-item.active{color:var(--accent);background:var(--accent-light)}.tb-color-wrap{position:relative}.color-btn{flex-direction:column;gap:1px;height:30px;padding:4px 6px}.color-swatch{border:1px solid #fff3;border-radius:1px;width:18px;height:3px;display:block}.color-picker-popup{box-shadow:var(--shadow-menu);z-index:1000;background:#2e2e42;border:1px solid #ffffff26;border-radius:10px;flex-direction:column;gap:8px;padding:12px;animation:.12s dropIn;display:flex;position:absolute;top:calc(100% + 6px);left:0}.color-picker-popup input[type=color]{cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;height:36px;padding:0}.color-presets{grid-template-columns:repeat(8,20px);gap:4px;display:grid}.color-preset-btn{cursor:pointer;border:1px solid #fff3;border-radius:3px;width:20px;height:20px;transition:transform .1s}.color-preset-btn:hover{transform:scale(1.2)}.table-picker-wrap{position:relative}.table-picker-dropdown{z-index:1000;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dadce0;border-radius:8px;min-width:236px;padding:6px 0;animation:.12s dropIn;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #00000026,0 1px 4px #00000014}.table-picker-building-blocks{cursor:pointer;color:#3c4043;font-size:13.5px;font-family:var(--font-ui);justify-content:space-between;align-items:center;padding:8px 16px;transition:background .15s;display:flex}.table-picker-building-blocks:hover{background:#f1f3f4}.bb-left{align-items:center;gap:12px;display:flex}.bb-icon{color:#5f6368}.bb-arrow{color:#80868b}.table-picker-divider{background:#e8eaed;height:1px;margin:4px 0 8px}.table-picker-grid-container{flex-direction:column;align-items:center;padding:0 16px 8px;display:flex}.table-picker-row{gap:4px;margin-bottom:4px;display:flex}.table-picker-cell{cursor:pointer;background:#f8f9fa;border:1px solid #dadce0;border-radius:2px;width:16px;height:16px;transition:background .1s,border-color .1s}.table-picker-cell.highlighted{background:#1a73e826!important;border-color:#1a73e8!important}.table-picker-cell:hover{border-color:#1a73e8}.table-picker-label{text-align:center;color:#5f6368;font-size:12.5px;font-family:var(--font-ui);margin-top:8px;font-weight:500}.table-context-menu{z-index:9999;background:#fff;border:1px solid #0000001f;border-radius:8px;min-width:200px;padding:5px 0;animation:.12s cubic-bezier(.2,.8,.4,1) menuIn;position:fixed;overflow:hidden;box-shadow:0 6px 28px #00000038,0 2px 8px #0000001f}@keyframes menuIn{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.tcm-item{color:#202124;width:100%;font-size:13.5px;font-family:var(--font-ui);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 16px;transition:background .1s;display:block}.tcm-item:hover{background:#f1f3f4}.tcm-item.danger{color:#c5221f}.tcm-item.danger:hover{background:#fce8e6}.tcm-sep{background:#0000001a;height:1px;margin:4px 0}.editor-workspace{background:var(--bg-workspace);scroll-behavior:smooth;flex:1;justify-content:center;padding:32px 24px;display:flex;overflow:auto}.pages-container{width:100%;min-width:var(--page-w);flex-direction:column;align-items:center;gap:24px;display:flex}.page{width:var(--page-w);min-height:var(--page-h);background:var(--bg-page);filter:drop-shadow(0 4px 6px #00000026)drop-shadow(0 1px 3px #0000001a);flex-shrink:0;transition:padding .2s,height .15s;position:relative}.page:hover{filter:drop-shadow(0 6px 12px #00000038)drop-shadow(0 2px 5px #00000026)}.page .ProseMirror{min-height:calc(var(--page-h) - 192px);cursor:text;outline:none}.page .ProseMirror hr{background:var(--bg-workspace);height:24px;margin-top:96px;margin-bottom:96px;margin-left:calc(-1 * var(--page-margin-left,96px));margin-right:calc(-1 * var(--page-margin-right,96px));width:var(--page-w);pointer-events:none;border:none;position:relative;box-shadow:inset 0 4px 6px -4px #00000026,inset 0 -4px 6px -4px #00000026}.page:after{content:"";width:1px;height:0;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.image-delete-btn{color:#ef4444;cursor:pointer;z-index:1000;background:#fff;border:1px solid #ef4444;border-radius:50%;outline:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;box-shadow:0 4px 10px #00000026,0 2px 4px #0000001a}.image-delete-btn:hover{color:#fff;background:#ef4444;transform:scale(1.1)rotate(15deg);box-shadow:0 6px 15px #ef44444d,0 2px 5px #ef444433}.image-delete-btn svg{stroke:currentColor;width:15px;height:15px}.ProseMirror img.ProseMirror-selectednode{border-radius:4px;outline:3px solid #3b82f6}.ruler-container{background:var(--bg-ruler);border-bottom:1px solid var(--border);height:var(--ruler-h);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:stretch;display:flex;overflow:hidden}.ruler-spacer{background:var(--bg-ruler);flex:1}.ruler{height:var(--ruler-h);cursor:default;flex-shrink:0;position:relative;overflow:visible}.ruler-margin{border-bottom:1px solid var(--border);pointer-events:none;z-index:1;background:#f1f5f9;height:100%;position:absolute;top:0}.ruler-margin-left{left:0}.ruler-margin-right{right:0}.ruler-handle{cursor:col-resize;z-index:10;flex-direction:column;justify-content:flex-start;align-items:center;width:12px;height:100%;padding-top:2px;display:flex;position:absolute;top:0}.ruler-handle svg{filter:drop-shadow(0 .5px 1px #0000001a);transition:transform .1s}.ruler-handle:hover svg{transform:scale(1.1)}.find-replace-panel{z-index:9000;background:#fff;border:1px solid #00000026;border-radius:10px;min-width:340px;animation:.15s cubic-bezier(.2,.8,.4,1) slideIn;position:fixed;top:72px;right:24px;overflow:hidden;box-shadow:0 6px 28px #0003,0 2px 8px #0000001a}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.frp-header{background:#f8f9fa;border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;padding:10px 14px 8px;display:flex}.frp-title{color:#202124;font-size:13px;font-weight:600;font-family:var(--font-ui)}.frp-close{cursor:pointer;color:#5f6368;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;transition:background .1s;display:flex}.frp-close:hover{color:#202124;background:#e8eaed}.frp-body{flex-direction:column;gap:8px;padding:10px 12px;display:flex}.frp-row{align-items:center;gap:6px;display:flex}.frp-input{height:32px;font-size:13px;font-family:var(--font-ui);color:#202124;background:#fff;border:1px solid #dadce0;border-radius:6px;outline:none;flex:1;padding:0 10px;transition:border-color .15s,box-shadow .15s}.frp-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #4f8ef733}.frp-count{color:#5f6368;font-size:12px;font-family:var(--font-ui);white-space:nowrap;text-align:center;min-width:52px}.frp-nav-btn{cursor:pointer;color:#5f6368;background:0 0;border:1px solid #dadce0;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .1s;display:flex}.frp-nav-btn:hover{color:#202124;background:#f1f3f4}.frp-action-btn{background:var(--accent);color:#fff;cursor:pointer;height:28px;font-size:12px;font-family:var(--font-ui);white-space:nowrap;border:none;border-radius:5px;padding:0 10px;font-weight:500;transition:background .15s}.frp-action-btn:hover{background:var(--accent-hover)}.frp-options{justify-content:space-between;align-items:center;gap:8px;display:flex}.frp-check{color:#5f6368;font-size:12px;font-family:var(--font-ui);cursor:pointer;align-items:center;gap:6px;display:flex}.frp-check input{cursor:pointer;accent-color:var(--accent)}.frp-toggle{color:var(--accent);font-size:12px;font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.frp-toggle:hover{color:var(--accent-hover)}.statusbar{height:var(--statusbar-h);background:var(--bg-statusbar);border-top:1px solid var(--border);z-index:50;flex-shrink:0;align-items:center;padding:0 16px;display:flex}.sb-item{color:var(--text-secondary);font-size:12px;font-family:var(--font-ui)}.sb-sep{color:var(--text-secondary);margin:0 8px;font-size:12px}.sb-spacer{flex:1}.sb-save-status{font-size:12px;font-family:var(--font-ui);font-weight:500;transition:color .3s}.sb-save-status.saved{color:#34a853}.sb-save-status.saving{color:#fbbc04}.sb-save-status.unsaved{color:#ea4335}.dictation-bar{-webkit-user-select:none;user-select:none;box-sizing:border-box;background:0 0;border-bottom:none;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:800px;margin:0 auto;padding:12px 24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.db-left{align-items:center;gap:8px;display:flex}.db-lang-wrap{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:20px;align-items:center;height:34px;padding:6px 14px 6px 32px;transition:all .2s;display:flex;position:relative;box-shadow:0 1px 2px #0000000d}.db-lang-wrap:hover{background:#f8fafc;border-color:#cbd5e1}.db-lang-icon{color:#64748b;position:absolute;left:12px}.db-lang-select{appearance:none;color:#334155;cursor:pointer;background:0 0;border:none;outline:none;margin:0;padding:0;font-size:13px;font-weight:500}.db-lang-chevron{color:#64748b;margin-left:6px}.db-batch-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:6px;height:34px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000d}.db-batch-btn:hover{background:#f8fafc;border-color:#cbd5e1}.db-mode-container{align-items:center;display:flex;position:relative}.db-mode-btn{color:#334155;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:6px;height:34px;padding:6px 12px 6px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000d}.db-mode-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.db-mode-btn:disabled{opacity:.7;cursor:not-allowed}.db-mode-icon{color:#4f46e5}.db-mode-chevron{color:#94a3b8;margin-left:2px;transition:transform .2s}.db-mode-btn:hover .db-mode-chevron{color:#64748b;transform:translate(1px)}.db-mode-expanded-group{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:4px;height:34px;padding:3px;display:flex;box-shadow:0 1px 3px #0000000d}.db-mode-pill{color:#64748b;cursor:pointer;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:16px;align-items:center;gap:6px;height:26px;padding:0 12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.db-mode-pill svg{color:#94a3b8;transition:color .2s}.db-mode-pill:hover:not(.active){color:#334155;background:#f1f5f9}.db-mode-pill:hover:not(.active) svg{color:#64748b}.db-mode-pill.active{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe}.db-mode-pill.active svg{color:#4f46e5}.db-centre{color:#64748b;align-items:center;gap:6px;font-size:13px;display:flex}.db-hint-text{color:#64748b;font-style:italic}.db-kbd{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:11px;font-weight:600}.db-timer{color:#0f172a;margin-right:4px;font-weight:600}.db-waveform{align-items:center;gap:2px;height:16px;margin:0 8px;display:flex}.db-wave-bar{background:#4f46e5;border-radius:1px;width:2px;height:6px;animation:.8s ease-in-out infinite alternate db-wave-bounce}@keyframes db-wave-bounce{0%{height:4px}to{height:16px}}.db-rec-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;margin-left:2px;animation:1s infinite alternate db-pulse}@keyframes db-pulse{0%{opacity:.4;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}.db-right{align-items:center;gap:12px;display:flex}.db-error-msg{color:#ef4444;white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:12px;overflow:hidden}.db-record-btn{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:20px;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 6px -1px #0f172a26,0 2px 4px -1px #0f172a1a}.db-record-btn:hover:not(:disabled){background:#1e293b;transform:translateY(-1px)}.db-record-btn:active:not(:disabled){transform:translateY(0)}.db-record-btn:disabled{cursor:not-allowed;box-shadow:none;background:#94a3b8}.db-record-circle{background:#ef4444;border:1.5px solid #fff;border-radius:50%;width:10px;height:10px;display:inline-block}.db-stop-btn{color:#ef4444;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:20px;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.db-stop-btn:hover{color:#b91c1c;background:#fca5a5}.db-stop-btn:active{transform:translateY(1px)}.db-warning-msg{color:#d97706;white-space:nowrap;text-overflow:ellipsis;max-width:250px;font-size:12px;overflow:hidden}.scp-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0f172a4d;justify-content:flex-end;animation:.2s scp-fade-in;display:flex;position:fixed;inset:0}@keyframes scp-fade-in{0%{opacity:0}to{opacity:1}}.scp-panel{background:#fff;flex-direction:column;width:380px;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:.3s cubic-bezier(.16,1,.3,1) scp-slide-in;display:flex;box-shadow:-8px 0 40px #00000026}@keyframes scp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.scp-header{color:#fff;background:linear-gradient(135deg,#1e1b4b 0%,#312e81 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.scp-header-left{align-items:center;gap:10px;display:flex}.scp-header-icon{background:#ffffff26;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.scp-title{letter-spacing:-.01em;font-size:14px;font-weight:600}.scp-subtitle{color:#ffffff8c;margin-top:1px;font-size:10px;font-weight:400}.scp-header-right{align-items:center;gap:6px;display:flex}.scp-clear-btn{color:#ffffffb3;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;transition:all .2s;display:flex}.scp-clear-btn:hover:not(:disabled){color:#fff;background:#fff3}.scp-clear-btn:disabled{opacity:.4;cursor:not-allowed}.scp-close-btn{color:#ffffffb3;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.scp-close-btn:hover{color:#fff;background:#ef444466;border-color:#ef444480}.scp-messages{background:#f8fafc;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.scp-messages::-webkit-scrollbar{width:5px}.scp-messages::-webkit-scrollbar-track{background:0 0}.scp-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.scp-loading{color:#94a3b8;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.scp-loading-dots{gap:5px;display:flex}.scp-loading-dots span{background:#cbd5e1;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite scp-dot-bounce}.scp-loading-dots span:nth-child(2){animation-delay:.15s}.scp-loading-dots span:nth-child(3){animation-delay:.3s}@keyframes scp-dot-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.scp-message{align-items:flex-start;gap:8px;display:flex}.scp-message.user{flex-direction:row-reverse}.scp-avatar{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;display:flex}.scp-message.user .scp-avatar{color:#fff;background:#4f46e5}.scp-message.assistant .scp-avatar{color:#fff;background:linear-gradient(135deg,#1e1b4b,#4f46e5)}.scp-bubble{max-width:80%}.scp-message.user .scp-bubble{align-items:flex-end}.scp-bubble-content{word-wrap:break-word;border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.55}.scp-message.user .scp-bubble-content{color:#fff;background:#4f46e5;border-bottom-right-radius:2px}.scp-message.assistant .scp-bubble-content{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:2px;box-shadow:0 1px 3px #0000000d}.scp-cursor{vertical-align:text-bottom;background:#4f46e5;border-radius:1px;width:2px;height:14px;margin-left:2px;animation:.8s ease-in-out infinite scp-blink;display:inline-block}@keyframes scp-blink{0%,to{opacity:1}50%{opacity:0}}.scp-input-area{background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;padding:12px 14px 14px}.scp-input-wrap{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;align-items:flex-end;gap:8px;padding:8px 8px 8px 12px;transition:border-color .2s;display:flex}.scp-input-wrap:focus-within{background:#fff;border-color:#4f46e5}.scp-input{color:#1e293b;resize:none;background:0 0;border:none;outline:none;flex:1;max-height:100px;font-family:inherit;font-size:13px;line-height:1.5}.scp-input::placeholder{color:#94a3b8}.scp-input:disabled{opacity:.6}.scp-send-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:all .2s;display:flex}.scp-send-btn:hover:not(:disabled){background:#4338ca;transform:scale(1.05)}.scp-send-btn:disabled{cursor:not-allowed;background:#c7d2fe;transform:none}.scp-send-btn.loading{cursor:default;background:#ef4444}.scp-input-hint{color:#94a3b8;text-align:center;margin-top:6px;font-size:10px}.scp-streaming-label{color:#4f46e5;justify-content:center;align-items:center;gap:6px;font-weight:500;display:flex}.scp-dot-pulse{background:#4f46e5;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite scp-pulse}@keyframes scp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}.app-shell{background:var(--bg-workspace);height:100vh;color:var(--text-primary);font-family:var(--font-ui);flex-direction:column;display:flex;overflow:hidden}.app-header{background:var(--bg-toolbar);border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.app-titlebar{background:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;display:flex}.app-logo-section{align-items:center;gap:12px;display:flex}.app-bowtie-logo{color:#000;justify-content:center;align-items:center;display:flex}.app-doc-name-wrap{align-items:center;gap:8px;display:flex}.app-doc-title{color:#1e293b;font-size:15px;font-weight:600;font-family:var(--font-ui);background:0 0;border:none;border-radius:4px;outline:none;padding:2px 6px}.app-doc-title:focus{background:#f1f5f9;box-shadow:0 0 0 2px #cbd5e1}.app-doc-edit-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;transition:all .15s;display:flex}.app-doc-edit-btn:hover{color:#475569;background:#f1f5f9}.app-header-actions{align-items:center;gap:8px;display:flex}.btn-header-action{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.btn-header-action:hover{color:#1e293b;background:#f8fafc;border-color:#cbd5e1}.btn-header-action.cog{color:#64748b;border-radius:50%;padding:5px}.recording-top-badge{color:#fff;background:#ef4444;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:600;animation:1.2s infinite alternate rec-badge-pulse;display:flex;box-shadow:0 2px 4px #ef444433}@keyframes rec-badge-pulse{0%{opacity:.95}to{opacity:1;box-shadow:0 2px 8px #ef444466}}.app-body{flex:1;display:flex;overflow:hidden}.sidebar-rail{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;width:52px;padding:12px 0;display:flex}.sr-top-icons,.sr-bottom-icons{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.sr-icon-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.sr-icon-btn:hover{color:#1e293b;background:#f1f5f9}.sr-icon-btn.active{color:#4f46e5;background:#e0e7ff}.sidebar-drawer{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;justify-content:space-between;width:180px;padding:16px 12px;display:flex}.sd-group{margin-bottom:24px}.sd-group-title{text-transform:uppercase;color:#94a3b8;letter-spacing:.8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;font-size:11px;font-weight:700;display:flex}.sd-cog-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;display:flex}.sd-cog-btn:hover{color:#64748b;background:#f1f5f9}.sd-item{color:#64748b;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;margin-bottom:2px;padding:8px 12px;font-size:13.5px;font-weight:500;transition:all .2s;display:flex}.sd-item:hover{color:#1e293b;background:#f1f5f9}.sd-item.active{color:#fff;background:#4f46e5}.sd-footer-hint{color:#94a3b8;border-top:1px solid #f1f5f9;padding:8px 4px 0;font-size:10px;line-height:1.4}.workspace-wrapper{background:var(--bg-workspace);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.workspace-controls{z-index:10;background:#fff;border-bottom:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;display:flex}.editor-status-placeholder{color:#4f46e5;box-sizing:border-box;align-items:center;gap:8px;width:100%;max-width:800px;margin:0 auto;padding:16px 24px 0;font-size:14px;font-style:italic;font-weight:500;display:flex}.db-spinner{border:2px solid #4f46e533;border-top-color:#4f46e5;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite db-spin}@keyframes db-spin{to{transform:rotate(360deg)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-workspace:#f8fafc;--bg-toolbar:#fff;--bg-ruler:#fff;--bg-page:#fff;--bg-menu:#fff;--bg-statusbar:#f8fafc;--accent:#4f46e5;--accent-hover:#4338ca;--accent-light:#4f46e51a;--text-primary:#1e293b;--text-secondary:#64748b;--text-on-page:#1e293b;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-page:0 4px 20px #0000000f, 0 2px 6px #00000008;--shadow-menu:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--toolbar-h:50px;--ruler-h:28px;--statusbar-h:28px;--page-w:794px;--page-h:1122px;--page-margin:96px;--font-ui:"Inter", system-ui, -apple-system, sans-serif}html,body,#root{height:100%;font-family:var(--font-ui);background:var(--bg-workspace);color:var(--text-primary);overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00000038}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tiptap{min-height:calc(var(--page-h) - var(--page-margin) * 2);color:var(--text-on-page);caret-color:#1a1aff;outline:none;font-family:Times New Roman,Times,serif;font-size:12pt;line-height:1.6}.tiptap p{margin-bottom:.2em}.tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#aaa;pointer-events:none;height:0}.tiptap h1{margin:.67em 0;font-size:2em;font-weight:700}.tiptap h2{margin:.75em 0;font-size:1.5em;font-weight:600}.tiptap h3{margin:.83em 0;font-size:1.17em;font-weight:600}.tiptap ul,.tiptap ol{margin:.5em 0;padding-left:1.5em}.tiptap li{margin:.2em 0}.tiptap ul[data-type=taskList]{padding-left:.5em;list-style:none}.tiptap ul[data-type=taskList] li{align-items:flex-start;gap:.5em;display:flex}.tiptap ul[data-type=taskList] li>label{cursor:pointer;margin-top:3px}.tiptap ul[data-type=taskList] li>label input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--accent)}.tiptap blockquote{color:#555;border-left:3px solid #ccc;margin:.5em 0;padding-left:1em}.tiptap code{background:#f4f4f4;border-radius:3px;padding:.1em .3em;font-family:Courier New,monospace;font-size:.9em}.tiptap pre{background:#f8f8f8;border:1px solid #e0e0e0;border-radius:6px;margin:.5em 0;padding:1em;overflow-x:auto}.tiptap pre code{background:0 0;padding:0}.tiptap hr{border:none;border-top:2px solid #e0e0e0;margin:1em 0}.tiptap a{color:#1a73e8;cursor:pointer;text-decoration:underline}.tiptap a:hover{color:#0d47a1}.tiptap img{border-radius:4px;max-width:100%;height:auto;margin:.5em auto;display:block}.tiptap img.ProseMirror-selectednode{outline:2px solid var(--accent)}.tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.8em 0;overflow:hidden}.tiptap td,.tiptap th{vertical-align:top;border:1px solid #bdc1c6;min-width:40px;padding:8px 10px;position:relative}.tiptap th{text-align:left;background:#f1f3f4;font-weight:600}.tiptap .selectedCell:after{content:"";pointer-events:none;background:#4f8ef72e;position:absolute;inset:0}.tiptap .column-resize-handle{background:var(--accent);cursor:col-resize;opacity:0;z-index:20;width:4px;transition:opacity .15s;position:absolute;top:0;bottom:0;right:-2px}.tiptap td:hover .column-resize-handle,.tiptap th:hover .column-resize-handle,.tiptap .column-resize-handle:hover{opacity:1}.tiptap.resize-cursor{cursor:col-resize}.tiptap mark{border-radius:2px;padding:0 1px}.tiptap ::selection{background:#4f8ef747}.tiptap li[data-checked=true]>div{color:#999;text-decoration:line-through}
