:root{--bg: #eff5fc;--surface: #ffffff;--sidebar: #e4edf7;--text: #16202b;--text-muted: #78889a;--text-faint: #a7b6c6;--border: #d7e3f0;--border-strong: #bfd0e2;--hover: rgba(16, 52, 96, .05);--active: rgba(16, 52, 96, .085);--danger: #b4463c;--shadow-pop: 0 1px 2px rgba(16, 42, 76, .05), 0 8px 28px rgba(16, 42, 76, .12);--ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif: "Newsreader", "Iowan Old Style", Georgia, serif;--sidebar-w: 264px;--content-w: 720px;--radius: 10px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #101720;--surface: #171f2a;--sidebar: #0c1219;--text: #e7edf5;--text-muted: #8695a6;--text-faint: #5a6675;--border: #232d39;--border-strong: #33404f;--hover: rgba(255, 255, 255, .055);--active: rgba(255, 255, 255, .09);--danger: #e08376;--shadow-pop: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 28px rgba(0, 0, 0, .5);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,textarea{font:inherit;color:inherit}::selection{background:#7896ff47}.app{display:flex;height:100%;overflow:hidden}.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:margin-left .22s cubic-bezier(.4,0,.2,1)}.sidebar[data-hidden=true]{margin-left:calc(var(--sidebar-w) * -1)}.sidebar__head{padding:14px 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar__brand{font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:-.01em}.sidebar__scroll{flex:1;overflow-y:auto;padding:4px 8px 24px}.sidebar__section{margin-top:14px;padding:0 6px 6px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);display:flex;align-items:center;justify-content:space-between}.sidebar__foot{border-top:1px solid var(--border);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--text-muted)}.sidebar__email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;border-radius:7px;font-size:14px;color:var(--text);text-align:left;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none}.row:hover{background:var(--hover)}.row[data-active=true]{background:var(--active);font-weight:500}.row[data-drop=true]{outline:1.5px solid var(--text-muted);outline-offset:-1.5px}.row__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__caret{width:14px;height:14px;flex:none;display:grid;place-items:center;color:var(--text-faint);transition:transform .15s ease}.row__caret[data-open=true]{transform:rotate(90deg)}.row__icon{flex:none;color:var(--text-faint);display:grid;place-items:center}.row__action{flex:none;opacity:0;color:var(--text-faint);display:grid;place-items:center;padding:2px;border-radius:5px}.row:hover .row__action{opacity:1}.row__action:hover{background:var(--active);color:var(--text)}.row__editor{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:5px;padding:1px 5px;outline:none;font-size:14px}.tree__children{margin-left:11px;padding-left:6px;border-left:1px solid var(--border)}.sidebar__empty{padding:6px 10px;font-size:13px;color:var(--text-faint)}.topbar{height:48px;flex:none;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid transparent;transition:border-color .15s ease}.topbar[data-scrolled=true]{border-bottom-color:var(--border)}.topbar__spacer{flex:1}.topbar__crumb{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;color:var(--text-muted);flex:none}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn[data-danger=true]:hover{color:var(--danger)}.switch{display:flex;padding:2px;border-radius:8px;background:var(--hover)}.switch__opt{padding:4px 11px;border-radius:6px;font-size:13px;color:var(--text-muted);white-space:nowrap}.switch__opt[data-on=true]{background:var(--surface);color:var(--text);font-weight:500;box-shadow:0 1px 2px #0000000f}.saved{font-size:12.5px;color:var(--text-faint);white-space:nowrap;transition:opacity .3s ease}.note-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.note{padding-bottom:40vh}.note__body{max-width:var(--content-w);margin:0 auto;padding:0 32px}.note__title{font-family:var(--serif);font-size:42px;font-weight:500;line-height:1.12;letter-spacing:-.02em;margin:26px 0 4px;width:100%;border:0;background:none;outline:none;resize:none;overflow:hidden;display:block;padding:0}.note__title::placeholder{color:var(--text-faint)}.note__meta{font-size:12.5px;color:var(--text-faint);margin-bottom:22px}.cover{position:relative;width:100%;overflow:hidden;background:var(--hover)}.cover--empty{max-width:var(--content-w);margin:20px auto 0;padding:0 32px;background:none}.cover__img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.cover__tools{position:absolute;right:14px;bottom:14px;display:flex;gap:6px;opacity:0;transition:opacity .15s ease}.cover:hover .cover__tools{opacity:1}.cover__btn{padding:5px 10px;border-radius:7px;font-size:12.5px;font-weight:500;color:#fff;background:#0b141e9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14)}.cover__btn:hover{background:#0b141ed1}.cover__resize{position:absolute;left:0;right:0;bottom:0;height:12px;cursor:ns-resize;display:grid;place-items:center}.cover__resize:after{content:"";width:44px;height:4px;border-radius:2px;background:#ffffff8c;opacity:0;transition:opacity .15s ease}.cover:hover .cover__resize:after{opacity:1}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:26px 18px;display:grid;place-items:center;gap:6px;text-align:center;color:var(--text-muted);font-size:13.5px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.dropzone:hover{border-color:var(--text-faint);color:var(--text)}.dropzone[data-over=true]{border-color:var(--text);background:var(--hover);color:var(--text)}.dropzone__hint{font-size:12px;color:var(--text-faint)}.blocks{display:flex;flex-direction:column}.block{position:relative;scroll-margin-top:64px}.block__handles{position:absolute;top:2px;left:-56px;display:flex;gap:1px;opacity:0;transition:opacity .12s ease}.block:hover .block__handles,.block__handles:focus-within{opacity:1}.block__handle{display:grid;place-items:center;width:24px;height:26px;border-radius:5px;color:var(--text-faint)}.block__handle:hover{background:var(--hover);color:var(--text)}.block__handle--grip{cursor:grab}.block[data-dragging=true]{opacity:.35}.block[data-drop=before]:before,.block[data-drop=after]:after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:1px;background:var(--text)}.block[data-drop=before]:before{top:-1px}.block[data-drop=after]:after{bottom:-1px}.field{width:100%;border:0;background:none;outline:none;resize:none;overflow:hidden;display:block;padding:0;font-family:var(--serif);color:var(--text)}.field::placeholder{color:var(--text-faint)}.b-text,.b-text-ro{font-family:var(--serif);font-size:18.5px;line-height:1.62;letter-spacing:.002em;padding:3px 0;margin:0;white-space:pre-wrap;word-break:break-word}.b-quote,.b-quote-ro{font-family:var(--serif);font-size:18.5px;line-height:1.6;font-style:italic;color:var(--text-muted);border-left:2px solid var(--border-strong);padding:3px 0 3px 18px;margin:6px 0;white-space:pre-wrap;word-break:break-word}.b-heading{position:relative;display:flex;align-items:center;gap:8px}.b-heading__toggle{position:absolute;left:-26px;top:50%;display:grid;place-items:center;width:20px;height:20px;margin-top:-10px;border-radius:5px;color:var(--text-faint);transition:transform .16s ease,opacity .12s ease}.b-heading__toggle--inline{position:static;margin-top:0;flex:none;opacity:0}.block:hover .b-heading__toggle--inline,.b-heading__toggle--inline:not([data-open]){opacity:1}.b-heading__toggle:hover{background:var(--hover);color:var(--text)}.b-heading__toggle[data-open=true]{transform:rotate(90deg)}.block:not(:hover) .b-heading__toggle[data-open=true]{opacity:0}.b-heading__text{flex:0 1 auto;min-width:0;font-family:var(--serif);font-weight:500;letter-spacing:-.015em;word-break:break-word;margin:0;white-space:pre-wrap}.field.b-heading__text{flex:1}.b-heading[data-clickable=true] .b-heading__text{cursor:pointer}.b-heading[data-level="1"]{margin:34px 0 6px}.b-heading[data-level="1"] .b-heading__text{font-size:30px;line-height:1.22}.b-heading[data-level="2"]{margin:26px 0 4px}.b-heading[data-level="2"] .b-heading__text{font-size:24px;line-height:1.26}.b-heading[data-level="3"]{margin:20px 0 2px}.b-heading[data-level="3"] .b-heading__text{font-size:19.5px;line-height:1.3;font-weight:600;font-family:var(--ui);letter-spacing:-.01em}.b-heading__count{flex:none;font-family:var(--ui);font-size:12px;color:var(--text-faint);background:var(--hover);border-radius:20px;padding:1px 8px;align-self:center}.b-list{display:flex;flex-direction:column;margin:8px 0}.b-list__item{display:flex;align-items:flex-start;gap:12px}.b-list__marker{flex:none;width:22px;height:30px;display:flex;align-items:center;justify-content:flex-end;-webkit-user-select:none;user-select:none}.b-list__dot{width:5px;height:5px;border-radius:50%;background:var(--text-faint)}.b-list__num{font-family:var(--serif);font-size:17px;color:var(--text-faint);font-variant-numeric:tabular-nums}.b-list__check{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border-strong);display:grid;place-items:center;color:var(--bg);transition:background .14s ease,border-color .14s ease}.b-list__check:hover{border-color:var(--text-muted)}.b-list__check[data-on=true]{background:var(--text);border-color:var(--text)}.b-list__text{flex:1;min-width:0;font-family:var(--serif);font-size:18.5px;line-height:1.62;padding:3px 0;word-break:break-word;white-space:pre-wrap}.b-list[data-style=check] .b-list__item[data-checked=true] .b-list__text{color:var(--text-faint);text-decoration:line-through;text-decoration-thickness:1px}.b-list__tools{display:flex;gap:4px;margin:8px 0 0 34px;opacity:0;transition:opacity .15s ease}.block:hover .b-list__tools,.b-list__tools:focus-within{opacity:1}.b-divider{padding:14px 0}.b-divider:after{content:"";display:block;height:1px;background:var(--border)}.b-image{margin:14px 0}.b-image__caption{margin-top:8px;font-family:var(--ui);font-size:13px;color:var(--text-muted);text-align:center}.b-image__caption-ro:empty{display:none}.b-image__tools{display:flex;gap:4px;justify-content:center;margin-top:8px;opacity:0;transition:opacity .15s ease}.block:hover .b-image__tools{opacity:1}.chip{padding:3px 10px;border-radius:20px;font-size:12.5px;color:var(--text-muted);border:1px solid var(--border)}.chip:hover{background:var(--hover);color:var(--text)}.chip[data-on=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.grid-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.grid-images img,.single-image img{width:100%;border-radius:var(--radius);display:block}.grid-images img{aspect-ratio:4 / 3;object-fit:cover}.image-slot{position:relative}.image-slot__remove{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#0b141e99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;opacity:0;transition:opacity .15s ease}.image-slot:hover .image-slot__remove{opacity:1}.carousel{position:relative}.carousel__track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--radius)}.carousel__track::-webkit-scrollbar{display:none}.carousel__slide{flex:0 0 100%;scroll-snap-align:center;position:relative;aspect-ratio:3 / 2}.carousel__slide img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);display:block}.carousel--cover .carousel__slide{aspect-ratio:auto}.carousel--cover .carousel__track{gap:0;border-radius:0;height:100%}.carousel--cover .carousel__slide img{border-radius:0}.carousel__nav{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eff5fcdb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text);opacity:0;transition:opacity .15s ease}@media(prefers-color-scheme:dark){.carousel__nav{background:#171f2ad1}}.carousel:hover .carousel__nav{opacity:1}.carousel__nav:disabled{opacity:0!important;pointer-events:none}.carousel__nav--prev{left:10px}.carousel__nav--next{right:10px}.carousel__dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;pointer-events:none}.carousel__dot{width:6px;height:6px;border-radius:50%;background:#ffffff8c;box-shadow:0 0 0 1px #0000001f;transition:width .18s ease,background .18s ease}.carousel__dot[data-on=true]{width:18px;background:#fff}.add-row{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--text-faint);font-size:14px}.add-row:hover{color:var(--text-muted)}.add-row__line{flex:1;height:1px;background:var(--border)}.menu{position:fixed;z-index:60;min-width:216px;padding:5px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-pop);max-height:60vh;overflow-y:auto}.menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 9px;border-radius:8px;text-align:left}.menu__item:hover,.menu__item[data-active=true]{background:var(--hover)}.menu__item[data-danger=true]:hover{color:var(--danger)}.menu__label{font-size:14px;line-height:1.25}.menu__hint{font-size:12px;color:var(--text-faint);line-height:1.25}.menu__mark{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:6px;border:1px solid var(--border);color:var(--text-muted);font-family:var(--serif);font-size:13px}.menu__sep{height:1px;margin:4px 6px;background:var(--border)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.empty{flex:1;display:grid;place-content:center;justify-items:center;gap:14px;padding:40px;text-align:center;color:var(--text-muted)}.empty__title{font-family:var(--serif);font-size:26px;color:var(--text);letter-spacing:-.01em}.btn{padding:8px 16px;border-radius:8px;background:var(--text);color:var(--bg);font-size:14px;font-weight:500}.btn:hover{opacity:.86}.btn--ghost{background:none;color:var(--text);border:1px solid var(--border-strong)}.btn--ghost:hover{background:var(--hover);opacity:1}.btn:disabled{opacity:.5;cursor:default}.auth{height:100%;display:grid;place-items:center;padding:24px}.auth__card{width:100%;max-width:340px}.auth__title{font-family:var(--serif);font-size:34px;font-weight:500;letter-spacing:-.02em;margin:0 0 6px}.auth__sub{color:var(--text-muted);font-size:14px;margin:0 0 26px}.auth__form{display:flex;flex-direction:column;gap:10px}.input{width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface);outline:none;font-size:14.5px}.input:focus{border-color:var(--text-muted)}.auth__error{color:var(--danger);font-size:13.5px;min-height:18px}.auth__toggle{margin-top:18px;font-size:13.5px;color:var(--text-muted);text-align:center}.auth__toggle button{color:var(--text);text-decoration:underline;text-underline-offset:3px}.spinner{width:15px;height:15px;border:1.8px solid var(--border-strong);border-top-color:var(--text-muted);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-fill{flex:1;display:grid;place-items:center;color:var(--text-faint)}.scrim{display:none}@media(max-width:860px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;box-shadow:var(--shadow-pop)}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:#00000047}.note__body,.cover--empty{padding:0 20px}.note__title{font-size:33px}.block__handles{left:-34px;gap:0}.block__handle{width:17px}.b-heading__toggle{margin-left:-22px}}
