:root{--bg:#0b0e14;--bg-panel:#10141c;--bg-raised:#151b25;--bg-hover:#1a2130;--border:#212a38;--border-strong:#2e3a4d;--text:#d8dee7;--text-dim:#8b95a3;--text-faint:#5d6673;--accent:#d4b06a;--accent-dim:rgba(212,176,106,0.14);--danger:#f85149;--mono:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace;--sans:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}::selection{background:var(--accent-dim)}.shell{display:flex;min-height:100vh}.sidebar{width:224px;flex-shrink:0;background:var(--bg-panel);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.wordmark{font-family:var(--mono);font-size:15px;letter-spacing:.14em;color:var(--accent);padding:4px 10px 14px}.nav-section,.wordmark span{color:var(--text-faint)}.nav-section{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;padding:14px 10px 4px}.nav-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;color:var(--text-dim);font-size:13.5px}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{background:var(--bg-raised);color:var(--text)}.nav-item .count{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--text-faint)}.nav-item.active .count,.nav-item:hover .count{color:var(--text-dim)}.type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.main{flex:1 1;min-width:0;padding:28px 36px 80px;max-width:1400px}.capture-hint{margin-top:auto;padding:12px 10px 4px;font-size:11.5px;color:var(--text-faint)}kbd{font-family:var(--mono);font-size:11px;border:solid var(--border-strong);border-width:1px 1px 2px;border-radius:4px;padding:1px 5px;color:var(--text-dim)}.btn,kbd{background:var(--bg-raised)}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);color:var(--text);border-radius:6px;padding:5px 12px;font-size:13px;font-family:var(--sans);cursor:pointer}.btn:hover{background:var(--bg-hover)}.btn.primary{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.btn.primary:hover{background:rgba(212,176,106,.22)}.btn.danger:hover{border-color:var(--danger);color:var(--danger)}.btn.small{padding:2px 8px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}.input,.select,.textarea{background:var(--bg);border:1px solid var(--border-strong);border-radius:6px;color:var(--text);font-family:var(--sans);font-size:13.5px;padding:6px 10px;width:100%}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent)}.textarea{font-family:var(--mono);font-size:13px;line-height:1.6;resize:vertical}.badge{align-items:center;gap:5px;border-radius:10px;border:1px solid}.badge,.badge-status{display:inline-flex;font-size:11px;font-family:var(--mono);padding:1px 8px;white-space:nowrap}.badge-status{border-radius:10px;border:1px solid var(--border-strong);color:var(--text-dim)}.badge-status.active{color:#3fb950;border-color:rgba(63,185,80,.4)}.badge-status.inbox{color:var(--accent);border-color:rgba(212,176,106,.4)}.badge-status.blocked{color:var(--danger);border-color:rgba(248,81,73,.4)}.tag{font-family:var(--mono);font-size:11px;color:var(--text-dim)}.tag:before{content:"#"}.mono,.tag:before{color:var(--text-faint)}.mono{font-family:var(--mono);font-size:12px}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.card h2{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:600}.page-title{font-size:21px;font-weight:650;margin:0 0 4px}.page-sub{color:var(--text-dim);margin:0 0 24px;font-size:13.5px}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:1000px){.grid-2{grid-template-columns:1fr}}.obj-row{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-radius:6px;border:1px solid transparent}.obj-row:hover{background:var(--bg-hover)}.obj-row .title{color:var(--text);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obj-row .spacer{flex:1 1}.obj-row .when{font-family:var(--mono);font-size:11px;color:var(--text-faint);flex-shrink:0}.list-plain{list-style:none;margin:0;padding:0}.empty{color:var(--text-faint);font-size:13px;padding:10px;font-style:italic}.filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.filter-bar .input{max-width:260px}.filter-bar .select{width:auto}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:24px;gap:24px;align-items:start}@media (max-width:1100px){.workspace{grid-template-columns:1fr}}.editor-title{width:100%;background:transparent;border:none;color:var(--text);font-size:22px;font-weight:650;font-family:var(--sans);padding:0 0 6px}.editor-title:focus{outline:none}.editor-body{width:100%;min-height:420px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:16px;color:var(--text);font-family:var(--mono);font-size:13.5px;line-height:1.7;resize:vertical}.editor-body:focus{outline:none;border-color:var(--border-strong)}.editor-meta{display:flex;align-items:center;gap:10px;margin:4px 0 12px;flex-wrap:wrap}.savestate{font-family:var(--mono);font-size:11px;color:var(--text-faint);margin-left:auto}.inspector{display:flex;flex-direction:column;gap:14px;position:-webkit-sticky;position:sticky;top:28px}.inspector .card{padding:12px 14px}.field-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin:10px 0 4px}.field-label:first-child{margin-top:0}.rel-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.rel-verb{font-family:var(--mono);font-size:11px;color:var(--accent);flex-shrink:0}.rel-target{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rel-target:hover{text-decoration:underline}.rel-remove{margin-left:auto;background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:14px;padding:0 2px}.rel-remove:hover{color:var(--danger)}.raw-quote{background:var(--bg);border-left:3px solid var(--accent);border-radius:4px;padding:10px 12px;font-family:var(--mono);font-size:12.5px;white-space:pre-wrap;color:var(--text-dim);max-height:260px;overflow-y:auto}.overlay{position:fixed;inset:0;background:rgba(5,7,11,.75);display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;z-index:50}.capture-panel{width:min(680px,92vw);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:10px;padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.5)}.capture-panel h2{margin:0 0 4px;font-size:14px;color:var(--accent);font-family:var(--mono);letter-spacing:.08em}.capture-panel p{margin:0 0 12px;font-size:12.5px;color:var(--text-faint)}.capture-panel .textarea{min-height:140px;background:var(--bg)}.capture-actions{display:flex;gap:8px;margin-top:12px;align-items:center}.modal-panel{width:min(720px,94vw);max-height:84vh;overflow-y:auto;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:10px;padding:20px;box-shadow:0 24px 60px rgba(0,0,0,.5)}.modal-panel h2{margin:0 0 2px;font-size:16px}.modal-panel .sub{color:var(--text-faint);font-size:12.5px;margin:0 0 14px}.md{font-size:14px;line-height:1.7}.md h1,.md h2,.md h3{line-height:1.3;margin:1.2em 0 .4em}.md h1{font-size:19px}.md h2{font-size:16px;color:var(--accent)}.md h3{font-size:14px}.md p{margin:.5em 0}.md code{font-family:var(--mono);font-size:12.5px;border:1px solid var(--border);border-radius:4px;padding:0 4px}.md code,.md pre{background:var(--bg)}.md pre{border:1px solid var(--border);border-radius:6px;padding:12px;overflow-x:auto}.md pre code{border:none;padding:0}.md blockquote{margin:.6em 0;padding:2px 14px;border-left:3px solid var(--border-strong);color:var(--text-dim)}.md ol,.md ul{padding-left:22px}.md a{color:#58a6ff;text-decoration:underline}.md a:hover{text-decoration:none}.md hr{border:none;border-top:1px solid var(--border)}.graph-wrap{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;overflow:hidden;position:relative}.graph-legend{display:flex;gap:14px;flex-wrap:wrap;padding:10px 4px;font-size:12px;color:var(--text-dim)}.graph-legend .item{display:inline-flex;align-items:center;gap:6px}.toast{position:fixed;bottom:24px;right:24px;background:var(--bg-raised);border:1px solid var(--accent);color:var(--text);border-radius:8px;padding:10px 16px;font-size:13px;z-index:60;box-shadow:0 12px 30px rgba(0,0,0,.45)}.toast a{color:var(--accent);text-decoration:underline}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 500px at 50% -10%,#141a24 0,var(--bg) 62%)}.login-card{width:100%;max-width:340px;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:26px 24px;box-shadow:0 24px 60px rgba(0,0,0,.5)}.login-brand{font-family:var(--mono);font-size:15px;letter-spacing:.14em;color:var(--accent)}.login-brand span{color:var(--text-faint)}.login-sub{margin:6px 0 18px;color:var(--text-dim);font-size:12.5px}.login-card .field-label:first-of-type{margin-top:0}.login-submit{width:100%;justify-content:center;margin-top:20px}.login-error{min-height:18px;margin-top:12px;color:var(--danger);font-size:12.5px}.login-foot{margin-top:8px;text-align:center;color:var(--text-faint);font-size:11px}.operator-foot{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);gap:8px}.operator-foot,.operator-id{display:flex;align-items:center}.operator-id{gap:7px;flex:1 1;min-width:0;padding:4px 6px;border-radius:6px}.operator-id:hover{background:var(--bg-hover)}.operator-dot{width:7px;height:7px;border-radius:50%;background:#3fb950;box-shadow:0 0 8px rgba(63,185,80,.7);flex-shrink:0}.operator-name{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operator-role{font-family:var(--mono);font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.setting-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0}.setting-row .field-label{margin:0}.broken-wikilink{color:var(--text-faint);border-bottom:1px dashed #f85149;cursor:help;font-style:italic}.link-preview{position:fixed;z-index:1200;width:330px;padding:14px 16px;border-radius:8px;background:rgba(22,27,34,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 32px rgba(0,0,0,.5);pointer-events:none}.link-preview,.wikilink-menu{border:1px solid var(--border-focus)}.wikilink-menu{position:absolute;z-index:900;min-width:260px;max-width:340px;max-height:240px;overflow-y:auto;background:rgba(22,27,34,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.5);padding:4px 0}.wikilink-menu-item{display:flex;align-items:center;gap:10px;padding:6px 12px;font-size:13px;cursor:pointer;border-left:2px solid transparent}.wikilink-menu-item.active,.wikilink-menu-item:hover{background:var(--accent-dim);border-left-color:var(--accent)}.layout-switch{display:inline-flex;border:1px solid var(--border);border-radius:5px;overflow:hidden}.layout-switch-btn{padding:4px 10px;font-size:12px;color:var(--text-faint);text-decoration:none;border-right:1px solid var(--border)}.layout-switch-btn:last-child{border-right:none}.layout-switch-btn.active{background:var(--accent-dim);color:var(--accent)}.table-wrap{overflow-x:auto}.obj-table{width:100%;border-collapse:collapse;font-size:13px}.obj-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:10px 12px;white-space:nowrap}.obj-table td,.obj-table th{border-bottom:1px solid var(--border)}.obj-table td{padding:6px 12px;vertical-align:middle}.obj-table tr:last-child td{border-bottom:none}.obj-table tr:hover td{background:rgba(255,255,255,.02)}.table-title{color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:7px}.table-title:hover{color:var(--accent)}.table-select{font-size:12px;padding:3px 6px;height:auto;width:auto;min-width:90px}.board{display:grid;grid-template-columns:repeat(4,minmax(200px,1fr));grid-gap:12px;gap:12px;align-items:start}.board-col{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:140px}.board-col.drag-over{border-color:var(--accent);background:var(--accent-dim)}.board-col-head{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);display:flex;justify-content:space-between;padding:2px 4px 6px;border-bottom:1px solid var(--border)}.board-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:9px 10px;cursor:-webkit-grab;cursor:grab}.board-card:hover{border-color:var(--border-focus)}.board-card:active{cursor:-webkit-grabbing;cursor:grabbing}.folder-tree{flex-direction:column;margin-bottom:8px}.folder-row,.folder-tree{display:flex;font-size:12.5px}.folder-row{align-items:center;gap:6px;width:100%;padding:4px 8px;border:none;border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer;text-align:left}.folder-row:hover{background:rgba(255,255,255,.04);color:var(--text)}.folder-row.drag-over{background:var(--accent-dim);color:var(--accent)}.folder-chevron{font-size:9px;width:10px;color:var(--text-faint)}.folder-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-row .count{font-family:var(--mono);font-size:10.5px;color:var(--text-faint)}.folder-note{display:flex;align-items:center;gap:7px;padding:3px 8px 3px 24px;border-radius:5px;color:var(--text-faint);cursor:pointer}.folder-note:hover{background:rgba(255,255,255,.04);color:var(--text)}.folder-note.active{background:var(--accent-dim);color:var(--accent)}.folder-note-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.canvas-wrap{display:flex;flex-direction:column;flex:1 1;min-height:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:radial-gradient(circle,rgba(255,255,255,.045) 1px,transparent 1px) 0 0 /24px 24px,var(--bg)}.canvas-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-card)}.canvas-svg{flex:1 1;width:100%;min-height:520px;cursor:-webkit-grab;cursor:grab;touch-action:none}.canvas-svg:active{cursor:-webkit-grabbing;cursor:grabbing}.canvas-node{display:flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(22,27,34,.92);border:1.5px solid var(--border);border-radius:8px;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;overflow:hidden;font-size:13px;color:var(--text)}.canvas-node.selected{box-shadow:0 0 0 2px var(--accent-dim)}.canvas-node.text-card{background:rgba(212,176,106,.07);font-style:normal}.canvas-node-text{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.35}.canvas-handle{fill:var(--accent);stroke:var(--bg);stroke-width:1.5;cursor:crosshair;opacity:.75}.canvas-handle:hover{opacity:1}.canvas-edge-label{fill:var(--accent);font-size:11px;font-family:var(--mono);paint-order:stroke;stroke:var(--bg);stroke-width:3px}.canvas-note-picker{position:absolute;top:30px;left:0;z-index:950;width:300px;max-height:280px;overflow-y:auto;background:rgba(22,27,34,.97);border:1px solid var(--border-focus);border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.5);padding:4px 0}.trash-row{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--border);min-width:0}.trash-row:last-child{border-bottom:none}.trash-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-modal{width:min(960px,96vw)}.history-body{display:grid;grid-template-columns:240px 1fr;grid-gap:14px;gap:14px;min-height:340px}.history-list{gap:4px;max-height:56vh;overflow-y:auto;padding-right:4px}.history-item,.history-list{display:flex;flex-direction:column}.history-item{gap:3px;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--bg-panel);color:var(--text);cursor:pointer}.history-item:hover{background:var(--bg-hover)}.history-item.selected{border-color:var(--accent);background:var(--accent-dim)}.history-item-top{display:flex;align-items:center;gap:6px;font-size:11.5px}.history-badge{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:0 4px}.history-badge.checkpoint{color:var(--warn,#d29922);border-color:var(--warn,#d29922);text-transform:none}.history-msg{font-size:12.5px;color:var(--text-dim);line-height:1.35;word-break:break-word}.history-diff{display:flex;flex-direction:column;min-width:0}.history-diff-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.diff{flex:1 1;max-height:56vh;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-family:var(--mono);font-size:12px;line-height:1.5;padding:4px 0}.diff-row{display:grid;grid-template-columns:40px 40px 16px 1fr;white-space:pre-wrap;word-break:break-word}.diff-gutter{text-align:right;padding-right:8px}.diff-gutter,.diff-sign{color:var(--text-faint);-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-sign{text-align:center}.diff-text{padding-right:10px}.diff-add{background:rgba(63,185,80,.13)}.diff-add .diff-sign,.diff-add .diff-text{color:#56d364}.diff-del{background:rgba(248,81,73,.12)}.diff-del .diff-sign,.diff-del .diff-text{color:#f8a29c}.import-tabs{display:flex;gap:6px;margin-bottom:12px}.import-filelist{max-height:220px;overflow-y:auto;border:1px solid var(--border);background:var(--bg);flex-direction:column;gap:3px}.attachment-row,.import-filelist{border-radius:7px;padding:8px 10px;display:flex}.attachment-row{align-items:center;gap:10px}.attachment-row:hover{background:var(--bg-hover)}.attachment-ext{flex-shrink:0;min-width:42px;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border:1px solid var(--border-strong);border-radius:4px;padding:2px 4px}.attachment-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-meta{flex-shrink:0;font-size:11.5px}.attachment-actions{display:flex;gap:6px;flex-shrink:0}.bookmarks-head{display:flex;align-items:center;justify-content:space-between}.bookmark-pin{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:13px;line-height:1;padding:2px 4px;border-radius:4px}.bookmark-pin:hover{color:var(--accent);background:var(--bg-hover)}.bookmarks-empty{font-size:11.5px;color:var(--text-faint);padding:2px 10px 4px}.bookmark-item{display:flex;align-items:center;border-radius:6px}.bookmark-item.active,.bookmark-item:hover{background:var(--bg-hover)}.bookmark-link{display:flex;align-items:center;gap:7px;flex:1 1;min-width:0;padding:5px 10px;font-size:13px;color:var(--text-dim)}.bookmark-item.active .bookmark-link{color:var(--text)}.bookmark-star{color:var(--accent);font-size:10px;flex-shrink:0}.bookmark-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmark-remove{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:14px;line-height:1;padding:2px 8px;opacity:0}.bookmark-item:hover .bookmark-remove{opacity:1}.bookmark-remove:hover{color:var(--danger)}.focus-mode .sidebar{display:none}.focus-mode .main{margin:0 auto}.focus-toggle{position:fixed;bottom:16px;left:16px;z-index:60;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--text-faint);background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:5px 9px;cursor:pointer;opacity:.55;transition:opacity .12s ease,color .12s ease,border-color .12s ease}.focus-toggle:hover{opacity:1;color:var(--accent);border-color:var(--border-strong)}.focus-mode .focus-toggle{color:var(--accent);opacity:.8}@media print{@page{margin:1.6cm}body,html{background:#fff!important;color:#000!important;font-size:11.5pt}.browser-filters,.btn,.capture-hint,.editor-meta,.focus-toggle,.inspector,.layout-switch,.operator-foot,.overlay,.sidebar,.toast,button,input:not(.editor-title),select,textarea{display:none!important}.shell,.workspace{display:block!important}.main{max-width:100%!important;margin:0!important;padding:0!important}.editor-title{display:block!important;height:auto!important;font-size:22pt!important;font-weight:700!important;color:#000!important}.card,.editor-title{border:none!important;background:none!important;padding:0!important}.card{box-shadow:none!important;margin:0 0 12px!important}.md,.raw-quote{color:#000!important;font-size:11.5pt!important;line-height:1.5!important}.raw-quote{background:none!important;border-left:2px solid #999!important}.md h1,.md h2,.md h3,.page-title{color:#000!important;page-break-after:avoid}a{color:#000!important;text-decoration:underline}blockquote,img,li,pre,table{page-break-inside:avoid}img{max-width:100%!important}}