.note-editor{flex:1;min-height:0;display:flex;flex-direction:column}.note-editor .cm-editor{flex:1;min-height:0;outline:none}.note-editor .cm-scroller{overflow-y:auto;font-family:var(--font-text);font-size:16px;line-height:1.6;-webkit-overflow-scrolling:touch}.note-editor .cm-content{max-width:46rem;width:100%;margin:0 auto;padding:20px 16px calc(45vh + var(--safe-bottom));caret-color:var(--accent-strong)}.note-editor .cm-line{padding:1px 2px}.note-editor .cm-content ::selection,.note-editor .cm-line::selection{background:var(--selection)}.note-editor .cm-cursor{border-left-color:var(--accent-strong)}.note-editor .cm-selectionBackground,.note-editor .cm-editor ::selection{background:var(--selection)!important}.note-editor .cm-activeLine{background:transparent}.note-editor .cm-selectionMatch{background:var(--bg-active)}.cm-line.cm-heading{font-weight:650;line-height:1.3}.cm-line.cm-h1{font-size:1.7em;padding-top:.5em}.cm-line.cm-h2{font-size:1.45em;padding-top:.4em}.cm-line.cm-h3{font-size:1.25em;padding-top:.3em}.cm-line.cm-h4{font-size:1.1em}.cm-line.cm-h5{font-size:1em}.cm-line.cm-h6{font-size:.95em;color:var(--text-muted)}.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-strike{text-decoration:line-through;color:var(--text-muted)}.cm-hl{background:var(--tag-bg);border-radius:3px;padding:0 1px}.cm-inline-code{font-family:var(--font-mono);font-size:.9em;background:var(--code-bg);border-radius:4px;padding:1px 3px}.cm-line.cm-codeblock{font-family:var(--font-mono);font-size:.88em;background:var(--code-bg);padding-left:12px;padding-right:12px}.cm-line.cm-codeblock-begin{border-radius:var(--radius) var(--radius) 0 0;padding-top:6px}.cm-line.cm-codeblock-end{border-radius:0 0 var(--radius) var(--radius);padding-bottom:6px}.lp-code-lang{display:inline-block;font-family:var(--font-mono);font-size:11px;color:var(--text-faint);text-transform:lowercase;-webkit-user-select:none;user-select:none}.cm-line.cm-frontmatter{font-family:var(--font-mono);font-size:.85em;color:var(--text-muted)}.cm-line.cm-blockquote{border-left:3px solid var(--accent);padding-left:12px;color:var(--text-muted)}.cm-list-mark{color:var(--accent)}.lp-bullet{color:var(--accent);display:inline-block;width:1ch}.lp-task{display:inline-block;padding:4px 8px 4px 2px;margin:-4px -2px -4px 0;cursor:pointer}.lp-task-box{width:18px;height:18px;vertical-align:-4px;accent-color:var(--accent);cursor:pointer;margin:0}.cm-task-done{text-decoration:line-through;color:var(--text-faint)}.lp-link{color:var(--link);cursor:pointer;border-radius:3px}.lp-link:hover{text-decoration:underline}.lp-link-unresolved{color:var(--link-unresolved)}.lp-uploading{color:var(--text-faint);font-style:italic}.cm-mdlink{color:var(--link);cursor:pointer}.cm-mdlink:hover{text-decoration:underline}.cm-wikilink-raw{color:var(--link)}.cm-url{color:var(--text-faint);font-size:.9em;word-break:break-all}.cm-tag,.lp-tag{background:var(--tag-bg);color:var(--accent-strong);border-radius:999px;padding:1px 7px;font-size:.85em}.cm-blockid{color:var(--text-faint);font-size:.85em}.lp-hr-wrap{display:inline-block;width:100%;vertical-align:middle}.lp-hr{border:none;border-top:1px solid var(--border);margin:8px 0}.lp-table-wrap{display:block;max-width:100%;overflow-x:auto;margin:4px 0}.lp-table-widget{cursor:pointer}.lp-table{border-collapse:collapse;font-size:.95em}.lp-table th,.lp-table td{border:1px solid var(--border);padding:5px 10px;text-align:left}.lp-table th{background:var(--bg-surface);font-weight:600}.cm-line.cm-table-src{font-family:var(--font-mono);font-size:.88em}.lp-media{display:inline-block;max-width:100%}.lp-media img,.lp-media video{max-width:100%;height:auto;border-radius:var(--radius);display:block}.lp-media audio{max-width:100%}.lp-embed{display:block;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--bg-secondary);padding:8px 12px;margin:4px 0;font-size:.95em;white-space:normal}.lp-embed-title{display:block;font-size:.8em;font-weight:600;color:var(--text-muted);cursor:pointer;min-height:24px;padding-top:2px}.lp-embed-title:hover{color:var(--link)}.lp-embed-body>:first-child{margin-top:2px}.lp-embed-body>:last-child{margin-bottom:2px}.lp-embed-body h1,.lp-embed-body h2,.lp-embed-body h3{font-size:1.1em;margin:.4em 0 .2em}.lp-embed-body p{margin:.3em 0}.lp-embed-body .lp-codeblock{background:var(--code-bg);border-radius:var(--radius);padding:8px 10px;overflow-x:auto;font-size:.9em}.lp-embed-empty{color:var(--text-faint);font-style:italic}.lp-blockquote{border-left:3px solid var(--accent);padding-left:10px;margin:.3em 0;color:var(--text-muted)}.lp-list{margin:.2em 0;padding-left:1.4em}.lp-task-done{text-decoration:line-through;color:var(--text-faint)}.lp-code{font-family:var(--font-mono);font-size:.9em;background:var(--code-bg);border-radius:4px;padding:1px 3px}.lp-highlight{background:var(--tag-bg);color:inherit;border-radius:3px}.cm-line.cm-flash,.flash{animation:editor-flash 1.6s ease-out}@keyframes editor-flash{0%,40%{background-color:var(--selection)}to{background-color:transparent}}.note-editor .cm-tooltip{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-normal);box-shadow:0 8px 24px #0000004d}.note-editor .cm-tooltip-autocomplete>ul{font-family:var(--font-ui);font-size:14px;max-height:40vh}.note-editor .cm-tooltip-autocomplete>ul>li{padding:8px 10px;min-height:40px;display:flex;align-items:center;gap:8px}.note-editor .cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--bg-active);color:var(--text-normal)}.note-editor .cm-completionDetail{color:var(--text-faint);font-style:normal;font-size:12px;margin-left:auto;overflow:hidden;text-overflow:ellipsis;max-width:50%}.note-editor .cm-completionMatchedText{text-decoration:none;color:var(--accent-strong)}.note-editor .cm-ySelectionInfo{font-family:var(--font-ui);font-size:10px;padding:1px 4px;border-radius:3px;opacity:0;transition:opacity .2s}.note-editor .cm-ySelection:hover .cm-ySelectionInfo{opacity:1}.note-editor .cm-panels{background:var(--bg-secondary);color:var(--text-normal);border-color:var(--border)}.note-editor .cm-panels input,.note-editor .cm-panels button{font-size:14px;color:var(--text-normal)}.note-editor .cm-searchMatch{background:var(--tag-bg)}.note-editor .cm-searchMatch-selected{background:var(--selection)}.reading-view{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.reading-body{max-width:46rem;margin:0 auto;padding:20px 16px calc(24px + var(--safe-bottom));font-family:var(--font-text);font-size:16px;line-height:1.65}.reading-body h1{font-size:1.7em;margin:.7em 0 .35em;line-height:1.25}.reading-body h2{font-size:1.45em;margin:.7em 0 .3em;line-height:1.25}.reading-body h3{font-size:1.25em;margin:.6em 0 .3em}.reading-body h4,.reading-body h5,.reading-body h6{margin:.6em 0 .25em}.reading-body h1:first-child,.reading-body h2:first-child,.reading-body h3:first-child{margin-top:0}.reading-body p{margin:.5em 0}.reading-body a{color:var(--link)}.reading-body code{font-family:var(--font-mono);font-size:.9em;background:var(--code-bg);border-radius:4px;padding:1px 3px}.reading-body pre{background:var(--code-bg);border-radius:var(--radius);padding:10px 12px;overflow-x:auto}.reading-body pre code{background:none;padding:0}.reading-body blockquote{border-left:3px solid var(--accent);margin:.5em 0;padding:0 0 0 12px;color:var(--text-muted)}.reading-body hr{border:none;border-top:1px solid var(--border);margin:1em 0}.reading-body ul,.reading-body ol{padding-left:1.5em;margin:.4em 0}.reading-body li{margin:.15em 0}.reading-body li:has(>.task-checkbox){list-style:none;margin-left:-1.3em}.reading-body .task-checkbox{width:18px;height:18px;accent-color:var(--accent);vertical-align:-4px;margin-right:6px;cursor:pointer}.reading-body li:has(>.task-checkbox:checked){text-decoration:line-through;color:var(--text-faint)}.reading-body table{border-collapse:collapse;display:block;max-width:100%;overflow-x:auto;margin:.6em 0;font-size:.95em}.reading-body th,.reading-body td{border:1px solid var(--border);padding:5px 10px}.reading-body th{background:var(--bg-surface);font-weight:600}.reading-media{max-width:100%;height:auto;border-radius:var(--radius);display:block;margin:6px 0}.reading-embed{display:block;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--bg-secondary);padding:8px 12px;margin:6px 0;font-size:.95em}.reading-embed-title{display:block;font-size:.8em;font-weight:600;color:var(--text-muted);cursor:pointer;min-height:24px;padding-top:2px}.reading-embed-title:hover{color:var(--link)}.graph-view{position:relative;flex:1;min-height:0;min-width:0;width:100%;overflow:hidden;background:var(--bg-primary)}.graph-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.graph-canvas canvas{display:block}.graph-overlay-btn{position:absolute;top:10px;right:10px;z-index:6;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.graph-overlay-btn:hover{color:var(--text-normal);background:var(--bg-hover)}.graph-close-btn{width:34px;height:34px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-muted);font-size:14px}.graph-close-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.graph-controls{position:absolute;top:10px;right:10px;z-index:7;width:280px;max-height:calc(100% - 20px);display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 30px #00000040}.graph-controls-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 6px 14px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border)}.graph-controls-body{overflow-y:auto;padding:2px 14px 14px;overscroll-behavior:contain}.graph-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin:14px 0 6px}.graph-hint{font-size:12px;margin-bottom:6px}.graph-search{width:100%;padding:8px 10px;font-size:14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);outline:none;margin-bottom:4px}.graph-search:focus{border-color:var(--accent)}.graph-toggle{display:flex;align-items:center;gap:10px;min-height:40px;font-size:13px;cursor:pointer;user-select:none;-webkit-user-select:none}.graph-toggle input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.graph-field{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;font-size:13px}.graph-slider{display:block;padding:4px 0 6px}.graph-slider-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:2px}.graph-slider input[type=range]{width:100%;height:28px;margin:0;accent-color:var(--accent)}.graph-text-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 12px;margin-top:4px;font-size:13px;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary)}.graph-text-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-normal)}.graph-text-btn.accent{color:var(--accent);border-color:var(--accent)}.graph-text-btn:disabled{opacity:.5}.graph-group-row{display:flex;align-items:center;gap:6px;margin:6px 0}.graph-group-row input[type=color]{width:34px;height:34px;min-width:34px;padding:2px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);cursor:pointer}.graph-group-row input[type=text]{flex:1;min-width:0;padding:7px 9px;font-size:14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;outline:none}.graph-group-row input[type=text]:focus{border-color:var(--accent)}.graph-stepper{display:flex;align-items:center;gap:4px}.graph-stepper button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:17px;color:var(--text-normal);background:var(--bg-primary);border:1px solid var(--border);border-radius:6px}.graph-stepper button:disabled{opacity:.35}.graph-stepper button:hover:not(:disabled){background:var(--bg-hover)}.graph-stepper-value{min-width:22px;text-align:center;font-size:13px;font-weight:600}.graph-stepper.small button{width:32px;height:32px;font-size:15px}.graph-local-header{position:absolute;top:10px;left:10px;z-index:6;display:flex;align-items:center;gap:10px;max-width:min(75%,360px);padding:5px 6px 5px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:999px}.graph-local-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-compact-depth{position:absolute;top:6px;right:6px;z-index:6;padding:2px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px}.graph-local-panel{height:300px;display:flex;flex-direction:column;border-top:1px solid var(--border)}.graph-local-panel-title{padding:8px 12px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.graph-local-panel .graph-view{flex:1}.graph-timelapse-bar{position:absolute;left:12px;right:12px;bottom:calc(12px + var(--safe-bottom));z-index:8;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:999px}.graph-timelapse-bar input[type=range]{flex:1;height:28px;margin:0;accent-color:var(--accent)}.graph-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;pointer-events:none}@media(max-width:800px){.graph-controls{top:auto;left:0;right:0;bottom:0;width:100%;max-height:60%;border-radius:14px 14px 0 0;border-left:none;border-right:none;border-bottom:none;box-shadow:0 -8px 30px #0000004d}.graph-controls-body{padding-bottom:calc(14px + var(--safe-bottom))}.graph-search,.graph-group-row input[type=text]{font-size:16px}.graph-timelapse-bar{bottom:calc(16px + var(--safe-bottom))}}.pane{display:flex;flex-direction:column;min-height:0;font-size:13.5px}.pane-header{display:flex;align-items:center;gap:2px;padding:2px 8px 6px}.pane-title{flex:1;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.pane-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;color:var(--text-muted);font-size:14px}.pane-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.pane-empty{padding:14px 12px;color:var(--text-faint);font-size:13px;line-height:1.5}.pane-empty code,.search-hints code{font-family:var(--font-mono);font-size:12px;background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.pane-input{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:9px 30px 9px 10px;font-size:16px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pane-input:focus{border-color:var(--accent)}.tree{padding:0 4px}.tree-row{display:flex;align-items:center;gap:4px;min-height:32px;padding-right:2px;border-radius:6px;cursor:pointer;user-select:none;-webkit-user-select:none}.tree-row:hover{background:var(--bg-hover)}.tree-row.active{background:var(--bg-active);color:var(--accent-strong)}.tree-row.folder .tree-name{font-weight:600}.tree-chevron{display:inline-flex;align-items:center;justify-content:center;width:18px;min-width:18px;height:18px;color:var(--text-faint);font-size:11px;transition:transform .12s ease}.tree-chevron.open{transform:rotate(90deg)}.tree-chevron.btn{width:26px;min-width:26px;height:26px;border-radius:5px}.tree-chevron.btn:hover{background:var(--bg-hover);color:var(--text-normal)}.tree-icon{font-size:13px;width:18px;min-width:18px;text-align:center;opacity:.85}.tree-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-more{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;border-radius:5px;color:var(--text-faint);font-size:15px;opacity:0}.tree-row:hover .tree-more,.tree-row:focus-within .tree-more{opacity:1}.tree-more:hover{background:var(--bg-active);color:var(--text-normal)}.tree-rename{flex:1;min-width:0;background:var(--bg-primary);border:1px solid var(--accent);border-radius:5px;padding:4px 6px;font-size:16px;outline:none}@media(pointer:coarse){.tree-row{min-height:44px}.tree-more{opacity:1;width:40px;min-width:40px;height:40px}.pane-btn{width:40px;height:40px}.tree-chevron.btn{width:40px;min-width:40px;height:40px}}.ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.ctx-menu{position:fixed;z-index:91;min-width:190px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 30px #00000059;padding:4px;display:flex;flex-direction:column}.ctx-item{display:flex;align-items:center;width:100%;min-height:40px;padding:8px 12px;border-radius:6px;text-align:left;font-size:14px;color:var(--text-normal)}.ctx-item:hover{background:var(--bg-hover)}.ctx-item.danger{color:var(--danger)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--app-offset-top);height:var(--app-height);bottom:auto;z-index:95;background:#00000073;display:flex;align-items:center;justify-content:center;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom))}.dialog{width:100%;max-width:420px;max-height:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.dialog-title{padding:14px 16px 10px;font-weight:600;font-size:15px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-list{overflow-y:auto;padding:6px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--border)}.dlg-btn{min-height:40px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--border);font-size:14px;color:var(--text-normal)}.dlg-btn:hover{background:var(--bg-hover)}.dlg-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.dlg-btn.primary:disabled{opacity:.5}.search-box{position:relative;padding:2px 8px 8px}.search-clear{position:absolute;right:12px;top:50%;transform:translateY(-58%);width:28px;height:28px;border-radius:50%;color:var(--text-faint);font-size:17px}.search-clear:hover{color:var(--text-normal);background:var(--bg-hover)}.search-hints{padding:6px 12px;display:flex;flex-direction:column;gap:8px;color:var(--text-faint);font-size:12.5px}.search-hints .hint-title{color:var(--text-muted)}.result-list{display:flex;flex-direction:column;padding:0 4px}.result-row{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-height:44px;padding:8px;border-radius:6px;text-align:left}.result-row:hover{background:var(--bg-hover)}.result-title{font-weight:600;font-size:13.5px}.result-path{color:var(--text-faint);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-snippet{color:var(--text-muted);font-size:12.5px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.result-snippet mark,.result-title mark,.bl-snippet mark{background:var(--selection);color:var(--accent-strong);border-radius:2px;padding:0 1px}.tag-row{cursor:default}.tag-name{flex:1;min-width:0;text-align:left;color:var(--accent);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:32px;display:inline-flex;align-items:center;border-radius:5px;padding:0 4px}.tag-name:hover{background:var(--tag-bg)}.count-badge{min-width:20px;padding:1px 6px;margin-right:4px;border-radius:999px;background:var(--bg-active);color:var(--text-muted);font-size:11px;text-align:center}.bl-pane{font-size:13px}.panel-section{border-bottom:1px solid var(--border);padding-bottom:8px}.panel-header{display:flex;align-items:center;gap:4px;width:100%;min-height:40px;padding:6px 10px 2px;text-align:left}.panel-header .panel-title{flex:1;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.panel-header.collapsible:hover .panel-title{color:var(--text-normal)}.bl-group{padding:4px 8px 2px}.bl-source{display:block;width:100%;text-align:left;font-weight:600;font-size:13px;color:var(--link);padding:6px 6px 2px;border-radius:5px}.bl-source:hover{background:var(--bg-hover)}.bl-snippet{display:block;width:100%;min-height:40px;text-align:left;color:var(--text-muted);font-size:12.5px;line-height:1.45;padding:6px 8px;border-radius:6px;border:1px solid transparent;overflow-wrap:anywhere}.bl-snippet:hover{background:var(--bg-hover);border-color:var(--border)}.bl-source-inline{display:block;color:var(--text-normal);font-weight:600;font-size:12px;margin-bottom:2px}.bl-unlinked{display:flex;align-items:center;gap:6px;padding:2px 8px}.bl-unlinked .bl-snippet{flex:1;min-width:0}.bl-linkbtn{min-height:40px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--accent);color:var(--accent);font-size:12.5px;font-weight:600;white-space:nowrap}.bl-linkbtn:hover{background:var(--accent);color:#fff}.qs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--app-offset-top);height:var(--app-height);bottom:auto;z-index:100;background:#00000073;display:flex;flex-direction:column;align-items:center;padding:calc(8vh + var(--safe-top)) 12px calc(12px + var(--safe-bottom))}.qs-modal{width:min(560px,100%);max-height:min(420px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 50px #00000073;display:flex;flex-direction:column;overflow:hidden}.qs-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);padding:14px;font-size:16px;outline:none}.qs-list{overflow-y:auto;padding:6px;-webkit-overflow-scrolling:touch}.qs-row{display:flex;flex-direction:column;align-items:stretch;gap:1px;width:100%;min-height:44px;padding:7px 10px;border-radius:var(--radius);text-align:left}.qs-row.selected{background:var(--bg-active)}.qs-row.create .qs-title{color:var(--accent)}.qs-title{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qs-detail{font-size:11.5px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.props-body{padding:2px 10px 6px;display:flex;flex-direction:column;gap:6px}.prop-row{display:flex;align-items:center;gap:6px;min-height:40px}.prop-key{width:38%;min-width:0;background:transparent;border:1px solid transparent;border-radius:6px;padding:8px 6px;font-size:13px;font-weight:600;color:var(--text-muted);outline:none}.prop-key:hover,.prop-key:focus{border-color:var(--border);background:var(--bg-primary)}.prop-input{flex:1;min-width:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:8px;font-size:13.5px;outline:none}.prop-input:focus{border-color:var(--accent)}.prop-checkwrap{flex:1;display:flex;align-items:center;min-height:40px}.prop-check{width:20px;height:20px;accent-color:var(--accent)}.prop-remove{width:30px;min-width:30px;height:30px;border-radius:6px;color:var(--text-faint);font-size:16px}.prop-remove:hover{color:var(--danger);background:var(--bg-hover)}.chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:4px;align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:4px 6px;min-height:40px}.chips:focus-within{border-color:var(--accent)}.chip{display:inline-flex;align-items:center;gap:2px;background:var(--tag-bg);color:var(--accent-strong);border-radius:999px;padding:3px 4px 3px 9px;font-size:12.5px;max-width:100%}.chip-x{width:20px;height:20px;border-radius:50%;color:var(--accent-strong);font-size:13px;display:inline-flex;align-items:center;justify-content:center}.chip-x:hover{background:var(--bg-active)}.chip-input{flex:1;min-width:50px;border:none;background:transparent;outline:none;font-size:13.5px;padding:4px 2px}.add-prop{align-self:flex-start;min-height:40px;padding:0 10px;border-radius:6px;color:var(--text-muted);font-size:13px}.add-prop:hover{color:var(--accent);background:var(--bg-hover)}.hist-list{display:flex;flex-direction:column;padding:2px 8px}.hist-row{display:flex;align-items:baseline;gap:8px;min-height:40px;padding:6px 8px;border-radius:6px;text-align:left}.hist-row:hover{background:var(--bg-hover)}.hist-msg{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hist-date{color:var(--text-faint);font-size:11.5px;white-space:nowrap}.hist-dialog{max-width:640px}.hist-content{margin:0;padding:14px;overflow:auto;flex:1;min-height:120px;font-family:var(--font-mono);font-size:12.5px;line-height:1.5;background:var(--code-bg);color:var(--text-normal);white-space:pre-wrap;overflow-wrap:anywhere}.inline-notice{margin:4px 10px;padding:8px 10px;border-radius:6px;background:var(--bg-active);color:var(--success);font-size:12.5px}.cv-pane{position:relative;flex:1;min-height:0;overflow:hidden;background-color:var(--bg-secondary);background-image:radial-gradient(var(--border) 1px,transparent 1px);touch-action:none;user-select:none;-webkit-user-select:none;cursor:default}.cv-edges{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.cv-edge-hit{pointer-events:stroke;cursor:pointer}.cv-edge-label{pointer-events:auto;cursor:pointer;fill:var(--text-muted);stroke:var(--bg-secondary);stroke-width:4px;paint-order:stroke;font-family:var(--font-ui);user-select:none;-webkit-user-select:none}.cv-world{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;will-change:transform}.cv-node{position:absolute;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:grab}.cv-node.cv-selected{outline:2px solid var(--accent);outline-offset:1px}.cv-text-body{flex:1;padding:8px 12px;overflow:hidden;pointer-events:none;font-size:14px;line-height:1.45}.cv-edit{position:absolute;top:0;right:0;bottom:0;left:0;border:none;outline:none;resize:none;background:var(--bg-surface);color:var(--text-normal);padding:8px 12px;font-size:16px;font-family:var(--font-text);line-height:1.45;touch-action:auto;user-select:text;-webkit-user-select:text}.cv-img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}.cv-media{width:100%;height:100%;display:block}.cv-audio{height:auto;margin:auto 0}.cv-file-header{flex:none;padding:7px 12px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border);background:var(--bg-hover);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-file-body{flex:1;overflow-y:auto;padding:4px 12px 10px;font-size:13px;line-height:1.45;touch-action:pan-y;cursor:auto}.cv-link-body{flex:1;min-height:0;padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:4px;overflow:hidden}.cv-link-title{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-link-url{display:block;font-size:12px;color:var(--link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-missing{padding:10px 12px;font-size:13px;word-break:break-all}.cv-node-group{background:color-mix(in srgb,var(--text-faint) 6%,transparent);border-radius:12px;overflow:visible;pointer-events:none}.cv-group-label{position:absolute;top:-34px;left:0;pointer-events:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:6px 12px;min-height:30px;font-size:13px;font-weight:600;white-space:nowrap;cursor:grab;touch-action:none}.cv-md>:first-child{margin-top:0}.cv-md>:last-child{margin-bottom:0}.cv-md p,.cv-md ul,.cv-md ol,.cv-md blockquote,.cv-md pre,.cv-md table{margin:.4em 0}.cv-md h1,.cv-md h2,.cv-md h3,.cv-md h4,.cv-md h5,.cv-md h6{margin:.5em 0 .25em;line-height:1.25}.cv-md h1{font-size:1.4em}.cv-md h2{font-size:1.25em}.cv-md h3{font-size:1.1em}.cv-md ul,.cv-md ol{padding-left:1.4em}.cv-md code{font-family:var(--font-mono);font-size:.9em;background:var(--code-bg);border-radius:4px;padding:.1em .35em}.cv-md pre{background:var(--code-bg);border-radius:6px;padding:8px 10px;overflow-x:auto}.cv-md pre code{background:none;padding:0}.cv-md blockquote{border-left:3px solid var(--border);padding-left:10px;color:var(--text-muted)}.cv-md img{max-width:100%}.cv-md table{border-collapse:collapse;font-size:.95em}.cv-md th,.cv-md td{border:1px solid var(--border);padding:3px 8px}.cv-md-link{color:var(--link)}.cv-chrome{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6}.cv-actionbar{position:absolute;pointer-events:auto;display:flex;gap:2px;background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;padding:3px;box-shadow:0 4px 16px #00000040}.cv-bar-btn{width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:15px}.cv-bar-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.cv-bar-btn.cv-danger:hover{color:var(--danger)}.cv-swatch.cv-on{background:var(--bg-active)}.cv-dot{width:16px;height:16px;border-radius:50%}.cv-dot-none{background:transparent;border:2px solid var(--text-faint)}.cv-handle{position:absolute;width:40px;height:40px;transform:translate(-50%,-50%);pointer-events:auto;display:flex;align-items:center;justify-content:center;touch-action:none}.cv-handle:after{content:"";width:12px;height:12px;border-radius:3px;background:var(--bg-primary);border:2px solid var(--accent)}.cv-sidehandle{cursor:crosshair}.cv-sidehandle:after{width:14px;height:14px;border-radius:50%}.cv-nw,.cv-se{cursor:nwse-resize}.cv-ne,.cv-sw{cursor:nesw-resize}.cv-toolbar{position:absolute;top:10px;left:10px;z-index:8;display:flex;flex-direction:column;gap:6px;max-width:min(320px,calc(100% - 20px))}.cv-toolbar-row{display:flex;gap:4px;width:max-content;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px;box-shadow:0 4px 16px #0000002e}.cv-tool{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:17px;color:var(--text-muted)}.cv-tool:hover{background:var(--bg-hover);color:var(--text-normal)}.cv-tool.active{background:var(--bg-active);color:var(--accent)}.cv-hint{font-size:11px;padding-left:2px;text-shadow:0 1px 2px var(--bg-secondary)}.cv-picker{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 24px #00000040;width:min(300px,calc(100vw - 40px))}.cv-picker input{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:9px 10px;font-size:16px;outline:none}.cv-picker input:focus{border-color:var(--accent)}.cv-picker-results{display:flex;flex-direction:column;max-height:240px;overflow-y:auto}.cv-picker-item{min-height:40px;text-align:left;padding:8px;border-radius:6px;display:flex;flex-direction:column;gap:2px;font-size:14px}.cv-picker-item:hover{background:var(--bg-hover)}.cv-picker-item .muted{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:15px}.base-screen{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.base-pad{padding:20px}.base-empty{padding:24px 16px;color:var(--text-faint);font-size:13.5px;text-align:center}.base-input,.base-select{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font-size:16px;min-height:40px;outline:none;color:var(--text-normal);-webkit-appearance:none;-moz-appearance:none;appearance:none}.base-input:focus,.base-select:focus{border-color:var(--accent)}.base-select{padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}.base-mini-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);font-size:13.5px}.base-mini-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-normal)}.base-mini-btn:disabled{opacity:.4;cursor:default}.base-mini-btn.danger:hover:not(:disabled){color:var(--danger)}.base-mini-btn.add{color:var(--accent)}.base-mini-btn.active{color:var(--accent);background:var(--bg-active);border-color:var(--accent)}.base-mini-btn.wide{padding:0 12px;white-space:nowrap}.base-primary-btn{min-height:40px;padding:0 16px;border-radius:var(--radius);background:var(--accent);color:#fff;font-weight:600;font-size:14px;white-space:nowrap}.base-primary-btn:disabled{opacity:.5}.base-lib{flex:1;overflow-y:auto;padding:20px 16px calc(20px + var(--safe-bottom));max-width:760px;width:100%;margin:0 auto}.base-lib-title{margin:0 0 4px;font-size:20px}.base-lib-sub{margin:0 0 16px;font-size:13.5px}.base-lib-sub code{font-family:var(--font-mono);font-size:12px;background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.base-new-row{display:flex;gap:8px;margin-bottom:18px}.base-new-row .base-input{flex:1;min-width:0}.base-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.base-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;min-height:64px}.base-card:hover{background:var(--bg-hover);border-color:var(--accent)}.base-card-name{font-weight:600;font-size:15px}.base-card-path{font-size:12px;word-break:break-all}.base-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.base-head-name{flex:1;min-width:0;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-config{border-bottom:1px solid var(--border);background:var(--bg-secondary);padding:12px;overflow-y:auto;max-height:55%;display:flex;flex-direction:column;gap:16px;flex-shrink:0}.base-config-section{display:flex;flex-direction:column;gap:8px}.base-config-title{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.base-group{display:flex;flex-direction:column;gap:8px}.base-group.nested{border-left:2px solid var(--border);padding-left:10px;margin-left:2px}.base-group-head{display:flex;align-items:center;gap:8px}.base-group-label{font-size:12.5px}.base-op-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.base-op-toggle button{min-height:38px;min-width:48px;padding:0 12px;font-size:13px;color:var(--text-muted);background:var(--bg-surface)}.base-op-toggle button.active{background:var(--accent);color:#fff}.base-rule{display:flex;gap:6px;align-items:center}.base-rule .base-select{min-width:0;flex:1}.base-select-cmp{flex:0 0 auto;max-width:120px}.base-rule-value{min-width:0;flex:1}.base-group-actions{display:flex;gap:8px}.base-col-row,.base-sort-row{display:flex;align-items:center;gap:6px}.base-col-name{flex:1;min-width:0;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-sort-row .base-select{flex:1;min-width:0}.base-col-add{display:flex;gap:6px}.base-col-add .base-select{flex:1;min-width:0}.base-table-wrap{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.base-table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13.5px}.base-table th,.base-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.base-table th{position:sticky;top:0;z-index:2;background:var(--bg-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.base-table th:first-child,.base-table td:first-child{position:sticky;left:0;z-index:1}.base-table td:first-child{background:var(--bg-primary);font-weight:600}.base-table th:first-child{z-index:3}.base-table tbody tr{cursor:pointer}.base-table tbody tr:hover td{background:var(--bg-hover)}.base-cell-value.editable{display:inline-flex;align-items:center;min-height:24px;min-width:40px;border-radius:4px;cursor:text}.base-cell-value.editable:hover{outline:1px dashed var(--border);outline-offset:3px}.base-cell-hint{color:var(--text-faint)}.base-cell-input{background:var(--bg-primary);border:1px solid var(--accent);border-radius:4px;padding:4px 6px;font-size:16px;width:140px;outline:none}.base-cell-date{color:var(--text-muted)}.base-cell-link{color:var(--link);min-height:24px;cursor:pointer}.base-cell-link:hover{text-decoration:underline}.base-cell-link.unresolved{color:var(--link-unresolved);cursor:default}.base-check{width:18px;height:18px;accent-color:var(--accent)}.base-chips{display:inline-flex;flex-wrap:wrap;gap:4px}.base-chip{display:inline-flex;align-items:center;background:var(--tag-bg);color:var(--accent-strong);border-radius:999px;padding:2px 8px;font-size:12px}.base-footer{display:flex;align-items:center;gap:10px;padding:8px 12px calc(8px + var(--safe-bottom));border-top:1px solid var(--border);color:var(--text-muted);font-size:12.5px}@media(max-width:600px){.base-rule{flex-wrap:wrap}.base-rule .base-select,.base-select-cmp,.base-rule-value{flex:1 1 45%;max-width:none}.base-rule-value{flex-basis:100%}.base-config{max-height:60%}.base-new-row{flex-direction:column}.base-primary-btn{min-height:44px}}.shortcut-row{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:5px 8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--bg-secondary);border-top:1px solid var(--border)}.shortcut-row::-webkit-scrollbar{display:none}.shortcut-btn{flex-shrink:0;min-width:44px;height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);font-family:var(--font-mono);font-size:16px;color:var(--text-normal);background:var(--bg-surface);border:1px solid var(--border)}.shortcut-btn:active{background:var(--bg-active);border-color:var(--accent)}.shortcut-btn:disabled{opacity:.4}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--app-offset-top);height:var(--app-height);bottom:auto;z-index:100;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px}.settings-dialog{width:100%;max-width:560px;max-height:min(85vh,720px);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px}@media(max-width:800px){.settings-overlay{padding:0}.settings-dialog{max-width:none;max-height:none;height:var(--app-height);border:none;border-radius:0;padding-top:var(--safe-top)}}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.settings-header h2{margin:0;font-size:17px}.sd-close{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--text-muted);font-size:16px}.sd-close:hover{background:var(--bg-hover);color:var(--text-normal)}.settings-body{overflow-y:auto;padding:0 18px 24px;padding-bottom:calc(24px + var(--safe-bottom))}.settings-section{margin-top:20px}.settings-section h3{margin:0 0 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.settings-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.settings-field label{font-size:13px;font-weight:500;color:var(--text-normal)}.settings-field input,.settings-field select{font-family:inherit;color:var(--text-normal);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;min-height:44px;font-size:16px;outline:none;width:100%}.settings-field input:focus,.settings-field select:focus{border-color:var(--accent)}.settings-field input.mono{font-family:var(--font-mono)}.sd-hint{font-size:12px;color:var(--text-muted)}.sd-error{font-size:13px;color:var(--danger);margin-bottom:10px}.sd-success{font-size:13px;color:var(--success);margin-bottom:10px}.sd-account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:14px}.sd-adduser{border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.sd-adduser .settings-field{width:100%;margin-bottom:4px}.sd-btn-row{display:flex;gap:8px}.sd-btn{min-height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:14px;font-weight:600;color:var(--text-normal);background:var(--bg-surface);border:1px solid var(--border)}.sd-btn:hover{background:var(--bg-hover)}.sd-btn:disabled{opacity:.5}.sd-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.sd-btn.danger{color:var(--danger);border-color:var(--danger);background:none}.sd-qr{display:flex;justify-content:center;background:#fff;border-radius:var(--radius);padding:12px;align-self:center}.sd-secret{font-family:var(--font-mono);font-size:12px;word-break:break-all;color:var(--text-muted);align-self:center;text-align:center}.sd-about{margin:0;font-size:13px;color:var(--text-muted);line-height:1.6}.sd-api-intro{margin:0 0 14px;line-height:1.55}.sd-hint code{font-family:var(--font-mono);font-size:.9em;color:var(--text-normal);background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;word-break:break-all}.sd-api-error-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.sd-api-error-row .sd-error{margin-bottom:0}.sd-token-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.sd-token{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main revoke" "meta revoke";align-items:center;gap:3px 12px;padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.sd-token-main{grid-area:main;display:flex;align-items:center;gap:8px;min-width:0}.sd-token-label{font-size:14px;font-weight:600;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-scope-badge{flex-shrink:0;font-size:11px;font-weight:600;line-height:1.4;padding:1px 8px;border-radius:999px;background:var(--tag-bg);color:var(--accent-strong);white-space:nowrap}.sd-scope-badge.read{background:var(--bg-hover);color:var(--text-muted)}.sd-token-meta{grid-area:meta;font-size:12px;color:var(--text-muted)}.sd-token-revoke{grid-area:revoke}.sd-token-form{display:flex;flex-direction:column}.sd-token-submit{align-self:flex-start;margin-top:4px}.sd-token-created{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--bg-surface)}.sd-token-created .sd-success{margin-bottom:0}.sd-token-warning{font-size:13px;line-height:1.5;color:var(--warning)}.sd-token-box{display:flex;align-items:stretch;gap:8px}.sd-token-value{flex:1;min-width:0;display:flex;align-items:center;font-family:var(--font-mono);font-size:13px;color:var(--text-normal);background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;word-break:break-all;-webkit-user-select:all;user-select:all}.sd-token-box .sd-btn{flex-shrink:0}:root{--bg-primary: #1e1e2e;--bg-secondary: #181825;--bg-surface: #26263a;--bg-hover: #2e2e48;--bg-active: #363654;--text-normal: #d8dce8;--text-muted: #9399b2;--text-faint: #6c7086;--accent: #8b7cf6;--accent-strong: #a495ff;--link: #8ab4f8;--link-unresolved: #8ab4f880;--border: #31324a;--danger: #f38ba8;--warning: #f9e2af;--success: #a6e3a1;--tag-bg: #8b7cf62b;--code-bg: #16161f;--selection: #8b7cf640;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", sans-serif;--font-text: var(--font-ui);--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius: 8px;--app-height: 100dvh;--app-offset-top: 0px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg-primary: #ffffff;--bg-secondary: #f3f4f8;--bg-surface: #ffffff;--bg-hover: #ebecf3;--bg-active: #e0e2ee;--text-normal: #24273a;--text-muted: #5b6078;--text-faint: #9399b2;--accent: #6d5ce6;--accent-strong: #5a48d6;--link: #1a6dcc;--link-unresolved: #1a6dcc80;--border: #dcdfea;--code-bg: #f0f1f6;--tag-bg: #6d5ce622;--selection: #6d5ce630;color-scheme:light}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;overscroll-behavior:none}body{font-family:var(--font-ui);background:var(--bg-primary);color:var(--text-normal);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}::selection{background:var(--selection)}a{color:var(--link);text-decoration:none}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input,textarea{font-family:inherit;color:var(--text-normal)}@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:max(16px,1em)}}.app-shell{display:flex;height:var(--app-height);overflow:hidden;position:relative}.sidebar{width:280px;min-width:280px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;padding-top:var(--safe-top)}.main-pane{flex:1;display:flex;flex-direction:column;min-width:0;padding-top:var(--safe-top)}.right-panel{width:300px;min-width:300px;background:var(--bg-secondary);border-left:1px solid var(--border);overflow-y:auto;padding-top:var(--safe-top)}.topbar{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border);min-height:44px}.topbar .title{flex:1;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;color:var(--text-muted);font-size:17px}.icon-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.icon-btn.active{color:var(--accent);background:var(--bg-active)}.content-area{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.side-tabs{display:flex;gap:2px;padding:8px 8px 4px}.side-body{flex:1;overflow-y:auto;padding:4px 0 calc(8px + var(--safe-bottom))}.backdrop{display:none}@media(max-width:800px){.sidebar{position:absolute;z-index:30;top:0;bottom:0;left:0;transform:translate(-100%);transition:transform .2s ease;width:min(320px,85vw);min-width:0;box-shadow:4px 0 24px #00000059}.sidebar.open{transform:translate(0)}.right-panel{position:absolute;z-index:30;top:0;bottom:0;right:0;transform:translate(100%);transition:transform .2s ease;width:min(320px,85vw);min-width:0}.right-panel.open{transform:translate(0)}.backdrop{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#0006}}.keyboard-open .topbar{display:none}.auth-page{height:var(--app-height);display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:100%;max-width:380px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:14px}.auth-card h1{margin:0 0 4px;font-size:20px}.auth-card input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:11px 12px;font-size:16px;outline:none}.auth-card input:focus{border-color:var(--accent)}.auth-card .primary{background:var(--accent);color:#fff;border-radius:var(--radius);padding:11px;font-weight:600;font-size:15px}.auth-card .primary:disabled{opacity:.5}.auth-error{color:var(--danger);font-size:13px}.qr-box{display:flex;justify-content:center;background:#fff;border-radius:var(--radius);padding:12px}.secret-text{font-family:var(--font-mono);font-size:12px;word-break:break-all;color:var(--text-muted);text-align:center}.muted{color:var(--text-muted)}.spinner{width:22px;height:22px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.sync-dot.connected{background:var(--success)}.sync-dot.offline{background:var(--warning)}
