:root{--background: oklch(1 0 0);--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: oklch(.205 0 0);--primary-foreground: oklch(.985 0 0);--secondary: oklch(.97 0 0);--secondary-foreground: oklch(.205 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--accent: oklch(.97 0 0);--accent-foreground: oklch(.205 0 0);--destructive: oklch(.577 .245 27.325);--border: oklch(.922 0 0);--input: oklch(.922 0 0);--ring: oklch(.708 0 0);--radius: .625rem;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--panel: color-mix(in oklch, var(--foreground) 4%, var(--background))}.dark{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.205 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.922 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.704 .191 22.216);--border: oklch(1 0 0 / 10%);--input: oklch(1 0 0 / 15%);--ring: oklch(.556 0 0)}.superdark{--background: oklch(.08 0 0);--foreground: oklch(.98 0 0);--card: oklch(.12 0 0);--card-foreground: oklch(.98 0 0);--popover: oklch(.12 0 0);--popover-foreground: oklch(.98 0 0);--primary: oklch(.98 0 0);--primary-foreground: oklch(.08 0 0);--secondary: oklch(.2 0 0);--secondary-foreground: oklch(.98 0 0);--muted: oklch(.2 0 0);--muted-foreground: oklch(.6 0 0);--accent: oklch(.25 0 0);--accent-foreground: oklch(.98 0 0);--destructive: oklch(.704 .191 22.216);--border: oklch(1 0 0 / 8%);--input: oklch(1 0 0 / 10%);--ring: oklch(.4 0 0)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--background);color:var(--foreground);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}.app{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{position:relative;flex:0 0 auto;height:100vh;height:100dvh;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .22s ease}.sidebar.dragging{transition:none}.main{flex:1;height:100vh;height:100dvh;overflow-y:auto;display:flex;flex-direction:column}.resize-handle{position:absolute;top:0;right:0;width:8px;height:100%;z-index:20;cursor:col-resize;display:flex;align-items:center;justify-content:flex-end}.resize-line{width:1px;height:100%;background:var(--border);transition:width .15s ease,background .15s ease}.resize-handle:hover .resize-line,.sidebar.dragging .resize-line{width:2px;background:var(--primary)}.sidebar-head{padding:18px 18px 10px}.sidebar.collapsed .sidebar-head{padding:14px 0 8px}.sidebar.collapsed .sidebar-actions{padding:4px 0 8px;display:flex;justify-content:center}.sidebar.collapsed .nav{padding:6px 0 24px}.brand{font-weight:700;font-size:17px;letter-spacing:-.02em}.brand-sub{color:var(--muted-foreground);font-size:12px;margin-top:2px}.brand-mark{width:36px;height:36px;margin:0 auto;border-radius:9px;background:var(--primary);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.sidebar-actions{padding:4px 12px 8px}.nav{flex:1;overflow-y:auto;padding:4px 8px 24px}.btn{appearance:none;border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:8px;cursor:pointer;font:inherit;font-size:13px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px}.btn:hover{background:var(--accent)}.btn-icon{width:34px;height:34px;padding:0;justify-content:center}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--accent)}.btn-block{width:100%;justify-content:flex-start}.btn-primary{background:var(--primary);color:var(--primary-foreground);border-color:transparent}.btn-primary:hover{opacity:.9;background:var(--primary)}.btn-danger:hover{background:color-mix(in oklch,var(--destructive) 16%,transparent);color:var(--destructive);border-color:color-mix(in oklch,var(--destructive) 40%,transparent)}.row{display:flex;align-items:center;gap:2px;border-radius:7px;padding-right:4px;cursor:pointer;color:var(--foreground);font-size:14px;-webkit-user-select:none;user-select:none}.row:hover{background:var(--accent)}.row.active{background:var(--primary);color:var(--primary-foreground);font-weight:600}.row.active .row-add,.row.active .caret{color:var(--primary-foreground)}.row-main{flex:1;display:flex;align-items:center;gap:6px;padding:5px 4px;min-width:0}.row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caret{width:18px;height:22px;flex:0 0 18px;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:10px;transition:transform .12s ease}.caret.collapsed{transform:rotate(-90deg)}.caret-gap{width:18px;flex:0 0 18px}.row-icon{width:18px;text-align:center;flex:0 0 auto}.row-add{opacity:0;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:22px;height:22px;border-radius:5px;font-size:15px;line-height:1}.row:hover .row-add{opacity:1}.row-add:hover{background:color-mix(in oklch,var(--foreground) 12%,transparent)}.rail{display:flex;flex-direction:column;align-items:center;gap:4px}.rail-btn{width:42px;height:42px;border-radius:9px;border:0;background:transparent;cursor:pointer;color:var(--foreground);font-size:18px;display:flex;align-items:center;justify-content:center}.rail-btn:hover{background:var(--accent)}.rail-btn.active{background:var(--primary);color:var(--primary-foreground)}.sidebar-foot{border-top:1px solid var(--border);padding:10px 12px}.foot-note{color:var(--muted-foreground);font-size:11px;margin-bottom:8px;padding:0 4px}.foot-actions{display:flex;align-items:center;gap:6px}.foot-actions.col{flex-direction:column}.foot-spacer{flex:1}.page-pane{flex:1;display:flex;justify-content:center;padding:44px 28px 120px}.page-inner{width:100%;max-width:760px}.crumbs{color:var(--muted-foreground);font-size:13px}.savestate{color:var(--muted-foreground);font-size:12.5px}.title-input{width:100%;border:0;outline:0;background:transparent;color:var(--foreground);font-family:var(--font);font-size:32px;font-weight:750;letter-spacing:-.02em;line-height:1.2;margin:4px 0 14px;padding:0}.title-input::placeholder{color:var(--muted-foreground);opacity:.5}.ProseMirror{outline:none;min-height:300px}.ProseMirror>*+*{margin-top:.7em}.ProseMirror p{margin:.5em 0}.ProseMirror h1{font-size:26px;font-weight:750;letter-spacing:-.02em;margin:1.2em 0 .4em;line-height:1.25}.ProseMirror h2{font-size:21px;font-weight:700;margin:1.3em 0 .4em;padding-bottom:.25em;border-bottom:1px solid var(--border)}.ProseMirror h3{font-size:17.5px;font-weight:650;margin:1.1em 0 .3em}.ProseMirror h4{font-size:15px;font-weight:650;color:var(--muted-foreground);margin:1em 0 .3em}.ProseMirror ul,.ProseMirror ol{padding-left:1.4em;margin:.5em 0}.ProseMirror li{margin:.25em 0}.ProseMirror li p{margin:0}.ProseMirror a{color:var(--primary);text-underline-offset:2px}.ProseMirror strong{font-weight:680}.ProseMirror blockquote{margin:1em 0;padding:.3em 1em;border-left:3px solid var(--border);color:var(--muted-foreground)}.ProseMirror hr{border:0;border-top:1px solid var(--border);margin:1.6em 0}.ProseMirror code{font-family:var(--mono);font-size:.86em;background:var(--muted);padding:.15em .4em;border-radius:5px;border:1px solid var(--border)}.ProseMirror pre{background:var(--muted);border:1px solid var(--border);border-radius:10px;padding:14px;overflow-x:auto}.ProseMirror pre code{background:none;border:0;padding:0;font-size:13px}.ProseMirror mark{background:#ffdc4c;color:#1a1a1a;border-radius:3px;padding:0 2px}.ProseMirror table{border-collapse:collapse;width:100%;margin:1em 0;font-size:14px}.ProseMirror th,.ProseMirror td{border:1px solid var(--border);padding:7px 10px;vertical-align:top;text-align:left}.ProseMirror th{background:var(--muted);font-weight:650}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror .selectedCell:after{background:color-mix(in oklch,var(--foreground) 8%,transparent);content:"";position:absolute;inset:0;pointer-events:none}.ProseMirror ul[data-type=taskList]{list-style:none;padding-left:.2em}.ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px}.ProseMirror ul[data-type=taskList] li>label{margin-top:4px}.ProseMirror ul[data-type=taskList] li>div{flex:1}.ProseMirror p.is-editor-empty:first-child:before,.ProseMirror .is-empty:before{content:attr(data-placeholder);color:var(--muted-foreground);opacity:.6;float:left;height:0;pointer-events:none}.loading{color:var(--muted-foreground);padding:40px 28px}.empty-state{color:var(--muted-foreground);padding:60px 28px;text-align:center}.slash-popup{position:fixed;z-index:1000}.slash-menu{width:268px;max-height:332px;overflow-y:auto;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:11px;box-shadow:0 10px 34px #0000002e;padding:6px}.slash-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:7px 9px;border-radius:7px;cursor:pointer}.slash-item:hover,.slash-item.active{background:var(--accent)}.slash-title{font-size:14px;font-weight:550}.slash-hint{font-size:11.5px;color:var(--muted-foreground)}.slash-empty{padding:8px 10px;color:var(--muted-foreground);font-size:13px}.bubble{display:flex;gap:1px;background:var(--primary);color:var(--primary-foreground);border-radius:9px;padding:3px;box-shadow:0 6px 22px #00000047}.bm{border:0;background:transparent;color:var(--primary-foreground);min-width:30px;height:30px;border-radius:6px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px}.bm:hover{background:color-mix(in oklch,var(--primary-foreground) 20%,transparent)}.drag-handle{width:22px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);cursor:grab;border-radius:5px;font-size:15px;-webkit-user-select:none;user-select:none}.drag-handle:hover{background:var(--accent);color:var(--foreground)}.drag-handle:active{cursor:grabbing}.modal-overlay{position:fixed;inset:0;z-index:2000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:100%;max-width:520px;max-height:86vh;overflow-y:auto;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px #00000059}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.modal-title{font-size:17px;font-weight:700}.modal-body{padding:16px 20px 22px;display:flex;flex-direction:column;gap:12px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.setting-label h3{margin:0;font-size:14px;font-weight:600}.setting-label p{margin:2px 0 0;font-size:12.5px;color:var(--muted-foreground)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:9px;overflow:hidden}.seg button{border:0;background:var(--background);color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;padding:7px 12px;display:inline-flex;align-items:center;gap:6px}.seg button+button{border-left:1px solid var(--border)}.seg button.on{background:var(--primary);color:var(--primary-foreground)}.dots{display:flex;flex-wrap:wrap;gap:8px;max-width:240px;justify-content:flex-end}.dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);cursor:pointer;position:relative;padding:0}.dot.on{border-color:var(--ring);box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}.dot .check{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;text-shadow:0 0 2px rgba(0,0,0,.6)}.switch{width:42px;height:24px;border-radius:999px;border:0;background:var(--muted);cursor:pointer;position:relative;transition:background .15s ease;flex:0 0 auto}.switch.on{background:var(--primary)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch.on:after{transform:translate(18px)}.login-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--background);color:var(--foreground);padding:24px}.login-card{width:100%;max-width:380px;text-align:center;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:36px 28px;box-shadow:0 18px 50px #0000002e}.login-mark{width:52px;height:52px;margin:0 auto 16px;border-radius:13px;background:var(--primary);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:19px}.login-title{font-size:22px;font-weight:750;letter-spacing:-.02em;margin:0 0 6px}.login-sub{color:var(--muted-foreground);font-size:14px;margin:0 0 22px}.login-btn{width:100%;justify-content:center;padding:11px;font-size:14px}.user-chip{display:flex;align-items:center;gap:9px;padding:6px 6px 12px}.user-avatar{width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:var(--primary);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center;font-weight:650;font-size:13px}.user-meta{min-width:0;flex:1;text-align:left}.user-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{font-size:11.5px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.app--mobile .main{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.page-pane{padding:24px 16px 32px}.mobile-dock{position:fixed;z-index:100;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;padding:4px;overflow:hidden;border-radius:26px;background:color-mix(in oklch,var(--background) 20%,transparent);-webkit-backdrop-filter:blur(28px) saturate(195%) brightness(1.1);backdrop-filter:blur(28px) saturate(195%) brightness(1.1);border:1px solid color-mix(in oklch,var(--foreground) 14%,transparent);box-shadow:inset 0 1px 1px color-mix(in oklch,white 55%,transparent),inset 0 -1px 1px color-mix(in oklch,var(--foreground) 10%,transparent),0 10px 30px #00000038,0 2px 8px #0000001f}.mobile-dock:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(to bottom,color-mix(in oklch,white 22%,transparent),transparent 60%)}@supports (backdrop-filter: url(#liquid-glass-dock)){.mobile-dock{-webkit-backdrop-filter:url(#liquid-glass-dock) blur(7px) saturate(185%) brightness(1.06);backdrop-filter:url(#liquid-glass-dock) blur(7px) saturate(185%) brightness(1.06)}.sheet{-webkit-backdrop-filter:url(#liquid-glass-dock) blur(7px) saturate(185%) brightness(1.06);backdrop-filter:url(#liquid-glass-dock) blur(7px) saturate(185%) brightness(1.06)}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mobile-dock{background:var(--panel)}.sheet{background:var(--background)}}.dock-btn{position:relative;z-index:1;flex:1;min-height:52px;border:0;background:transparent;cursor:pointer;color:var(--foreground);font:inherit;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;-webkit-tap-highlight-color:transparent}.dock-btn:active{background:color-mix(in oklch,var(--foreground) 10%,transparent)}.dock-icon{font-size:18px;line-height:1}.dock-label{font-size:11px}.sheet-overlay{position:fixed;inset:0;z-index:1500;background:transparent;display:flex;align-items:flex-end}.sheet{width:100%;max-height:80dvh;overflow-y:auto;background:color-mix(in oklch,var(--background) 20%,transparent);-webkit-backdrop-filter:blur(28px) saturate(195%) brightness(1.1);backdrop-filter:blur(28px) saturate(195%) brightness(1.1);color:var(--foreground);border-top:1px solid color-mix(in oklch,var(--foreground) 12%,transparent);border-top-left-radius:22px;border-top-right-radius:22px;box-shadow:inset 0 1px 1px color-mix(in oklch,white 45%,transparent),0 -12px 40px #00000059;padding-bottom:env(safe-area-inset-bottom)}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.sheet-title{font-size:16px;font-weight:700}.sheet-tree{padding:8px}.sheet-empty{padding:12px;color:var(--muted-foreground);font-size:14px}.sheet .user-chip{padding:14px 16px}.sheet-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:12px 16px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--foreground);font:inherit;font-size:15px;text-align:left;cursor:pointer}.sheet-row-btn:active{background:var(--accent)}.sheet-tree .row-main{padding:10px 4px}.sheet-tree .row-add{opacity:1;width:32px;height:32px}.sheet-tree .caret{width:28px;height:32px;flex:0 0 28px}.sheet-tree .caret-gap{width:28px;flex:0 0 28px}.drag-handle{display:none}.bubble{flex-wrap:wrap;max-width:92vw}}
