:root{--bg:#fbfbfa;--surface:#ffffff;--panel:#f4f4f3;--ink:#2b2b2b;--ink-soft:#4b4b48;--muted:#8a8a85;--line:#e7e7e3;--accent:#2563eb;--link:#5b8fe0;--caret:#3b82f6;--safe:#16a34a;--review:#d97706;--loss:#dc2626;--faint:#c2c2bc;--sel:#d7e6ff;--hover:#ecece9;--active:#e7ecfb;--code-bg:#f4f4f6;--syntax-kw:#a626a4;--syntax-str:#50a14f;--syntax-num:#986801;--syntax-cmt:#8a8a8f;--syntax-type:#c18401;--syntax-fn:#4078f2;--syntax-prop:#383a42;--syntax-op:#0184bc;--sidebar-w:280px;--col:740px;--reading:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard","Segoe UI","Malgun Gothic",sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}:root.dark{--bg:#1a1a19;--surface:#1e1e1c;--panel:#232321;--ink:#e7e7e1;--link:#7aa7ec;--caret:#7da7f0;--ink-soft:#c6c6bf;--muted:#8d8d86;--line:#343430;--faint:#59594f;--sel:#2c3e5c;--hover:#2a2a27;--active:#2b3349;--code-bg:#27272a;--accent:#6ea8fe;--syntax-kw:#c678dd;--syntax-str:#98c379;--syntax-num:#d19a66;--syntax-cmt:#7f848e;--syntax-type:#e5c07b;--syntax-fn:#61afef;--syntax-prop:#abb2bf;--syntax-op:#56b6c2}.tok-kw{color:var(--syntax-kw)}.tok-str{color:var(--syntax-str)}.tok-num{color:var(--syntax-num)}.tok-cmt{color:var(--syntax-cmt);font-style:italic}.tok-type{color:var(--syntax-type)}.tok-fn{color:var(--syntax-fn)}.tok-prop{color:var(--syntax-prop)}.tok-op{color:var(--syntax-op)}::selection{background:var(--sel)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--reading);font-size:16px;-webkit-font-smoothing:antialiased}.shell{min-height:100vh}.shell:not(.sb-ready) .sidebar,.shell:not(.sb-ready) .stage{transition:none!important}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:var(--panel);border-right:1px solid var(--line);transform:translateX(-100%);transition:transform .22s ease;z-index:30;display:flex;flex-direction:column;padding:14px 14px 0;gap:10px;overflow:hidden}.shell.sidebar-open .sidebar{transform:translateX(0)}.sidebar-head{display:flex;align-items:center;justify-content:space-between}.brand{font-weight:700;font-size:17px;letter-spacing:-.01em}a.brand,a.brand:hover,a.brand:visited{color:var(--ink);text-decoration:none}.brand-l{color:var(--accent)}.scrim{position:fixed;inset:0;background:rgba(0,0,0,.18);z-index:20}.sidebar-foot{margin-top:-10px;border-top:1px solid var(--line);padding:4px 0 3px}.sidebar-foot .legal-footer{margin:3px 0 9px}.vault-cta{border:1px dashed var(--line);background:var(--panel);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.vault-cta-title{font-size:13px;font-weight:600;color:var(--ink)}.vault-cta-sub{font-size:12px;line-height:1.45;color:var(--muted);margin:0}.compare-table-wrap{margin:32px 0;overflow-x:auto}.compare-table{width:100%;border-collapse:collapse;font-size:14px;color:var(--ink)}.compare-table td,.compare-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.compare-table thead th{font-weight:600;color:var(--ink);background:var(--panel);border-bottom:2px solid var(--line)}.compare-table tr.equal td{color:var(--muted)}.compare-table .feature-cell{font-weight:600;color:var(--ink-soft);width:32%}.compare-tldr{margin:40px 0}.compare-tldr h2{font-size:18px;margin:0 0 12px}.compare-tldr ul{padding-left:18px;color:var(--ink-soft);line-height:1.7}.compare-tldr li{margin-bottom:8px}.compare-cta{margin-top:28px}@media (max-width:640px){.compare-table{font-size:13px}.compare-table td,.compare-table th{padding:8px}}.desktop-cta{display:block;flex:none;font-size:12px;font-weight:600;color:var(--accent);text-decoration:none;padding:14px 0 5px}.desktop-cta:hover{opacity:.85}.download-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;max-width:640px;margin:32px auto}.download-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:22px 20px;display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);transition:border-color .12s,background .12s}.download-card:hover{border-color:var(--accent)}.download-meta{flex:1 1}.download-name{font-size:15px;font-weight:600;color:var(--ink)}.download-sub{font-size:13px;color:var(--ink-soft);margin-top:2px}.download-action{font-size:13px;font-weight:600;color:var(--accent)}.download-mobile{max-width:720px;margin:40px auto}.download-mobile h2{font-size:18px;margin:0 0 12px}.download-mobile code,.pricing-header code{font-family:var(--mono);font-size:.9em;background:var(--code-bg);padding:1px 5px;border-radius:4px}.download-mobile p{color:var(--ink-soft);line-height:1.65}.vault-foot{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-bottom:2px;padding:3px 8px;background:var(--panel);border-radius:6px}.vault-foot-label{font-weight:600;color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:9px}.vault-foot-path{direction:rtl;text-align:left;flex:1 1;font-family:var(--mono);font-size:11px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:8px;padding:7px 10px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s}.side-btn:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}.side-btn:disabled{opacity:.45;cursor:default}.side-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.side-btn.ghost{background:transparent;border-color:transparent;color:var(--muted);text-align:left}.doc-list{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.empty-note{font-size:13px;color:var(--muted);padding:4px 2px;margin:0}.doc-item{display:flex;align-items:center;border:1px solid transparent;border-radius:8px;cursor:pointer}.doc-item:hover{background:var(--hover)}.doc-item.active{background:var(--active)}.doc-open{flex:1 1;min-width:0;text-align:left;background:transparent;border:none;cursor:pointer;padding:7px 9px;display:flex;flex-direction:column;gap:1px}.doc-rename{flex:1 1;min-width:0;margin:4px 6px;padding:4px 8px;border:1px solid var(--accent);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:600;border-radius:6px;outline:none}.doc-rename:focus{box-shadow:0 0 0 2px rgba(37,99,235,.15)}.doc-del{flex:none;border:none;background:transparent;color:var(--faint);font-size:15px;line-height:1;width:26px;height:26px;margin-right:4px;border-radius:6px;cursor:pointer;opacity:0;transition:opacity .12s,color .12s,background .12s}.doc-item:hover .doc-del{opacity:1}.doc-del:hover{color:var(--loss);background:var(--surface)}.doc-title{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.hint{font-size:12px;color:var(--muted);margin:6px 0 0}.hint.error{color:var(--loss)}.stage{height:100vh;display:flex;flex-direction:column;transition:margin-left .22s ease}@media (min-width:900px){.shell.sidebar-open .stage{margin-left:var(--sidebar-w)}.shell.sidebar-open .scrim{display:none}}.icon-btn{border:none;background:transparent;color:var(--muted);font-size:18px;line-height:1;width:32px;height:32px;border-radius:8px;cursor:pointer;transition:background .12s,color .12s}.icon-btn:hover{background:var(--hover);color:var(--ink)}.shell.mac-overlay .sidebar,html.is-mac-tauri .sidebar{padding-top:36px}.sidebar-drag{position:absolute;top:0;left:0;right:0;height:33px}.shell.mac-overlay .tabbar,html.is-mac-tauri .tabbar{min-height:34px}.shell.mac-overlay:not(.sidebar-open) .tabbar,html.is-mac-tauri .shell:not(.sidebar-open) .tabbar{padding-left:86px}@media (max-width:899px){.shell.mac-overlay .tabbar,html.is-mac-tauri .tabbar{padding-left:86px}}.side-icons{display:flex;justify-content:flex-end;margin:-6px -6px -4px 0}.shell.mac-overlay .side-icons,html.is-mac-tauri .side-icons{position:absolute;top:6px;right:10px;margin:0;z-index:2}.side-icons .icon-btn{width:26px;height:26px;font-size:15px}.shell.mac-overlay .side-search,html.is-mac-tauri .side-search{position:absolute;top:6px;left:74px;right:44px;margin:0;z-index:2}.shell.mac-overlay .side-search input,html.is-mac-tauri .side-search input{padding:4px 10px;font-size:12.5px;border-radius:8px}.side-search{display:flex;align-items:center;gap:6px}.side-search input{flex:1 1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:7px 11px;font-size:13px;background:var(--surface);color:var(--ink);outline:none}.side-search input:focus{border-color:var(--accent)}.side-search input::placeholder{color:var(--faint)}.hit-snippet{display:block;font-size:11.5px;color:var(--muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar{flex:none;display:flex;align-items:flex-end;gap:6px;min-height:34px;padding:0 12px 0 14px;border-bottom:1px solid var(--line);background:var(--panel)}.tab-add,.tabbar-right,.tabbar>.icon-btn{align-self:center;margin-top:2px;margin-bottom:0}.tabbar .icon-btn{width:26px;height:26px;font-size:15px}.tabs{display:flex;align-items:flex-end;gap:2px;flex:1 1;min-width:0;overflow-x:auto;scrollbar-width:none;margin-bottom:-1px;padding:0 10px}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;display:inline-flex;align-items:center;gap:6px;flex:none;max-width:200px;padding:6px 7px 7px 12px;border:none;border-radius:9px 9px 0 0;color:var(--muted);font-size:13px;white-space:nowrap;cursor:pointer;transition:background .12s,color .12s}.tab:hover{background:var(--hover);color:var(--ink-soft)}.tab.active{background:var(--surface);color:var(--ink);z-index:1}.tab.active:after,.tab.active:before{content:"";position:absolute;bottom:0;width:9px;height:9px;pointer-events:none}.tab.active:before{left:-9px;background:radial-gradient(circle at 0 0,transparent 9px,var(--surface) 9.5px)}.tab.active:after{right:-9px;background:radial-gradient(circle at 100% 0,transparent 9px,var(--surface) 9.5px)}.tab-title{max-width:160px;overflow:hidden;text-overflow:ellipsis}.tab-x{border:none;background:transparent;color:var(--faint);font-size:14px;line-height:1;width:16px;height:16px;padding:0;border-radius:5px;cursor:pointer}.tab.active .tab-x,.tab:hover .tab-x{color:var(--muted)}.tab-x:hover{background:var(--hover);color:var(--ink)}.tab-add{border:none;background:transparent;color:var(--muted);width:26px;height:26px;margin-bottom:4px;border-radius:8px;font-size:16px;line-height:1;cursor:pointer;flex:none}.tab-add:hover:not(:disabled){background:var(--hover);color:var(--ink)}.tab-add:disabled{opacity:.35;cursor:default}.tabbar-right{display:flex;align-items:center;gap:4px;flex:none}.bar-btn{border:none;background:transparent;color:var(--muted);font-size:12px;padding:5px 8px;border-radius:7px;cursor:pointer}.bar-btn:hover:not(:disabled){background:var(--hover);color:var(--ink)}.bar-btn:disabled{opacity:.35;cursor:default}.trial-chip{border:1px solid var(--line);background:transparent;color:var(--muted);font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:4px 10px;border-radius:999px;cursor:pointer;white-space:nowrap}.trial-chip:hover{color:var(--ink);border-color:var(--faint)}.tree-dir{display:flex;align-items:center;gap:6px;width:100%;border:none;background:transparent;color:var(--ink-soft);font-size:13px;font-weight:500;padding:5px 8px;border-radius:8px;cursor:pointer;text-align:left}.tree-dir:hover{background:var(--hover)}.tree-chevron{display:inline-block;color:var(--faint);transition:transform .12s}.tree-chevron.open{transform:rotate(90deg)}.cm-quote-line{border-left:3px solid var(--faint);padding-left:12px!important}.cm-hr{display:inline-block;width:100%;height:1px;background:var(--line);vertical-align:middle}.cm-footnote{font-size:.72em;vertical-align:super;line-height:0;background:var(--code-bg);color:var(--muted);border-radius:4px;padding:1px 4px;margin:0 1px}.cm-bullet{color:var(--ink);display:inline-block;transform:scale(1.5);transform-origin:center;line-height:1}.cm-task{cursor:pointer;color:var(--ink);font-size:1.02em}.cm-task.done{color:var(--accent)}.cm-line.cm-block-gap{height:0;line-height:0;font-size:0;overflow:hidden}.cm-md-table-wrap{position:relative;margin:.4em 0;padding:0 13px 13px 0}.cm-md-table{border-collapse:collapse;width:100%;font-size:.95em;line-height:1.5}.cm-md-table td,.cm-md-table th{position:relative;border:1px solid var(--line);padding:6px 12px;text-align:left;vertical-align:top;color:var(--ink);min-width:2.5em;outline:none}.cm-cell-content{display:block;min-height:1.25em;outline:none;white-space:pre-wrap;word-break:break-word}.cm-md-table .cm-cell-selected{outline:2px solid var(--accent);outline-offset:-2px;background:var(--active)}.cm-md-table thead th{background:var(--panel);font-weight:700}.cm-md-table code{font-family:var(--mono);font-size:.9em;background:var(--code-bg);padding:1px 5px;border-radius:4px}.cm-col-resize{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:3;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cm-col-resize:hover{background:var(--accent);opacity:.35}.cm-table-zone{position:absolute;z-index:4}.cm-table-zone-row{left:0;right:13px;bottom:0;height:13px}.cm-table-zone-col{top:0;bottom:13px;right:0;width:13px}.cm-table-ctrl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:0 1px 5px rgba(0,0,0,.1);opacity:0;transition:opacity .1s;overflow:hidden}.cm-table-ctrl-v{flex-direction:column}.cm-table-zone:hover .cm-table-ctrl{opacity:1}.cm-table-ctrl button{width:22px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer}.cm-table-ctrl button:hover{background:var(--hover);color:var(--ink)}.cm-table-ctrl button+button{border-left:1px solid var(--line)}.cm-table-ctrl-v button{width:20px;height:22px}.cm-table-ctrl-v button+button{border-left:none;border-top:1px solid var(--line)}.cm-line.cm-code-edit{background:var(--code-bg);font-family:var(--mono);font-size:.9em;padding-left:14px;padding-right:14px}.cm-line.cm-code-edit-first{border-radius:10px 10px 0 0;padding-top:8px;margin-top:.35em}.cm-line.cm-code-edit-lang{font-size:.72em;color:var(--muted);letter-spacing:.03em}.cm-line.cm-code-edit-last{border-radius:0 0 10px 10px;padding-bottom:8px;margin-bottom:.35em}.cm-code-block{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;margin:.35em 0;overflow:hidden}.cm-code-bar{display:flex;align-items:center;justify-content:flex-end;gap:2px;width:100%}.cm-code-lang{font-family:var(--reading);font-size:12px;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:6px;padding:2px 6px;cursor:pointer}.cm-code-lang:hover{background:var(--hover);color:var(--ink)}.cm-code-copy-icon{display:inline-flex;align-items:center;color:var(--muted);background:transparent;border:none;border-radius:6px;padding:3px 6px;cursor:pointer}.cm-code-copy-icon:hover{background:var(--hover);color:var(--ink)}.cm-code-block pre{margin:0;padding:12px 14px;overflow-x:auto}.cm-code-block code{font-family:var(--mono);font-size:.88em;line-height:1.55;color:var(--ink);white-space:pre;-moz-tab-size:2;tab-size:2}.cm-mermaid{margin:.5em 0;overflow-x:auto}.cm-mermaid,.cm-mermaid-host{display:flex;justify-content:center}.cm-mermaid-host{width:100%}.cm-mermaid-host svg{height:auto;max-width:100%}.cm-mermaid .cm-mermaid-host:empty,.cm-mermaid-host:not(:has(svg)):not(.cm-mermaid-error){color:var(--muted);font-size:13px}.cm-mermaid-error pre{margin:0;font-family:var(--mono);font-size:.85em;color:var(--loss);white-space:pre-wrap}html.meta-down .tok-link{cursor:pointer}.tab-rename{border:none;outline:none;background:transparent;color:var(--ink);font-size:13px;width:140px;padding:0}.find-box{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:3px 6px 3px 12px;box-shadow:0 2px 10px rgba(0,0,0,.05)}.find-box input{border:none;outline:none;background:transparent;color:var(--ink);font-size:12.5px;width:168px}.find-box input::placeholder{color:var(--faint)}.find-box .icon-btn-mini{font-size:14px}.status-toast{position:fixed;right:18px;bottom:16px;z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-size:13px;color:var(--ink-soft);box-shadow:0 4px 16px rgba(0,0,0,.07)}.status-toast a{color:var(--accent)}.status-toast .toast-action{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.modal-scrim{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.32);display:flex;align-items:center;justify-content:center}.modal-card{width:min(380px,calc(100vw - 48px));background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 12px 40px rgba(0,0,0,.18)}.modal-card h2{margin:0 0 8px;font-size:17px}.modal-sub{margin:0 0 16px;font-size:13.5px;line-height:1.55;color:var(--ink-soft)}.modal-divider{display:flex;align-items:center;gap:10px;margin:14px 0 8px;color:var(--faint);font-size:11.5px}.modal-divider:after,.modal-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.modal-input{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:13px;font-family:var(--mono);background:var(--bg);color:var(--ink);outline:none}.modal-input:focus{border-color:var(--accent)}.update-notes{margin:-6px 0 4px;font-size:12.5px;line-height:1.5;color:var(--muted);white-space:pre-wrap;max-height:160px;overflow-y:auto}.progress{height:8px;border-radius:999px;background:var(--line);overflow:hidden;margin:14px 0 8px}.progress-bar{height:100%;background:var(--accent);border-radius:999px;transition:width .2s ease}.progress-pct{margin:0;text-align:right;font-size:12px;color:var(--muted)}.modal-err{margin:8px 0 0;font-size:12.5px;color:var(--loss)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.table-modal-fields{display:flex;gap:18px;margin:16px 0 4px}.table-modal-fields label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-soft)}.table-modal-fields input{width:90px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:14px}.icon-btn-mini{border:none;background:transparent;color:var(--muted);width:22px;height:22px;padding:0;font-size:13px;line-height:1;border-radius:5px;cursor:pointer;transition:color .12s,background .12s}.icon-btn-mini:hover{color:var(--ink);background:var(--hover)}.hint-key{position:relative}.hint-key[data-hint]:after{content:attr(data-hint);position:absolute;right:10px;top:50%;transform:translateY(-50%) translateX(4px);background:var(--ink);color:var(--surface);font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;padding:2px 7px;border-radius:5px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;transition-delay:0s;z-index:60}.hint-key[data-hint]:focus-visible:after,.hint-key[data-hint]:hover:after{opacity:.88;transform:translateY(-50%) translateX(0);transition-delay:1.1s}.icon-btn.hint-key[data-hint]:after{right:auto;left:calc(100% + 6px);transform:translateY(-50%) translateX(-4px)}.icon-btn.hint-key[data-hint]:focus-visible:after,.icon-btn.hint-key[data-hint]:hover:after{transform:translateY(-50%) translateX(0)}@media (prefers-reduced-motion:reduce){.hint-key[data-hint]:after{transition:none}}.auth-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:border-color .12s,background .12s}.auth-btn:hover:not(:disabled){border-color:var(--accent)}.auth-btn:disabled{opacity:.6;cursor:default}.auth-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.legal-footer{margin-top:8px;padding:6px 4px 0;font-size:11.5px;color:var(--faint);display:flex;gap:8px}.legal-footer a{color:var(--faint);text-decoration:none}.legal-footer a:hover{color:var(--muted)}.legal-page{min-height:100vh;background:var(--bg);padding:24px 20px 80px}.legal-back{display:inline-block;font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:32px}.legal-back:hover{color:var(--accent)}.legal-content{max-width:720px;margin:0 auto;font-size:15px;line-height:1.7}.legal-content h1{margin:0 0 6px;font-size:28px}.legal-content h2{margin:2em 0 .5em;font-size:18px;font-weight:700}.legal-content p,.legal-content ul{margin:.7em 0}.legal-content a{color:var(--accent)}.legal-draft{font-size:12.5px;color:var(--muted);background:var(--panel);border-left:3px solid var(--review);padding:8px 14px;border-radius:4px;margin:16px 0 24px}.status-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:var(--bg)}.status-card{max-width:420px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:32px 28px;text-align:center;display:flex;flex-direction:column;gap:12px}.status-card h1{margin:0;font-size:22px;letter-spacing:-.01em}.status-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.status-meta{font-family:var(--mono);font-size:11.5px;color:var(--faint)}.status-actions{display:flex;gap:8px;margin-top:8px;justify-content:center}.status-actions .auth-btn{flex:1 1}.pricing-page{min-height:100vh;background:var(--bg);padding:24px 20px 80px}.pricing-header{max-width:900px;margin:32px auto 36px;text-align:center}.pricing-header h1{margin:0 0 10px;font-size:clamp(28px,3.6vw,34px);font-weight:700;letter-spacing:-.025em}.pricing-header p{color:var(--ink-soft);margin:0 auto;max-width:600px;font-size:15px;text-wrap:balance}.pricing-grid{max-width:720px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px}.tier{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:14px}.tier.primary{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.tier-head{display:flex;align-items:center;justify-content:space-between}.tier-head h2{margin:0;font-size:18px}.tier-badge{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--panel);color:var(--muted);font-weight:600}.tier-price .amount{font-size:32px;font-weight:700;letter-spacing:-.02em}.tier-price .cadence{margin-left:6px;color:var(--muted);font-size:13px}.tier-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;color:var(--ink-soft);font-size:13.5px}.tier-features li:before{content:"✓  ";color:var(--ink-soft);font-weight:700}.tier .auth-btn{margin-top:auto}.tier .auth-btn.primary{font-size:15px;padding:12px 20px}.tier .auth-btn[aria-disabled=true]{opacity:.55;pointer-events:none}.pricing-foot{max-width:720px;margin:48px auto 0;font-size:13px}.pricing-foot,.tier-buy{text-align:center;color:var(--muted)}.tier-buy{margin:10px 0 0;font-size:12.5px}.tier-buy a{color:var(--accent);text-decoration:none}.tier-buy a:hover{text-decoration:underline}.pricing-foot a{color:var(--accent)}.note-surface{flex:1 1;min-height:0;display:flex;background:var(--surface)}.note-cm{flex:1 1;min-width:0}.note-cm,.note-cm .cm-editor{height:100%}.preview{color:var(--ink);font-size:17px;line-height:1.8;word-break:break-word}.preview>:first-child{margin-top:0}.preview h1{font-size:28px;margin:1.4em 0 .5em}.preview h2{font-size:22px;margin:1.3em 0 .5em}.preview h3{font-size:18px;margin:1.2em 0 .4em}.preview p{margin:.7em 0}.preview table{border-collapse:collapse;width:100%;margin:1em 0;font-size:15px}.preview td,.preview th{border:1px solid var(--line);padding:7px 11px;text-align:left}.preview pre{background:#0f172a;color:#e2e8f0;padding:14px 16px;border-radius:10px;overflow:auto;font-size:14px}.preview code{font-family:var(--mono);font-size:.92em}.preview :not(pre)>code{background:var(--code-bg);padding:1px 5px;border-radius:4px}.preview blockquote{border-left:3px solid var(--line);margin:1em 0;padding:2px 16px;color:var(--ink-soft)}.preview ol,.preview ul{padding-left:1.4em}.preview li{margin:.25em 0}.preview img{max-width:100%}.preview hr{border:none;border-top:1px solid var(--line);margin:1.6em 0}.conflict-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px auto 0;max-width:var(--col);width:100%;padding:8px 14px;background:#fff7ed;border:1px solid var(--review);color:var(--review);border-radius:8px;font-size:13px}:root.dark .conflict-bar{background:#2a2113}.conflict-actions{display:flex;gap:6px}.conflict-btn{border:1px solid var(--review);background:transparent;color:var(--review);border-radius:6px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.conflict-btn.primary{background:var(--review);color:#fff}.lp{--lp-sec:96px;background:var(--bg);color:var(--ink);min-height:100vh}.lp .lp-foot-grid,.lp section,.lp-nav{margin:0 auto;padding-left:28px;padding-right:28px}.lp-download,.lp-features,.lp-hero,.lp-philosophy{padding-top:var(--lp-sec);padding-bottom:var(--lp-sec)}.lp-caret{display:inline-block;width:.36ch;height:.92em;margin-left:.1em;border-radius:.07em;background:var(--accent);vertical-align:baseline;transform:translateY(.08em);animation:lp-blink 1.1s steps(2,start) infinite}@keyframes lp-blink{0%,54%{opacity:1}55%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.lp-caret{animation:none}}.lp-label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.lp-nav{max-width:1060px;display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px}.lp-wordmark{font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.lp-wordmark-l{color:var(--accent)}.lp-links{display:flex;align-items:center;gap:26px}.lp-links a{font-size:14px;color:var(--ink-soft);text-decoration:none}.lp-links a:hover{color:var(--ink)}.lp-hero{max-width:880px;text-align:center}.lp-h1{margin:0;font-size:clamp(38px,6vw,64px);font-weight:700;letter-spacing:-.03em;line-height:1.06}.lp-sub{margin:24px auto 0;max-width:600px;font-size:18px;line-height:1.65;color:var(--ink-soft);text-wrap:balance}.lp-sub code{font-family:var(--mono);font-size:.88em;background:var(--code-bg);border-radius:5px;padding:.08em .35em}.lp-cta-block{margin-top:40px}.lp-cta-row{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.lp-cta{display:inline-flex;align-items:center;gap:9px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;text-decoration:none;border-radius:10px;padding:14px 24px;transition:background .12s ease}.lp-cta:hover{background:#1d4ed8}.lp-cta-arrow{font-size:.9em}.lp-cta-ghost{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;padding:13px 20px;font-size:15px;color:var(--ink-soft);text-decoration:none}.lp-cta-ghost:hover{border-color:var(--faint);color:var(--ink)}.lp-fineprint{margin-top:16px;font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--muted)}.lp-fineprint a{color:var(--ink-soft)}.lp-win{margin:64px auto 0;max-width:720px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 3px rgba(43,43,43,.08);overflow:hidden}.lp-win-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line)}.lp-win-title{font-family:var(--mono);font-size:12px;color:var(--muted)}.lp-win-saved{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--safe)}.lp-win-body{padding:26px 32px 30px;min-height:196px;line-height:28px;background-image:repeating-linear-gradient(to bottom,transparent 0 27px,color-mix(in srgb,var(--line) 55%,transparent) 27px 28px);background-origin:content-box}.lp-demo-line{min-height:28px}.lp-demo-line h3{margin:0;font-size:19px;font-weight:700;line-height:28px;letter-spacing:-.01em}.lp-demo-line p{margin:0;font-size:15px;line-height:28px;color:var(--ink-soft)}.lp-demo-line strong{color:var(--ink)}.lp-demo-raw{font-family:var(--mono);font-size:13.5px;line-height:28px;color:var(--ink-soft);white-space:pre-wrap}.lp-demo-task{display:flex;align-items:center;gap:9px}.lp-demo-check{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:1.5px solid var(--faint);border-radius:4px;font-size:10px;color:#fff;flex:none}.lp-demo-task.done .lp-demo-check{background:var(--accent);border-color:var(--accent)}.lp-features{max-width:1060px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px;gap:40px}.lp-feature{border-top:2px solid var(--ink);padding-top:18px}.lp-feature h2{margin:12px 0 8px;font-size:19px;font-weight:650;letter-spacing:-.015em}.lp-feature p{margin:0;font-size:15px;line-height:1.65;color:var(--ink-soft)}.lp-philosophy{max-width:none;background:#161615;text-align:center}.lp-philosophy .lp-label{color:#8d8d86}.lp-philosophy-big{margin:24px auto 0;color:#e9e9e3;font-size:clamp(22px,2.8vw,32px);font-weight:600;letter-spacing:-.015em;line-height:1.3}.lp-philosophy-body{text-wrap:balance;margin:14px auto 0;max-width:560px;color:#a3a39c;font-size:15px;line-height:1.7}.lp-download{max-width:none;background:var(--panel);border-top:1px solid var(--line);text-align:center}.lp-download h2{margin:0;font-size:clamp(26px,3.6vw,36px);font-weight:700;letter-spacing:-.025em}.lp-foot{border-top:1px solid var(--line);padding:0 0 56px}.lp-foot-grid{max-width:1060px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:32px;gap:32px;padding-top:56px}.lp-foot-col{display:flex;flex-direction:column;gap:9px}.lp-foot-col a{font-size:13px;color:var(--ink-soft);text-decoration:none}.lp-foot-col a:hover{color:var(--ink)}.lp-foot-col .lp-label{margin-bottom:4px}.lp-wordmark-sm{font-size:16px}.lp-foot-brand p{margin:6px 0 0;font-size:13px;color:var(--muted)}.lp-foot-fine{max-width:1060px;margin:40px auto 0;padding:0 28px;font-family:var(--mono);font-size:11px;color:var(--muted)}@media (max-width:760px){.lp{--lp-sec:64px}.lp-links{gap:16px}.lp-win-body{padding:20px 18px 24px}.lp-features{grid-template-columns:1fr}.lp-foot-grid{grid-template-columns:1fr 1fr}.lp-foot-brand{grid-column:1/-1}}@media (max-width:480px){.lp-nav{padding-left:18px;padding-right:18px}.lp-links{gap:13px}.lp-links a{font-size:13px}.lp section{padding-left:20px;padding-right:20px}.lp-cta-row{flex-direction:column}.lp-cta-row .lp-cta{width:min(100%,320px);justify-content:center}.lp-cta-row .lp-cta-ghost{width:auto;border:none;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}}.lp-nowrap{white-space:nowrap}.lp .lp-label,.lp-fineprint,.lp-foot-brand p,.lp-foot-fine,.lp-win-title{color:#6c6c66}.lp-philosophy .lp-label{color:#9a9a93}@media (max-width:760px){.lp-win-body{min-height:308px}}@media (min-width:900px){.shell.sidebar-open.sidebar-overlay .stage{margin-left:0}.shell.sidebar-open.sidebar-overlay .sidebar{box-shadow:8px 0 24px -12px rgba(43,43,43,.18)}}html.is-mobile .shell{min-height:100dvh}html.is-mobile .stage{height:var(--app-vh,100dvh)}html.is-mobile .tabbar{padding-top:calc(env(safe-area-inset-top) + 8px);padding-left:max(12px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}html.is-mobile .sidebar{width:min(86vw,360px);padding-top:calc(env(safe-area-inset-top) + 14px);padding-bottom:calc(env(safe-area-inset-bottom) + 4px)}html.is-mobile .status-toast{bottom:calc(env(safe-area-inset-bottom) + 16px);left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}html.is-mobile .note-surface{padding-bottom:env(safe-area-inset-bottom)}html.is-mobile .doc-del,html.is-mobile .tab-x{opacity:1}html.is-mobile .icon-btn{width:40px;height:40px}html.is-mobile .icon-btn-mini{width:38px;height:38px}html.is-mobile .tab-x{width:30px;height:30px;font-size:18px}html.is-mobile .tab-add{min-width:40px;min-height:34px}html.is-mobile .doc-open,html.is-mobile .tree-dir{min-height:42px}html.is-mobile .tab{max-width:60vw}html.is-mobile .doc-rename,html.is-mobile .find-box input,html.is-mobile .side-search input,html.is-mobile .tab-rename{font-size:16px}html.is-mobile .find-box{flex:1 1;min-width:0}html.is-mobile .find-box input{width:auto;flex:1 1;min-width:0}html.is-mobile .shell,html.is-mobile body{overscroll-behavior:none}html.is-mobile .doc-list,html.is-mobile .note-cm .cm-scroller{overscroll-behavior:contain}html.is-mobile .doc-open,html.is-mobile .tab,html.is-mobile .tree-dir,html.is-mobile button{-webkit-tap-highlight-color:transparent}html.is-mobile .doc-open,html.is-mobile .doc-title,html.is-mobile .tab,html.is-mobile .tab-title,html.is-mobile .tabbar,html.is-mobile .tree-dir{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (min-width:900px){html.is-mobile .shell.sidebar-open .stage{margin-left:0}html.is-mobile .shell.sidebar-open .scrim{display:block}}html.is-mobile{color-scheme:light}html.is-mobile.dark{color-scheme:dark}.blog,.blog-post{max-width:var(--col);margin:0 auto;padding:56px 24px 96px}.blog-head{margin-bottom:44px}.blog-head h1{font-size:2.1rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0 0 12px}.blog-head p{color:var(--muted);font-size:1.05rem;line-height:1.6;max-width:56ch;margin:0}.blog-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.blog-card-link{display:block;padding:22px 20px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;background:var(--surface);transition:border-color .15s ease,transform .15s ease}.blog-card-link:hover{border-color:var(--accent);transform:translateY(-1px)}.blog-card-meta{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);margin-bottom:6px}.blog-card h2{font-size:1.28rem;font-weight:650;letter-spacing:-.01em;color:var(--ink);margin:0 0 6px;line-height:1.3}.blog-card p{color:var(--ink-soft);margin:0 0 10px;line-height:1.55}.blog-card-more{font-size:.86rem;color:var(--accent);font-weight:600}.blog-empty{color:var(--muted);padding:24px 0}.blog-back{margin:0 0 26px}.blog-back a{color:var(--muted);text-decoration:none;font-size:.9rem}.blog-back a:hover{color:var(--accent)}.blog-post-head{margin-bottom:36px}.blog-post-head h1{font-size:2.35rem;font-weight:700;letter-spacing:-.022em;line-height:1.18;color:var(--ink);margin:8px 0 14px}.blog-post-lede{font-size:1.18rem;line-height:1.55;color:var(--ink-soft);margin:0}.blog-prose{font-family:var(--reading);font-size:1.08rem;line-height:1.72;color:var(--ink)}.blog-prose>*+*{margin-top:1.2em}.blog-prose h2{font-size:1.55rem;font-weight:700;letter-spacing:-.015em;line-height:1.3;margin:2em 0 .1em}.blog-prose h2,.blog-prose h3{scroll-margin-top:80px;color:var(--ink)}.blog-prose h3{font-size:1.22rem;font-weight:650;margin:1.6em 0 .1em}.blog-prose p{margin:0}.blog-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.blog-prose ol,.blog-prose ul{margin:0;padding-left:1.4em}.blog-prose li+li{margin-top:.4em}.blog-prose blockquote{margin:0;padding:4px 0 4px 20px;border-left:3px solid var(--line);color:var(--ink-soft);font-style:italic}.blog-prose code{font-family:var(--mono);font-size:.88em;background:var(--line);padding:1px 5px;border-radius:4px}.blog-prose pre{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;overflow-x:auto;font-size:.92rem;line-height:1.55}.blog-prose pre code{background:none;padding:0;font-size:inherit}.blog-prose table{border-collapse:collapse;width:100%;font-size:.96rem;display:block;overflow-x:auto}.blog-prose td,.blog-prose th{border:1px solid var(--line);padding:8px 12px;text-align:left}.blog-prose th{font-weight:650;background:var(--bg)}.blog-prose img{max-width:100%;height:auto;border-radius:10px}.blog-prose hr{border:none;border-top:1px solid var(--line);margin:2.2em 0}.blog-cta{margin:56px 0 0;padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.blog-cta h2{font-size:1.3rem;font-weight:700;margin:0 0 8px;color:var(--ink)}.blog-cta p{color:var(--ink-soft);line-height:1.6;margin:0 0 16px}.blog-cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.blog-cta-btn{display:inline-block;background:var(--accent);color:#fff;padding:10px 18px;border-radius:9px}.blog-cta-btn,.blog-cta-link{text-decoration:none;font-weight:600}.blog-cta-link{color:var(--accent)}.blog-related{margin-top:48px}.blog-related h2{font-size:1.05rem;color:var(--muted);font-weight:600;margin:0 0 12px;text-transform:uppercase;letter-spacing:.04em}.blog-related ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.blog-related a{color:var(--ink);text-decoration:none;font-weight:550}.blog-related a:hover{color:var(--accent)}.blog-foot{max-width:var(--col);margin:0 auto;padding:32px 24px 56px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.blog-foot a{color:var(--ink-soft);text-decoration:none}.blog-foot a:hover{color:var(--accent)}.blog-foot-fine{color:var(--faint);margin-top:6px}@media (max-width:600px){.blog-post-head h1{font-size:1.85rem}.blog-head h1{font-size:1.7rem}}