:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--rail-w:232px;--rail-collapsed-w:56px;--notes-w:248px;--radius:10px;--line:1px solid var(--border);--shadow-paper:0 1px 0 #0000000a, 0 10px 28px #00000014}html[data-theme=dusk]{--grad:linear-gradient(145deg, #e8a06a 0%, #c45c26 35%, #8b3a5c 70%, #2a1a2e 100%);--accent:#d4783c;--accent-strong:#c45c26;--accent-text:#fff8f2;--rail-bg:linear-gradient(180deg, #3a2420 0%, #2a1816 55%, #1c1214 100%);--notes-bg:linear-gradient(180deg, #4a322c 0%, #3a2622 100%);--page-bg:linear-gradient(160deg, #f6ebe3 0%, #efe0d4 45%, #e8d5c8 100%);--paper:#fffaf6;--text:#2a1c18;--text-on-dark:#f5e8df;--text-muted-on-dark:#c9b2a4;--text-muted:#7a655a;--border:#ffe6d21f;--border-soft:#5032281f;--hover-dark:#ffffff14;--active-dark:#d4783c59;--hover-page:#c45c2614;--active-page:#c45c2629;--danger:#e07070;--focus:#d4783c59}html[data-theme=ocean]{--grad:linear-gradient(145deg, #7ec8d8 0%, #2d8f9f 40%, #1a6b8a 70%, #0f2b3a 100%);--accent:#2f9bb0;--accent-strong:#1a7a8c;--accent-text:#f2fcff;--rail-bg:linear-gradient(180deg, #143542 0%, #0f2a35 55%, #0a1e28 100%);--notes-bg:linear-gradient(180deg, #1c4654 0%, #163a46 100%);--page-bg:linear-gradient(160deg, #eef6f8 0%, #e2eef2 50%, #d5e6ec 100%);--paper:#fbfdfe;--text:#14262e;--text-on-dark:#e6f4f7;--text-muted-on-dark:#9bbdc8;--text-muted:#5a7a84;--border:#b4e6f01f;--border-soft:#1e46551f;--hover-dark:#ffffff14;--active-dark:#2f9bb059;--hover-page:#2f9bb01a;--active-page:#2f9bb029;--danger:#e07070;--focus:#2f9bb059}html[data-theme=cloud]{--grad:linear-gradient(145deg, #fff 0%, #dbe8f7 52%, #9fb9dc 100%);--accent:#3b73c5;--accent-strong:#24579f;--accent-text:#fff;--rail-bg:linear-gradient(180deg, #dce8f7 0%, #c1d3eb 55%, #a7bfdf 100%);--notes-bg:linear-gradient(180deg, #eef4fb 0%, #dbe8f7 100%);--page-bg:linear-gradient(160deg, #fff 0%, #f1f6fc 48%, #dbe8f7 100%);--paper:#fff;--text:#17253a;--text-on-dark:#1c2e49;--text-muted-on-dark:#526a88;--text-muted:#5c718d;--border:#24579f29;--border-soft:#24579f26;--hover-dark:#ffffff75;--active-dark:#3b73c533;--hover-page:#3b73c51a;--active-page:#3b73c529;--danger:#c94d57;--focus:#3b73c54d}html[data-theme=midnight]{--grad:linear-gradient(145deg, #334155 0%, #172033 52%, #05070d 100%);--accent:#60a5fa;--accent-strong:#3b82f6;--accent-text:#eff6ff;--rail-bg:linear-gradient(180deg, #121b2d 0%, #0a1020 55%, #05070d 100%);--notes-bg:linear-gradient(180deg, #1b2940 0%, #10192b 100%);--page-bg:linear-gradient(160deg, #1e2a40 0%, #121b2d 52%, #0b111d 100%);--paper:#151f32;--text:#e8eef9;--text-on-dark:#e5edf9;--text-muted-on-dark:#9aacc5;--text-muted:#9aacc5;--border:#94a3b833;--border-soft:#94a3b833;--hover-dark:#ffffff14;--active-dark:#60a5fa38;--hover-page:#60a5fa1f;--active-page:#60a5fa33;--danger:#fb7185;--focus:#60a5fa59}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--page-bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}.app-shell{background:var(--page-bg);height:100%;min-height:0;display:flex}.rail{z-index:4;width:var(--rail-w);flex:0 0 var(--rail-w);background:var(--rail-bg);min-height:0;color:var(--text-on-dark);border-right:var(--line);flex-direction:column;transition:width .16s,flex-basis .16s;display:flex;position:relative;overflow:visible}.rail.collapsed{width:var(--rail-collapsed-w);flex-basis:var(--rail-collapsed-w)}.notes-panel{width:var(--notes-w);flex:0 0 var(--notes-w);background:var(--notes-bg);min-height:0;color:var(--text-on-dark);border-right:var(--line);flex-direction:column;display:flex;position:relative}.sidebar-resize-handle{z-index:20;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;width:6px;height:100%;position:absolute;top:0;right:-3px}.sidebar-resize-handle:after{content:"";opacity:0;background:0 0;border-radius:2px;width:2px;transition:opacity .14s,background .14s,transform .14s,box-shadow .14s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)scaleY(.35)}.rail:hover>.sidebar-resize-handle:after,.notes-panel:hover>.sidebar-resize-handle:after,.sidebar-resize-handle:hover:after,body.is-resizing-sidebar .sidebar-resize-handle:hover:after,body.is-resizing-sidebar .sidebar-resize-handle:after{opacity:1;background:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);transform:translate(-50%)scaleY(1)}body.is-resizing-sidebar{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.is-resizing-sidebar .rail,body.is-resizing-sidebar .notes-panel{transition:none!important}body.is-resizing-sidebar iframe,body.is-resizing-sidebar .tiptap-root{pointer-events:none}.rail-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:12px 10px;display:flex}.brand{letter-spacing:.02em;color:var(--text-on-dark);align-items:center;gap:8px;padding-left:4px;font-weight:650;display:inline-flex}.rail-actions{padding:12px 12px 8px}.primary-btn{background:var(--grad);width:100%;color:var(--accent-text);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #0003}.primary-btn:disabled{opacity:.6;cursor:default}.primary-btn:hover:not(:disabled){filter:brightness(1.06)}.rail-list{flex:1;min-height:0;padding:6px 8px 16px;overflow:auto}.rail-footer{border-top:1px solid var(--border);padding:12px}.rail-mini{flex-direction:column;align-items:center;gap:12px;padding:12px 0;display:flex}.icon-btn{border-radius:var(--radius);width:44px;height:44px;color:var(--text-muted-on-dark);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--hover-dark);color:var(--text-on-dark)}.panel-top{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;min-height:52px;padding:14px 12px 10px;display:flex}.panel-title{text-overflow:ellipsis;white-space:nowrap;color:var(--text-on-dark);font-size:15px;font-weight:650;overflow:hidden}.add-page-btn{border:1px solid var(--border);color:var(--text-on-dark);background:#ffffff0f;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-weight:550;display:inline-flex}.import-actions{width:100%;display:flex;position:relative}.import-actions .add-page-btn{white-space:nowrap;flex:1;gap:6px;width:100%}.add-page-btn:hover:not(:disabled){background:var(--hover-dark)}.add-page-btn:disabled{opacity:.55;cursor:default}.panel-list{flex:1;min-height:0;padding:8px;overflow:auto}.panel-pagination{border-top:1px solid var(--border);min-height:48px;color:var(--text-muted-on-dark);justify-content:center;align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:flex}.panel-pagination .icon-btn{width:36px;height:36px}.mobile-notes-toggle,.mobile-notes-backdrop{display:none}.panel-empty{text-align:center;color:var(--text-muted-on-dark);flex:1;place-items:center;padding:24px;display:grid}.nav-item{touch-action:pan-y;cursor:grab;content-visibility:auto;contain-intrinsic-size:36px;border-radius:8px;align-items:center;gap:2px;min-height:36px;margin-bottom:2px;padding-right:4px;display:flex;position:relative}.nav-item:hover{background:var(--hover-dark)}.nav-item.active{background:var(--active-dark)}.nav-item.is-dragging{opacity:.45;background:var(--active-dark);cursor:grabbing}.nav-item.is-drop-target{box-shadow:inset 0 2px 0 color-mix(in srgb, var(--accent,#7c5cbf) 85%, white)}.nav-item.is-reordering{cursor:grabbing}body.is-reordering-list{-webkit-user-select:none;user-select:none;cursor:grabbing!important}body.is-reordering-list *{cursor:grabbing!important}.nav-main{text-align:left;min-width:0;color:var(--text-on-dark);flex:1;align-items:center;gap:8px;padding:8px;display:inline-flex}.nav-mark{border-radius:3px;flex:none;width:10px;height:18px}.nav-icon{opacity:.85;color:var(--text-muted-on-dark);flex:none}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-ops{align-items:center;gap:2px;display:none}.nav-item:hover .nav-ops,.nav-item:focus-within .nav-ops,.nav-item.active .nav-ops{display:inline-flex}.nav-ops>button,.note-move>button{width:24px;height:24px;color:var(--text-muted-on-dark);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.nav-ops>button:hover,.note-move>button:hover{background:var(--hover-dark);color:var(--text-on-dark)}.nav-ops>button:disabled,.note-move>button:disabled{opacity:.35;pointer-events:none}.note-move{position:static}.note-move-menu{z-index:60;border:1px solid color-mix(in srgb, var(--accent) 46%, var(--border));background:var(--rail-bg);border-radius:10px;width:min(260px,100% - 16px);max-height:288px;padding:10px;position:absolute;top:calc(100% + 6px);left:auto;right:0;overflow:auto;transform:none;box-shadow:0 14px 34px #00000052}.note-move-heading{color:var(--text-on-dark);padding:1px 2px 0;font-size:13px;font-weight:700}.note-move-note{color:var(--text-muted-on-dark);text-overflow:ellipsis;white-space:nowrap;padding:2px;font-size:11px;overflow:hidden}.note-move-targets{flex-direction:column;gap:2px;margin-top:8px;display:flex}.note-move-item{text-align:left;width:100%;min-height:32px;color:var(--text-on-dark);text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.3;display:block;overflow:hidden}.note-move-item:hover:not(:disabled),.note-move-item:focus-visible{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--hover-dark);outline:none}.note-move-item:disabled{opacity:.55}.note-move-empty,.note-move-status,.note-move-error{padding:8px 2px 0;font-size:12px;line-height:1.35}.note-move-empty,.note-move-status{color:var(--text-muted-on-dark)}.note-move-error{color:#ff8f8f}.inline-input{border:1px solid var(--border);min-width:0;color:var(--text-on-dark);background:#00000040;border-radius:6px;outline:none;flex:1;margin:2px 4px;padding:5px 8px}.inline-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus)}.theme-panel{flex-direction:column;gap:8px;display:flex}.theme-label{color:var(--text-muted-on-dark);font-size:12px}.theme-row{align-items:center;gap:10px;display:flex}.theme-row.column{flex-direction:column;gap:10px}.theme-swatches{flex-wrap:wrap;gap:8px;display:flex}.theme-swatches.column{flex-direction:column;align-items:center}.theme-swatch{border:2px solid #0000;border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 1px #fff3}.theme-swatch.active{border-color:#fff;box-shadow:0 0 0 2px #00000040}.theme-names{grid-template-columns:1fr 1fr;gap:4px;display:grid}.theme-name{color:var(--text-muted-on-dark);text-align:left;border-radius:6px;padding:4px 6px;font-size:12px}.theme-name.active,.theme-name:hover{color:var(--text-on-dark);background:var(--hover-dark)}.theme-compact{flex-direction:column;align-items:center;gap:8px;display:flex}.settings-anchor{flex-shrink:0;position:relative}.settings-trigger{width:28px;height:28px;color:var(--text-muted-on-dark);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.settings-trigger.on-rail:hover,.settings-trigger.on-rail.active{color:var(--text-on-dark);background:var(--hover-dark);border-color:var(--border)}.settings-overlay{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c0a0e7a;place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0}.settings-modal{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 97%, #fff);width:min(560px,100%);max-height:min(86vh,760px);color:var(--text);border-radius:14px;padding:18px 18px 22px;overflow:auto;box-shadow:0 24px 64px #00000047}.settings-head{z-index:1;background:color-mix(in srgb, var(--paper) 97%, #fff);justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:8px;display:flex;position:sticky;top:0}.settings-head h2{margin:0;font-size:18px;font-weight:750}.settings-close{width:32px;height:32px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.settings-close:hover{background:var(--hover-page);color:var(--text)}.settings-body{flex-direction:column;gap:12px;display:flex}.settings-section{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 82%, var(--accent) 4%);box-shadow:0 2px 10px color-mix(in srgb, var(--text) 7%, transparent);border-radius:12px;flex-direction:column;gap:10px;padding:14px;transition:border-color .16s,box-shadow .16s;display:flex}.settings-section:focus-within{border-color:color-mix(in srgb, var(--accent-strong) 50%, var(--border-soft));box-shadow:0 3px 14px color-mix(in srgb, var(--accent) 12%, transparent)}.settings-section:first-child{border-top:1px solid var(--border-soft);padding-top:14px}.settings-section-title{letter-spacing:.02em;min-height:20px;color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:750;display:flex}.settings-section-title:before{content:"";background:var(--accent-strong);border-radius:999px;flex:none;width:3px;height:16px}.settings-hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.settings-hint code{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:4px;padding:1px 5px;font-size:11px}.settings-theme-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.settings-theme{border:1px solid var(--border-soft);min-height:38px;color:var(--text);text-align:left;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.settings-theme:hover{background:var(--hover-page)}.settings-theme.active{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 14%, transparent);font-weight:600}.settings-theme-dot{border-radius:50%;flex-shrink:0;width:16px;height:16px;box-shadow:inset 0 0 0 1px #0000001f}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-field-label{font-size:13px;font-weight:600}.settings-select,.settings-input{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 90%, #fff);width:100%;min-height:36px;color:var(--text);border-radius:8px;padding:7px 10px;font-size:13px}.settings-input:focus,.settings-select:focus{box-shadow:0 0 0 2px var(--focus);outline:none}.settings-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.settings-check input{width:15px;height:15px;accent-color:var(--accent-strong)}.settings-actions-row{flex-wrap:wrap;gap:8px;display:flex}.settings-grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=520px){.settings-grid-2{grid-template-columns:1fr}}.settings-action{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 88%, #fff);min-height:36px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:550;display:inline-flex}.settings-action:hover:not(:disabled){background:var(--hover-page)}.settings-action:disabled{opacity:.55;cursor:default}.settings-action.danger{color:var(--danger,#c0392b);border-color:color-mix(in srgb, var(--danger,#c0392b) 35%, var(--border-soft))}.settings-action.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger,#c0392b) 10%, transparent)}.settings-status-box{border:1px dashed var(--border-soft);background:color-mix(in srgb, var(--accent) 6%, transparent);color:var(--text-muted);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;display:flex}.settings-status-row{color:var(--text);align-items:center;gap:8px;font-weight:550;display:flex}.settings-status-file{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.settings-toast{color:var(--accent-strong);margin:0;font-size:12px}.backup-progress{flex-direction:column;gap:6px;margin-top:4px;display:flex}.backup-progress-meta{color:var(--text-muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.backup-progress-track{background:color-mix(in srgb, var(--border-soft) 80%, transparent);border-radius:999px;height:8px;overflow:hidden}.backup-progress-fill{border-radius:inherit;background:var(--accent-strong,var(--accent));height:100%;transition:width .12s linear}.settings-about-text{color:var(--text-muted);flex-direction:column;gap:2px;margin:0;font-size:13px;display:flex}.settings-about-text strong{color:var(--text);font-size:14px}.workspace{min-width:0;min-height:0;color:var(--text);background:0 0;flex-direction:column;flex:1;display:flex}.workspace-top{z-index:30;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 70%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:minmax(0,1fr) minmax(220px,360px) auto;align-items:center;gap:12px;min-height:52px;padding:10px 20px;display:grid;position:relative}.workspace-top-spacer{min-width:0}.note-title-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;padding:4px 0;font-size:16px;font-weight:600}.search-bar{z-index:50;width:100%;min-width:0;position:relative}.search-field{border:1px solid var(--border-soft);background:var(--paper);min-height:36px;box-shadow:0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);border-radius:8px;align-items:center;gap:6px;padding:0 8px 0 10px;display:flex}.search-field.is-open{border-color:color-mix(in srgb, var(--accent-strong) 68%, var(--border-soft));box-shadow:0 0 0 3px var(--focus)}.search-icon{color:var(--text-muted);flex:none}.search-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-scope{max-width:108px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;outline:none;flex:none;font-size:12px}.search-panel{z-index:40;border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border-soft));background:var(--paper);border-radius:10px;max-height:360px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 14px 32px #0000002e}.search-empty{padding:12px 14px;font-size:13px}.search-hit{border:none;border-bottom:1px solid var(--border-soft);text-align:left;cursor:pointer;width:100%;min-height:78px;color:var(--text);background:0 0;flex-direction:column;align-items:flex-start;gap:6px;padding:11px 14px;display:flex}.search-hit:last-child{border-bottom:none}.search-hit:hover,.search-hit:focus-visible{background:color-mix(in srgb, var(--accent) 12%, var(--paper));box-shadow:inset 3px 0 0 var(--accent-strong);outline:none}.search-hit-title{width:100%;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;line-height:1.35;overflow:hidden}.search-hit-meta{width:100%;color:var(--text-muted);align-items:center;gap:6px;font-size:11px;line-height:1.25;display:flex}.search-hit-kind{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent-strong);border-radius:4px;padding:2px 5px;font-weight:700}.search-hit-action{color:var(--accent-strong);white-space:nowrap;margin-left:auto;font-weight:700}.search-hit-snippet{background:color-mix(in srgb, var(--page-bg) 44%, var(--paper));width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:6px 8px;font-size:12px;line-height:1.45;display:block;overflow:hidden}.search-hit-snippet-label{color:var(--text);margin-right:6px;font-size:11px;font-weight:700}.search-hit mark{color:inherit;background:#ffd559bd;border-radius:2px;padding:0 1px;font-weight:750}.search-pagination{border-top:1px solid var(--border-soft);color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.search-pagination button{border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.search-pagination button:hover:not(:disabled){background:var(--hover-page)}.search-pagination button:disabled{opacity:.4}.find-bar{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 92%, var(--page-bg));border-radius:8px;align-items:center;gap:6px;margin:0 16px 8px;padding:6px 8px;display:flex}.find-input{min-width:0;height:28px;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.find-count{text-align:right;min-width:64px;color:var(--text-muted);flex:none;font-size:12px}.find-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.find-btn:hover,.find-btn:focus-visible{background:var(--hover-page);color:var(--text);outline:none}.jx-find-match{background:#f7d358b3;border-radius:2px}.jx-find-match.is-active{outline:1px solid color-mix(in srgb, var(--accent) 55%, transparent);background:#ffb020d9}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.trash-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.trash-item{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 80%, transparent);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.trash-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.trash-kind{color:var(--accent);font-size:11px;font-weight:600}.trash-title{font-size:13px;font-weight:600}.trash-meta{font-size:11px}.trash-item-ops{flex-wrap:wrap;flex:none;gap:6px;display:flex}.toolbar-placeholder{flex:none;font-size:12px}.workspace-empty{color:var(--text-muted);flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.workspace-loading-overlay{z-index:5;pointer-events:none;background:color-mix(in srgb, var(--page-bg) 55%, transparent);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.page-surface.is-dimmed{opacity:.35;pointer-events:none}.page-shell{background:var(--page-bg);flex:1;min-height:0;position:relative;overflow:auto}.page-surface{box-sizing:border-box;background:var(--page-bg);width:100%;min-height:100%;padding:20px 28px 48px;position:relative}.page-surface.ink-mode{cursor:crosshair;-webkit-user-select:none;user-select:none}.page-content{z-index:1;min-height:calc(100dvh - 160px);position:relative}.paper-placeholder{margin:0}.login-screen{background:var(--grad,linear-gradient(145deg, #c45c26, #2a1a2e));place-items:center;min-height:100%;padding:24px;display:grid}.login-card{background:color-mix(in srgb, var(--paper,#fff) 92%, transparent);width:min(360px,100%);box-shadow:var(--shadow-paper);color:var(--text,#222);border-radius:16px;flex-direction:column;gap:12px;padding:28px 24px;display:flex}.login-card h1{margin:0;font-size:22px}.login-input{border:1px solid var(--border-soft,#ddd);background:#fff;border-radius:10px;outline:none;width:100%;padding:10px 12px}.login-input:focus{border-color:var(--accent,#c45c26);box-shadow:0 0 0 3px var(--focus,#c45c2640)}.workspace-toolbar-row{z-index:20;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 72%, transparent);padding:6px 12px 8px;position:relative;overflow:visible}.editor-toolbar{flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:min-content;display:flex}.toolbar-group{align-items:center;gap:2px;display:inline-flex}.toolbar-group.is-disabled{opacity:.45}.toolbar-divider{background:var(--border-soft);width:1px;height:20px;margin:0 4px}.tb-btn{width:30px;height:30px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.tb-btn:hover:not(:disabled){background:var(--hover-page)}.tb-btn.active{background:var(--active-page);color:var(--accent-strong)}.tb-btn.is-sticky{box-shadow:inset 0 0 0 1.5px var(--accent-strong)}.tb-btn:disabled{opacity:.35;cursor:not-allowed}.tb-insert{display:inline-flex;position:relative}.tb-insert-menu{background:var(--paper);border:1px solid var(--border-soft);z-index:1000;border-radius:10px;flex-direction:column;gap:1px;min-width:120px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0f172a1f}.tb-insert-item{cursor:pointer;text-align:left;color:var(--text);font:inherit;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.tb-insert-item:hover:not(:disabled){background:var(--hover-page)}.tb-insert-item:disabled{opacity:.4;cursor:not-allowed}.tb-btn-xs{width:22px;height:22px;font-size:14px;line-height:1}.tb-select{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 90%, #fff);height:30px;color:var(--text);border-radius:8px;outline:none;max-width:160px;padding:0 8px}.tb-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus)}.tb-select:disabled{opacity:.45}.tb-select-pop{display:inline-flex;position:relative}.tb-select-trigger{cursor:pointer;font:inherit;text-align:left;align-items:center;max-width:160px;display:inline-flex}.tb-select-trigger.is-open{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus)}.tb-select-label{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.tb-select-menu{z-index:1000;border:1px solid var(--border-soft);background:var(--paper);border-radius:8px;min-width:100%;max-height:280px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 8px 24px #0000001f}.tb-select-item{width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:6px 8px;display:block}.tb-select-item:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.tb-select-item.is-active{background:color-mix(in srgb, var(--accent) 18%, transparent);font-weight:600}.tb-font,.tb-font .tb-select-trigger{min-width:128px;max-width:150px}.tb-size{text-align:center;width:64px;min-width:64px}.tb-size .tb-select-trigger{text-align:center;justify-content:center;width:64px;min-width:64px}.tb-size .tb-select-menu{min-width:72px}.tb-spacing{text-align:center;width:72px;min-width:72px}.tb-spacing-pop{display:inline-flex;position:relative}.tb-spacing-menu{background:var(--paper);border:1px solid var(--border-soft);z-index:1000;border-radius:10px;flex-direction:column;gap:1px;min-width:72px;max-height:240px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 8px 24px #0f172a1f}.tb-spacing-item{width:100%;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:center;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 10px;font-size:13px;display:block}.tb-spacing-item:hover{background:var(--hover-page)}.tb-spacing-item.is-active{background:var(--active-page);color:var(--accent-strong);font-weight:600}.format-group{flex-wrap:wrap}.color-popover{display:inline-flex;position:relative}.color-trigger{position:relative}.tb-color-letter{border-bottom:3px solid;padding:0 1px;font-size:14px;font-weight:700;line-height:1.1}.tb-hi-icon,.tb-pen-trigger{justify-content:center;align-items:center;display:inline-flex;position:relative}.tb-hi-icon i,.tb-pen-trigger i{border-radius:1px;height:3px;position:absolute;bottom:-2px;left:2px;right:2px}.cp-panel{z-index:80;border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 96%, #fff);min-width:370px;max-width:min(390px,100vw - 24px);color:var(--text);border-radius:8px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 28px #00000029}.cp-panel-hi,.cp-panel-pen{min-width:274px;max-width:min(300px,100vw - 24px)}.cp-section-label{color:var(--text-muted);margin:10px 2px 7px;font-size:12px;font-weight:600}.cp-row-btn{width:100%;min-height:34px;color:var(--text);text-align:left;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.cp-row-btn:hover{background:var(--hover-page)}.cp-auto-swatch{background:linear-gradient(135deg,#fff 50%,#111 50%);border:1px solid #00000040;border-radius:3px;flex-shrink:0;width:16px;height:16px}.cp-theme-grid{grid-template-columns:repeat(10,27px);justify-content:start;gap:5px;display:grid}.cp-std-row,.cp-hi-grid{grid-template-columns:repeat(10,27px);gap:5px;display:grid}.cp-panel-hi .cp-hi-grid{grid-template-columns:repeat(5,42px);gap:6px}.cp-swatch{border:1px solid #0000;border-radius:3px;width:27px;height:27px;padding:0;box-shadow:inset 0 0 0 1px #00000014}.cp-panel-hi .cp-hi-grid .cp-swatch,.cp-panel-pen .cp-hi-grid .cp-swatch{width:42px;height:42px}.cp-swatch:hover{outline:1px solid var(--accent-strong);outline-offset:1px}.cp-swatch.is-active{outline:2px solid var(--text);outline-offset:1px}.cp-other{border-top:1px solid var(--border-soft);cursor:pointer;border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:9px 8px;font-size:13px;display:flex;position:relative;overflow:hidden}.cp-other:hover{background:var(--hover-page)}.cp-other input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;position:absolute;inset:0}.cp-pen-preview{border-bottom:1px solid var(--border-soft);border-radius:2px;justify-content:center;align-items:center;height:42px;margin-bottom:6px;display:flex}.cp-pen-stroke{border-radius:999px;width:82%;display:block}.cp-size-row{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:4px;display:flex}.cp-size-dot{width:30px;height:30px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.cp-size-dot span{background:currentColor;border-radius:50%;display:block}.cp-size-dot:hover,.cp-size-dot.is-active{background:var(--hover-page)}.cp-size-dot.is-active{box-shadow:inset 0 0 0 1.5px var(--accent-strong), 0 0 0 1px var(--accent-strong)}.cp-panel-pen .cp-std-row,.cp-panel-pen .cp-hi-grid{grid-template-columns:repeat(4,42px);gap:6px}.pen-controls{gap:6px}.color-dot{border:2px solid #0000;border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 1px #0000001f}.color-dot.sm{width:14px;height:14px}.color-dot.active{border-color:var(--text);box-shadow:0 0 0 2px var(--focus)}.size-label{align-items:center;display:inline-flex}.size-label input[type=range]{width:88px;accent-color:var(--accent-strong)}.eraser-size-row{align-items:center;gap:4px;padding:0 2px;display:inline-flex}.eraser-size-row .cp-size-dot{width:26px;height:26px}.save-status{color:var(--text-muted);margin-left:auto;font-size:12px}.save-status.is-error{color:var(--danger)}.save-retry{width:32px;height:32px;color:var(--danger);border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.save-retry:hover{background:var(--hover-page)}.export-btns{flex-shrink:0;align-items:center;gap:8px;display:inline-flex;position:relative}.export-menu-btn{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 80%, transparent);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.export-menu-btn:hover:not(:disabled){background:var(--hover-page)}.export-menu-btn:disabled{opacity:.5;cursor:wait}.export-menu{background:var(--paper);border:1px solid var(--border-soft);z-index:1000;border-radius:10px;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0f172a1f}.export-menu-item{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;display:flex}.export-menu-item:hover{background:var(--hover-page)}.export-menu-icon{background:var(--accent);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.export-menu-label{flex-direction:column;gap:1px;display:flex}.export-menu-label strong{font-size:13px;font-weight:600}.export-menu-label small{color:var(--text-muted);font-size:11px}.export-btn{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 80%, transparent);color:var(--text);border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.export-btn:hover:not(:disabled){background:var(--hover-page)}.export-btn:disabled{opacity:.5;cursor:wait}.export-err{color:var(--danger);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;overflow:hidden}.tiptap-root{min-height:calc(100dvh - 180px)}.tiptap-root .ProseMirror{word-break:break-word;outline:none;min-height:calc(100dvh - 180px);font-size:16px;line-height:1.6;position:relative}.tiptap-root .ProseMirror.is-color-previewing ::selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.tiptap-root .ProseMirror.is-color-previewing ::selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.canvas-box-editor .ProseMirror.is-color-previewing ::selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.canvas-box-editor .ProseMirror.is-color-previewing ::selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.tiptap-root .ProseMirror.is-color-previewing ::-moz-selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.tiptap-root .ProseMirror.is-color-previewing ::-moz-selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.canvas-box-editor .ProseMirror.is-color-previewing ::-moz-selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.canvas-box-editor .ProseMirror.is-color-previewing ::-moz-selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.tiptap-root .ProseMirror .jx-preview-hi{border-radius:2px}.tiptap-root .ProseMirror .jx-preview-hi-clear{background-color:#0000!important}body.is-format-painting .tiptap-root .ProseMirror,body.is-format-painting .page-surface{cursor:cell}.tiptap-root .ProseMirror p{margin:0 0 1em}.tiptap-root .ProseMirror>p:last-child,.tiptap-root .ProseMirror>:last-child{margin-bottom:0}.tiptap-root .ProseMirror h1,.tiptap-root .ProseMirror h2,.tiptap-root .ProseMirror h3,.tiptap-root .ProseMirror h4,.tiptap-root .ProseMirror h5,.tiptap-root .ProseMirror h6{color:var(--text);font-weight:700;line-height:1.3}.tiptap-root .ProseMirror h1{border-bottom:1px solid var(--border-soft);margin:1.2em 0 .6em;padding-bottom:.25em;font-size:2em}.tiptap-root .ProseMirror h2{border-bottom:1px solid color-mix(in srgb, var(--border-soft) 70%, transparent);margin:1.1em 0 .5em;padding-bottom:.2em;font-size:1.5em}.tiptap-root .ProseMirror h3{margin:1em 0 .45em;font-size:1.25em}.tiptap-root .ProseMirror h4{margin:.9em 0 .4em;font-size:1.1em}.tiptap-root .ProseMirror h5{margin:.85em 0 .35em;font-size:1em}.tiptap-root .ProseMirror h6{color:var(--text-muted);margin:.8em 0 .3em;font-size:.92em}.tiptap-root .ProseMirror h1:first-child,.tiptap-root .ProseMirror h2:first-child,.tiptap-root .ProseMirror h3:first-child,.tiptap-root .ProseMirror h4:first-child,.tiptap-root .ProseMirror h5:first-child,.tiptap-root .ProseMirror h6:first-child{margin-top:0}.tiptap-root .ProseMirror blockquote{border-left:4px solid color-mix(in srgb, var(--accent-strong) 55%, var(--border-soft));color:var(--text-muted);margin:0 0 1em;padding:.15em 0 .15em 1em}.tiptap-root .ProseMirror blockquote>:last-child{margin-bottom:0}.tiptap-root .ProseMirror hr{border:none;border-top:1px solid var(--border-soft);margin:1.4em 0}.tiptap-root .ProseMirror a{color:var(--accent-strong);text-underline-offset:2px;cursor:pointer;text-decoration:underline}.tiptap-root .ProseMirror a:hover{filter:brightness(1.08)}.tiptap-root .ProseMirror .code-block-wrap{margin:1em 0;position:relative}.tiptap-root .ProseMirror .code-block-wrap pre,.tiptap-root .ProseMirror pre{tab-size:2;white-space:pre;border:1px solid #0000;border-radius:9px;margin:0;padding:14px 16px;font:13px/1.65 Consolas,Cascadia Code,SFMono-Regular,monospace;position:relative;overflow-x:auto}.tiptap-root .ProseMirror>pre{margin:1em 0}.tiptap-root .ProseMirror .code-block-wrap pre code,.tiptap-root .ProseMirror pre code{color:inherit;font:inherit;white-space:inherit;background:0 0;padding:0;display:block}.tiptap-root .ProseMirror .code-block-wrap.code-block-theme-dark pre,.tiptap-root .ProseMirror pre.code-block-theme-dark,.tiptap-root .ProseMirror pre[data-theme=dark],.tiptap-root .ProseMirror pre:not([data-theme]){color:#e8eef9;background:#172033;border-color:#e8eef91a}.tiptap-root .ProseMirror .code-block-wrap.code-block-theme-light pre,.tiptap-root .ProseMirror pre.code-block-theme-light,.tiptap-root .ProseMirror pre[data-theme=light]{color:#1f2937;background:#fff;border-color:#1f293724;box-shadow:inset 0 0 0 1px #0f172a0a}.tiptap-root .ProseMirror .code-block-theme-switch{z-index:2;background:color-mix(in srgb, var(--paper) 88%, #000 6%);border:1px solid var(--border-soft);opacity:0;pointer-events:none;border-radius:8px;gap:4px;padding:3px;transition:opacity .12s;display:inline-flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #0000001f}.tiptap-root .ProseMirror .code-block-wrap:hover .code-block-theme-switch,.tiptap-root .ProseMirror .code-block-wrap:focus-within .code-block-theme-switch{opacity:1;pointer-events:auto}.tiptap-root .ProseMirror .code-block-theme-switch button{border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.tiptap-root .ProseMirror .code-block-theme-switch button:hover{background:var(--hover-page)}.tiptap-root .ProseMirror .code-block-theme-switch button.is-active{outline:2px solid var(--accent-strong);outline-offset:0}.tiptap-root .ProseMirror .code-theme-swatch{border:1px solid #0003;border-radius:3px;width:12px;height:12px;display:block}.tiptap-root .ProseMirror .code-theme-swatch.is-light{background:#fff}.tiptap-root .ProseMirror .code-theme-swatch.is-dark{background:#172033;border-color:#ffffff40}.tiptap-root .ProseMirror :not(pre)>code{background:color-mix(in srgb, var(--accent) 12%, transparent);color:color-mix(in srgb, var(--accent-strong) 78%, #8b1e3f);border-radius:4px;padding:.12em .4em;font:.9em Consolas,Cascadia Code,monospace}.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-comment,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-quote,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-comment,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-quote,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-comment,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-quote,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-comment,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-quote{color:#8292a2}.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-keyword,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-selector-tag,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-literal,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-section,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-link,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-keyword,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-selector-tag,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-literal,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-section,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-link,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-keyword,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-selector-tag,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-literal,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-section,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-link,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-keyword,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-selector-tag,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-literal,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-section,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-link{color:#ff7ab2}.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-string,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-attr,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-addition,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-string,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-attr,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-addition,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-string,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-attr,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-addition,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-string,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-attr,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-addition{color:#a8e6a3}.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-number,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-symbol,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-bullet,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-number,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-symbol,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-bullet,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-number,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-symbol,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-bullet,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-number,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-symbol,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-bullet{color:#ffd580}.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-title,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-title.function_,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-built_in,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-type,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-title,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-title.function_,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-built_in,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-type,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-title,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-title.function_,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-built_in,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-type,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-title,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-title.function_,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-built_in,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-type{color:#82d9ff}.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-variable,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-template-variable,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-regexp,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-variable,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-template-variable,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-regexp,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-variable,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-template-variable,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-regexp,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-variable,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-template-variable,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-regexp{color:#f6a6ff}.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-meta,.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-tag,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-meta,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-tag,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-meta,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-tag,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-meta,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-tag{color:#c7b8ff}.tiptap-root .ProseMirror .code-block-theme-dark pre .hljs-deletion,.tiptap-root .ProseMirror pre.code-block-theme-dark .hljs-deletion,.tiptap-root .ProseMirror pre[data-theme=dark] .hljs-deletion,.tiptap-root .ProseMirror pre:not([data-theme]):not(.code-block-theme-light) .hljs-deletion{color:#ff8c8c}.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-comment,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-quote,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-comment,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-quote,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-comment,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-quote{color:#6a737d;font-style:italic}.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-keyword,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-selector-tag,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-literal,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-section,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-link,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-keyword,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-selector-tag,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-literal,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-section,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-link,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-keyword,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-selector-tag,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-literal,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-section,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-link{color:#d73a49}.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-string,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-attr,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-addition,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-string,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-attr,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-addition,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-string,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-attr,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-addition{color:#032f62}.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-number,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-symbol,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-bullet,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-number,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-symbol,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-bullet,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-number,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-symbol,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-bullet{color:#005cc5}.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-title,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-title.function_,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-built_in,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-type,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-title,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-title.function_,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-built_in,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-type,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-title,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-title.function_,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-built_in,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-type{color:#6f42c1}.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-variable,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-template-variable,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-regexp,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-variable,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-template-variable,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-regexp,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-variable,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-template-variable,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-regexp{color:#e36209}.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-meta,.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-tag,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-meta,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-tag,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-meta,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-tag{color:#22863a}.tiptap-root .ProseMirror .code-block-theme-light pre .hljs-deletion,.tiptap-root .ProseMirror pre.code-block-theme-light .hljs-deletion,.tiptap-root .ProseMirror pre[data-theme=light] .hljs-deletion{color:#b31d28}.tiptap-root .ProseMirror ul,.tiptap-root .ProseMirror ol{margin:0 0 1em;padding-left:1.6em}.tiptap-root .ProseMirror li,.tiptap-root .ProseMirror li>p{margin:.25em 0}.tiptap-root .ProseMirror li>ul,.tiptap-root .ProseMirror li>ol{margin:.25em 0 .35em}.tiptap-root .ProseMirror ul[data-type=taskList],.tiptap-root .ProseMirror ul.task-list{padding-left:.25em;list-style:none}.tiptap-root .ProseMirror li[data-type=taskItem],.tiptap-root .ProseMirror li.task-item{align-items:flex-start;gap:.5em;display:flex}.tiptap-root .ProseMirror li[data-type=taskItem]>label,.tiptap-root .ProseMirror li.task-item>label{-webkit-user-select:none;user-select:none;flex:none;align-items:center;margin-top:.2em;display:inline-flex}.tiptap-root .ProseMirror li[data-type=taskItem]>div,.tiptap-root .ProseMirror li.task-item>div{flex:1;min-width:0}.tiptap-root .ProseMirror li[data-type=taskItem] input[type=checkbox],.tiptap-root .ProseMirror li.task-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent-strong);cursor:pointer}.tiptap-root .ProseMirror table.note-table,.tiptap-root .ProseMirror table{border-collapse:separate;border-spacing:0;table-layout:auto;border:1px solid var(--border-soft);border-radius:8px;width:100%;min-width:min(100%,420px);max-width:100%;margin:0 0 1em;font-size:.95em;overflow:hidden}.tiptap-root .ProseMirror table td,.tiptap-root .ProseMirror table th{border:0;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);vertical-align:top;min-width:2.5em;padding:.45em .7em}.tiptap-root .ProseMirror table tr>:last-child{border-right:0}.tiptap-root .ProseMirror table tbody tr:last-child>*{border-bottom:0}.tiptap-root .ProseMirror table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--accent) 4%, transparent)}.tiptap-root .ProseMirror table th{background:color-mix(in srgb, var(--accent) 10%, transparent);text-align:left;font-weight:650}.tiptap-root .ProseMirror table p{margin:0}.tiptap-root .ProseMirror .tableWrapper{overscroll-behavior-inline:contain;width:100%;margin:0 0 1em;overflow-x:auto}.tiptap-root .ProseMirror img,.tiptap-root .ProseMirror .note-image{border-radius:2px;max-width:100%;height:auto;display:block}.tiptap-root .ProseMirror .note-video{background:#0f172a;border-radius:8px;width:min(100%,720px);max-width:100%;margin:0;display:block}.res-img-frame .note-video{cursor:default;width:100%;max-width:none;height:auto}.res-img-wrap.is-free-size .res-img-frame .note-video{object-fit:fill;height:100%}.res-video-wrap .res-img-frame{cursor:default}.tiptap-root .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0}.res-img-wrap{max-width:100%;margin:10px 0;line-height:0;display:block;position:relative}.res-img-wrap.is-float{width:100%;max-width:none;margin:8px 0;line-height:0;display:block;position:static}.res-img-wrap.is-float .res-img-frame{box-sizing:border-box;width:auto;height:auto;margin:0;position:absolute}.res-img-wrap.is-float:not(.is-free-size) .res-img-frame{height:auto}.float-drag-strip{z-index:2;cursor:grab;background:linear-gradient(#0f172a59,#0000);height:22px;position:absolute;top:0;left:0;right:0}.res-img-wrap.align-left{margin-right:auto}.res-img-wrap.align-center{margin-left:auto;margin-right:auto}.res-img-wrap.align-right{margin-left:auto}.res-img-frame{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;height:100%;display:block;position:relative}.res-img-frame img{width:100%;height:auto;display:block}.res-img-wrap.is-free-size .res-img-frame img{object-fit:fill;height:100%}.res-img-wrap.is-selected .res-img-frame{outline:2px solid var(--accent-strong);outline-offset:2px;border-radius:2px}.img-handle{border:2px solid var(--accent-strong);z-index:3;box-sizing:border-box;background:#fff;border-radius:2px;width:10px;height:10px;position:absolute}.img-handle.h-nw{cursor:nwse-resize;top:-5px;left:-5px}.img-handle.h-ne{cursor:nesw-resize;top:-5px;right:-5px}.img-handle.h-sw{cursor:nesw-resize;bottom:-5px;left:-5px}.img-handle.h-se{cursor:nwse-resize;bottom:-5px;right:-5px}.img-handle.h-n{cursor:ns-resize;margin-left:-5px;top:-5px;left:50%}.img-handle.h-s{cursor:ns-resize;margin-left:-5px;bottom:-5px;left:50%}.img-handle.h-e{cursor:ew-resize;margin-top:-5px;top:50%;right:-5px}.img-handle.h-w{cursor:ew-resize;margin-top:-5px;top:50%;left:-5px}.img-toolbar{background:color-mix(in srgb, var(--paper) 94%, #000);border:1px solid var(--border-soft);z-index:4;border-radius:8px;gap:2px;padding:3px;line-height:1;display:inline-flex;position:absolute;top:-34px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0000001f}.img-toolbar button{min-width:28px;height:24px;color:var(--text);border-radius:6px;justify-content:center;align-items:center;padding:0 5px;font-size:12px;font-weight:600;display:inline-flex}.img-toolbar button:hover{background:var(--hover-page)}.img-toolbar button.danger{color:var(--danger)}body.is-resizing-img{cursor:ew-resize;-webkit-user-select:none;user-select:none}body.is-dragging-img{cursor:grabbing;-webkit-user-select:none;user-select:none}body.is-resizing-img-n,body.is-resizing-img-s{cursor:ns-resize}body.is-resizing-img-nw,body.is-resizing-img-se{cursor:nwse-resize}body.is-resizing-img-ne,body.is-resizing-img-sw{cursor:nesw-resize}.ink-layer{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.ink-layer.ink-active{pointer-events:auto;touch-action:none;cursor:crosshair}.canvas-box-layer{z-index:3;pointer-events:none;touch-action:none;position:absolute;inset:0}.canvas-box-layer.is-ink-mode{pointer-events:none}.canvas-box-shell{border:1px solid var(--border-soft,#0000001f);background:color-mix(in srgb, var(--paper,#fff) 96%, transparent);pointer-events:auto;touch-action:auto;border-radius:8px;align-items:flex-start;gap:2px;width:fit-content;min-width:120px;max-width:calc(100% - 4px);padding:6px 6px 6px 4px;transition:box-shadow .12s,border-color .12s;display:flex;position:absolute;transform:translate(-2px,-2px);box-shadow:0 4px 14px #0000001f}.canvas-box-shell.is-dragging{will-change:left, top, width;transition:none}.canvas-box-shell:hover{border-color:color-mix(in srgb, var(--accent,#4c7cf0) 45%, var(--border-soft,#0000001f));box-shadow:0 6px 18px #00000029}.canvas-box-shell.is-editing{border-color:color-mix(in srgb, var(--accent,#4c7cf0) 70%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent,#4c7cf0) 28%, transparent), 0 6px 18px #00000029}.canvas-box-grip{color:var(--text-muted,#888);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:4px;flex:0 0 14px;justify-content:center;align-self:stretch;align-items:center;margin-top:2px;padding:0;display:flex}.canvas-box-grip:hover{color:var(--accent,#4c7cf0);background:color-mix(in srgb, var(--accent,#4c7cf0) 12%, transparent)}.canvas-box-grip:active{cursor:grabbing}.canvas-box-body{flex:auto;min-width:0;max-height:320px;overflow-y:auto}.canvas-box-editor{min-height:28px;color:var(--text,#1a1a1a);word-break:break-word;border-radius:4px;padding:4px 6px;font-size:16px;line-height:1.6}.canvas-box-editor.tiptap-root .ProseMirror,.canvas-box-editor .ProseMirror{outline:none;min-height:20px}.canvas-box-editor.tiptap-root .ProseMirror p,.canvas-box-editor .ProseMirror p{margin:0 0 .35em}.canvas-box-editor.tiptap-root .ProseMirror>p:last-child,.canvas-box-editor.tiptap-root .ProseMirror>:last-child,.canvas-box-editor .ProseMirror>p:last-child,.canvas-box-editor .ProseMirror>:last-child{margin-bottom:0}.canvas-box-editor.tiptap-root .ProseMirror h1,.canvas-box-editor.tiptap-root .ProseMirror h2,.canvas-box-editor.tiptap-root .ProseMirror h3,.canvas-box-editor.tiptap-root .ProseMirror h4,.canvas-box-editor.tiptap-root .ProseMirror h5,.canvas-box-editor.tiptap-root .ProseMirror h6{border-bottom:none;margin-top:.35em;margin-bottom:.25em;padding-bottom:0}.canvas-box-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--text-muted,#9aa3af);pointer-events:none}.tiptap-root .ProseMirror ::selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.tiptap-root .ProseMirror ::selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.canvas-box-editor .ProseMirror ::selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.canvas-box-editor .ProseMirror ::selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.tiptap-root .ProseMirror ::-moz-selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.tiptap-root .ProseMirror ::-moz-selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.canvas-box-editor .ProseMirror ::-moz-selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.canvas-box-editor .ProseMirror ::-moz-selection{background:color-mix(in srgb, var(--accent,#4c7cf0) 22%, transparent)!important;color:inherit!important}.canvas-box-close{height:18px;color:var(--text-muted,#888);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;flex:0 0 18px;justify-content:center;align-items:center;margin-top:2px;padding:0;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.canvas-box-shell:hover .canvas-box-close,.canvas-box-shell.is-editing .canvas-box-close{opacity:1}.canvas-box-close:hover{background:color-mix(in srgb, var(--danger,#e07070) 18%, transparent);color:var(--danger,#e07070)}.canvas-box-resize{cursor:nwse-resize;touch-action:none;opacity:0;background:0 0;border:none;width:16px;height:16px;padding:0;transition:opacity .12s;position:absolute;bottom:-1px;right:-1px}.canvas-box-shell:hover .canvas-box-resize,.canvas-box-shell.is-editing .canvas-box-resize{opacity:1}.canvas-box-resize:after{content:"";border-right:2px solid var(--text-muted,#888);border-bottom:2px solid var(--text-muted,#888);border-bottom-right-radius:2px;width:7px;height:7px;position:absolute;bottom:3px;right:3px}.canvas-box-resize:hover:after{border-color:var(--accent,#4c7cf0)}.muted{color:var(--text-muted)}.rail .muted,.notes-panel .muted{color:var(--text-muted-on-dark)}.error-text{color:var(--danger)}.import-warning{color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;margin:0 8px 8px;font-size:12px;line-height:1.5}.import-success{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7;border-radius:6px;margin:0 8px 8px;font-size:12px;line-height:1.5}.pad{padding:12px 8px}@media (width<=1100px) and (width>=721px){.app-shell.is-tablet .rail,.app-shell.is-tablet .rail:not(.collapsed){width:var(--rail-collapsed-w);flex-basis:var(--rail-collapsed-w)}.app-shell.is-tablet .rail .brand>span,.app-shell.is-tablet .rail .nav-label{display:none}.app-shell.is-tablet .rail .brand{width:44px;overflow:hidden}.app-shell.is-tablet .rail-actions .primary-btn{width:44px;height:44px;padding:0;font-size:0}.app-shell.is-tablet .rail-actions .primary-btn svg{flex:none}.app-shell.is-tablet .rail .sidebar-resize-handle{display:none}.notes-panel{flex-basis:200px;width:200px}.workspace-top{grid-template-columns:minmax(0,1fr) minmax(160px,280px) auto;gap:8px}}@media (width<=900px){.notes-panel{flex-basis:200px;width:200px}}@media (width<=720px){.app-shell{position:relative}.rail,.rail:not(.collapsed){flex-basis:52px;width:52px}.rail .brand>span,.rail .nav-label{display:none}.rail .brand{width:44px;overflow:hidden}.rail-actions .primary-btn{width:44px;height:44px;padding:0;font-size:0}.rail-actions .primary-btn svg{flex:none}.rail .sidebar-resize-handle,.notes-panel .sidebar-resize-handle{display:none}.notes-panel{z-index:40;width:min(82vw,300px);padding-bottom:env(safe-area-inset-bottom,0);flex-basis:min(82vw,300px);transition:transform .18s,box-shadow .18s;position:absolute;top:0;bottom:0;left:52px;transform:translate(-105%)}.notes-panel.mobile-open{transform:translate(0);box-shadow:12px 0 32px #00000047}.mobile-notes-backdrop{z-index:35;cursor:pointer;background:#0c0a0e6b;border:0;margin:0;padding:0;display:block;position:fixed;inset:0 0 0 52px}.mobile-notes-toggle{left:calc(58px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;background:var(--accent);width:44px;height:44px;color:var(--accent-text);border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:fixed;box-shadow:0 8px 20px #0000003d}.notes-panel .panel-top{padding:10px 8px}.workspace{min-width:0}.workspace-top{grid-template-columns:1fr;gap:8px;padding-inline:10px}.export-btns{flex-wrap:wrap;justify-content:flex-end}.export-btn{min-height:40px}.page-surface{padding:16px 14px 32px}.search-bar{order:-1}.workspace-toolbar-row{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:4px 8px 6px;overflow:auto visible}.editor-toolbar{flex-wrap:nowrap;min-width:max-content;padding-bottom:2px}.tb-font{min-width:96px;max-width:120px}.tb-size .tb-select-trigger{width:56px;min-width:56px}.cp-panel{min-width:min(370px,100vw - 24px);left:auto;right:0}.cp-panel-hi,.cp-panel-pen{min-width:min(274px,100vw - 24px)}.canvas-box-shell.is-editing .canvas-box-close,.canvas-box-shell.is-editing .canvas-box-resize{opacity:1}.login-card{width:min(360px,100vw - 32px);margin-inline:16px}}@media (width<=520px){.tb-btn{width:34px;height:34px}.page-content,.tiptap-root,.tiptap-root .ProseMirror{min-height:calc(100dvh - 200px)}}@media (hover:none) and (pointer:coarse){.nav-item.active .nav-ops{display:inline-flex}.canvas-box-shell.is-editing .canvas-box-close,.canvas-box-shell.is-editing .canvas-box-resize{opacity:1}}.paste-md-overlay{z-index:400;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c0a0e7a;place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0}.paste-md-modal{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 97%, #fff);width:min(440px,100%);color:var(--text);border-radius:14px;outline:none;padding:18px 18px 16px;box-shadow:0 24px 64px #00000047}.paste-md-title{margin:0 0 8px;font-size:17px;font-weight:750}.paste-md-desc{color:var(--text-muted);margin:0 0 12px;font-size:13.5px;line-height:1.5}.paste-md-preview{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--paper) 82%, var(--accent) 4%);white-space:pre-wrap;word-break:break-word;max-height:160px;color:var(--text);border-radius:10px;margin:0 0 14px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;overflow:auto}.paste-md-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.paste-md-btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.paste-md-btn.ghost{color:var(--text);border-color:var(--border-soft);background:0 0}.paste-md-btn.ghost:hover{background:var(--hover-page)}.paste-md-btn.primary{background:var(--grad);color:var(--accent-text);box-shadow:0 4px 14px #00000029}.paste-md-btn.primary:hover{filter:brightness(1.06)}.paste-md-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.math-inline{vertical-align:-.12em;cursor:text;max-width:100%;padding:0 2px;display:inline-block}.math-block{text-align:center;cursor:text;width:100%;padding:14px 8px;display:block;overflow-x:auto}.math-inline .katex,.math-block .katex{color:var(--text)}.ProseMirror-selectednode.math-inline,.ProseMirror-selectednode.math-block{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:3px;border-radius:6px}
