.block-editor{font-family:inherit;display:flex;flex-direction:column;height:100%;min-height:0}.block-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:6px}.block-header{display:flex;align-items:center;gap:12px;flex-shrink:0}.block-header>.block-title{flex:1}.block-save-state{font-size:.78em;color:var(--muted, #888);white-space:nowrap;transition:opacity .2s,color .2s;padding:4px 8px;border-radius:4px}.block-save-state.save-saving{color:var(--accent, #4af)}.block-save-state.save-saved{color:#4caf50}.block-title{width:100%;background:transparent;border:none;color:inherit;font-size:1.4em;font-weight:600;padding:8px 4px;outline:none;margin-bottom:8px}.block-title:focus{border-bottom:1px solid var(--accent, #4af)}.block-empty{color:var(--muted, #888);padding:8px}.block-row{display:block}.block-line{display:flex;align-items:flex-start;gap:8px;padding:2px 0;border-radius:4px}.block-children{display:block}.block-row.active>.block-line>.block-content{background:#ffffff0a}.block-row.multi-selected>.block-line{background:#4a90e22e}.block-row.multi-selected>.block-line>.block-bullet{color:var(--accent, #4af)}.block-bullet{color:var(--muted, #888);cursor:grab;-webkit-user-select:none;user-select:none;padding-top:4px}.block-content{flex:1;outline:none;padding:2px 4px;border-radius:4px;min-height:1.4em;white-space:pre-wrap}.block-content:focus{background:#ffffff0f}.block-bullet.drop-target{background:var(--accent, #4af);color:#fff;border-radius:3px}.slash-menu{position:fixed;bottom:24px;right:24px;background:var(--surface, #1a1a1a);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px;display:flex;flex-direction:column;min-width:180px;z-index:1000;box-shadow:0 8px 24px #0006}.slash-menu button{background:transparent;border:none;color:inherit;text-align:left;padding:6px 12px;border-radius:4px;cursor:pointer;font:inherit}.slash-menu button.active,.slash-menu button:hover{background:#ffffff14}.block-content .page-link{color:var(--accent, #4af);text-decoration:none;border-bottom:1px dotted;cursor:pointer}.block-content .page-link.unresolved{color:#ff9f0a;font-style:italic}.block-content .block-link{color:var(--muted, #888);text-decoration:none;cursor:pointer}.block-content .tag-link{color:#6cf;text-decoration:none;padding:0 2px;border-radius:3px;background:#66ccff14;cursor:pointer}.flash-highlight{animation:flash 1.5s ease-out}@keyframes flash{0%{background:#4a90e266}to{background:transparent}}.block-embed-mount{display:inline-block;padding:2px 8px;margin:0 2px;border-left:3px solid var(--accent, #4af);background:#4a90e20f;border-radius:3px;vertical-align:middle}.embed-loading{color:var(--muted, #888)}.embed-error{color:#ff9f0a}.embed-content{color:var(--text, inherit)}.link-autocomplete{background:var(--surface, #1a1a1a);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px;min-width:200px;z-index:1100;box-shadow:0 8px 24px #0006}.link-autocomplete button{display:block;width:100%;background:transparent;border:none;color:inherit;text-align:left;padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit}.link-autocomplete button:hover{background:#ffffff0f}.link-autocomplete button.active{background:var(--accent, #4af);color:#fff}.link-autocomplete button.active:hover{background:var(--accent, #4af)}.bullet-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1099}.bullet-menu{position:fixed;z-index:1100;background:var(--surface, #1a1a1a);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px;min-width:180px;box-shadow:0 8px 24px #0006}.bullet-menu button{display:block;width:100%;background:transparent;border:none;color:inherit;text-align:left;padding:6px 12px;border-radius:4px;cursor:pointer;font:inherit}.bullet-menu button:hover{background:#ffffff14}.bullet-menu button.danger{color:#ff6b6b}.bullet-menu button.danger:hover{background:#ff6b6b1f}.ac-empty{color:var(--muted, #888);padding:4px 10px}.backlinks-section{margin-top:24px;border-top:1px solid rgba(255,255,255,.06);padding-top:12px}.backlinks-header{background:transparent;border:none;color:var(--muted, #888);font:inherit;cursor:pointer;padding:4px 0}.backlinks-body{padding:8px 0}.backlinks-group{margin-bottom:12px}.backlinks-note{background:transparent;border:none;color:var(--accent, #4af);cursor:pointer;padding:2px 0;font:inherit}.backlinks-group ul{margin:4px 0 0 18px;padding:0}.backlinks-group li{color:var(--text, inherit);padding:2px 0}.backlinks-empty{color:var(--muted, #888);padding:8px 0}.backlinks-group li{display:flex;justify-content:space-between;gap:12px}.backlinks-group .bl-text{flex:1;overflow:hidden;text-overflow:ellipsis}.backlinks-group .bl-date{color:var(--muted, #888);font-size:.8em;white-space:nowrap}.note-panel-updated{color:var(--muted, #888);font-size:.85em;margin-left:6px}.suggestions-section{margin-top:16px}.suggestions-section .suggestions-header{background:transparent;border:none;color:var(--muted, #888);font:inherit;cursor:pointer;padding:4px 0}.suggestions-section ul{list-style:none;padding:0}.suggestions-section li{display:flex;gap:8px;padding:4px 0}.suggestions-section .score{color:var(--muted, #888);width:40px}.suggestions-off{color:var(--muted, #888)}.block-history-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1200;display:flex;align-items:center;justify-content:center}.block-history-modal{background:var(--surface, #1a1a1a);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px;width:min(720px,90vw);max-height:80vh;overflow-y:auto;box-shadow:0 16px 48px #00000080}.block-history-modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.block-history-modal header h3{margin:0}.block-history-modal header button{background:transparent;border:none;color:inherit;cursor:pointer;font-size:1.1em}.block-history-modal ul{list-style:none;padding:0;margin:0}.block-history-modal li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.bh-row-text{padding-bottom:4px;white-space:pre-wrap}.bh-row-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted, #888);font-size:.85em}.bh-row-meta button{background:var(--accent, #4af);color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:.85em}.muted{color:var(--muted, #888)}.block-comments-list{list-style:none;padding:0;margin:12px 0;max-height:50vh;overflow-y:auto}.block-comments-list li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);position:relative}.bc-row-author{color:var(--muted, #888);font-size:.8em}.bc-row-text{padding-top:4px;white-space:pre-wrap}.bc-row-delete{position:absolute;top:6px;right:0;background:transparent;border:none;color:var(--muted, #888);cursor:pointer;opacity:0;transition:opacity .15s}.block-comments-list li:hover .bc-row-delete{opacity:1}.bc-row-delete:hover{color:#ff6b6b}.block-comments-compose{display:flex;flex-direction:column;gap:8px;margin-top:12px}.block-comments-compose textarea{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:8px;color:inherit;font:inherit;resize:vertical}.block-comments-compose button{background:var(--accent, #4af);color:#fff;border:none;padding:6px 16px;border-radius:4px;cursor:pointer;align-self:flex-end}.block-comments-compose button:disabled{opacity:.5;cursor:not-allowed}.block-bullet{position:relative}.block-bullet.has-comments:after{content:attr(data-comment-count);position:absolute;top:-4px;right:-8px;background:var(--accent, #4af);color:#fff;font-size:.6em;font-weight:700;border-radius:8px;padding:1px 5px;pointer-events:none;line-height:1.2}.block-perm-list{list-style:none;padding:0;margin:12px 0}.block-perm-list li{display:flex;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06)}.bp-identity{font-family:monospace}.bp-perm{color:var(--muted, #888);flex:1}.bp-remove{background:transparent;border:none;color:#ff6b6b;cursor:pointer}.bp-remove:hover{text-decoration:underline}.block-perm-add{display:flex;gap:8px;margin-top:12px}.block-perm-add input{flex:1;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:4px 8px;color:inherit;font:inherit}.block-perm-add select{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:4px 8px;color:inherit;font:inherit}.block-perm-add button{background:var(--accent, #4af);color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer}.block-perm-add button:disabled{opacity:.5;cursor:not-allowed}.error{color:#ff6b6b;font-size:.85em}.journal-page{display:grid;grid-template-columns:1fr 260px;gap:24px;padding:16px 24px;height:100%;min-height:0;overflow:hidden}.journal-body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.journal-header{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(127,127,127,.18)}.journal-title{margin:0;font-size:1.1em;text-transform:capitalize;flex:1}.day-nav{background:transparent;border:1px solid rgba(127,127,127,.25);border-radius:6px;padding:4px 6px;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center}.day-nav:hover{background:#7f7f7f1f}.day-today{background:var(--accent, #4af);color:#fff;border:none;border-radius:6px;padding:4px 12px;cursor:pointer;font:inherit}.day-today:hover{filter:brightness(1.1)}.journal-editor{flex:1;min-height:0;overflow:auto;padding-top:12px}.journal-editor .muted{color:var(--text-muted, #888)}.journal-calendar{padding-top:12px}.mini-calendar{background:var(--surface, rgba(127,127,127,.06));border:1px solid rgba(127,127,127,.18);border-radius:8px;padding:10px;position:sticky;top:0}.mini-calendar header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mini-calendar header span{font-weight:600;text-transform:capitalize}.mini-calendar button{background:transparent;border:none;color:inherit;cursor:pointer;padding:2px 8px;border-radius:4px;font:inherit}.mini-calendar button:hover:not(:disabled){background:#7f7f7f2e}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-weekdays span{text-align:center;font-size:.7em;color:var(--text-muted, #888);padding:2px 0;text-transform:uppercase}.cal-day{aspect-ratio:1;min-width:24px;padding:0;font-size:.85em;display:flex;align-items:center;justify-content:center}.cal-day.has-notes{color:inherit;position:relative}.cal-day.has-notes:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent, #4af)}.cal-day.today{background:#4a90e22e;font-weight:700;border-radius:4px}.cal-day.selected{outline:2px solid var(--accent, #4af);border-radius:4px;background:#4a90e21f}.library-page{padding:16px 24px;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.library-page header{display:flex;align-items:center;gap:16px;flex-shrink:0;margin-bottom:12px}.library-page h1{margin:0;font-size:1.4em;flex-shrink:0}.library-search{flex:1;display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:4px 10px;max-width:400px}.library-search input{flex:1;background:transparent;border:none;color:inherit;outline:none;font:inherit}.library-page .muted{color:var(--muted, #888)}.library-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.library-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04)}.library-list li:hover{background:#ffffff0a}.library-list .lib-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-list .lib-date{color:var(--muted, #888);font-size:.85em;white-space:nowrap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}:root{--bg: #f2f2f7;--surface: #ffffff;--surface2: #f5f5f7;--border: #d1d1d6;--text: #1c1c1e;--text-muted: #6e6e73;--accent: #007aff;--accent-dim: #e8f0fe;--danger: #ff3b30;--danger-dim: #fff0ee;--success: #34c759;--radius: 8px;--sidebar-w: 220px;--header-h: 48px;--footer-h: 32px;--shadow: 0 1px 3px rgba(0,0,0,.1)}:root[data-theme=dark]{--bg: #111;--surface: #1c1c1e;--surface2: #2c2c2e;--border: #38383a;--text: #f5f5f7;--text-muted: #8e8e93;--accent: #0a84ff;--accent-dim: #0a84ff22;--danger: #ff453a;--danger-dim: #ff453a22;--success: #30d158;--shadow: 0 1px 4px rgba(0,0,0,.4)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{opacity:.8}.app-shell{display:grid;grid-template-rows:var(--header-h) 1fr var(--footer-h);grid-template-columns:var(--sidebar-w) 1fr;grid-template-areas:"header header" "sidebar main" "footer footer";height:100vh;overflow:hidden}.app-header{grid-area:header;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:var(--surface);border-bottom:1px solid var(--border);z-index:10}.app-logo{font-size:1rem;font-weight:700;letter-spacing:-.3px;display:flex;align-items:center;gap:.4rem;color:var(--text)}.header-actions{display:flex;align-items:center;gap:.4rem}.app-sidebar{grid-area:sidebar;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.sidebar-section{padding:.5rem 0}.sidebar-section-title{padding:.3rem .75rem;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center;justify-content:space-between}.sidebar-item{display:flex;align-items:center;gap:.5rem;padding:.42rem .75rem;cursor:pointer;color:var(--text);border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem;text-decoration:none}.sidebar-item:hover{background:var(--surface2)}.sidebar-item.active{background:var(--accent-dim);color:var(--accent);font-weight:500}.sidebar-item svg{flex-shrink:0;opacity:.7}.sidebar-item.active svg{opacity:1}.sidebar-item-2line{align-items:flex-start;white-space:normal;padding-top:.35rem;padding-bottom:.35rem}.sidebar-board-item .sidebar-board-actions{display:none;gap:.1rem;align-items:center;flex-shrink:0}.sidebar-board-item:hover .sidebar-board-actions{display:flex}.sidebar-board-item .sidebar-board-actions .btn-icon{padding:.15rem;width:20px;height:20px;opacity:.7}.sidebar-board-item .sidebar-board-actions .btn-icon:hover{opacity:1}.sidebar-divider{height:1px;background:var(--border);margin:.25rem 0}.sidebar-create-form{padding:.25rem .5rem;display:flex;gap:.3rem}.sidebar-create-form input{flex:1;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:.8rem}.sidebar-create-form input:focus{outline:none;border-color:var(--accent)}.app-main{grid-area:main;overflow:hidden;padding:1.25rem;display:flex;flex-direction:column;min-height:0}.app-main>*{flex:1;min-height:0}.app-footer{grid-area:footer;display:flex;align-items:center;gap:1rem;padding:0 1rem;font-size:11px;color:var(--text-muted);background:var(--surface);border-top:1px solid var(--border)}.footer-link{margin-left:auto;color:var(--text-muted);text-decoration:none}.footer-link:hover{color:var(--text)}button{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;font-size:.875rem;font-family:inherit;transition:background .1s}button:hover{background:var(--surface2)}button:disabled{opacity:.45;cursor:default}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{filter:brightness(.9)}.btn-ghost{border:none;background:transparent;padding:.3rem}.btn-ghost:hover{background:var(--surface2)}.btn-icon{border:none;background:transparent;padding:.25rem .3rem;border-radius:4px}.btn-icon:hover{background:var(--surface2)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{filter:brightness(.85)}.btn-group{display:flex;gap:.25rem}input[type=text],input[type=search],input[type=password],textarea{width:100%;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:.875rem;font-family:inherit}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.page-title h2{font-size:1.15rem;font-weight:600}.page-title-actions{display:flex;gap:.4rem;align-items:center}.toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.toolbar input{flex:1;min-width:140px}.error-msg{background:var(--danger-dim);border:1px solid var(--danger);border-radius:var(--radius);padding:.5rem .75rem;color:var(--danger);display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:.875rem}.empty-msg{color:var(--text-muted);font-size:.875rem;text-align:center;padding:2rem 0}.item-list{list-style:none;display:flex;flex-direction:column;gap:.3rem}.item-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.item-row-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .75rem;gap:.5rem}.item-row-header:hover{background:var(--surface2)}.item-name{flex:1;font-size:.875rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-actions{display:flex;gap:.2rem;opacity:0;transition:opacity .12s;flex-shrink:0}.item-row:hover .item-actions{opacity:1}.rename-input{flex:1;padding:.2rem .4rem;border:1px solid var(--accent);border-radius:4px;font-size:.875rem;background:var(--surface);color:var(--text)}.rename-input:focus{outline:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem 1rem;box-shadow:var(--shadow);cursor:pointer;transition:transform .1s,box-shadow .1s;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}.card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.card-title{font-weight:600;font-size:.9rem}.card-meta{font-size:.78rem;color:var(--text-muted)}.card-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.2rem;opacity:0}.card:hover .card-actions,.note-card:hover .card-actions{opacity:1}.note-preview{font-size:.82rem;color:var(--text-muted);cursor:pointer}.note-body{border-top:1px solid var(--border);padding:.75rem;background:var(--bg)}.note-content{white-space:pre-wrap;font-family:SF Mono,Fira Code,monospace;font-size:.82rem;line-height:1.6;color:var(--text)}.note-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.5rem;position:relative;cursor:pointer}.note-card:hover{box-shadow:0 4px 12px #0000001f}.note-card-content{font-size:.82rem;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-word;flex:1}.note-card .note-id{font-size:.72rem;color:var(--text-muted);font-family:monospace}.note-edit-form{display:flex;flex-direction:column;gap:.5rem}textarea.note-editor{min-height:100px;resize:vertical;font-family:SF Mono,Fira Code,monospace;font-size:.82rem;line-height:1.6}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:2rem;font-weight:700;line-height:1;color:var(--accent)}.stat-label{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.bar-chart{display:flex;flex-direction:column;gap:.5rem}.bar-row{display:flex;align-items:center;gap:.5rem}.bar-label{width:120px;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.bar-track{flex:1;height:18px;background:var(--surface2);border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .4s ease}.bar-count{font-size:.8rem;color:var(--text-muted);width:28px;text-align:right;flex-shrink:0}.device-badge{font-size:.72rem;padding:.15rem .45rem;border-radius:99px;background:var(--accent-dim);color:var(--accent)}.device-badge.current{background:var(--success);color:#fff}.device-meta{font-size:.78rem;color:var(--text-muted)}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);margin-bottom:1rem}.info-row{display:flex;gap:.5rem;align-items:baseline;margin-bottom:.35rem}.info-key{font-size:.78rem;color:var(--text-muted);width:80px;flex-shrink:0}.info-val{font-size:.85rem;font-family:monospace;word-break:break-all}.qr-box{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:1rem}.qr-canvas{border-radius:var(--radius)}.qr-cmd{font-family:monospace;font-size:.82rem;background:var(--surface2);padding:.45rem .6rem;border-radius:var(--radius);word-break:break-all}.qr-hint{font-size:.78rem;color:var(--text-muted)}.qr-success{color:var(--success);font-weight:600;display:flex;align-items:center;gap:.35rem}.notes-workspace{display:flex;height:calc(100% + 2.5rem);margin:-1.25rem;gap:0;overflow:hidden}.notes-pane{flex:1;overflow-y:auto;min-width:0;padding:1.25rem}.note-panel{width:100%;height:100%;min-height:0;background:var(--surface);display:flex;flex-direction:column;overflow:hidden}.note-panel.resizing{-webkit-user-select:none;user-select:none}.note-panel-resize-handle{position:absolute;left:0;top:0;bottom:0;width:5px;cursor:col-resize;z-index:2}.note-panel-resize-handle:after{content:"";position:absolute;left:2px;top:0;bottom:0;width:1px;background:transparent;transition:background .1s}.note-panel-resize-handle:hover:after,.note-panel.resizing .note-panel-resize-handle:after{background:var(--accent)}.note-panel-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.note-panel-id{font-family:monospace;font-size:.8rem;color:var(--text-muted)}.note-panel-toolbar{display:flex;align-items:center;gap:.1rem;padding:.25rem .5rem;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;background:var(--surface)}.tb-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;transition:background .1s,color .1s;flex-shrink:0}.tb-btn:hover{background:var(--surface2);color:var(--text)}.tb-sep{width:1px;height:14px;background:var(--border);margin:0 .25rem;flex-shrink:0}.note-panel-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.note-panel-textarea{flex:1;width:100%;height:100%;border:none;resize:none;padding:.75rem;font-family:SF Mono,Fira Code,monospace;font-size:.82rem;line-height:1.6;background:var(--surface);color:var(--text)}.note-panel-textarea:focus{outline:none;box-shadow:none;border-color:transparent}.note-panel-preview{flex:1;overflow-y:auto;padding:.75rem 1rem;font-size:.875rem;line-height:1.7;color:var(--text)}.note-panel-preview h1,.note-panel-preview h2,.note-panel-preview h3{margin:.75rem 0 .35rem;font-weight:600}.note-panel-preview p{margin-bottom:.6rem}.note-panel-preview code{font-family:monospace;background:var(--surface2);padding:.1rem .3rem;border-radius:3px;font-size:.82rem}.note-panel-preview pre{background:var(--surface2);padding:.75rem;border-radius:var(--radius);overflow-x:auto;margin-bottom:.6rem}.note-panel-preview pre code{background:none;padding:0}.note-panel-preview ul,.note-panel-preview ol{padding-left:1.25rem;margin-bottom:.6rem}.note-panel-preview blockquote{border-left:3px solid var(--accent);padding-left:.75rem;color:var(--text-muted);margin-bottom:.6rem}.note-panel-footer{display:flex;gap:.5rem;padding:.5rem .75rem;border-top:1px solid var(--border);flex-shrink:0}.note-panel-sharing{border-top:1px solid var(--border);padding:.75rem;flex-shrink:0;max-height:260px;overflow-y:auto}.sharing-title{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center;gap:.35rem;margin-bottom:.5rem}.sharing-empty{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.sharing-list{list-style:none;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.2rem}.sharing-row{display:flex;align-items:center;justify-content:space-between;padding:.25rem .4rem;border-radius:4px;background:var(--surface2)}.sharing-name{font-size:.82rem;font-family:monospace;flex:1}.perm-badge{font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;margin-right:.3rem}.perm-badge.perm-read{background:#1e3a5f;color:#7ab8f5}.perm-badge.perm-write{background:#1e3d2a;color:#6fcf97}.perm-badge.perm-delete{background:#4a1e1e;color:#eb5757}.sharing-form{display:flex;gap:.3rem}.sharing-form input{flex:1;font-size:.82rem;padding:.3rem .5rem}.perm-select{font-size:.78rem;padding:.3rem .4rem;border-radius:4px;border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer}.sharing-error{font-size:.78rem;color:var(--danger);margin-top:.3rem}.sharing-contacts{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem}.contact-chip{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-alt);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.contact-chip:hover{border-color:var(--accent);background:var(--accent-dim)}.note-active{border-color:var(--accent)!important}.note-card-active{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim)}.note-card-shared-badge{position:absolute;top:.35rem;right:.35rem;color:var(--accent);opacity:.7}.note-card-lock{position:absolute;top:.35rem;left:.35rem}.lock-tip{position:relative;display:inline-flex;align-items:center;flex-shrink:0;cursor:default}.lock-tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:.2rem .55rem;border-radius:4px;font-size:.72rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s;z-index:9000}.lock-tip:hover:after{opacity:1}.lock-tip{isolation:auto}.note-card-snippet{font-size:.85rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.note-card-type{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.toast-container{position:fixed;bottom:1.25rem;right:1.25rem;display:flex;flex-direction:column;gap:.5rem;z-index:9999;pointer-events:none}.toast{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 16px #0000002e;font-size:.85rem;pointer-events:all;animation:toast-in .18s ease;max-width:320px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-warn{border-left:3px solid #ff9f0a}.toast-info{border-left:3px solid var(--accent)}.toast-success .toast-icon{color:var(--success);flex-shrink:0}.toast-error .toast-icon{color:var(--danger);flex-shrink:0}.toast-warn .toast-icon{color:#ff9f0a;flex-shrink:0}.toast-info .toast-icon{color:var(--accent);flex-shrink:0}.toast-msg{flex:1;line-height:1.4}.toast-close{background:none;border:none;cursor:pointer;padding:.1rem;color:var(--text-muted);display:flex;align-items:center;border-radius:3px;flex-shrink:0}.toast-close:hover{color:var(--text);background:var(--surface2)}.register-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:1rem}.register-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;box-shadow:var(--shadow)}.register-card h2{margin-bottom:1rem;font-size:1.2rem}.register-cmd{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .9rem;font-family:monospace;font-size:.88rem;margin:.5rem 0 1rem;word-break:break-all}.register-hint{font-size:.8rem;color:var(--text-muted)}.tag-page{padding:24px}.tag-page header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.tag-page h1{margin:0}.tag-page-count{color:var(--muted, #888)}.tag-page ul{list-style:none;padding:0}.tag-page li{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.04)}.tag-page li:hover{background:#ffffff0a}.tag-page li{display:flex;justify-content:space-between;gap:12px}.tag-page .tag-row-text{flex:1;overflow:hidden;text-overflow:ellipsis}.tag-page .tag-row-date{color:var(--muted, #888);font-size:.85em;white-space:nowrap}.item-date,.note-card-date{color:var(--muted, #888);font-size:.8em;margin-left:8px;white-space:nowrap}.block-handle{position:relative;color:var(--muted, #888);cursor:grab;-webkit-user-select:none;user-select:none;padding-top:4px;opacity:0;transition:opacity .15s;font-size:.85em;width:16px;text-align:center;flex-shrink:0}.block-row:hover>.block-line>.block-handle,.block-row.active>.block-line>.block-handle{opacity:1}.block-handle.drop-target{background:var(--accent, #4af);color:#fff;border-radius:3px}.block-row.multi-selected>.block-line>.block-handle{color:var(--accent, #4af)}.block-handle.has-comments:after{content:attr(data-comment-count);position:absolute;top:-4px;right:-8px;background:var(--accent, #4af);color:#fff;font-size:.6em;font-weight:700;border-radius:8px;padding:1px 5px;pointer-events:none;line-height:1.2}.block-type-marker{flex-shrink:0;padding-top:3px;-webkit-user-select:none;user-select:none;min-width:18px;text-align:center}.block-row[data-type=bullet]>.block-line>.block-type-marker:before{content:"•";color:var(--muted, #888)}.block-row[data-type=h1]>.block-line>.block-content{font-size:1.8em;font-weight:700;line-height:1.2}.block-row[data-type=h2]>.block-line>.block-content{font-size:1.4em;font-weight:600;line-height:1.25}.block-row[data-type=h3]>.block-line>.block-content{font-size:1.1em;font-weight:600}.block-row[data-type=todo]>.block-line>.block-type-marker:before{content:"☐"}.block-row[data-type=todo_done]>.block-line>.block-type-marker:before{content:"☑";color:var(--accent, #4af)}.block-row[data-type=todo]>.block-line>.block-type-marker,.block-row[data-type=todo_done]>.block-line>.block-type-marker{cursor:pointer;font-size:1.1em}.block-row[data-type=todo_done]>.block-line>.block-content{text-decoration:line-through;opacity:.6}.block-row[data-type=quote]>.block-line{border-left:3px solid var(--muted, #888);padding-left:12px;margin-left:4px}.block-row[data-type=quote]>.block-line>.block-content{font-style:italic}.block-row[data-type=code]>.block-line>.block-content{font-family:monospace;background:#ffffff0d;border-radius:4px;padding:6px 10px;font-size:.92em;white-space:pre}.block-row[data-type=divider]>.block-line>.block-content{display:none}.block-row[data-type=divider]>.block-line:after{content:"";display:block;flex:1;height:1px;background:#ffffff1f;margin:8px 0}
