:root{--bg: #ffffff;--bg-sidebar: #f8f8f7;--bg-hover: rgba(55, 53, 47, .06);--bg-active: rgba(55, 53, 47, .1);--bg-card: #ffffff;--text: #37352f;--text-2: rgba(55, 53, 47, .65);--text-3: rgba(55, 53, 47, .45);--border: rgba(55, 53, 47, .09);--border-strong: rgba(55, 53, 47, .16);--accent: #2383e2;--accent-bg: rgba(35, 131, 226, .14);--drop: rgba(35, 131, 226, .5);--popover: #ffffff;--shadow: rgba(15, 15, 15, .05) 0 0 0 1px, rgba(15, 15, 15, .1) 0 3px 6px, rgba(15, 15, 15, .2) 0 9px 24px;--card-shadow: rgba(15, 15, 15, .1) 0 0 0 1px, rgba(15, 15, 15, .1) 0 2px 4px;--code-bg: #f7f6f3;--inline-code-bg: rgba(135, 131, 120, .15);--inline-code: #eb5757;--danger: #eb5757;--input-bg: rgba(242, 241, 238, .6);--c-default: inherit;--c-gray: #787774;--c-brown: #9f6b53;--c-orange: #d9730d;--c-yellow: #cb912f;--c-green: #448361;--c-blue: #337ea9;--c-purple: #9065b0;--c-pink: #c14c8a;--c-red: #d44c47;--b-gray: #f1f1ef;--b-brown: #f4eeee;--b-orange: #fbecdd;--b-yellow: #fbf3db;--b-green: #edf3ec;--b-blue: #e7f3f8;--b-purple: #f6f3f9;--b-pink: #faf1f5;--b-red: #fdebec;--t-default: rgba(227, 226, 224, .5);--t-gray: #e3e2e0;--t-brown: #eee0da;--t-orange: #fadec9;--t-yellow: #fdecc8;--t-green: #dbeddb;--t-blue: #d3e5ef;--t-purple: #e8deee;--t-pink: #f5e0e9;--t-red: #ffe2dd;--font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";--font-serif: Lyon-Text, Georgia, ui-serif, serif;--font-mono: iawriter-mono, Nitti, Menlo, Courier, monospace;--font-code: "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace;color-scheme:light}[data-theme=dark]{--bg: #191919;--bg-sidebar: #202020;--bg-hover: rgba(255, 255, 255, .055);--bg-active: rgba(255, 255, 255, .1);--bg-card: #252525;--text: rgba(255, 255, 255, .81);--text-2: rgba(255, 255, 255, .55);--text-3: rgba(255, 255, 255, .35);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--popover: #252525;--shadow: rgba(0, 0, 0, .3) 0 0 0 1px, rgba(0, 0, 0, .4) 0 3px 8px, rgba(0, 0, 0, .5) 0 9px 24px;--card-shadow: rgba(255, 255, 255, .06) 0 0 0 1px, rgba(0, 0, 0, .3) 0 2px 4px;--code-bg: #202020;--inline-code-bg: rgba(135, 131, 120, .15);--inline-code: #ff7369;--input-bg: rgba(255, 255, 255, .055);--c-gray: #9b9b9b;--c-brown: #ba856f;--c-orange: #c77d48;--c-yellow: #ca9849;--c-green: #529e72;--c-blue: #5e87c9;--c-purple: #9d68d3;--c-pink: #d15796;--c-red: #df5452;--b-gray: #2f2f2f;--b-brown: #4a3229;--b-orange: #5c3b23;--b-yellow: #564328;--b-green: #243d30;--b-blue: #143a4e;--b-purple: #3c2d49;--b-pink: #4e2c3c;--b-red: #522e2a;--t-default: #373737;--t-gray: #5a5a5a;--t-brown: #603b2c;--t-orange: #854c1d;--t-yellow: #89632a;--t-green: #2b593f;--t-blue: #28456c;--t-purple: #492f64;--t-pink: #69314c;--t-red: #6e3630;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,select,textarea{font:inherit;color:inherit}a{color:inherit}kbd{font-family:inherit;font-size:11px;color:var(--text-3)}.muted{color:var(--text-3)}.small{font-size:12px}.spacer{flex:1}.placeholder{color:var(--text-3)}body.resizing,body.resizing-col{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.tc-default{color:inherit}.tc-gray{color:var(--c-gray)}.tc-brown{color:var(--c-brown)}.tc-orange{color:var(--c-orange)}.tc-yellow{color:var(--c-yellow)}.tc-green{color:var(--c-green)}.tc-blue{color:var(--c-blue)}.tc-purple{color:var(--c-purple)}.tc-pink{color:var(--c-pink)}.tc-red{color:var(--c-red)}.bg-gray{background:var(--b-gray)}.bg-brown{background:var(--b-brown)}.bg-orange{background:var(--b-orange)}.bg-yellow{background:var(--b-yellow)}.bg-green{background:var(--b-green)}.bg-blue{background:var(--b-blue)}.bg-purple{background:var(--b-purple)}.bg-pink{background:var(--b-pink)}.bg-red{background:var(--b-red)}.c-default{background:var(--t-default)}.c-gray{background:var(--t-gray)}.c-brown{background:var(--t-brown)}.c-orange{background:var(--t-orange)}.c-yellow{background:var(--t-yellow)}.c-green{background:var(--t-green)}.c-blue{background:var(--t-blue)}.c-purple{background:var(--t-purple)}.c-pink{background:var(--t-pink)}.c-red{background:var(--t-red)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;color:var(--text-2);flex-shrink:0}.icon-btn:hover{background:var(--bg-hover)}.icon-btn.fav{color:#f5b800}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:6px;border:1px solid var(--border-strong);color:var(--text);white-space:nowrap;font-size:14px}.btn:hover{background:var(--bg-hover)}.btn.small{height:26px;padding:0 8px;font-size:13px}.btn.ghost{border-color:transparent;color:var(--text-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.btn.primary:hover{background:#0077d4}.btn.danger,.danger{color:var(--danger)}.btn.outline-light{color:#fff;border-color:#ffffff80}.btn.outline-light:hover{background:#ffffff26}.link-btn{color:var(--accent)}.input,.select{width:100%;height:30px;padding:0 8px;border-radius:6px;border:1px solid var(--border-strong);background:var(--input-bg);outline:none;font-size:14px}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.select{width:auto;min-width:0;padding-right:4px}.switch{display:inline-block;width:28px;height:16px;border-radius:8px;background:var(--border-strong);position:relative;transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(12px)}.emoji-icon{line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.popover{position:fixed;z-index:1000;background:var(--popover);border-radius:8px;box-shadow:var(--shadow);padding:6px 0;max-height:72vh;overflow-y:auto;min-width:180px}.menu-item{display:flex;align-items:center;gap:8px;width:calc(100% - 8px);min-height:30px;margin:0 4px;padding:4px 8px;border-radius:5px;text-align:left;font-size:14px;cursor:pointer;color:var(--text)}.menu-item:hover{background:var(--bg-hover)}.menu-item.danger{color:var(--danger)}.menu-item.active{font-weight:500}.menu-item.active:after{content:"✓";margin-left:auto;color:var(--text-2)}.menu-icon{display:inline-flex;width:20px;justify-content:center;color:var(--text-2);flex-shrink:0}.menu-label-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-right{display:inline-flex;align-items:center;gap:4px;color:var(--text-3);font-size:12px}.menu-sep{height:1px;background:var(--border);margin:6px 0}.menu-label{padding:6px 14px 4px;font-size:12px;font-weight:500;color:var(--text-3)}.menu-empty{padding:8px 14px;color:var(--text-3);font-size:13px}.menu-foot{padding:6px 14px 2px;font-size:12px;color:var(--text-3);line-height:1.6;border-top:1px solid var(--border);margin-top:6px}.picker-bar{display:flex;gap:6px;align-items:center;padding:4px 8px 6px}.color-swatch{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;border:1px solid var(--border-strong);font-weight:500}.color-dot{width:16px;height:16px;border-radius:4px;display:inline-block}.emoji-grid{display:grid;grid-template-columns:repeat(10,1fr);padding:0 8px 4px;max-height:300px;overflow-y:auto}.emoji-btn{font-size:22px;height:32px;border-radius:4px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.emoji-btn:hover{background:var(--bg-hover)}.cover-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 12px 8px}.cover-swatch{height:56px;border-radius:4px}.cover-swatch:hover{opacity:.85}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#0f0f0f8c;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}.modal{width:min(640px,calc(100vw - 32px));max-height:76vh;overflow-y:auto;background:var(--popover);border-radius:12px;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.modal h2{font-size:18px;margin:0}.settings-modal section{padding:12px 20px;border-bottom:1px solid var(--border)}.settings-modal h3{font-size:14px;margin:0 0 10px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-2)}.field.inline{flex-direction:row;align-items:center;justify-content:space-between;padding:4px 14px}.segmented{display:inline-flex;border:1px solid var(--border-strong);border-radius:7px;padding:2px;gap:2px}.segmented button{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:5px;color:var(--text-2)}.segmented button.active{background:var(--bg-active);color:var(--text)}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.toast-inline{margin:12px 20px;padding:8px 12px;border-radius:6px;background:var(--accent-bg);font-size:13px}.import-notes{margin-top:6px}.import-notes summary{cursor:pointer}.import-notes ul{margin:6px 0 0;padding-left:18px;max-height:180px;overflow:auto;word-break:break-all}.shortcuts dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin:0}.shortcuts dl div{display:flex;justify-content:space-between;gap:8px;font-size:13px}.shortcuts dt kbd{font-size:12px;color:var(--text-2);background:var(--bg-hover);border-radius:4px;padding:1px 5px}.shortcuts dd{margin:0;color:var(--text-2);text-align:right}.search-input{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border);color:var(--text-2)}.search-input input{flex:1;border:none;outline:none;background:transparent;font-size:17px;color:var(--text)}.search-results{padding:6px 0 8px;max-height:56vh;overflow-y:auto}.search-item{display:flex;align-items:center;gap:10px;margin:0 6px;padding:7px 12px;border-radius:6px;cursor:pointer}.search-item.active{background:var(--bg-hover)}.search-icon{display:inline-flex;width:22px;justify-content:center;color:var(--text-2)}.search-text{flex:1;min-width:0;display:flex;flex-direction:column}.search-title,.search-snippet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-snippet{font-size:12px;color:var(--text-3)}.app{display:flex;height:100vh;overflow:hidden}.main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;background:var(--bg)}.scroller{flex:1;overflow-y:auto;overflow-x:hidden}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20vh 24px;color:var(--text-2)}.sidebar{position:relative;flex-shrink:0;height:100%;display:flex;flex-direction:column;background:var(--bg-sidebar);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;color:var(--text-2)}.sidebar-backdrop{display:none}.sb-header{display:flex;align-items:center;gap:4px;padding:8px 8px 4px 10px}.ws-switch{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:32px;padding:0 6px;border-radius:6px;cursor:pointer}.ws-switch:hover{background:var(--bg-hover)}.ws-avatar{width:22px;height:22px;border-radius:5px;background:var(--text-2);color:var(--bg);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.ws-name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-actions{padding:2px 0 6px}.sb-item{display:flex;align-items:center;gap:10px;width:calc(100% - 8px);height:30px;margin:0 4px;padding:0 10px;border-radius:6px;font-size:14px;color:var(--text-2);text-align:left}.sb-item:hover{background:var(--bg-hover)}.sb-item span{flex:1}.sb-scroll{flex:1;overflow-y:auto;padding-bottom:20px}.sb-section{margin-top:12px}.sb-section-title{display:flex;align-items:center;justify-content:space-between;height:26px;margin:0 4px;padding:0 4px 0 12px;font-size:12px;font-weight:500;color:var(--text-3);border-radius:6px}.sb-section-title .icon-btn{width:22px;height:22px;opacity:0}.sb-section-title:hover .icon-btn{opacity:1}.sb-section-title.drop-inside{box-shadow:inset 0 0 0 2px var(--drop)}.sb-resizer{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5}.sb-resizer:hover{background:var(--border-strong)}.tree-row{position:relative;display:flex;align-items:center;gap:4px;height:30px;margin:0 4px;padding-right:4px;border-radius:6px;cursor:pointer;font-size:14px}.tree-row:hover{background:var(--bg-hover)}.tree-row.active{background:var(--bg-active);color:var(--text);font-weight:500}.tree-row.drop-inside{box-shadow:inset 0 0 0 2px var(--drop)}.tree-row.drop-before:before,.tree-row.drop-after:after{content:"";position:absolute;left:8px;right:8px;height:2px;background:var(--drop)}.tree-row.drop-before:before{top:0}.tree-row.drop-after:after{bottom:0}.tree-toggle{position:relative;width:24px;height:24px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tree-toggle:hover{background:var(--bg-active)}.tree-icon,.tree-chevron{display:inline-flex;align-items:center;justify-content:center}.tree-chevron{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:transform .1s}.tree-chevron.open svg{transform:rotate(90deg)}.tree-row:hover .tree-chevron{opacity:1}.tree-row:hover .tree-icon{opacity:0}.tree-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-actions{display:none;gap:2px}.tree-actions .icon-btn{width:22px;height:22px}.tree-actions .icon-btn:hover{background:var(--bg-active)}.tree-row:hover .tree-actions{display:flex}.tree-empty{height:26px;display:flex;align-items:center;font-size:13px;color:var(--text-3)}.trash-list{max-height:340px;overflow-y:auto}.trash-item .icon-btn{width:24px;height:24px}.topbar{display:flex;align-items:center;gap:6px;height:45px;padding:0 12px;flex-shrink:0}.crumbs{flex:1;min-width:0;display:flex;align-items:center;gap:2px;overflow:hidden}.crumb{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 6px;border-radius:5px;max-width:220px;font-size:14px}.crumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb:hover{background:var(--bg-hover)}.crumb-sep,.crumb-gap{color:var(--text-3);padding:0 2px}.topbar-right{display:flex;align-items:center;gap:4px}.font-choices{display:flex;gap:4px;padding:4px 8px}.font-choice{flex:1;display:flex;flex-direction:column;align-items:center;padding:6px 0;border-radius:6px}.font-choice span{font-size:24px}.font-choice small{font-size:11px;color:var(--text-3)}.font-choice:hover{background:var(--bg-hover)}.font-choice.active span{color:var(--accent)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.page{--page-w: 900px;--page-pad: 96px;padding-bottom:30vh;font-size:16px}.page.small-text{font-size:14px}.page-inner{max-width:var(--page-w);margin:0 auto;padding:0 var(--page-pad)}.page.full-width .page-inner,.page.db-page .page-inner{max-width:none}.page.db-page{--page-pad: 96px}.cover{position:relative;height:30vh;max-height:280px;min-height:160px}.cover-actions{position:absolute;right:16px;bottom:12px;display:flex;gap:6px;opacity:0;transition:opacity .15s}.cover:hover .cover-actions{opacity:1}.cover-actions .btn{background:var(--popover);border-color:transparent;box-shadow:var(--card-shadow);color:var(--text-2)}.page-header{padding-top:80px}.page-header.has-cover{padding-top:24px}.page-header.has-cover.has-icon{padding-top:0}.page-icon{font-size:78px;line-height:1.1;height:86px;border-radius:6px;padding:0 4px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.has-cover .page-icon{margin-top:-44px;position:relative}.page-icon:hover{background:var(--bg-hover)}.page-header-actions{display:flex;gap:4px;margin:8px 0 4px;min-height:26px;opacity:0;transition:opacity .15s}.page-header:hover .page-header-actions{opacity:1}.page-title{font-size:40px;font-weight:700;line-height:1.2;outline:none;padding:3px 2px;margin-bottom:8px;white-space:pre-wrap;word-break:break-word}.page.small-text .page-title{font-size:34px}[data-editable]:empty:before{content:attr(data-placeholder);color:var(--text-3);pointer-events:none}.page-title:empty:before{color:var(--border-strong)}.page.font-serif .page-inner{font-family:var(--font-serif)}.page.font-mono .page-inner{font-family:var(--font-mono)}.trash-banner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px 16px;background:#eb5757;color:#fff;font-size:14px}.editor{position:relative;padding-bottom:8px}.editor-tail{min-height:120px;cursor:text}.block-row{position:relative}.block-inner{position:relative;display:flex;align-items:flex-start;border-radius:3px}.block-row.block-bg>.block-inner{padding:0 2px}.block-row.bg-gray,.block-row.bg-brown,.block-row.bg-orange,.block-row.bg-yellow,.block-row.bg-green,.block-row.bg-blue,.block-row.bg-purple,.block-row.bg-pink,.block-row.bg-red{background:none}.block-row.bg-gray>.block-inner{background:var(--b-gray)}.block-row.bg-brown>.block-inner{background:var(--b-brown)}.block-row.bg-orange>.block-inner{background:var(--b-orange)}.block-row.bg-yellow>.block-inner{background:var(--b-yellow)}.block-row.bg-green>.block-inner{background:var(--b-green)}.block-row.bg-blue>.block-inner{background:var(--b-blue)}.block-row.bg-purple>.block-inner{background:var(--b-purple)}.block-row.bg-pink>.block-inner{background:var(--b-pink)}.block-row.bg-red>.block-inner{background:var(--b-red)}.block-row.type-callout.block-bg>.block-inner{background:none;padding:0}.block-row.type-callout.bg-gray .callout{background:var(--b-gray)}.block-row.type-callout.bg-brown .callout{background:var(--b-brown)}.block-row.type-callout.bg-orange .callout{background:var(--b-orange)}.block-row.type-callout.bg-yellow .callout{background:var(--b-yellow)}.block-row.type-callout.bg-green .callout{background:var(--b-green)}.block-row.type-callout.bg-blue .callout{background:var(--b-blue)}.block-row.type-callout.bg-purple .callout{background:var(--b-purple)}.block-row.type-callout.bg-pink .callout{background:var(--b-pink)}.block-row.type-callout.bg-red .callout{background:var(--b-red)}.block-handle{position:absolute;left:-52px;top:3px;display:flex;align-items:center;opacity:0;transition:opacity .1s}.block-row:hover:not(:has(.block-row:hover))>.block-inner>.block-handle{opacity:1}.handle-btn{width:24px;height:24px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-3)}.handle-btn:hover{background:var(--bg-hover)}.handle-btn.grip{width:18px;cursor:grab}.type-h1 .block-handle{top:12px}.type-h2 .block-handle{top:8px}.type-h3 .block-handle{top:5px}.type-callout .block-handle{top:14px}.type-code .block-handle{top:8px}.drop-line{position:absolute;left:0;right:0;height:3px;background:var(--drop);border-radius:2px;pointer-events:none;z-index:2}.drop-line.before{top:-2px}.drop-line.after{bottom:-2px}.block-text{flex:1;min-width:0;outline:none;padding:3px 2px;margin:1px 0;line-height:1.5;white-space:pre-wrap;word-break:break-word;caret-color:var(--text)}.type-text .block-text:empty:not(:focus):before{content:none}.block-text code{font-family:var(--font-code);font-size:85%;background:var(--inline-code-bg);color:var(--inline-code);border-radius:4px;padding:.2em .4em}.block-text a{color:inherit;text-decoration:underline;text-decoration-color:var(--text-3);text-underline-offset:2px;cursor:pointer}.block-text span[class^=bg-]{border-radius:3px;padding:0 2px}.type-h1{margin-top:1.6em}.type-h2{margin-top:1.1em}.type-h3{margin-top:.8em}.type-h1 .block-text{font-size:1.875em;font-weight:600;line-height:1.3}.type-h2 .block-text{font-size:1.5em;font-weight:600;line-height:1.3}.type-h3 .block-text{font-size:1.25em;font-weight:600;line-height:1.3}.editor>.block-row:first-child{margin-top:2px}.marker{width:24px;min-height:calc(1.5em + 8px);flex-shrink:0;display:flex;align-items:center;justify-content:center;align-self:flex-start;height:calc(1.5em + 8px);margin-right:2px}.marker.num{justify-content:flex-end;padding-right:4px;width:26px;font-variant-numeric:tabular-nums}.bullet{width:6px;height:6px;border-radius:50%;background:currentColor}.bullet.b1{background:transparent;border:1.5px solid currentColor}.bullet.b2{border-radius:1px}.checkbox{width:16px;height:16px;border:1.5px solid var(--text-2);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.checkbox:hover{background:var(--bg-hover)}.checkbox.checked{background:var(--accent);border-color:var(--accent)}.checkbox.small-box{width:14px;height:14px}.block-text.done{text-decoration:line-through;color:var(--text-3)}.toggle-btn{width:22px;height:22px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:var(--text)}.toggle-btn:hover{background:var(--bg-hover)}.toggle-btn svg{transition:transform .12s}.toggle-btn.open svg{transform:rotate(90deg)}.toggle-col{flex:1;min-width:0}.toggle-empty{padding:3px 2px;margin-left:2px;color:var(--text-3);cursor:pointer;border-radius:4px;font-size:.95em}.toggle-empty:hover{background:var(--bg-hover)}.quote{flex:1;min-width:0;border-left:3px solid currentColor;padding-left:14px;margin:4px 0}.quote .block-text{font-size:1.15em}.callout{flex:1;min-width:0;display:flex;align-items:flex-start;gap:8px;padding:14px 16px 14px 12px;border-radius:6px;margin:4px 0}.callout-icon{font-size:1.3em;line-height:1.3;width:28px;height:28px;border-radius:4px;flex-shrink:0;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.callout-icon:hover{background:var(--bg-hover)}.divider{flex:1;padding:10px 2px;outline:none;border-radius:3px;cursor:default}.divider hr{border:none;border-top:1px solid var(--border-strong);margin:0}.divider:focus,.image-block:focus,.page-link:focus,.image-empty:focus{background:var(--accent-bg);outline:none}.code-block{flex:1;min-width:0;position:relative;background:var(--code-bg);border-radius:6px;margin:4px 0}.code-head{position:absolute;top:4px;right:8px;z-index:1;display:flex;gap:4px;padding:2px;border-radius:6px;background:var(--code-bg);align-items:center;opacity:0;transition:opacity .12s}.code-block:hover .code-head,.code-block:focus-within .code-head{opacity:1}.code-head select{border:none;background:transparent;color:var(--text-2);font-size:12px;outline:none;cursor:pointer}.code-text{font-family:var(--font-code);font-size:85%;line-height:1.6;padding:16px 20px!important;-moz-tab-size:2;tab-size:2;overflow-x:auto;white-space:pre!important}.image-empty{flex:1;display:flex;align-items:center;gap:8px;padding:12px;margin:4px 0;border-radius:6px;background:var(--bg-hover);color:var(--text-2)}.image-block{position:relative;flex:1;min-width:0;margin:6px 0;border-radius:4px;outline:none}.image-block img{display:block;max-width:100%;border-radius:4px}.image-actions{position:absolute;top:8px;right:8px;opacity:0}.image-block:hover .image-actions{opacity:1}.image-actions .btn{background:var(--popover);border-color:transparent;box-shadow:var(--card-shadow)}.page-link{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:3px 4px;margin:1px 0;border-radius:4px;cursor:pointer;line-height:1.5;outline:none}.page-link:hover{background:var(--bg-hover)}.page-link-icon{display:inline-flex;width:22px;justify-content:center;color:var(--text-2);font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.page-link-title{font-weight:500;border-bottom:1px solid var(--border-strong)}.page-link.gone .page-link-title{color:var(--text-3);font-weight:400}.slash-menu{width:328px;max-height:360px}.slash-item{display:flex;align-items:center;gap:10px;width:calc(100% - 8px);margin:0 4px;padding:5px 8px;border-radius:5px;text-align:left}.slash-item.active{background:var(--bg-hover)}.slash-icon{width:40px;height:40px;border-radius:6px;border:1px solid var(--border-strong);background:var(--bg);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.slash-text{flex:1;min-width:0;display:flex;flex-direction:column}.slash-label{font-size:14px}.slash-desc{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slash-hint{font-size:12px;color:var(--text-3);font-family:var(--font-code)}.inline-toolbar{display:flex;align-items:center;gap:1px;padding:3px 4px;min-width:0;overflow:visible}.tb-btn{height:30px;min-width:30px;padding:0 6px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:var(--text)}.tb-btn:hover{background:var(--bg-hover)}.tb-btn.active{color:var(--accent)}.tb-sep{width:1px;height:20px;background:var(--border-strong);margin:0 3px}.props-panel{margin:4px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.prop-line{display:flex;align-items:flex-start;min-height:34px}.prop-name{display:flex;align-items:center;gap:8px;width:170px;flex-shrink:0;height:34px;padding:0 6px;border-radius:4px;color:var(--text-2);font-size:14px;text-align:left}.prop-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-name:hover{background:var(--bg-hover)}.prop-value{flex:1;min-width:0;font-size:14px}.prop-value .cell{border-radius:4px;min-height:34px}.prop-value .cell:hover{background:var(--bg-hover)}.prop-add{display:flex;align-items:center;gap:8px;height:32px;padding:0 6px;border-radius:4px;color:var(--text-3);font-size:14px}.prop-add:hover{background:var(--bg-hover)}.prop-icon-box{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-2);flex-shrink:0}.cell{display:flex;align-items:center;gap:6px;min-height:33px;width:100%;padding:5px 8px;cursor:pointer;overflow:hidden;font-size:14px}.cell.num{justify-content:flex-end}.cell-text,.cell-link-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-link-text,.cell-link{text-decoration:underline;text-decoration-color:var(--text-3)}.cell-ext{width:22px;height:22px;opacity:0;margin-left:auto}.cell:hover .cell-ext{opacity:1}.cell-input{width:100%;min-height:33px;padding:5px 8px;border:none;outline:none;background:var(--popover);box-shadow:inset 0 0 0 2px var(--accent);border-radius:3px;font-size:14px}.date-input{border:none;background:transparent;outline:none;font-size:14px;color:var(--text);width:100%;cursor:pointer}.date-input:invalid,.date-input[value=""]{color:var(--text-3)}.tags-cell{flex-wrap:wrap;row-gap:4px}.tags{display:inline-flex;flex-wrap:wrap;gap:4px}.tag{display:inline-flex;align-items:center;gap:2px;height:20px;padding:0 6px;border-radius:3px;font-size:13px;line-height:1;white-space:nowrap;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis}.tag.status{border-radius:10px;padding:0 8px 0 7px}.tag.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.55;margin-right:5px}.tag-x{display:inline-flex;opacity:.6;margin-left:2px}.tag-x:hover{opacity:1}.opt-input{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:0 8px 4px;padding:4px 6px;min-height:32px;border-radius:6px;background:var(--input-bg);border:1px solid var(--border-strong)}.opt-input input{flex:1;min-width:80px;border:none;outline:none;background:transparent;font-size:14px}.opt-row .icon-btn{width:22px;height:22px;opacity:0}.opt-row:hover .icon-btn{opacity:1}.row-icon{display:inline-flex;align-items:center;color:var(--text-2);flex-shrink:0;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.db{margin-top:4px}.db-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.db-tabs{display:flex;align-items:center;gap:2px;overflow-x:auto;min-width:0}.db-tab{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 8px;font-size:14px;color:var(--text-2);border-bottom:2px solid transparent;white-space:nowrap}.db-tab:hover{color:var(--text)}.db-tab.active{color:var(--text);border-bottom-color:var(--text);font-weight:500}.db-tools{display:flex;align-items:center;gap:2px;padding:4px 0}.tool-btn{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 6px;border-radius:5px;color:var(--text-2);font-size:13px}.tool-btn:hover{background:var(--bg-hover)}.tool-btn.on{color:var(--accent)}.db-search{display:inline-flex;align-items:center;gap:4px;padding:0 6px;color:var(--text-2)}.db-search input{width:140px;border:none;outline:none;background:transparent;font-size:14px;color:var(--text)}.db-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px 0;color:var(--text-2)}.db-count{padding:8px;font-size:12px;color:var(--text-3)}.rule-row{display:flex;gap:6px;align-items:center;padding:4px 12px}.rule-row .input{flex:1}.layout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 12px 8px}.layout-choice{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:6px;border:1px solid var(--border-strong);font-size:12px;color:var(--text-2)}.layout-choice:hover{background:var(--bg-hover)}.layout-choice.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.table-wrap{overflow-x:auto;padding-bottom:4px}.table{display:inline-block;min-width:100%}.tr{display:flex;border-bottom:1px solid var(--border)}.th-row{border-bottom:1px solid var(--border)}.th,.td{flex-shrink:0;border-right:1px solid var(--border);min-height:33px;position:relative}.tr>.td:nth-last-child(2),.th-row>.th:nth-last-child(2){border-right:1px solid var(--border)}.th{display:flex;align-items:center;gap:6px;padding:0 8px;color:var(--text-2);font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.th:hover{background:var(--bg-hover)}.th-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th.add-col{border-right:none;width:40px;justify-content:center}.td.filler{flex:1;border-right:none}.col-resize{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:2}.col-resize:hover{background:var(--drop)}.tr:not(.th-row):hover{background:var(--bg-hover)}.title-cell{position:relative;font-weight:500}.title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:none;align-items:center;gap:4px;height:22px;padding:0 6px;border-radius:4px;background:var(--popover);box-shadow:var(--card-shadow);color:var(--text-2);font-size:11px;font-weight:600;text-transform:uppercase}.tr:hover .open-btn{display:inline-flex}.new-row{display:flex;align-items:center;gap:6px;width:100%;height:33px;padding:0 8px;color:var(--text-3);font-size:14px;border-bottom:1px solid var(--border)}.new-row:hover{background:var(--bg-hover)}.board{display:flex;gap:12px;overflow-x:auto;padding:12px 0 16px;align-items:flex-start}.board-col{width:260px;flex-shrink:0;padding:6px;border-radius:10px;transition:box-shadow .1s}.board-col.col-default{background:var(--bg-hover)}.board-col.col-gray{background:color-mix(in srgb,var(--b-gray) 70%,transparent)}.board-col.col-brown{background:color-mix(in srgb,var(--b-brown) 70%,transparent)}.board-col.col-orange{background:color-mix(in srgb,var(--b-orange) 70%,transparent)}.board-col.col-yellow{background:color-mix(in srgb,var(--b-yellow) 70%,transparent)}.board-col.col-green{background:color-mix(in srgb,var(--b-green) 70%,transparent)}.board-col.col-blue{background:color-mix(in srgb,var(--b-blue) 70%,transparent)}.board-col.col-purple{background:color-mix(in srgb,var(--b-purple) 70%,transparent)}.board-col.col-pink{background:color-mix(in srgb,var(--b-pink) 70%,transparent)}.board-col.col-red{background:color-mix(in srgb,var(--b-red) 70%,transparent)}.board-col.drag-over{box-shadow:inset 0 0 0 2px var(--drop)}.board-head{display:flex;align-items:center;gap:8px;padding:4px 4px 8px;font-size:13px}.card{background:var(--bg-card);border-radius:8px;box-shadow:var(--card-shadow);padding:8px 10px;margin-bottom:8px;cursor:pointer;font-size:14px}.card:hover{background:color-mix(in srgb,var(--bg-card) 94%,var(--text))}.card-title{display:flex;align-items:flex-start;gap:6px;font-weight:500;line-height:1.4;word-break:break-word}.card-prop{margin-top:6px;font-size:12px;color:var(--text-2)}.card-drop{height:3px;border-radius:2px;background:var(--drop);margin:-2px 0 6px}.board-new{display:flex;align-items:center;gap:6px;width:100%;height:32px;padding:0 8px;border-radius:6px;color:var(--text-3);font-size:14px}.board-new:hover{background:var(--bg-hover)}.list-view{padding-top:4px}.list-row{display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 6px;border-radius:5px;cursor:pointer;border-bottom:1px solid var(--border)}.list-row:hover{background:var(--bg-hover)}.list-title{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-props{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text-2);flex-wrap:wrap;justify-content:flex-end}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:16px 0}.gallery-card{border-radius:8px;box-shadow:var(--card-shadow);overflow:hidden;cursor:pointer;background:var(--bg-card)}.gallery-card .card{box-shadow:none;border-radius:0;margin:0;border-top:1px solid var(--border)}.gallery-preview{height:140px;background:var(--bg-hover);overflow:hidden}.gallery-text{padding:12px 14px;font-size:9px;line-height:1.5;color:var(--text-2)}.gallery-new{display:flex;align-items:center;justify-content:center;gap:6px;min-height:200px;border-radius:8px;border:1px dashed var(--border-strong);color:var(--text-3)}.gallery-new:hover{background:var(--bg-hover)}.calendar{padding:8px 0 16px}.cal-head{display:flex;align-items:center;gap:8px;padding:4px 0 10px}.cal-head h3{margin:0;font-size:15px;font-weight:600}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}.cal-weekday{padding:6px 8px;font-size:12px;color:var(--text-3);text-align:right;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.cal-cell{min-height:112px;padding:4px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden}.cal-cell.other{background:var(--bg-hover)}.cal-cell.other .cal-day span{color:var(--text-3)}.cal-cell.drag-over{box-shadow:inset 0 0 0 2px var(--drop)}.cal-day{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:4px;height:24px}.cal-day span{padding:0 6px;height:22px;min-width:22px;line-height:22px;text-align:center;border-radius:11px}.cal-day span.today{background:#eb5757;color:#fff!important;font-weight:600}.cal-add{width:22px;height:22px;opacity:0}.cal-cell:hover .cal-add{opacity:1}.cal-item{display:flex;gap:4px;align-items:center;padding:3px 6px;margin-bottom:4px;border-radius:4px;background:var(--bg-card);box-shadow:var(--card-shadow);font-size:12px;font-weight:500;cursor:pointer}.cal-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peek-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0f0f0f1f}.peek{position:fixed;top:0;right:0;bottom:0;width:min(960px,62vw);z-index:501;background:var(--bg);box-shadow:var(--shadow);display:flex;flex-direction:column;animation:peek-in .16s ease-out}@keyframes peek-in{0%{transform:translate(24px);opacity:0}}.peek-top{display:flex;align-items:center;gap:6px;height:44px;padding:0 10px;flex-shrink:0}.peek-scroll{flex:1;overflow-y:auto}.peek .page{--page-pad: 64px}.peek .page-header{padding-top:24px}@media (max-width: 900px){.page,.page.db-page,.peek .page{--page-pad: 28px}.page-title{font-size:32px}.peek{width:100vw}.hide-mobile{display:none}}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;z-index:600;box-shadow:var(--shadow)}.sb-open .sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:599;background:#0f0f0f66}.sb-resizer,.block-handle{display:none}.page,.page.db-page,.peek .page{--page-pad: 16px}.shortcuts dl{grid-template-columns:1fr}.prop-name{width:120px}}.date-input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}.cell:hover .date-input::-webkit-calendar-picker-indicator{opacity:.5}.date-input.empty:not(:focus){color:transparent}.cell:hover .date-input.empty:not(:focus){color:var(--text-3)}.callout-body{flex:1;min-width:0}.callout-children{margin-top:4px}.callout-children .block-handle{left:-40px}.block-row.type-columns>.block-inner>.block-handle{top:6px}.columns-row{flex:1;min-width:0;display:flex;gap:46px}.block-row.type-column{min-width:0}.block-row.type-column>.block-inner>.block-handle{display:none}.column-col{flex:1;min-width:0}.column-empty{color:var(--text-3);padding:4px 2px;cursor:text;font-size:14px}.ro .column-empty{visibility:hidden}@media (max-width: 700px){.columns-row{flex-direction:column;gap:0}}.table-block{flex:1;min-width:0;position:relative;outline:none;padding:4px 0 18px}.table-scroll{display:flex;align-items:stretch;overflow-x:auto}.simple-table{border-collapse:collapse;min-width:40%}.simple-table td,.simple-table th{border:1px solid var(--border-strong);padding:0;vertical-align:top;text-align:left;font-weight:400;min-width:120px}.simple-table th{background:var(--bg-sidebar);font-weight:600}.table-cell{padding:6px 8px;min-height:1.5em;outline:none;line-height:1.5}.table-add-col,.table-add-row{display:flex;align-items:center;justify-content:center;color:var(--text-3);border-radius:4px;opacity:0;transition:opacity .1s}.table-add-col{width:18px;margin-left:4px}.table-add-row{position:absolute;left:0;right:0;bottom:0;height:16px}.table-block:hover .table-add-col,.table-block:hover .table-add-row{opacity:1}.table-add-col:hover,.table-add-row:hover{background:var(--bg-hover)}.table-tools{position:absolute;bottom:100%;left:0;z-index:5;display:flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:6px;background:var(--bg);box-shadow:var(--card-shadow)}.table-tools .btn.on{background:var(--bg-hover);color:var(--accent, inherit)}.ro .table-add-col,.ro .table-add-row{display:none}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;color:#fff;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.avatar.ring{box-shadow:0 0 0 2px var(--bg)}.avatar.more{width:24px;height:24px;font-size:11px;background:var(--bg-active);color:var(--text-2)}.presence-avatars{display:inline-flex;margin:0 4px}.presence-avatars .avatar+.avatar{margin-left:-6px}.sync-status{display:inline-flex;padding:4px;color:var(--c-green)}.sync-status.connecting{color:var(--c-yellow)}.sync-status.offline{color:var(--danger)}.share-btn{gap:4px}.person-chip{display:inline-flex;align-items:center;gap:5px;margin-right:6px;white-space:nowrap}.tree-presence{display:inline-flex;gap:2px;margin-right:4px}.presence-dot{width:7px;height:7px;border-radius:50%}.block-row:after{position:absolute;top:-8px;right:0;padding:0 5px;border-radius:3px;color:#fff;font-size:10px;line-height:15px;pointer-events:none;z-index:2}.block-row.flash{animation:flash 1.2s ease}@keyframes flash{0%,40%{background:var(--accent-bg)}to{background:transparent}}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg-sidebar)}.login-card{width:min(380px,100%);background:var(--bg);border-radius:12px;box-shadow:var(--card-shadow);padding:28px 28px 24px;display:flex;flex-direction:column;gap:12px}.login-logo{font-size:34px;text-align:center}.login-brand{text-align:center;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:-4px 0 6px}.login-card h1{font-size:20px;text-align:center;margin:0}.login-tabs{display:flex;gap:4px;padding:3px;border-radius:8px;background:var(--bg-hover)}.login-tabs button{flex:1;padding:6px;border-radius:6px;color:var(--text-2)}.login-tabs button.active{background:var(--bg);color:var(--text);box-shadow:var(--card-shadow)}.login-error{padding:8px 10px;border-radius:6px;background:var(--b-red);color:var(--c-red);font-size:13px}.login-submit{justify-content:center;padding:8px}.login-hint{text-align:center;margin:0}.password-form{display:flex;flex-direction:column;gap:12px}.password-box,.temp-password{display:flex;flex-direction:column;gap:8px;margin:12px 0;padding:12px;border-radius:8px;background:var(--bg-hover)}.temp-password p{margin:0}.temp-password .copy-field code{font-size:16px;letter-spacing:1px}.password-box>.btn,.temp-password>.btn{align-self:flex-start}.copy-field{display:flex;align-items:center;gap:8px;margin:6px 0}.copy-field code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px;border-radius:6px;background:var(--input-bg);border:1px solid var(--border);font-family:var(--font-code);font-size:12.5px}.join-code{display:flex;align-items:center;gap:10px;margin:6px 0}.join-code .code{font-family:var(--font-code);font-size:18px;letter-spacing:2px;font-weight:600}.people{margin:12px 0;display:flex;flex-direction:column;gap:4px}.person-row{display:flex;align-items:center;gap:10px;padding:4px 0}.person-info{flex:1;min-width:0;font-size:14px}.avatar-wrap{position:relative;display:inline-flex}.online-dot{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;border:2px solid var(--popover);background:var(--text-3)}.online-dot.on{background:#2fb170}.start-panel{margin:24px 0 8px;padding-left:2px}.start-label{font-size:13px;color:var(--text-3);margin-bottom:8px}.start-grid{display:flex;flex-wrap:wrap;gap:6px}.start-item{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;border:1px solid var(--border-strong);color:var(--text-2);font-size:14px}.start-item:hover{background:var(--bg-hover);color:var(--text)}.modal.templates-modal{width:min(960px,calc(100vw - 32px));height:76vh;display:flex;overflow:hidden;padding:0}.tpl-side{width:250px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border);overflow-y:auto;padding:10px 6px}.tpl-side-head{display:flex;align-items:center;gap:6px;font-weight:600;padding:6px 10px 10px}.tpl-group{font-size:12px;color:var(--text-3);padding:10px 10px 4px}.tpl-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:6px;cursor:pointer;font-size:14px}.tpl-item:hover{background:var(--bg-hover)}.tpl-item.active{background:var(--bg-active)}.tpl-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-item .icon-btn{opacity:0}.tpl-item:hover .icon-btn{opacity:1}.tpl-hint{padding:12px 10px}.tpl-main{flex:1;min-width:0;display:flex;flex-direction:column}.tpl-main-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border)}.tpl-preview{flex:1;overflow-y:auto;padding:28px 48px}.tpl-icon{font-size:44px;line-height:1.1}.tpl-title{font-size:30px;font-weight:700;margin:8px 0 6px}.tpl-board{display:block;width:100%;height:auto;margin-top:14px;border:1px solid var(--border);border-radius:8px;background:var(--board-bg)}.tpl-blocks{display:flex;flex-direction:column;gap:4px;margin-top:14px}.tpl-h1{font-size:22px;font-weight:600;margin-top:10px}.tpl-h2{font-size:18px;font-weight:600;margin-top:10px}.tpl-h3{font-size:15px;font-weight:600;margin-top:6px}.tpl-line{display:flex;align-items:center;gap:6px;min-height:22px}.tpl-box{width:14px;height:14px;border:1.5px solid var(--text-2);border-radius:3px}.tpl-callout{padding:10px 12px;border-radius:6px;background:var(--b-gray)}.tpl-quote{border-left:3px solid currentColor;padding-left:12px;min-height:22px}.tpl-db{margin-top:12px;font-size:13px}.tpl-db-views{display:flex;gap:12px;color:var(--text-2);border-bottom:1px solid var(--border);padding-bottom:6px;margin-bottom:4px}.tpl-db table{width:100%;border-collapse:collapse}.tpl-db th,.tpl-db td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);font-weight:400;white-space:nowrap}.tpl-db th{color:var(--text-2)}.toc{display:flex;flex-direction:column;align-items:flex-start;padding:4px 0;outline:none;border-radius:4px;flex:1}.toc:focus{background:var(--accent-bg)}.toc-item{text-align:left;padding:3px 2px;color:var(--text-2);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px;font-size:14px}.toc-item:hover{color:var(--text);background:var(--bg-hover)}.toc-h2{margin-left:22px}.toc-h3{margin-left:44px}.toc-empty{color:var(--text-3);font-size:14px;padding:3px 2px}.comments{margin:40px 0 24px;padding-top:14px;border-top:1px solid var(--border)}.comments-head{display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:14px;margin-bottom:10px}.comments-head .count{font-size:12px;background:var(--bg-active);border-radius:10px;padding:0 7px}.comment{display:flex;gap:10px;padding:8px 6px;border-radius:6px}.comment:hover{background:var(--bg-hover)}.comment.resolved{opacity:.6}.comment-body{flex:1;min-width:0}.comment-meta{font-size:13px;display:flex;gap:6px;align-items:baseline}.comment-text{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}.comment-actions{display:flex;opacity:0}.comment:hover .comment-actions{opacity:1}.comment-new{display:flex;align-items:flex-start;gap:10px;padding:6px}.comment-input{flex:1;resize:none;border:none;outline:none;background:transparent;font:inherit;font-size:14px;color:var(--text);padding:3px 0;min-height:24px}.comment-input::placeholder{color:var(--text-3)}.comment-new .send:disabled{opacity:.35}.timeline{margin-top:4px}.tl-head-bar{display:flex;align-items:center;gap:8px;padding:6px 0}.segmented.small button{padding:2px 10px;font-size:13px}.tl-scroll{overflow:auto;max-height:70vh;border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative}.tl-scroll.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.tl-inner{position:relative}.tl-row{display:flex;height:36px;border-bottom:1px solid var(--border)}.tl-name{position:sticky;left:0;z-index:3;width:240px;flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--bg);border-right:1px solid var(--border);cursor:pointer;font-size:14px;overflow:hidden;white-space:nowrap}.tl-name .title-text{overflow:hidden;text-overflow:ellipsis}.tl-name:hover{background:var(--bg-sidebar)}.tl-name.add-row{color:var(--text-3);text-align:left}.tl-track{position:relative;flex-shrink:0}.tl-track.unscheduled{cursor:copy}.tl-track.unscheduled:hover{background-color:var(--bg-hover)}.tl-header{position:sticky;top:0;z-index:5;height:48px;background:var(--bg)}.tl-corner{color:var(--text-3);font-size:13px;cursor:default;z-index:6}.tl-corner:hover{background:var(--bg)}.tl-months,.tl-ticks{position:relative;height:24px}.tl-month{position:absolute;top:0;height:24px;font-size:12px;font-weight:600;color:var(--text-2);border-left:1px solid var(--border);white-space:nowrap}.tl-month span{position:sticky;left:250px;padding:0 6px;line-height:24px}.tl-tick{position:absolute;top:0;height:24px;line-height:24px;font-size:11.5px;color:var(--text-3);text-align:center}.tl-tick.weekend{background:var(--bg-hover)}.tl-tick.today{color:#fff;font-weight:600;background:var(--danger);border-radius:10px}.tl-body{position:relative}.tl-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--danger);opacity:.7;z-index:2;pointer-events:none}.tl-bar{position:absolute;top:6px;height:24px;border-radius:5px;display:flex;align-items:center;cursor:grab;box-shadow:var(--card-shadow);font-size:13px;z-index:1;touch-action:none}.tl-bar.active{cursor:grabbing;box-shadow:var(--shadow);z-index:4}.tl-bar-label{position:absolute;left:0;padding:0 10px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis;pointer-events:none}.tl-bar-label[style]{overflow:visible;max-width:none}.tl-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:1}.tl-handle.left{left:0}.tl-handle.right{right:0}.tl-handle:after{content:"";position:absolute;top:6px;bottom:6px;left:3px;width:2px;border-radius:1px;background:currentColor;opacity:0}.tl-bar:hover .tl-handle:after{opacity:.35}@media print{.sidebar,.topbar,.peek,.peek-overlay,.page-header-actions,.block-handle,.comments,.start-panel,.cover-actions,.db-tools,.db-tab.add,.inline-toolbar{display:none!important}.app,.main,.scroller{display:block!important;height:auto!important;overflow:visible!important}body{background:#fff}.block-row:after{display:none}}.tl-arrows{position:absolute;top:0;z-index:1;pointer-events:none;overflow:visible}.tl-bar{z-index:2}.tl-arrow-line{fill:none;stroke:var(--text-3);stroke-width:1.5}.tl-arrow.late .tl-arrow-line{stroke:var(--danger);stroke-dasharray:4 3}.tl-arrow-line.drawing{stroke:var(--accent);stroke-dasharray:4 3}.tl-arrow-hit{fill:none;stroke:transparent;stroke-width:10;pointer-events:stroke;cursor:pointer}.tl-arrow:hover .tl-arrow-line{stroke:var(--accent);stroke-width:2}.tl-link-dot{position:absolute;right:-14px;top:7px;width:10px;height:10px;border-radius:50%;border:2px solid var(--accent);background:var(--bg);cursor:crosshair;opacity:0;z-index:3}.tl-bar:hover .tl-link-dot,.tl-scroll.dragging .tl-link-dot{opacity:1}.tl-bar.link-target:hover{outline:2px solid var(--accent);outline-offset:1px}.tl-warn{color:var(--danger)}.relation-chip{display:inline-flex;align-items:center;gap:4px;margin-right:8px;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}.block-row.type-database{margin:8px 0}.inline-db{flex:1;min-width:0;outline:none;border-radius:4px}.inline-db:focus{box-shadow:0 0 0 2px var(--accent-bg)}.inline-db-head{display:flex;align-items:center;gap:6px;margin-bottom:2px}.inline-db-icon:empty{display:none}.inline-db-title{flex:1;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:20px;font-weight:700;color:var(--text);padding:4px 0}.inline-db-title::placeholder{color:var(--text-3)}.inline-db-open{opacity:0}.inline-db:hover .inline-db-open{opacity:1}.inline-db .db-bar{margin-top:0}.editor-empty-hint{color:var(--text-3);font-size:14px;padding:10px 2px;cursor:text}.editor-empty-hint:hover{color:var(--text-2)}:root{--board-ink: #1f1f1f;--board-dot: rgba(55, 53, 47, .16);--board-bg: #fbfbfa;--board-sel: #2383e2}[data-theme=dark]{--board-ink: #e9e9e7;--board-dot: rgba(255, 255, 255, .12);--board-bg: #1e1e1e}.page.board-page{display:flex;flex-direction:column;height:100%;padding-bottom:0}.page.board-page .page-header{max-width:none;padding:0 24px}.page.board-page .page-title{font-size:28px;margin-bottom:8px}.wb{position:relative;overflow:hidden;background:var(--board-bg);user-select:none;-webkit-user-select:none}.wb.full{flex:1;min-height:380px;margin:0 16px 16px;border:1px solid var(--border);border-radius:10px}.wb.inline{height:440px;border:1px solid var(--border);border-radius:8px}.wb.inline.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.wb-canvas{position:absolute;top:0;right:0;bottom:0;left:0;outline:none;touch-action:none;background-image:radial-gradient(circle,var(--board-dot) 1.2px,transparent 1.3px)}.wb-world{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0}.bi{position:absolute;box-sizing:border-box}.bi-note{border-radius:3px;box-shadow:0 1px 2px #0000001f,0 6px 14px #00000014;color:#1f1f1f;padding:14px;display:flex}.bi-label{margin:auto;width:100%;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.25;overflow:hidden;max-height:100%;pointer-events:none}.bi-note .bi-label{font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive}.bi-shape{display:flex;padding:10%;color:var(--board-ink)}.bi-shape .bi-label,.bi-shape .bi-editor{position:relative}.bi-svg{position:absolute;left:0;top:0;overflow:visible}.bi-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.3;padding:2px 4px}.bi-placeholder{opacity:.35}.bi-image img{width:100%;height:100%;object-fit:fill;display:block;border-radius:4px;pointer-events:none}.bi-path,.bi-arrow{position:absolute;overflow:visible;pointer-events:none}.bi-path.highlighter path:first-child{opacity:.38}.bi-hit{stroke:transparent;fill:none;pointer-events:stroke}.bi-editor{width:100%;height:100%;margin:auto;border:none;outline:none;resize:none;background:transparent;color:inherit;font:inherit;text-align:center;line-height:1.25;padding:0;overflow:hidden;-webkit-user-select:text;user-select:text}.bi-text .bi-editor{text-align:left;line-height:1.3}.bsel{position:absolute;border:1.5px solid var(--board-sel);border-radius:3px;pointer-events:none;margin:-1px 0 0 -1px;box-sizing:content-box}.bsel.locked{border-style:dashed}.bsel-handle,.bsel-end,.bsel-conn{position:absolute;width:11px;height:11px;background:#fff;border:1.5px solid var(--board-sel);border-radius:3px;margin:0;z-index:2}.bsel-handle.h-nw,.bsel-handle.h-se{cursor:nwse-resize}.bsel-handle.h-ne,.bsel-handle.h-sw{cursor:nesw-resize}.bsel-handle.h-e,.bsel-handle.h-w{cursor:ew-resize}.bsel-end{border-radius:50%;cursor:move}.bsel-conn{width:10px;height:10px;border-radius:50%;background:var(--board-sel);border-color:#fff;opacity:.55;cursor:crosshair}.bsel-conn:hover{opacity:1}.bmarquee{position:absolute;border:1px solid var(--board-sel);background:#2383e214;pointer-events:none}.bcursor{position:absolute;pointer-events:none;transform-origin:0 0;z-index:5;transition:left 80ms linear,top 80ms linear}.bcursor span{position:absolute;left:14px;top:16px;color:#fff;font-size:12px;padding:1px 6px;border-radius:4px;white-space:nowrap}.wb-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-3);pointer-events:none;text-align:center;padding:20px}.wb-empty b{font-size:18px}.wb-inline-hint{position:absolute;left:10px;top:10px;font-size:12px;color:var(--text-3);background:var(--bg);border:1px solid var(--border);padding:2px 8px;border-radius:6px;pointer-events:none}.bt-ui{position:absolute;display:flex;align-items:center;gap:2px;padding:4px;background:var(--bg);border-radius:10px;box-shadow:var(--shadow);z-index:10;-webkit-user-select:none;user-select:none}.bt-main{left:50%;bottom:14px;transform:translate(-50%);width:max-content;max-width:calc(100% - 24px);flex-wrap:wrap;justify-content:center}.bt-zoom{right:12px;top:12px}.bt-context{transform:translate(-50%);width:max-content;flex-wrap:wrap;max-width:560px;z-index:11}.bt-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border:none;background:none;border-radius:7px;color:var(--text);cursor:pointer;padding:0 4px}.bt-btn.txt{font-size:12px;font-weight:600;padding:0 7px}.bt-btn:hover{background:var(--bg-hover)}.bt-btn.active{background:var(--accent-bg);color:var(--accent)}.bt-btn.danger:hover{color:#e03131}.bt-sep{width:1px;height:20px;background:var(--border);margin:0 4px}.bt-colors{display:flex;gap:3px;padding:0 2px}.bt-color{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.15);cursor:pointer;padding:0}.bt-color.active{outline:2px solid var(--accent);outline-offset:1px}.bt-dot{display:inline-block;border-radius:50%;background:var(--text)}.bt-shapes{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);display:flex;gap:2px;padding:4px;background:var(--bg);border-radius:10px;box-shadow:var(--shadow)}.inline-board .inline-db-head{margin-bottom:6px}@media (max-width: 640px){.wb.full{margin:0 8px 8px}.bt-context{max-width:calc(100% - 16px)}}@media print{.bt-ui,.wb-inline-hint{display:none}}.bt-sheets{position:relative;display:inline-flex}.bt-sheet-btn{gap:5px;padding:0 6px}.bt-sheet-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.bt-sheet-count{font-size:11px;font-weight:600;min-width:16px;height:16px;line-height:16px;padding:0 4px;border-radius:8px;background:var(--bg-active);color:var(--text-2)}.wb-sheets-pop{position:absolute;bottom:calc(100% + 10px);right:-4px;width:250px;max-height:340px;overflow-y:auto;padding:4px;background:var(--bg);border-radius:10px;box-shadow:var(--shadow);z-index:20;font-size:13px}.wb-sheet-row{display:flex;align-items:center;gap:6px;padding:0 4px 0 6px;height:32px;border-radius:6px;cursor:pointer;color:var(--text)}.wb-sheet-row:hover{background:var(--bg-hover)}.wb-sheet-row.active{font-weight:600}.wb-sheet-check{width:14px;display:inline-flex;color:var(--accent);flex-shrink:0}.wb-sheet-row .wb-sheet-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-sheet-input{flex:1;min-width:0;font:inherit;padding:3px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--bg);color:var(--text);outline:none}.wb-sheet-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.wb-sheet-more{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;color:var(--text-3);border-radius:4px;cursor:pointer;opacity:0}.wb-sheet-row:hover .wb-sheet-more,.wb-sheet-more.active{opacity:1}.wb-sheet-more:hover,.wb-sheet-more.active{background:var(--bg-active);color:var(--text)}.wb-sheet-actions{display:flex;gap:2px;padding:2px 4px 4px 26px}.wb-sheet-actions button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;border:1px solid var(--border);background:var(--bg);color:var(--text-2);border-radius:5px;cursor:pointer}.wb-sheet-actions button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.wb-sheet-actions button.danger:hover:not(:disabled){color:#e03131}.wb-sheet-actions button:disabled{opacity:.35;cursor:default}.wb-sheets-sep{height:1px;background:var(--border);margin:4px 2px}.wb-sheet-new{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;border:none;background:none;color:var(--text-2);font:inherit;border-radius:6px;cursor:pointer}.wb-sheet-new:hover{background:var(--bg-hover);color:var(--text)}.bt-menu{position:absolute;display:flex;flex-direction:column;min-width:170px;padding:4px;background:var(--bg);border-radius:8px;box-shadow:var(--shadow);z-index:20}.bt-menu button{text-align:left;border:none;background:none;color:var(--text);font:inherit;font-size:13px;padding:6px 10px;border-radius:5px;cursor:pointer}.bt-menu button:hover{background:var(--bg-hover)}.bt-move{position:relative;display:inline-flex}.bt-menu{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.bt-menu-label{font-size:11px;color:var(--text-3);padding:4px 10px 2px}.file-empty{flex-wrap:wrap}.file-empty.drag-over{background:var(--accent-bg);outline:2px dashed var(--accent)}.file-empty-text{color:var(--text-2)}.file-empty-hint{flex-basis:100%;font-size:12px;color:var(--text-3);padding-left:26px}.file-block{flex:1;min-width:0;margin:3px 0;outline:none}.file-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-card);cursor:pointer;max-width:560px}.file-card:hover,.file-block:focus .file-card{background:var(--bg-hover)}.file-block:focus .file-card{box-shadow:0 0 0 2px var(--accent-bg)}.file-icon{display:inline-flex;flex-shrink:0}.file-info{display:flex;flex-direction:column;min-width:0;flex:1}.file-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:12px;color:var(--text-3)}.file-actions{display:flex;gap:2px;opacity:0;transition:opacity .1s}.file-card:hover .file-actions,.file-block:focus .file-actions{opacity:1}.file-media{display:block;margin-top:6px;max-width:560px;width:100%;border-radius:8px}video.file-media{max-height:360px;background:#000}.bi-file{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 1px 2px #00000014,0 4px 12px #0000000f;color:var(--text);overflow:hidden}.bi-file-icon{display:inline-flex;flex-shrink:0}.bi-file-info{display:flex;flex-direction:column;min-width:0;pointer-events:none}.bi-file-name{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bi-file-meta{font-size:12px;color:var(--text-3)}@media print{.file-actions{display:none}}.file-actions.visible{opacity:1}.bi-links{position:absolute;left:8px;top:8px;right:8px;display:flex;flex-wrap:wrap;gap:4px;pointer-events:none;z-index:1}.bi-link{position:relative;pointer-events:auto;display:inline-flex;align-items:center;gap:3px;max-width:calc(100% - 12px);padding:2px 8px 2px 5px;border:0;border-radius:999px;background:#ffffffeb;color:#1f1f1f;font-size:12px;font-weight:500;line-height:1.5;box-shadow:0 1px 3px #00000038;cursor:pointer;z-index:1}.bi-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bi-link:hover{background:#fff;color:#2383e2}.bt-go{gap:4px;width:auto;padding:0 8px;font-size:13px}.bt-go span{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-menu .bt-menu-new{display:flex;align-items:center;gap:6px;font-weight:500}.wb-back{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:10px;background:var(--bg);color:var(--text);font-size:13px;box-shadow:var(--shadow);cursor:pointer}.wb-back:hover{background:var(--bg-hover)}.bt-link-menu{width:300px;max-height:min(340px,70vh);overflow-y:auto}.bt-link-new{display:grid;grid-template-columns:1fr 1fr}.bt-link-search{display:flex;align-items:center;gap:6px;margin:2px 6px 4px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;color:var(--text-3)}.bt-link-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font:inherit;font-size:13px}.bt-menu .bt-link-icon{display:inline-flex;width:18px;justify-content:center;margin-right:4px;vertical-align:-2px}.bt-menu-empty{padding:4px 10px 6px;font-size:12px;color:var(--text-3)}.bi-link-emoji{font-size:12px}.ro-banner{display:flex;align-items:center;gap:8px;justify-content:center;padding:7px 12px;font-size:13px;color:var(--text-2);background:var(--bg-hover);border-bottom:1px solid var(--border)}.ro .page-header-actions,.ro .cover-actions,.ro .block-handle,.ro .handle-btn,.ro .comment-new,.ro .comment-actions,.ro .image-actions,.ro .new-row,.ro .board-new,.ro .gallery-new,.ro .db-new,.ro .bt-main.bt-readonly>:not(.bt-sheets),.ro .bt-main.bt-readonly>.bt-sep{display:none!important}.ro .tl-bar,.ro .tl-handle,.ro .tl-arrow,.ro .tl-track,.ro .page-icon{pointer-events:none}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:1000;max-width:min(520px,calc(100vw - 32px));padding:10px 16px;border-radius:8px;background:#2f2f2f;color:#fff;font-size:13.5px;box-shadow:0 6px 24px #00000040;animation:toast-in .15s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.share-pop .share-head{padding:10px 12px 4px;font-weight:600;font-size:14px}.share-pop .share-note{padding:2px 12px 8px;font-size:12.5px;color:var(--text-3)}.share-row{display:flex;align-items:center;gap:10px;padding:6px 12px;font-size:13.5px}.share-row .share-who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-row select{font:inherit;font-size:12.5px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:3px 6px}.share-row .share-fixed{font-size:12.5px;color:var(--text-3)}.share-general-icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-hover);color:var(--text-2)}.share-foot{display:flex;gap:8px;flex-wrap:wrap;padding:8px 12px 10px}.tree-lock{display:inline-flex;color:var(--text-3);margin-left:2px}.bt-has-links{position:relative;color:var(--accent)}.bt-count{position:absolute;right:1px;top:0;min-width:13px;height:13px;padding:0 3px;border-radius:7px;background:var(--accent);color:#fff;font-size:9.5px;line-height:13px;text-align:center}.bt-link-row{display:flex;align-items:center}.bt-menu .bt-link-row .bt-link-go{flex:1;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-menu .bt-link-row .bt-link-x{padding:4px 6px;color:var(--text-3)}.bt-menu .bt-link-row .bt-link-x:hover{color:#e03e3e}.login-out{align-self:center}.mention{color:var(--accent);background:var(--accent-bg);border-radius:4px;padding:0 3px;font-weight:500;white-space:nowrap}.mention-menu{width:280px}.notif-btn{position:relative}.notif-badge{position:absolute;top:1px;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--danger);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 4px}.notif-perm{padding:4px 12px 8px}.notif-list{max-height:min(420px,60vh);overflow-y:auto;padding-bottom:4px}.notif-item{display:flex;gap:10px;width:calc(100% - 8px);margin:0 4px;padding:8px;border-radius:6px;text-align:left;align-items:flex-start}.notif-item:hover{background:var(--bg-hover)}.notif-item.unread{background:var(--accent-bg)}.notif-icon{flex:none;width:26px;display:inline-flex;justify-content:center;color:var(--text-2)}.notif-body{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-text{font-size:13.5px;line-height:1.35}.notif-time{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-3)}.modal.history-modal{width:min(960px,calc(100vw - 32px));height:76vh;display:flex;overflow:hidden}.hv-side{width:240px;flex:none;border-right:1px solid var(--border);overflow-y:auto;background:var(--bg-sidebar)}.hv-head{display:flex;align-items:center;gap:6px;padding:14px 14px 8px}.hv-item{display:flex;flex-direction:column;width:calc(100% - 12px);margin:0 6px 2px;padding:7px 8px;border-radius:6px;text-align:left;font-size:13.5px}.hv-item:hover{background:var(--bg-hover)}.hv-item.active{background:var(--accent-bg)}.hv-main{flex:1;min-width:0;display:flex;flex-direction:column}.hv-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border)}.hv-bar>.muted{flex:1}.hv-preview{padding:20px 32px 40px;overflow-y:auto;line-height:1.6;white-space:pre-wrap}.hv-preview h1{font-size:28px;margin:0 0 12px}.hv-h1{font-size:22px;font-weight:600;margin-top:10px}.hv-h2{font-size:18px;font-weight:600;margin-top:8px}.hv-h3{font-size:16px;font-weight:600}.hv-quote{border-left:3px solid var(--border-strong);padding-left:10px}@media (max-width: 700px){.modal.history-modal{flex-direction:column;height:86vh}.hv-side{width:auto;max-height:32vh;border-right:none;border-bottom:1px solid var(--border)}.hv-preview{padding:16px}}.ai-assistant{position:fixed;z-index:950;width:min(510px,calc(100vw - 16px));max-height:min(520px,calc(100vh - 16px));display:flex;flex-direction:column;padding:0;overflow:hidden}.ai-head{display:flex;align-items:center;gap:6px;padding:10px 12px 6px;color:var(--c-purple)}.ai-head .muted{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3)}.ai-ask{display:flex;gap:8px;align-items:flex-end;padding:4px 12px 8px}.ai-ask textarea,.ask-input textarea,.rca-body textarea{flex:1;resize:none;border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;background:var(--input-bg);color:var(--text);font:inherit;font-size:14px}.ai-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 12px}.ai-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:14px;border:1px solid var(--border-strong);font-size:13px;background:var(--bg)}.ai-chip:hover{background:var(--bg-hover)}.ai-result{flex:1;overflow-y:auto;padding:4px 16px 10px;min-height:60px}.ai-thinking{animation:ai-pulse 1.2s ease-in-out infinite}@keyframes ai-pulse{50%{opacity:.4}}.ai-error{color:var(--danger);font-size:13.5px;padding:6px 0}.ai-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px 10px;border-top:1px solid var(--border)}.ai-note{font-size:11.5px;color:var(--text-3);margin-left:auto}.ai-md{font-size:14.5px;line-height:1.55}.ai-md p{margin:4px 0}.ai-md .ai-h1{font-size:20px;font-weight:600;margin:12px 0 4px}.ai-md .ai-h2{font-size:17px;font-weight:600;margin:10px 0 4px}.ai-md .ai-h3{font-size:15px;font-weight:600;margin:8px 0 2px}.ai-md .ai-li{margin:2px 0}.ai-md .ai-quote{border-left:3px solid var(--border-strong);padding-left:10px}.ai-md a{color:var(--accent)}.ai-table{border-collapse:collapse;margin:8px 0;font-size:13.5px;width:100%}.ai-table td,.ai-table th{border:1px solid var(--border-strong);padding:4px 8px;text-align:left;vertical-align:top}.ai-table th{background:var(--bg-sidebar)}.tb-ai{width:auto!important;gap:4px;padding:0 8px!important;color:var(--c-purple);font-weight:600;font-size:13px}.ask-panel{position:fixed;top:0;right:0;bottom:0;z-index:800;width:min(420px,100vw);display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--border);box-shadow:-6px 0 24px #0f0f0f14}.ask-head{display:flex;align-items:center;gap:6px;padding:12px 12px 10px 16px;border-bottom:1px solid var(--border);color:var(--c-purple)}.ask-head .spacer{flex:1}.ask-body{flex:1;overflow-y:auto;padding:12px 16px}.ask-empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.ask-turn{margin-bottom:18px}.ask-q{display:inline-block;max-width:90%;margin:0 0 8px auto;padding:7px 12px;border-radius:12px;background:var(--accent-bg);font-size:14px;float:right;clear:both}.ask-a{clear:both}.ask-input{display:flex;gap:6px;align-items:flex-end;padding:10px 12px 4px;border-top:1px solid var(--border)}.ask-note{padding:0 14px 10px;margin:0}.modal.rca-modal{width:min(680px,calc(100vw - 32px))}.rca-modal h2{display:flex;align-items:center;gap:8px}.rca-body{display:flex;flex-direction:column;gap:10px;padding:12px 20px 18px}.rca-foot{display:flex;align-items:center;gap:10px}.rca-foot .ai-note{margin-left:0;flex:1}.qr-modal{width:min(520px,94vw);padding:18px 20px}.qr-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.qr-head strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qr-big{width:220px;height:220px;margin:10px auto 6px;background:#fff;padding:8px;border-radius:8px}.qr-big svg{width:100%;height:100%;display:block}.qr-link{text-align:center;font-size:12px;color:var(--text-muted, #787774);word-break:break-all;margin-bottom:10px}.qr-warn{background:#dfab0124;border-radius:6px;padding:8px 10px}.qr-label{font-size:12px;font-weight:600;color:var(--text-muted, #787774);margin:12px 0 4px}.qr-fields{display:flex;flex-wrap:wrap;gap:4px 14px}.qr-rows{max-height:220px;overflow:auto;border:1px solid var(--border, rgba(55, 53, 47, .16));border-radius:6px;padding:6px 8px;margin-bottom:12px}.qr-check{display:flex;align-items:center;gap:6px;font-size:14px;padding:2px 0;cursor:pointer}.qr-modal .btn-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.qr-modal select.input{width:auto}.stage-bar{margin:4px 0 14px}.stage-steps{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.stage{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;min-height:36px;border-radius:999px;border:1px solid var(--border, rgba(55, 53, 47, .16));background:transparent;color:var(--text-muted, #787774);font-size:14px;cursor:pointer;position:relative}.stage:not(.hold):not(.note)+.stage:not(.hold):not(.note):before{content:"";position:absolute;left:-7px;top:50%;width:6px;border-top:1px solid var(--border, rgba(55, 53, 47, .25))}.stage.done{color:var(--text, #37352f);background:#0f7b6c14;border-color:#0f7b6c4d}.stage.done svg{color:#0f7b6c}.stage.current.c-gray{background:var(--t-gray)}.stage.current.c-blue{background:var(--t-blue)}.stage.current.c-purple{background:var(--t-purple)}.stage.current.c-orange{background:var(--t-orange)}.stage.current.c-green{background:var(--t-green)}.stage.current.c-red{background:var(--t-red)}.stage.current.c-yellow{background:var(--t-yellow)}.stage.current.c-teal{background:var(--t-teal)}.stage.current.c-pink{background:var(--t-pink)}.stage.current.c-brown{background:var(--t-brown)}.stage.current{color:var(--text, #37352f);font-weight:600;border-color:transparent;box-shadow:0 0 0 2px #2383e259;cursor:default}.stage.hold{border-style:dashed;border-color:#e03e3e73;color:#e03e3e}.stage.hold.current{color:var(--text, #37352f);border-style:solid}.stage.note{border-style:dashed;margin-left:auto}.stage:disabled:not(.current){cursor:default;opacity:.75}.stage:not(:disabled):hover{background:var(--hover, rgba(55, 53, 47, .08))}.stage-form{margin-top:10px;padding:12px;border:1px solid var(--border, rgba(55, 53, 47, .16));border-radius:8px;display:flex;flex-direction:column;gap:8px;max-width:560px}.stage-form-head{display:flex;justify-content:space-between;align-items:center}.stage-form .btn-row{display:flex;gap:8px;justify-content:flex-end}.stage-photos{display:flex;flex-wrap:wrap;gap:6px}.stage-photo{position:relative}.stage-photo img{width:64px;height:64px;object-fit:cover;border-radius:6px;display:block}.stage-photo button{position:absolute;top:-6px;right:-6px;border-radius:50%;border:none;background:#37352f;color:#fff;width:20px;height:20px;display:grid;place-items:center;cursor:pointer}@media (max-width: 640px){.stage.note{margin-left:0}.stage{flex:1 0 auto;justify-content:center}}
