:root{--bg:#faf9f5;--sidebar:#f4f2ea;--surface:#fff;--text:#2a2926;--dim:#6f6b63;--muted:#a09b91;--border:#e8e5dd;--border-strong:#dedacf;--accent:#d97757;--accent-strong:#c2664a;--accent-soft:#d977571c;--accent-text:#fff;--code-bg:#f1eee6;--radius:12px;--radius-sm:8px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Helvetica Neue",sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,"JetBrains Mono",Menlo,Consolas,monospace;--measure:68ch;--sidebar-w:266px}[data-theme=dark]{--bg:#1c1b19;--sidebar:#211f1c;--surface:#252320;--text:#eae7e0;--dim:#a39e94;--muted:#736f66;--border:#34322d;--border-strong:#403d36;--accent:#e08a6b;--accent-strong:#e8997c;--accent-soft:#e08a6b24;--accent-text:#1c1b19;--code-bg:#2c2a26}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}::selection{background:var(--accent-soft)}#welcome{background:var(--bg);z-index:50;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.welcome-card{text-align:center;width:100%;max-width:430px}.welcome-mark{background:var(--accent);width:52px;height:52px;color:var(--accent-text);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 26px;display:flex}.welcome-card h1{letter-spacing:-.02em;margin:0 0 12px;font-size:25px;font-weight:650}.welcome-card p{color:var(--dim);max-width:340px;margin:0 auto 28px;font-size:15px;line-height:1.65}.btn-primary{background:var(--accent);color:var(--accent-text);border-radius:999px;padding:11px 22px;font-size:14.5px;font-weight:600;transition:transform .12s,background .2s}.btn-primary:hover{background:var(--accent-strong);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.welcome-note{color:var(--muted);margin-top:20px;font-size:12.5px;line-height:1.6}.welcome-error{color:#c0533a;margin-top:18px;font-size:13px;display:none}.btn-secondary{color:var(--dim);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.55em 1.4em;font-size:.95rem;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.dbx-form{flex-direction:column;gap:.6em;width:100%;margin:.5em 0;display:flex}.dbx-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font-size:.9rem;font-family:var(--mono);box-sizing:border-box;padding:.6em .9em}.dbx-input:focus{border-color:var(--accent);outline:none}#app{height:100%;display:none}.layout{height:100%;display:flex}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;margin-left:0;transition:margin-left .26s cubic-bezier(.4,0,.2,1);display:flex}body.sidebar-collapsed .sidebar{margin-left:calc(-1 * var(--sidebar-w))}.sidebar-head{justify-content:space-between;align-items:center;padding:16px 16px 10px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:9px;font-size:14.5px;font-weight:600;display:flex}.brand .dot{background:var(--accent);border-radius:6px;width:18px;height:18px}.today-btn{border-radius:var(--radius-sm);color:var(--dim);align-items:center;gap:9px;margin:2px 12px 8px;padding:9px 12px;font-size:13.5px;font-weight:550;transition:background .15s,color .15s;display:flex}.today-btn:hover{background:var(--accent-soft);color:var(--text)}.today-btn svg{width:16px;height:16px;color:var(--accent)}.list-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px 18px 8px;font-size:11px;font-weight:700}.note-list{flex:1;padding:0 8px 14px;overflow-y:auto}.note-item{text-align:left;border-radius:var(--radius-sm);width:100%;margin-bottom:1px;padding:9px 12px;transition:background .12s;display:block}.note-item:hover{background:#00000009}[data-theme=dark] .note-item:hover{background:#ffffff0a}.note-item.active{background:var(--accent-soft)}.note-item.active .ni-date{color:var(--accent);font-weight:650}.ni-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ni-date{color:var(--text);letter-spacing:-.01em;white-space:nowrap;font-size:13.5px;font-weight:550}.ni-rel{color:var(--muted);flex:none;font-size:11px;font-weight:600}.ni-snippet{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.sidebar-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex;position:relative}.folder-name{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;min-width:0;font-size:12px;display:flex;overflow:hidden}.folder-name svg{width:14px;height:14px;color:var(--muted);flex:none}.icon-btn{width:30px;height:30px;color:var(--dim);border-radius:8px;flex:none;justify-content:center;align-items:center;transition:background .14s,color .14s;display:flex}.icon-btn:hover{color:var(--text);background:#0000000d}[data-theme=dark] .icon-btn:hover{background:#ffffff0f}.icon-btn svg{width:17px;height:17px}.popover{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:20;width:236px;padding:7px;display:none;position:absolute;bottom:48px;right:10px;box-shadow:0 12px 34px #00000021}[data-theme=dark] .popover{box-shadow:0 12px 34px #00000073}.popover.open{display:block}.pop-row{border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:flex}.pop-row.btn-row{cursor:pointer}.pop-row.btn-row:hover{background:#0000000a}[data-theme=dark] .pop-row.btn-row:hover{background:#ffffff0d}.pop-row .lbl{color:var(--text)}.pop-sub{color:var(--muted);padding:2px 10px 8px;font-size:11.5px;line-height:1.5}.switch{background:var(--border-strong);border-radius:999px;flex:none;width:34px;height:20px;transition:background .18s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(14px)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);flex:0 0 57px;justify-content:space-between;align-items:center;gap:12px;height:57px;padding:0 18px 0 12px;display:flex}.topbar-left{align-items:center;gap:4px;min-width:0;display:flex}.date-title{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0 6px;font-size:15px;font-weight:600;overflow:hidden}.nav-arrow{width:32px;height:32px;color:var(--dim);border-radius:8px;justify-content:center;align-items:center;transition:background .14s,color .14s;display:flex}.nav-arrow:hover{color:var(--text);background:#0000000d}[data-theme=dark] .nav-arrow:hover{background:#ffffff0f}.nav-arrow svg{width:18px;height:18px}.topbar-right{flex:none;align-items:center;gap:14px;display:flex}.wordcount{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.saved{color:var(--muted);align-items:center;gap:6px;min-width:54px;font-size:12px;font-weight:500;transition:opacity .3s;display:flex}.saved .sdot{background:var(--muted);border-radius:50%;width:6px;height:6px;transition:background .2s}.saved.is-saving .sdot{background:var(--accent);animation:1.1s ease-in-out infinite pulse}.saved.is-saved .sdot{background:#5a9b6b}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.nav-arrow.toggle-on,.nav-arrow.toggle-on:hover{background:var(--accent-soft);color:var(--accent)}.scroll{flex:1;overflow-y:auto}.column{max-width:var(--measure);margin:0 auto;padding:46px 28px 160px}textarea#editor{resize:none;width:100%;color:var(--text);font-family:var(--font);letter-spacing:-.003em;caret-color:var(--accent);background:0 0;border:none;outline:none;min-height:60vh;font-size:17px;line-height:1.78;display:block;overflow:hidden}textarea#editor::placeholder{color:var(--muted)}.preview{color:var(--text);font-size:17px;line-height:1.78}.preview.hidden,textarea#editor.hidden{display:none}.preview h1,.preview h2,.preview h3,.preview h4{letter-spacing:-.018em;margin:1.7em 0 .6em;font-weight:650;line-height:1.3}.preview h1{margin-top:.2em;font-size:1.7em}.preview h2{font-size:1.38em}.preview h3{font-size:1.16em}.preview h4{font-size:1em}.preview p{margin:0 0 1.05em}.preview ul,.preview ol{margin:0 0 1.05em;padding-left:1.4em}.preview li{margin:.3em 0}.preview li::marker{color:var(--muted)}.preview a{color:var(--accent);border-bottom:1px solid var(--accent-soft);text-decoration:none}.preview a:hover{border-bottom-color:var(--accent)}.preview blockquote{border-left:3px solid var(--accent);color:var(--dim);margin:0 0 1.1em;padding:.2em 0 .2em 1.1em;font-style:italic}.preview code{font-family:var(--mono);background:var(--code-bg);border-radius:5px;padding:.15em .42em;font-size:.86em}.preview pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-all;margin:0 0 1.1em;padding:14px 16px;overflow-x:hidden}.preview pre code{white-space:inherit;background:0 0;padding:0;font-size:.84em;line-height:1.6}.preview hr{border:none;border-top:1px solid var(--border-strong);margin:2em 0}.preview table{border-collapse:collapse;width:100%;margin:0 0 1.1em;font-size:.94em}.preview th,.preview td{border:1px solid var(--border-strong);text-align:left;padding:8px 12px}.preview th{background:var(--code-bg);font-weight:600}.preview img{border-radius:var(--radius-sm);max-width:100%}.preview ul.contains-task-list{padding-left:.2em;list-style:none}.preview .task-list-item{align-items:flex-start;gap:.6em;margin:.35em 0;display:flex}.preview input[type=checkbox]{appearance:none;border:1.6px solid var(--border-strong);cursor:pointer;border-radius:5px;flex:none;width:18px;height:18px;margin:.18em 0 0;transition:background .15s,border-color .15s;position:relative}.preview input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.preview input[type=checkbox]:checked:after{content:"";border:solid var(--accent-text);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1.5px;left:5px;transform:rotate(45deg)}.preview .task-list-item.done{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.frontmatter-chips{flex-wrap:wrap;gap:7px;margin-bottom:26px;display:flex}.fm-chip{letter-spacing:.03em;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:600}.preview-empty{color:var(--muted);font-size:15px;font-style:italic}.search-wrap{padding:2px 12px 6px;position:relative}.search-icon{width:15px;height:15px;color:var(--muted);pointer-events:none;position:absolute;top:11px;left:23px}.search-input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:9px;outline:none;padding:8px 11px 8px 31px;font-family:inherit;font-size:13px;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--muted)}.search-clear{color:var(--muted);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:background .12s,color .12s;display:flex;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.search-clear:hover{color:var(--text);background:#0000000f}.search-clear svg{width:12px;height:12px}.ask-ai{width:calc(100% - 24px);color:var(--dim);text-align:left;border:1px dashed var(--border-strong);border-radius:9px;align-items:center;gap:8px;margin:0 12px 6px;padding:8px 11px;font-size:12.5px;transition:all .15s;display:flex}.ask-ai:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.ask-ai svg{width:15px;height:15px;color:var(--accent);flex:none}.ask-ai .q{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ask-ai .kbd{color:var(--muted);border:1px solid var(--border-strong);border-radius:4px;flex:none;margin-left:auto;padding:1px 5px;font-size:10px}.list-empty{color:var(--muted);padding:12px 18px;font-size:12.5px;line-height:1.5}.term-overlay{z-index:60;visibility:hidden;pointer-events:none;transition:visibility 0s linear .34s;position:fixed;inset:0}.term-overlay.open{visibility:visible;pointer-events:auto;transition-delay:0s}.term-backdrop{opacity:0;background:#12100e42;transition:opacity .3s;position:absolute;inset:0}.term-overlay.open .term-backdrop{opacity:1}.term{color:#eae7e0;width:min(440px,92vw);height:100%;font-family:var(--mono);background:#211f1c;border-left:1px solid #3a372f;flex-direction:column;transition:transform .34s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-24px 0 70px #0006}.term-overlay.open .term{transform:translate(0)}.term-head{border-bottom:1px solid #34322d;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.term-title{font-size:13px;font-family:var(--font);color:#eae7e0;align-items:center;gap:9px;font-weight:600;display:flex}.term-title .live{background:var(--accent);border-radius:2px;width:8px;height:8px;animation:1.6s ease-in-out infinite pulse}.term-title .sub{color:#8d887e;font-size:11px;font-weight:400}.term-close{color:#9b968c;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .14s;display:flex}.term-close:hover{color:#eae7e0;background:#ffffff12}.term-close svg{width:16px;height:16px}.term-body{flex:1;padding:18px 18px 6px;font-size:13.5px;line-height:1.72;overflow-y:auto}.term-empty{color:#8d887e;line-height:1.7}.term-empty .ex{color:var(--accent);cursor:pointer}.term-empty .ex:hover{text-decoration:underline}.turn{margin-bottom:20px}.term-q{color:#eae7e0;gap:9px;display:flex}.term-q .caret{color:var(--accent);flex:none;font-weight:700}.term-a{color:#cbc7be;word-break:break-word;margin-top:9px}.term-a p{margin:0 0 .65em}.term-a p:last-child{margin-bottom:0}.term-a ul,.term-a ol{margin:0 0 .65em;padding-left:1.3em}.term-a li{margin:.2em 0}.term-a strong{color:#eae7e0;font-weight:600}.term-a code{font-family:var(--mono);background:#ffffff14;border-radius:4px;padding:.1em .3em;font-size:.83em}.term-a pre{background:#0000004d;border-radius:6px;margin:0 0 .65em;padding:10px 12px;overflow-x:auto}.term-a pre code{background:0 0;padding:0}.term-a .datelink{color:var(--accent);cursor:pointer;border-bottom:1px solid #e08a6b59}.term-a .datelink:hover{border-bottom-color:var(--accent)}.term-clear{color:#8d887e;border:1px solid #3a372f;border-radius:6px;padding:2px 10px;font-size:11.5px;font-weight:500;transition:all .15s}.term-clear:hover{color:#eae7e0;border-color:#6a655e}.term-think{color:#8d887e;align-items:center;gap:8px;display:flex}.term-think .dots:after{content:"";animation:1.4s steps(4,end) infinite dots}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.term-err{color:#e0917c}.term-foot{border-top:1px solid #34322d;align-items:center;gap:8px;padding:11px 12px;display:flex}.term-prompt{color:var(--accent);font-weight:700}.term-input{color:#eae7e0;font-family:var(--mono);background:#2a2722;border:1px solid #3a372f;border-radius:9px;outline:none;flex:1;padding:9px 12px;font-size:13px}.term-input:focus{border-color:var(--accent)}.term-send{background:var(--accent);color:#1c1b19;font-size:12.5px;font-weight:600;font-family:var(--font);border-radius:9px;padding:9px 14px}.term-send:hover{background:var(--accent-strong)}.key-prompt{background:#2a2722;border:1px solid #3a372f;border-radius:10px;margin-bottom:12px;padding:14px}.key-prompt p{color:#cbc7be;line-height:1.6;font-family:var(--font);margin:0 0 10px;font-size:13px}.key-prompt .row{gap:8px;display:flex}.key-prompt input{color:#eae7e0;font-family:var(--mono);background:#211f1c;border:1px solid #3a372f;border-radius:8px;outline:none;flex:1;padding:8px 10px;font-size:12.5px}.key-prompt input:focus{border-color:var(--accent)}.scroll::-webkit-scrollbar{width:9px}.note-list::-webkit-scrollbar{width:9px}.term-body::-webkit-scrollbar{width:9px}.term-body::-webkit-scrollbar-thumb{background:#3a372f padding-box padding-box;border:2px solid #0000;border-radius:6px}.scroll::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:6px}.note-list::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:6px}
