:root{--bg:#16181d;--panel:#1c1f26;--panel-2:#22262f;--border:#2e333d;--text:#dfe3ea;--muted:#8b93a1;--accent:#6ea8fe;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=light]{--bg:#fff;--panel:#f5f6f8;--panel-2:#ebedf0;--border:#d7dbe0;--text:#1e2126;--muted:#6b7280;--accent:#2f6feb}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{grid-template-columns:280px 1fr;height:100%;display:grid}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.brand{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.brand h1{letter-spacing:.04em;text-transform:lowercase;margin:0;font-size:15px}button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:6px;padding:6px 10px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#12151a;border-color:var(--accent);padding:6px 11px;font-weight:700;line-height:1}button.wide{margin:0 10px 10px}button.link{color:var(--muted);background:0 0;border:none;padding:0 4px;font-size:15px;line-height:1}button.link:hover{color:var(--text)}.section{border-bottom:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.section.notes-section{border-bottom:none;flex:1}.section-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;padding:9px 12px 6px;font-size:11px;display:flex}.tree-wrap{max-height:42vh;padding-bottom:6px;overflow:auto}.tree{margin:0;padding:0;list-style:none}.tree-row{text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:4px;width:100%;padding:3px 8px;font-size:13px;display:flex;overflow:hidden}.tree-row:hover{background:var(--panel-2);border-color:#0000}.tree-row.active{background:var(--panel-2);box-shadow:inset 2px 0 0 var(--accent)}.tree-row.drop-target{background:var(--panel-2);outline:1px dashed var(--accent);outline-offset:-1px}.tree-caret{width:10px;color:var(--muted);flex:none;font-size:10px}.tree-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-item{align-items:center;width:100%;display:flex}.tree-actions{align-items:center;gap:2px;margin-left:auto;padding-right:4px;display:flex}.tree-action{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:11px;line-height:1}.tree-action:hover{background:var(--border);color:var(--text);border-color:#0000}.tree-action.delete:hover{color:#ff6b6b}.search{background:var(--panel-2);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:6px;margin:0 10px 8px;padding:6px 9px;font-size:13px}.search:focus,.title-input:focus{border-color:var(--accent);outline:none}.note-list{flex:1;min-height:0;margin:0;padding:0 6px 8px;list-style:none;overflow-y:auto}.note-list li{align-items:center;display:flex}.note-list li:hover .delete{visibility:visible}.note-item{text-align:left;background:0 0;border:none;border-radius:6px;flex:1;padding:5px 8px;font-size:13px;overflow:hidden}.note-item:hover{background:var(--panel-2);border-color:#0000}.note-item.active{background:var(--panel-2);box-shadow:inset 2px 0 0 var(--accent)}.note-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.delete{visibility:hidden;color:var(--muted);background:0 0;border:none;padding:2px 6px;font-size:16px;line-height:1}.delete:hover{color:#ff6b6b;border-color:#0000}.empty,.hint{color:var(--muted);margin:0;padding:6px 10px;font-size:12px}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.tabs{background:var(--panel);border-bottom:1px solid var(--border);min-height:35px;display:flex;overflow-x:auto}.tab{border-right:1px solid var(--border);flex:none;align-items:center;max-width:220px;display:flex}.tab.active{background:var(--bg);box-shadow:inset 0 2px 0 var(--accent)}.tab-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;padding:7px 4px 7px 12px;font-size:13px;display:flex;overflow:hidden}.tab.active .tab-label{color:var(--text)}.tab-label:hover{border-color:#0000}.dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.tab-close{color:var(--muted);background:0 0;border:none;padding:2px 8px 2px 2px;font-size:15px;line-height:1}.tab-close:hover{color:#ff6b6b;border-color:#0000}.toolbar{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.title-input{color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:5px 8px;font-size:15px;font-weight:600}.title-input:hover{border-color:var(--border)}.path-label{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.panes{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid}.panes.single{grid-template-columns:1fr}.pane{min-width:0;overflow:auto}.editor{border-right:1px solid var(--border);overflow:hidden}.editor>*{height:100%}.editor .cm-editor{height:100%;font-size:var(--editor-font-size,13px)}.editor .cm-scroller{font-family:var(--mono)}.panes.single .editor{border-right:none}.preview{padding:16px 22px}.blank{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.statusbar{border-top:1px solid var(--border);background:var(--panel);color:var(--muted);align-items:center;gap:16px;min-height:26px;padding:4px 14px;font-size:11.5px;display:flex}.statusbar .spacer{flex:1}.statusbar .unsaved{color:var(--accent)}.statusbar .flash{color:var(--text)}.palette-backdrop{z-index:20;background:#00000073;justify-content:center;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:min(560px,90vw);max-height:60vh;display:flex;overflow:hidden;box-shadow:0 18px 50px #00000073}.palette input{border:none;border-bottom:1px solid var(--border);color:var(--text);font:inherit;background:0 0;padding:12px 14px;font-size:15px}.palette input:focus{outline:none}.palette ul{margin:0;padding:6px;list-style:none;overflow-y:auto}.palette li button{text-align:left;background:0 0;border:none;border-radius:6px;align-items:baseline;gap:10px;width:100%;padding:6px 10px;display:flex;overflow:hidden}.palette li button.active{background:var(--panel-2);border-color:#0000}.palette-name{flex:none;font-size:13px}.palette-path{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.palette-empty{color:var(--muted);padding:10px;font-size:13px}.markdown h1,.markdown h2,.markdown h3{margin:1.2em 0 .5em;line-height:1.25}.markdown h1{font-size:1.7em}.markdown h2{border-bottom:1px solid var(--border);padding-bottom:.25em;font-size:1.35em}.markdown>:first-child{margin-top:0}.markdown a{color:var(--accent)}.markdown code{background:var(--panel-2);font-size:.9em;font-family:var(--mono);border-radius:4px;padding:.15em .4em}.markdown pre{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;overflow-x:auto}.markdown pre code{background:0 0;padding:0}.markdown blockquote{border-left:3px solid var(--border);color:var(--muted);margin:1em 0;padding:0 1em}.markdown table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);text-align:left;padding:6px 12px}.markdown th{background:var(--panel-2)}.markdown img{max-width:100%}.markdown hr{border:none;border-top:1px solid var(--border)}@media (width<=860px){.app{grid-template-rows:240px 1fr;grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border)}.tree-wrap{max-height:30vh}.panes{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.editor{border-right:none;border-bottom:1px solid var(--border)}}.settings-backdrop{z-index:30;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:90vw;max-width:450px;display:flex;overflow:hidden;box-shadow:0 18px 50px #00000073}.settings-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.settings-header h2{margin:0;font-size:15px;font-weight:600}.close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1}.close-btn:hover{color:var(--text);border-color:#0000}.settings-body{flex-direction:column;gap:14px;padding:14px 16px;display:flex}.setting{flex-direction:column;gap:6px;display:flex}.setting label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12px;font-weight:600}.setting-control{align-items:center;gap:8px;display:flex}.setting input[type=range]{background:var(--border);cursor:pointer;border:none;border-radius:2px;outline:none;flex:1;height:4px}.setting input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.setting input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.setting select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.setting select:hover,.setting select:focus{border-color:var(--accent);outline:none}.value{color:var(--muted);text-align:right;min-width:40px;font-size:12px}.settings-contact{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.contact-toggle{text-underline-offset:2px;align-self:flex-start;font-size:12px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.contact-fields{flex-direction:column;gap:10px;display:flex}.contact-fields input[type=text],.contact-fields input[type=email],.contact-fields textarea{background:var(--panel-2);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;border-radius:6px;padding:6px 8px;font-size:13px}.contact-fields textarea{resize:vertical}.contact-fields input:focus,.contact-fields textarea:focus{border-color:var(--accent);outline:none}.contact-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-status{margin:0;font-size:12px}.contact-status.ok{color:var(--accent)}.contact-status.error{color:#e5484d}
