:root{color-scheme:light dark;--bg: light-dark(#ffffff, #1e1e1e);--bg-side: light-dark(#f6f6f6, #262626);--fg: light-dark(#222222, #dadada);--muted: light-dark(#5c5c5c, #b3b3b3);--faint: light-dark(#ababab, #666666);--border: light-dark(#e0e0e0, #363636);--accent: light-dark(#8a5cf5, #a882ff);--hover: light-dark(rgb(0 0 0 / .075), rgb(255 255 255 / .075));--active: light-dark(rgb(0 0 0 / .1), rgb(255 255 255 / .1));--danger: light-dark(#e93147, #fb464c);--btn: light-dark(#e9e9e9, #363636);--btn-hover: light-dark(#dedede, #3f3f3f);--toggle-off: light-dark(#c9c9c9, #4a4a4a);--shadow: light-dark(rgb(0 0 0 / .08), rgb(0 0 0 / .4));--tip-bg: light-dark(#262626, #3d3d3d);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,system-ui,sans-serif}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:1px solid var(--border);border-radius:6px;padding:6px 10px;cursor:pointer}button:hover{background:var(--hover)}button.link{border:none;color:var(--accent)}button.danger,.danger{color:var(--danger)}input,select,textarea{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;width:100%}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.muted{color:var(--muted)}.error{color:var(--danger);margin:0;font-size:14px}.info{color:var(--accent)}.splash{height:100%;display:grid;place-items:center}.splash{font-size:28px;color:var(--muted)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;padding:4px 6px;border-radius:4px;color:var(--muted)}.icon-btn svg{width:18px;height:18px;stroke-width:1.75}.icon-btn:hover:not(:disabled),.icon-btn.is-active{background:var(--hover);color:var(--fg)}.icon-btn:disabled{color:var(--faint);cursor:default}.workspace{display:flex;height:100%;padding-top:env(safe-area-inset-top)}.workspace{--side: min(var(--side-w, 280px), 45vw)}.sidebar{width:var(--side);flex-shrink:0;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:margin-left .2s}.workspace:not(.sidebar-open) .sidebar{margin-left:calc(-1 * var(--side))}.resizer{width:6px;margin-left:-3px;margin-right:-3px;cursor:col-resize;z-index:2;flex-shrink:0;touch-action:none}.resizer:hover,body.resizing .resizer{background:var(--accent);opacity:.4}body.resizing{cursor:col-resize;user-select:none;-webkit-user-select:none}body.resizing .sidebar{transition:none}.nav-header{position:relative;display:flex;justify-content:center;align-items:center;gap:8px;padding:8px}.nav-buttons{display:flex;gap:2px}.nav-header .mobile-only{display:none}.search-box{padding:0 10px 8px}.search-box input{padding:5px 8px;font-size:13px}.sidebar-body{flex:1;overflow:auto;padding:0 6px}.sidebar-foot{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-top:1px solid var(--border);font-size:13px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.sidebar-foot>span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis}.sync-badge{display:inline-flex;padding:4px;color:var(--faint)}.sync-badge svg{width:16px;height:16px;stroke-width:1.75}.sync-badge.offline{color:light-dark(#c2410c,#fb923c)}.sync-badge.error{color:var(--danger)}.sync-badge.syncing svg{animation:spin 1s linear infinite}@keyframes spin{to{rotate:360deg}}.tree,.tree ul,.results{list-style:none;margin:0;padding:0}.tree{min-height:100%;padding-bottom:40px}.tree.drop{background:var(--hover)}.children{position:relative}.children:before{content:"";position:absolute;top:0;bottom:0;left:var(--guide);border-left:1px solid var(--border)}.node{display:flex;align-items:center;gap:2px;padding:3px 6px;cursor:pointer;font-size:13px;line-height:1.5;color:var(--muted);user-select:none;-webkit-user-select:none;border-radius:4px}.node:hover{background:var(--hover);color:var(--fg)}.node.active{background:var(--active);color:var(--fg)}.node.drop{outline:1px solid var(--accent)}.node .caret{width:16px;flex-shrink:0;display:inline-flex;color:var(--faint)}.node .caret svg{transition:transform .1s}.node .caret svg.open{transform:rotate(90deg)}.node.file .caret{width:4px}.node .title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node .more{padding:0 2px;opacity:0}.node .more svg{width:16px;height:16px}.node:hover .more,.node.active .more{opacity:1}@media(hover:none){.node .more{opacity:1}.node{padding:8px 6px;font-size:16px}}@media(hover:none){.icon-btn{min-width:40px;min-height:40px}.icon-btn svg{width:22px;height:22px}.node .more svg{width:20px;height:20px}.sync-badge svg{width:20px;height:20px}}.menu{display:flex;flex-direction:column;margin:2px 8px 6px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--bg);box-shadow:0 4px 16px #0000001f;font-size:13px}.menu button{border:none;border-radius:4px;text-align:left;padding:5px 10px;display:flex;align-items:center;gap:6px}.menu.dropdown{position:absolute;top:100%;left:8px;right:8px;margin:0;z-index:4}.menu.dropdown.right{left:auto;right:8px;min-width:160px}.menu .check{width:14px;display:inline-flex;color:var(--accent)}.results li{padding:5px 8px;cursor:pointer;font-size:13px;border-radius:4px}.results li.active,.results li:hover{background:var(--hover)}.pad{padding:12px}.main{flex:1;display:flex;flex-direction:column;min-width:0}.view-header{display:flex;align-items:center;gap:8px;height:40px;padding:0 8px;border-bottom:1px solid var(--border)}.view-actions{position:relative;display:flex;gap:2px;flex-shrink:0}.view-title{flex:1;min-width:0;text-align:center;font-size:13px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-title .crumb.current{color:var(--fg)}.view-title .sep{margin:0 6px}.view-tools{display:flex;align-items:center;gap:6px;flex-shrink:0}.view-header .segmented,.nav-header .segmented{padding:2px;border-radius:8px}.view-header .segmented button,.nav-header .segmented button{height:24px;min-width:26px;padding:0 5px;border-radius:6px;font-size:11px}.empty{flex:1;display:grid;place-content:center;gap:8px;text-align:center}.editor{flex:1;display:flex;flex-direction:column;min-height:0;max-width:760px;width:100%;margin:0 auto;padding:24px 32px 0;padding-bottom:env(safe-area-inset-bottom)}.editor-head{display:flex;align-items:center;gap:12px}.title-input{flex:1;min-width:0;border:none;padding:0;font-size:28px;font-weight:700;background:transparent}.title-input:focus{outline:none}.status{font-size:12px}.note-body{flex:1;overflow:auto;padding:12px 0 40vh;cursor:text}.ProseMirror{position:relative;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0}.ProseMirror [contenteditable=false]{white-space:normal}.ProseMirror [contenteditable=false] [contenteditable=true],.ProseMirror pre{white-space:pre-wrap}.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute;margin:0}.ProseMirror-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid var(--fg);animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-focused .ProseMirror-gapcursor{display:block}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.ProseMirror{outline:none;font-size:16px;line-height:1.6;min-height:100%;word-wrap:break-word}.ProseMirror>*+*{margin-top:.6em}.ProseMirror p{margin:0}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3,.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{margin:1.2em 0 .4em;line-height:1.25;font-weight:700}.ProseMirror h1{font-size:1.802em}.ProseMirror h2{font-size:1.602em}.ProseMirror h3{font-size:1.424em}.ProseMirror h4{font-size:1.266em}.ProseMirror h5{font-size:1.125em}.ProseMirror h6{font-size:1em}.ProseMirror>:first-child{margin-top:0}.ProseMirror strong{font-weight:700}.ProseMirror a{color:var(--accent);text-decoration:underline}.ProseMirror .wikilink{color:var(--accent);cursor:pointer;text-decoration:none}.ProseMirror .wikilink:hover{text-decoration:underline}.ProseMirror ul,.ProseMirror ol{padding-left:1.6em;margin:.4em 0}.ProseMirror li>p{margin:0}.ProseMirror li::marker{color:var(--faint)}.ProseMirror ul[data-type=taskList]{list-style:none;padding-left:.2em}.ProseMirror ul[data-type=taskList] li{display:flex;gap:8px;align-items:flex-start}.ProseMirror ul[data-type=taskList] li>label{margin-top:.25em}.ProseMirror ul[data-type=taskList] li>label input{width:auto;margin:0;accent-color:var(--accent)}.ProseMirror ul[data-type=taskList] li>div{flex:1}.ProseMirror ul[data-type=taskList] li[data-checked=true]>div{color:var(--faint);text-decoration:line-through}.ProseMirror blockquote{margin:.6em 0;padding:2px 0 2px 16px;border-left:2px solid var(--accent);color:var(--muted)}.ProseMirror code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.875em;background:var(--hover);color:#eb5757;padding:.1em .3em;border-radius:4px}.ProseMirror pre{background:var(--bg-side);border:1px solid var(--border);border-radius:6px;padding:12px 16px;overflow-x:auto}.ProseMirror pre code{background:none;color:inherit;padding:0;font-size:.875em}.ProseMirror hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;z-index:10}.settings{--nav-w: 180px;position:relative;display:flex;width:min(726px,calc(100vw - 64px));height:min(800px,calc(100vh - 64px));background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #00000040}.settings-nav{width:var(--nav-w);flex-shrink:0;display:flex;flex-direction:column;gap:1px;padding:12px 8px;background:var(--bg-side);border-right:1px solid var(--border);overflow:auto}.settings-search{position:relative;margin-bottom:18px}.settings-search svg{position:absolute;left:10px;top:50%;translate:0 -50%;width:15px;height:15px;color:var(--muted)}.settings-search input{padding:6px 10px 6px 30px;font-size:13px;border-radius:8px}.settings-nav-title{padding:0 8px 6px;font-size:13px;font-weight:600;color:var(--faint)}.settings-tab{display:flex;align-items:center;gap:10px;border:none;border-radius:6px;padding:5px 8px;text-align:left;font-size:14px;color:var(--fg)}.settings-tab svg{width:16px;height:16px;stroke-width:1.75;color:var(--muted)}.settings-tab.active{background:var(--active)}.settings-content{position:relative;flex:1;min-width:0;overflow:auto;padding:48px 20px 24px}.settings-content>*{max-width:760px;margin-left:auto;margin-right:auto}.settings-bar{position:absolute;z-index:1;top:calc(10px + env(safe-area-inset-top));left:10px;right:10px;display:flex;justify-content:space-between;pointer-events:none}.settings-bar button{pointer-events:auto}.settings-bar .back{visibility:hidden}.settings-content .info{margin-top:0;font-size:14px}.setting-heading{margin-top:28px;margin-bottom:10px;padding:0 12px;font-size:16px;font-weight:600}.setting-group{background:var(--bg-side);border-radius:10px;padding:0 16px}.setting-item{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px 0}.setting-item+.setting-item,.setting-group>*+*{border-top:1px solid var(--border)}.setting-info{flex:1;min-width:0}.setting-name{font-size:15px}.setting-desc{margin:4px 0 0;font-size:13px;line-height:1.4;color:var(--muted)}.setting-control{display:flex;gap:8px;flex-shrink:0}.setting-control:has(input:not([hidden])),.setting-control input,.setting-sub input{width:100%}.setting-control input,.setting-sub input{padding:5px 10px;font-size:14px}.settings-content button:disabled{opacity:.5;cursor:default}.setting-sub{display:flex;flex-direction:column;gap:8px;padding:16px 0 18px}.setting-sub .setting-desc{margin:0}.setting-sub button{align-self:flex-start}.settings-content button:not(.icon-btn,.toggle,.segmented button){border:none;background:var(--btn);padding:6px 12px;font-size:14px;box-shadow:0 1px 1px #00000014}.settings-content button:not(.icon-btn,.toggle,.segmented button):hover{background:var(--btn-hover)}.settings-content button.cta{background:var(--accent);color:#fff}.settings-content button.cta:hover{background:var(--accent);filter:brightness(1.08)}.settings img{align-self:center;background:#fff;padding:6px;border-radius:8px}.toggle{position:relative;width:44px;height:24px;padding:0;border:none;border-radius:12px;background:var(--toggle-off);transition:background .15s}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:translate .15s}.toggle.on,.toggle.on:hover{background:var(--accent)}.toggle.on:after{translate:20px 0}.secret{word-break:break-all;font-size:12px;text-align:center}@media(max-width:600px){.resizer{display:none}.nav-header{justify-content:space-between;gap:4px;padding:8px 4px;overflow-x:auto;scrollbar-width:none}.nav-header .segmented button{min-width:24px;padding:0 4px}.nav-header .mobile-only{display:inline-flex}.sidebar{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:5;padding-top:env(safe-area-inset-top)}.workspace:not(.sidebar-open) .sidebar{margin-left:-100%}.editor{padding:12px 16px}.settings{width:100vw;height:100dvh;border:none;border-radius:0;padding-top:env(safe-area-inset-top)}.settings-nav{width:100%;border-right:none;padding:52px 12px 12px}.settings-tab{padding:10px 8px;font-size:16px}.settings.nav-hidden .settings-nav,.settings:not(.nav-hidden) .settings-content{display:none}.settings-content{padding:52px 16px calc(24px + env(safe-area-inset-bottom))}.settings.nav-hidden .settings-bar .back{visibility:visible}input,textarea,select{font-size:16px}}.auth{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:calc(56px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(ellipse 80% 50% at 50% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent),var(--bg-side)}.auth-card{width:min(400px,100%);display:flex;flex-direction:column;gap:16px;padding:36px 32px 32px;background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 2px var(--shadow),0 12px 32px var(--shadow)}.auth-head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;margin-bottom:8px}.auth-head img{border-radius:12px;margin-bottom:10px}.auth-head h1{margin:0;font-size:22px;font-weight:650;letter-spacing:-.01em}.auth-head p{margin:0;font-size:14px;line-height:1.45;color:var(--muted)}.auth-badge{display:grid;place-items:center;width:52px;height:52px;margin-bottom:10px;border-radius:14px;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.auth-badge svg{width:26px;height:26px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13px;font-weight:550}.auth input{height:42px;padding:0 12px;border-radius:8px;font-size:15px;transition:border-color .15s,box-shadow .15s}.auth input::placeholder{color:var(--faint)}.auth input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.auth .code-input{text-align:center;font-size:22px;letter-spacing:.4em;font-variant-numeric:tabular-nums}.auth-primary{height:42px;margin-top:4px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;font-size:15px}.auth-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.auth-primary:disabled{opacity:.6;cursor:default}.auth-error{margin:0;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.4;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.auth-link{border:none;padding:0;color:var(--accent);font-weight:550}.auth-link:hover{background:none;text-decoration:underline}.auth-foot{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--faint)}.auth-foot svg{width:13px;height:13px}.auth-tools{position:fixed;top:calc(16px + env(safe-area-inset-top));right:16px;display:flex;align-items:center;gap:8px}.segmented{display:flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.segmented button{display:grid;place-items:center;min-width:30px;height:26px;padding:0 6px;border:none;border-radius:7px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.02em}.segmented button.active,.segmented button.active:hover{background:var(--active);color:var(--fg)}.theme-switch svg{width:15px;height:15px}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:42px;border:1px solid var(--border);border-radius:8px;color:var(--fg);text-decoration:none;font-weight:550;font-size:15px;background:var(--bg);transition:background .15s}.google-btn:hover{background:var(--hover)}.google-btn.loading{visibility:hidden}.google-btn.disabled{opacity:.5;cursor:default;pointer-events:none}.auth-notice{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.4;color:var(--muted);background:var(--bg-side)}.auth-notice svg{flex-shrink:0;width:16px;height:16px;margin-top:1px}@media(max-width:600px){.auth-card{padding:28px 20px 24px}}.dialog{width:min(440px,calc(100vw - 32px));display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #00000040;overflow:hidden}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 12px 0 20px}.dialog-head h2{margin:0;font-size:16px;font-weight:600;overflow-wrap:anywhere}.dialog-body{display:flex;flex-direction:column;gap:12px;padding:10px 20px 20px;font-size:14px;line-height:1.5;color:var(--muted)}.dialog-body p{margin:0;overflow-wrap:anywhere}.dialog-head+.dialog-foot{margin-top:20px}.dialog-field{display:flex;flex-direction:column;gap:6px}.dialog-field>span{font-size:13px;font-weight:500;color:var(--fg)}.dialog-field input,.dialog-field select{padding:7px 10px;font-size:14px;border-radius:6px}.dialog-field input:focus,.dialog-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;background:var(--bg-side);border-top:1px solid var(--border)}.btn{height:32px;padding:0 14px;border:none;border-radius:6px;background:var(--btn);font-size:14px;font-weight:500;box-shadow:0 1px 1px #00000014}.btn:hover{background:var(--btn-hover)}.btn.primary{background:var(--accent);color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.primary:hover:not(:disabled),.btn.danger:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:default}@media(max-width:600px){.dialog-field input,.dialog-field select{font-size:16px}}.tooltip{position:fixed;top:0;left:0;z-index:100;padding:5px 9px;border-radius:6px;background:var(--tip-bg);color:#fff;font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px #0003;opacity:0;translate:0 -3px;transition:opacity .12s,translate .12s}.tooltip[data-place=top]{translate:0 3px}.tooltip.visible{opacity:1;translate:0 0}.tooltip:before{content:"";position:absolute;left:calc(var(--arrow-x) - 4px);width:8px;height:8px;background:inherit;rotate:45deg}.tooltip[data-place=bottom]:before{top:-4px}.tooltip[data-place=top]:before{bottom:-4px}
