@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-cyrillic-300-normal-RhT0Ayi3.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-300-normal-LoaTnByX.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-latin-300-normal-b4i7YzLG.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-300-normal-C9Of02-5.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-cyrillic-400-normal-CbVom6TB.woff2) format("woff2"),url(/assets/lora-cyrillic-400-normal-BedExNGj.woff) format("woff")}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/lora-cyrillic-400-italic-BZqWJcgY.woff2) format("woff2"),url(/assets/lora-cyrillic-400-italic-rXhP2Nh9.woff) format("woff")}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-cyrillic-400-normal-B-euljER.woff2) format("woff2"),url(/assets/pt-serif-cyrillic-400-normal-D8jOFnDU.woff) format("woff")}@font-face{font-family:"PT Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/pt-serif-cyrillic-400-italic-Bicg0I0x.woff2) format("woff2"),url(/assets/pt-serif-cyrillic-400-italic-CGr2MaNX.woff) format("woff")}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-cyrillic-400-normal-Bx9Tn3WZ.woff2) format("woff2"),url(/assets/spectral-cyrillic-400-normal-X3p2PSzL.woff) format("woff")}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/spectral-cyrillic-400-italic-C6o5RXh-.woff2) format("woff2"),url(/assets/spectral-cyrillic-400-italic-C95RxGpc.woff) format("woff")}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-ece1310W.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-D-yuW59g.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-CxNHBx-q.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-void: oklch(.13 .012 50);--bg-deep: oklch(.165 .012 50);--bg: oklch(.205 .014 50);--surface: oklch(.245 .014 50);--surface-2: oklch(.295 .012 50);--surface-3: oklch(.345 .012 50);--border: oklch(.34 .012 50);--border-soft: oklch(.28 .01 50);--border-strong: oklch(.42 .012 50);--ink: oklch(.95 .008 80);--ink-2: oklch(.78 .012 80);--ink-3: oklch(.65 .012 70);--ink-4: oklch(.56 .012 60);--accent: oklch(.63 .16 30);--accent-soft: oklch(.63 .16 30 / .16);--accent-2: oklch(.78 .1 90);--accent-2-soft: oklch(.78 .1 90 / .18);--ok: oklch(.72 .14 145);--warn: oklch(.8 .14 80);--danger: oklch(.65 .18 25);--info: oklch(.72 .1 230);--note-idea: oklch(.82 .16 75);--note-idea-soft: oklch(.82 .16 75 / .14);--note-question: oklch(.72 .14 240);--note-question-soft: oklch(.72 .14 240 / .14);--note-todo: oklch(.72 .14 145);--note-todo-soft: oklch(.72 .14 145 / .14);--note-important: oklch(.65 .18 25);--note-important-soft: oklch(.65 .18 25 / .14);--paper: oklch(.965 .014 85);--paper-edge: oklch(.92 .018 80);--paper-ink: oklch(.22 .02 60);--paper-ink-2: oklch(.42 .02 60);--paper-rule: oklch(.86 .014 85);--tab-idea: oklch(.84 .13 90);--tab-question: oklch(.78 .1 230);--tab-todo: oklch(.78 .13 55);--tab-important: oklch(.7 .16 25);--r-1: 4px;--r-2: 8px;--r-3: 12px;--r-4: 16px;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-serif: "Source Serif 4", Georgia, serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--font-editor: "Source Serif 4", Georgia, serif;--dur-instant: .1s;--dur-hover: .12s;--dur-spring: .13s;--dur-fast: .15s;--dur-exit: .09s;--dur-panel: .22s;--dur-page: .2s;--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--character-color-0: oklch(.63 .16 30);--character-color-1: oklch(.58 .12 220);--character-color-2: oklch(.58 .1 160);--character-color-3: oklch(.62 .1 280);--character-color-4: oklch(.65 .09 55);--bp-mobile: 768px;--bp-tablet: 1024px;--bp-large: 1440px;color-scheme:dark}[data-theme=light]{--bg-void: oklch(.8 .014 65);--bg-deep: oklch(.86 .014 65);--bg: oklch(.91 .01 68);--surface: oklch(.95 .01 65);--surface-2: oklch(.88 .012 60);--surface-3: oklch(.83 .012 55);--border: oklch(.79 .01 50);--border-soft: oklch(.87 .008 55);--border-strong: oklch(.69 .012 50);--ink: oklch(.18 .022 60);--ink-2: oklch(.36 .018 60);--ink-3: oklch(.43 .014 60);--ink-4: oklch(.5 .012 60);color-scheme:light}[data-theme=light] .bubble-btn{color:#dad7d2}[data-theme=light] .bubble-sep{background:#ffffff21}[data-theme=light] .skeleton:after{background:linear-gradient(90deg,transparent,oklch(.6 .008 60 / .09),transparent)}[data-theme=light]{--character-color-0: oklch(.45 .16 30);--character-color-1: oklch(.42 .12 220);--character-color-2: oklch(.42 .1 160);--character-color-3: oklch(.46 .1 280);--character-color-4: oklch(.48 .09 55)}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}html,body,#root{margin:0;height:100%;background:var(--bg);font-family:var(--font-ui);color:var(--ink);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-1)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@keyframes modal-in{0%{opacity:0;transform:scale(.97)}}@keyframes fade-in{0%{opacity:0}}@keyframes toast-out{to{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes panel-enter-right{0%{transform:translate(100%)}}@keyframes panel-enter-left{0%{transform:translate(-100%)}}@keyframes scale-flash{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page-spinner{width:28px;height:28px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--accent);animation:spin .75s linear infinite}.page-loading{flex:1;display:flex;align-items:center;justify-content:center}.page-fill{min-height:100vh;background:var(--bg)}.page-fill--center{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center}.page-fill--error{min-height:100vh;background:var(--bg);color:var(--ink);padding:32px;display:flex;flex-direction:column;gap:12px}.mode-page .as.as-app,.mode-page .as.as-app--no-right{grid-template-columns:56px 1fr!important}.mode-page .sb,.mode-page .rp{display:none!important}.as{font-family:var(--font-ui);color:var(--ink);background:var(--bg);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}.as :where(*,*:before,*:after){box-sizing:border-box}.as :where(button){font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}.as :where(input,textarea){font:inherit;color:inherit}.as :where(svg){display:block}.as :where(h1,h2,h3,h4,p,ul,ol){margin:0;padding:0}.as :where(ul,ol){list-style:none}.as :where(a){color:inherit;text-decoration:none}.as-app{display:grid;grid-template-columns:260px 1fr 320px;height:100%;background:var(--bg)}.as-app--no-right{grid-template-columns:260px 1fr}.as-app--rail{grid-template-columns:56px 1fr 320px}@media (max-width: 1023px){.as-app{grid-template-columns:260px 1fr}.as-app--rail{grid-template-columns:56px 1fr}}@media (max-width: 767px){.as-app,.as-app--no-right,.as-app--rail{grid-template-columns:1fr}.as-app>.sb{display:none}}@media (max-width: 479px){.sb-head{padding:14px 16px 10px}.tb-btn{min-height:48px;min-width:48px}.btn{min-height:48px}}@media (max-width: 767px){.sb-section-add{width:44px;height:44px}.char-card__del,.bubble-btn{width:36px;height:36px;border-radius:8px}}.sb{background:var(--bg-deep);border-right:1px solid var(--border-soft);display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;height:100%}.sb-head{padding:18px 20px 14px;border-bottom:1px solid var(--border-soft);display:flex;flex-direction:column;gap:2px}.sb-book-title{font-family:var(--font-ui);font-size:16px;font-weight:500;letter-spacing:-.005em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}a.sb-book-title:hover{color:var(--accent);transition:color .15s}.sb-book-author{font-size:11px;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-share-btn{font:500 11px var(--font-ui);background:var(--bg-deep);border:1px solid var(--border-soft);border-radius:5px;padding:4px 8px;cursor:pointer}.sb-tabs{display:flex;gap:2px;padding:12px 14px 8px}.sb-tab{flex:1;height:26px;border-radius:var(--r-1);font-size:11px;color:var(--ink-3);display:flex;align-items:center;justify-content:center;letter-spacing:.02em}.sb-tab--on{background:var(--surface);color:var(--ink)}.sb-section{padding:14px 14px 8px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--bg-deep);z-index:10}.sb-section-add{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-1);background:none;border:none;cursor:pointer;color:var(--ink-4);transition:color .12s,background .12s}.sb-section-add:hover{background:var(--surface);color:var(--ink-2)}.sb-section-title{font-size:11.5px;color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase;font-weight:500}.sb-section-meta{font:500 10px var(--font-mono);color:var(--ink-3)}.sb-list{padding:0 8px 8px;display:flex;flex-direction:column;gap:1px}.sb-item{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--r-1);cursor:pointer;min-height:32px;transition:background var(--dur-hover)}.sb-item:hover,.sb-item--on{background:var(--surface)}.sb-item--on .sb-item-num{color:var(--accent)}.sb-item-num{font:500 11px var(--font-mono);color:var(--ink-3);text-align:right}.sb-item-title{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-item-meta{font:400 10.5px var(--font-mono);color:var(--ink-3)}.sb-item-dot{width:6px;height:6px;border-radius:999px;background:var(--ink-4)}.sb-item-dot--draft{background:var(--ink-4)}.sb-item-dot--progress{background:var(--accent-2)}.sb-item-dot--done{background:var(--ok)}.sb-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.sb-foot{padding:12px 14px;border:none;border-top:1px solid var(--border-soft);background:none;width:100%;text-align:left;font:inherit;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .12s}.sb-foot:hover{background:var(--surface)}.sb-avatar{width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font:500 11px var(--font-ui);color:#f8f8f8;overflow:hidden}.sb-avatar img{width:100%;height:100%;object-fit:cover}.sb-foot-name{font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-foot-meta{font-size:11px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 10px;width:100%;border-radius:5px;background:transparent;cursor:pointer;font:400 12.5px/1.4 var(--font-ui);color:var(--ink);border:none;text-align:left;text-decoration:none;transition:background .1s}.sb-dropdown-item:hover{background:var(--surface-2)}.sb-dropdown-item--danger{color:var(--danger)}.sb-dropdown-item--danger:hover{background:color-mix(in oklch,var(--danger) 8%,transparent)}.tb{height:44px;flex-shrink:0;background:var(--bg);border-bottom:1px solid var(--border-soft);display:flex;align-items:center;padding:0 14px;gap:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tb::-webkit-scrollbar{display:none}.tb--wrap{flex-wrap:nowrap}.tb>*{flex-shrink:0}.tb-grp{display:flex;align-items:center;gap:1px}.tb-sep{width:1px;height:18px;background:var(--border-soft);margin:0 2px;flex-shrink:0}.tb-btn{height:28px;min-width:28px;padding:0 5px;border-radius:var(--r-1);display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--ink-2);font-size:12px;background:transparent;border:none;cursor:pointer;overflow:hidden;transition:background var(--dur-hover),color var(--dur-hover)}.tb-btn:hover{background:var(--surface);color:var(--ink)}.tb-btn--on{background:var(--surface-2);color:var(--ink)}.tb-btn--accent{color:var(--accent)}.tb-spacer{flex:1}@media (max-width: 768px){.tb-btn{min-height:44px;min-width:44px}.btn{min-height:44px}}@keyframes bubble-in{0%{opacity:0;transform:translateY(5px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.bubble-menu{display:flex;align-items:center;gap:6px;padding:5px 8px;background:#080302f7;border:1px solid oklch(100% 0 0 / .1);border-radius:11px;box-shadow:0 12px 32px #00000080,0 1px #ffffff12 inset;animation:bubble-in var(--dur-spring) var(--ease-spring) both;transition:opacity .08s ease-in}.bubble-menu--leaving{opacity:0}.bubble-fmt{display:flex;align-items:center;gap:1px}.skeleton{background:var(--surface);border-radius:var(--r-1);overflow:hidden;position:relative}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,oklch(1 0 0 / .04),transparent);animation:shimmer 1.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.skeleton:after{animation:none}}.bubble-btn{width:28px;height:28px;padding:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2);cursor:pointer;transition:background var(--dur-instant),color var(--dur-instant)}.bubble-btn:hover{background:#ffffff1a;color:var(--ink)}.bubble-btn--on{background:var(--accent);color:#f8f8f8}.bubble-sep{width:1px;height:18px;background:#ffffff21;flex-shrink:0}.bubble-colors{display:flex;align-items:center;gap:5px}.bubble-color{width:16px;height:16px;padding:0;border-radius:50%;cursor:pointer;position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--dur-hover);box-shadow:0 1px 4px #00000059}.bubble-color:hover{transform:scale(1.25)}.bubble-color--on:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid oklch(.98 0 0);pointer-events:none}.bubble-color--clear{background:#ffffff1a!important;border:1px solid oklch(100% 0 0 / .22);box-shadow:none}.tb-sel{height:28px;min-height:44px;padding:0 10px;border-radius:var(--r-1);display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:12px}.tb-sel:hover{background:var(--surface)}.sheet-wrap{flex:1;min-height:0;background:var(--bg);overflow-x:hidden;overflow-y:auto;position:relative;display:flex;flex-direction:column;align-items:center;padding:36px 48px 0;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.sheet-wrap::-webkit-scrollbar{width:5px}.sheet-wrap::-webkit-scrollbar-track{background:transparent}.sheet-wrap::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:999px;transition:background var(--dur-fast)}.sheet-wrap::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.sheet{width:720px;max-width:min(100%,760px);flex:1;background:var(--paper);color:var(--paper-ink);font-family:var(--font-editor);font-size:17px;line-height:1.78;padding:56px 72px 80px;border-radius:4px 4px 0 0;position:relative;letter-spacing:.005em}.sheet h1,.sheet .ch-num,.sheet .ch-title{font-family:var(--font-editor);color:var(--paper-ink)}.sheet .ch-num{font:500 11px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--paper-ink-2);margin-bottom:14px}.sheet .ch-title{font-size:32px;font-weight:600;line-height:1.15;letter-spacing:-.012em;margin-bottom:28px}.sheet .ch-rule{width:36px;height:1px;background:var(--paper-ink);opacity:.3;margin-bottom:24px}.sheet p{margin:0 0 1em;text-indent:1.4em;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.sheet p.no-indent{text-indent:0}.sheet p.scene-break{text-align:center;text-indent:0;letter-spacing:.4em;color:var(--paper-ink-2);margin:1.4em 0}.sheet em{font-style:italic}.sheet strong{font-weight:600}.mh{background:#ebc75e73;padding:1px 2px;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.mh--question{background:#6ec3eb52}.mh--todo{background:#f7a0626b}.mh--important{background:#f2716a4d}.spell{text-decoration:underline wavy oklch(.65 .18 25);text-underline-offset:4px;text-decoration-thickness:1.5px}.spell-popup{position:fixed;z-index:1000;background:var(--bg-deep);border:1px solid var(--surface-2);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:2px;box-shadow:0 6px 20px #0000004d;min-width:120px}.spell-popup__item{padding:5px 10px;border-radius:5px;text-align:left;font-size:14px;cursor:pointer;background:transparent;border:none;color:var(--ink);font-family:inherit}.spell-popup__item:hover{background:var(--surface-2)}.spell-popup__sep{height:1px;background:var(--surface-2);margin:2px 4px}.spell-popup__item--muted{color:var(--ink-3);font-size:12px}.spell-popup__item--muted:hover{color:var(--ink)}.lt-spell{text-decoration:underline wavy oklch(.65 .18 25);text-underline-offset:4px;text-decoration-thickness:1.5px;cursor:default}.lt-grammar{text-decoration:underline wavy oklch(.55 .16 250);text-underline-offset:4px;text-decoration-thickness:1.5px;cursor:default}.ins{background:#67bb6b33;color:#005813;color:oklch(.4 .18 145)}.del{background:#e858542e;color:#bb061e;text-decoration:line-through}.status{height:30px;flex-shrink:0;border-top:1px solid var(--border-soft);background:var(--bg-deep);display:flex;align-items:center;padding:0 14px;font:400 11px var(--font-mono);color:var(--ink-3);gap:14px;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:999px;background:var(--ok)}.status-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;cursor:pointer;padding:0;border-radius:4px;margin-left:4px;transition:background var(--dur-hover)}.status-icon-btn:hover{background:color-mix(in oklch,var(--ink) 8%,transparent)}.rp{background:var(--bg-deep);border-left:1px solid var(--border-soft);display:flex;flex-direction:column;min-width:0;min-height:0}.rp-head{height:44px;flex-shrink:0;display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--border-soft);gap:14px}.rp-tab{font-size:12px;color:var(--ink-3);padding:4px 0;position:relative}.rp-tab--on{color:var(--ink)}.rp-tab--on:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:1.5px;background:var(--accent)}.rp-body{flex:1;min-height:0;padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.rp-notes-panel{display:flex;flex-direction:column;gap:10px}.rp-body>*{flex-shrink:0}.mn{--mn-ink: var(--note-idea);background:color-mix(in oklch,var(--mn-ink) 15%,var(--surface));border:1px solid color-mix(in oklch,var(--mn-ink) 45%,var(--border-soft));border-radius:var(--r-2);padding:9px 12px 10px;display:flex;flex-direction:column;gap:8px}.mn--question{--mn-ink: var(--note-question)}.mn--todo{--mn-ink: var(--note-todo)}.mn--important{--mn-ink: var(--note-important)}.mn-head{display:flex;align-items:center;gap:4px}.mn-label{font:600 10.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mn-ink);flex-shrink:0}.mn-time{font:400 10px var(--font-mono);color:var(--ink-4);margin-left:auto}.mn-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s ease}.mn:hover .mn-actions,.mn:focus-within .mn-actions{opacity:1}.mn-text{font-size:12px;color:var(--ink-2);line-height:1.6}.mn-quote{font-size:11.5px;color:var(--ink-3);font-style:italic;line-height:1.45;padding-left:8px;border-left:1.5px solid var(--border)}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;border:1px solid var(--border);font-size:11px;color:var(--ink-2);background:transparent}.chip--accent{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chip--ok{border-color:#67bb6b80;color:var(--ok);background:#67bb6b1f}.chip--sm{font-size:10px;height:18px;padding:0 6px}button.chip:not(.chip--accent):hover{background:var(--surface-2)}.btn{height:30px;padding:0 12px;border-radius:var(--r-2);border:1px solid var(--border);font-size:12.5px;color:var(--ink);display:inline-flex;align-items:center;gap:6px;background:transparent;cursor:pointer;font-family:inherit;transition:background var(--dur-fast)}.btn:hover{background:var(--surface)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:#9e2418;border-color:#9e2418;color:#f8f8f8}.btn--primary:hover{background:#b2392b;border-color:#b2392b}.btn--ghost{border-color:transparent;color:var(--ink-2)}.btn--lg{height:42px;padding:0 24px;font-size:14px}.btn-spinner{display:inline-block;width:13px;height:13px;border-radius:50%;border:1.5px solid oklch(1 0 0 / .35);border-top-color:#ffffffe6;animation:spin .65s linear infinite;flex-shrink:0}.btn--danger-ghost{border-color:transparent;color:var(--danger);background:none;opacity:.8}.btn--danger-ghost:hover{opacity:1;background:none}.spotlight-btn{position:relative;overflow:hidden;cursor:pointer}.spotlight-btn:before{content:"";position:absolute;width:100px;height:100px;background:radial-gradient(circle,oklch(1 0 0 / .28) 0%,transparent 70%);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .1s;left:var(--spot-x, 50%);top:var(--spot-y, 50%)}.spotlight-btn:hover:before{opacity:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0603028c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.modal-panel{background:var(--bg-deep);border:1px solid var(--border);border-radius:14px;padding:24px 28px;display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 60px #01000066;max-width:calc(100vw - 32px)}.modal-panel--lg{border-radius:16px;padding:32px 36px;gap:24px;box-shadow:0 24px 60px #01000080}.modal-panel--xl{border-radius:18px;padding:36px 40px;box-shadow:0 32px 80px #0000008c}.as ::-webkit-scrollbar{width:10px;height:10px}.as ::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.as ::-webkit-scrollbar-track{background:transparent}.imgp{background:repeating-linear-gradient(135deg,#4d4642,#4d4642 6px,#433b38 6px,#433b38 12px);display:flex;align-items:center;justify-content:center;color:var(--ink-3);font:400 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.input{height:44px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);font-size:13.5px;font-family:inherit;width:100%;outline:none}.input:focus{border-color:var(--accent)}.input--err{border-color:var(--danger)}input[type=number].input::-webkit-inner-spin-button,input[type=number].input::-webkit-outer-spin-button{opacity:.4;height:24px;cursor:pointer}input[type=number].input:hover::-webkit-inner-spin-button,input[type=number].input:hover::-webkit-outer-spin-button{opacity:.8}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2373645A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}.label{font:500 11px var(--font-mono);color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:6px}.sheet .tiptap,.sheet .tiptap p,.sheet .tiptap li,.sheet .tiptap h1,.sheet .tiptap h2,.sheet .tiptap h3,.sheet .tiptap blockquote,.sheet .tiptap a,.sheet .tiptap u,.sheet .tiptap em,.sheet .tiptap strong{color:var(--paper-ink)}.tiptap p{margin:0 0 1em}.tiptap p:last-child{margin-bottom:0}.tiptap h1{font:600 30px var(--font-editor);letter-spacing:-.012em;margin:1.2em 0 .6em}.tiptap h2{font:600 22px var(--font-editor);letter-spacing:-.01em;margin:1.4em 0 .5em}.tiptap h3{font:600 17px var(--font-editor);margin:1.2em 0 .5em}.tiptap blockquote{margin:1em 0;padding-left:1em;border-left:2px solid var(--paper-ink-2);font-style:italic}.tiptap ul,.tiptap ol{padding-left:1.4em;margin:0 0 1em;list-style:revert}.tiptap li{margin-bottom:.3em}.tiptap li>p{margin:0 0 .3em}.tiptap code{font:400 .9em var(--font-mono);background:var(--surface-2);padding:.1em .35em;border-radius:3px}.tiptap strong{font-weight:600}.tiptap em{font-style:italic}.tiptap u{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.tiptap s{text-decoration:line-through}.tiptap a{text-decoration:underline}.tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--paper-ink-2);opacity:.55;float:left;height:0;pointer-events:none}.tiptap a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.tiptap mark{background:#f2cd6480;padding:.05em .15em;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.tiptap hr{border:none;border-top:1px solid var(--paper-ink-2);opacity:.35;margin:1.6em 0}.tiptap pre{background:var(--surface-2);padding:12px 16px;border-radius:6px;font:400 13px/1.55 var(--font-mono);overflow-x:auto;margin:1em 0}.tiptap pre code{background:transparent;padding:0;font-size:inherit}.tiptap [data-text-align=center]{text-align:center}.tiptap [data-text-align=right]{text-align:right}.tiptap [data-text-align=justify]{text-align:justify}.tiptap ul[data-type=taskList]{list-style:none;padding-left:.4em}.tiptap ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px;margin-bottom:.3em}.tiptap ul[data-type=taskList] li>label{flex-shrink:0;-webkit-user-select:none;user-select:none;margin-top:.3em}.tiptap ul[data-type=taskList] li>div{flex:1;min-width:0}.tiptap ul[data-type=taskList] input[type=checkbox]{width:14px;height:14px;cursor:pointer}.tiptap sub{vertical-align:sub;font-size:.75em}.tiptap sup{vertical-align:super;font-size:.75em}.tiptap:focus-visible{outline:none}.focus-mode .sheet .tiptap p,.focus-mode .sheet .tiptap li,.focus-mode .sheet .tiptap h1,.focus-mode .sheet .tiptap h2,.focus-mode .sheet .tiptap h3,.focus-mode .sheet .tiptap blockquote{opacity:.38;transition:opacity .2s ease}.focus-mode .sheet .tiptap .has-focus{opacity:1}.focus-mode .sheet .sheet-title{opacity:.38;transition:opacity .2s ease}.focus-mode .sheet .sheet-title:focus{opacity:1}.focus-mode .sheet .tiptap{caret-color:#f59900;caret-color:oklch(.76 .25 68)}.book-card{position:relative}.book-card__edit{display:flex;opacity:0;visibility:hidden;pointer-events:none;background:color-mix(in oklch,var(--bg-deep) 70%,transparent);transition:opacity var(--dur-hover),visibility var(--dur-hover),background var(--dur-hover)}.book-card:hover .book-card__edit{opacity:1;visibility:visible;pointer-events:auto}.book-card__edit:hover{background:color-mix(in oklch,var(--bg-deep) 88%,transparent)}@media (hover: none){.book-card__edit{opacity:1;visibility:visible;pointer-events:auto}}.book-card__link{background:var(--surface);border-radius:12px;border:1px solid var(--border-soft);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:border-color var(--dur-hover),box-shadow var(--dur-hover)}.book-card__link:hover{border-color:var(--border);box-shadow:0 4px 16px #0100001f}@media (max-width: 639px){.hide-sm{display:none!important}}.note-kind-chip{border-radius:20px;cursor:pointer;background:none;transition:background var(--dur-hover)}.note-kind-chip:hover{background:var(--surface-2)}.note-card{transition:border-color .15s,box-shadow .15s}.note-card:hover{border-color:var(--border-strong)!important}.note-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.note-modal-panel{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px 24px;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;gap:14px;overflow:hidden}@media (max-width: 639px){.note-modal-overlay{align-items:flex-end;padding:0}.note-modal-panel{max-width:100%;max-height:75vh;border-radius:16px 16px 0 0;border-bottom:none;padding:20px 20px 32px}}@media (min-width: 1440px){.sheet{font-size:18px}}@media (min-width: 1920px){.sheet{font-size:18.5px;line-height:1.82}}@media (max-width: 767px){.sheet-wrap{padding:16px 0 0}.sheet{padding:32px 24px 64px;border-radius:0}}.char-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;overflow:hidden;cursor:pointer;text-align:left;padding:0;display:flex;flex-direction:column;width:100%;transition:border-color var(--dur-hover),background var(--dur-hover)}.char-card:hover{border-color:var(--border);background:var(--surface-2)}.char-card__portrait{height:110px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0}.char-card__initials{font:600 34px var(--font-serif);color:#f2eee7b8;letter-spacing:-.02em;-webkit-user-select:none;user-select:none}.char-card__body{padding:10px 12px 11px}.char-card__name{font:500 13px var(--font-ui);color:var(--ink);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.char-card__role{font:500 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.char-card-wrap{position:relative}.char-card-wrap .char-card{width:100%}.char-card__del{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:6px;background:color-mix(in oklch,var(--danger) 12%,transparent);color:var(--danger);border:1px solid color-mix(in oklch,var(--danger) 28%,transparent);font:500 15px var(--font-ui);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--dur-hover),background var(--dur-hover);z-index:1}.char-card-wrap:hover .char-card__del{opacity:1}.char-card__del:hover{background:color-mix(in oklch,var(--danger) 22%,transparent)}.add-card{background:color-mix(in oklch,var(--accent) 6%,var(--surface));border:1px dashed var(--border-soft);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;align-self:stretch;min-height:120px;color:var(--ink-4);font:400 12px var(--font-ui);transition:border-color var(--dur-hover),color var(--dur-hover);width:100%}.add-card:hover{border-color:var(--border);color:var(--ink-3)}.rel-del-btn{background:transparent;border:none;color:var(--ink-4);cursor:pointer;padding:2px 6px;display:flex;align-items:flex-start;border-radius:4px;font:400 16px var(--font-ui);line-height:1;flex-shrink:0;transition:color var(--dur-hover)}.rel-del-btn:hover{color:var(--danger)}.chapter-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;cursor:pointer;text-align:left;font:400 13px var(--font-ui);color:var(--ink);transition:border-color var(--dur-hover),background var(--dur-hover)}.chapter-row:hover{border-color:var(--border);background:var(--surface-2)}.alias-remove-btn{display:flex;align-items:center;background:transparent;border:none;color:var(--ink-4);cursor:pointer;padding:0 2px;font-size:14px;line-height:1;transition:color var(--dur-hover)}.alias-remove-btn:hover{color:var(--danger)}.input--sm{height:32px}.btn--sm{font-size:12px}.tb-btn:disabled{opacity:.35;cursor:not-allowed}.feature-item{display:flex;align-items:flex-start;gap:14px;padding:10px 12px;border-radius:10px;background:var(--surface)}.feature-item__icon{width:32px;height:32px;border-radius:8px;background:#d95c4b26;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.feature-item__name{font:500 13px var(--font-ui);color:var(--ink);margin-bottom:2px}.feature-item__desc{font:400 12px var(--font-ui);color:var(--ink-3)}.upgrade-check{display:flex;align-items:center;gap:10px;font:400 13.5px var(--font-ui);color:var(--ink-2)}.upgrade-check__icon{width:18px;height:18px;border-radius:999px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;color:#f8f8f8;font-weight:600}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-radius:8px;background:#e858541a;border:1px solid oklch(.65 .18 25 / .25);color:var(--danger);font-size:13px}.error-banner--sm{gap:8px;padding:6px 10px;border-radius:6px;font-size:12px}.error-banner__msg{min-width:0}.error-banner__close{background:none;border:none;cursor:pointer;color:var(--danger);font-size:16px;line-height:1;padding:0 2px;flex-shrink:0}.error-banner--sm .error-banner__close{font-size:14px}.tb-search{height:28px;padding:0 9px;border:1px solid var(--border-soft);border-radius:6px;display:flex;align-items:center;gap:5px;color:var(--ink-3);flex-shrink:0}.tb-search__input{background:transparent;border:none;outline:none;color:var(--ink);font:400 12px var(--font-ui);width:110px}@media (max-width: 767px){.tb-search__input{width:90px}}.char-tabs{display:flex;border-bottom:1px solid var(--border-soft);margin-bottom:28px}.char-tab{padding:8px 16px;font:500 12px var(--font-ui);color:var(--ink-3);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color var(--dur-hover),background var(--dur-hover)}.char-tab:not(.char-tab--on):hover{color:var(--ink-2);background:var(--surface-2)}.char-tab--on{color:var(--ink);border-bottom-color:var(--accent)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);border-radius:10px;padding:10px 18px;display:flex;align-items:center;gap:10px;font:500 13px var(--font-ui);box-shadow:0 4px 24px #00000047;z-index:1000;animation:toast-in .2s var(--ease-out-quint);max-width:360px;white-space:pre-wrap;text-align:center}.toast--error{background:#421c19;border:1px solid oklch(.45 .12 25);color:#fedbd7;cursor:pointer}.toast--info{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);pointer-events:none}.toast--leaving{animation:toast-out .1s ease-in both}.db-recent-link{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--ink);border:1px solid transparent}.db-recent-link:hover{background:var(--surface-2)}.input-hint{margin-top:5px;font-size:11.5px;color:var(--ink-3);line-height:1.5}.status-font-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 10px;border-radius:6px;border:none;cursor:pointer;background:transparent;transition:background var(--dur-hover)}.status-font-item:hover{background:var(--surface-2)}.settings-signout-btn{width:100%;font-size:13px;padding:9px 0;margin-top:4px;color:var(--danger);background:transparent;border:1px solid color-mix(in oklch,var(--danger) 45%,transparent);border-radius:8px;cursor:pointer;letter-spacing:-.01em;transition:background var(--dur-fast),border-color var(--dur-fast)}.settings-signout-btn:hover{background:color-mix(in oklch,var(--danger) 10%,transparent)}.auth-tg-btn{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--r-2);border:1px solid var(--border);background:transparent;color:var(--ink);cursor:pointer;font-family:inherit;font-size:12.5px;transition:background var(--dur-fast)}.auth-oauth-wrap:hover .btn,.auth-oauth-wrap:hover .auth-tg-btn{background:var(--surface)}.version-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-2);padding:10px 14px;display:flex;flex-direction:row;align-items:center;gap:4px;cursor:pointer;margin-bottom:6px;transition:background var(--dur-hover)}.version-card:hover{background:var(--surface-2)}.version-card--named{background:color-mix(in oklch,var(--accent) 6%,var(--surface));border-color:color-mix(in oklch,var(--accent) 28%,var(--border-soft))}.version-card--named:hover{background:color-mix(in oklch,var(--accent) 10%,var(--surface))}.vc-actions{display:flex;align-items:center;opacity:0;transition:opacity .15s ease}.version-card:hover .vc-actions,.version-card:focus-within .vc-actions{opacity:1}.vc-save-fade{position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 60%,transparent);padding-top:18px;padding-bottom:2px;margin-bottom:-2px}.vc-save-btn{background:none;cursor:pointer;transition:background var(--dur-hover),border-color var(--dur-hover)}.vc-save-btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.tb-icon-btn{display:flex;align-items:center;justify-content:center;background:none;cursor:pointer;transition:background var(--dur-hover),border-color var(--dur-hover),color var(--dur-hover)}.tb-icon-btn:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--ink)}.pov-pill{background:none;cursor:pointer;transition:background var(--dur-hover),border-color var(--dur-hover)}.pov-pill:hover{background:var(--surface-2);border-color:var(--border-strong)}.map-strip-btn{display:flex;align-items:center;gap:5px;padding:3px 8px 3px 6px;border-radius:var(--r-1);border:1px solid transparent;background:transparent;cursor:pointer;flex-shrink:0;transition:background var(--dur-hover),border-color var(--dur-hover)}.map-strip-btn:hover{background:var(--surface)}.map-strip-btn--on{background:var(--accent-soft);border-color:color-mix(in oklch,var(--accent) 40%,var(--border-soft))}.map-popup-del{background:none;border:none;cursor:pointer;padding:0 2px;line-height:1;color:var(--ink-4);transition:color var(--dur-hover)}.map-popup-del:hover{color:var(--danger)}.export-fmt-card{background:var(--surface);transition:background var(--dur-hover)}.export-fmt-card:not([aria-pressed=true]):hover{background:var(--surface-2)}.export-fmt-card[aria-pressed=true]{background:var(--accent-soft)}.export-fmt-btn{background:var(--surface);transition:background var(--dur-hover),color var(--dur-hover)}.export-fmt-btn:not([aria-pressed=true]):hover{background:var(--surface-2);color:var(--ink-2)}.export-fmt-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--ink)}.icon-close-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;border-radius:4px;line-height:1;color:var(--ink-4);transition:color var(--dur-hover),background var(--dur-hover)}.icon-close-btn:hover{color:var(--ink-2);background:var(--surface-2)}.icon-close-btn--round{width:30px;height:30px;border-radius:999px;border:1px solid var(--border);color:var(--ink-3);font-size:18px}.icon-close-btn--round:hover{border-color:var(--border-strong)}.map-popup-btn{background:none;border:none;cursor:pointer;padding:2px 4px;line-height:1;border-radius:3px;color:var(--ink-4);font:400 10px var(--font-ui);transition:color var(--dur-hover),background var(--dur-hover)}.map-popup-btn:hover{color:var(--ink-2);background:var(--surface-2)}.map-loc-btn{flex:1;height:36px;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;color:var(--ink-3);font:400 12px var(--font-ui);cursor:pointer;transition:background var(--dur-hover),color var(--dur-hover)}.map-loc-btn:hover{background:var(--surface);color:var(--ink-2)}.map-loc-btn--danger{background:transparent;color:var(--ink-4)}.map-loc-btn--danger:hover{background:color-mix(in oklch,var(--danger) 8%,var(--surface-2));color:var(--danger)}.ctx-item{display:flex;align-items:center;gap:8px;padding:6px 8px;width:100%;border-radius:4px;background:transparent;border:none;cursor:pointer;font:400 12px var(--font-ui);color:var(--ink);text-align:left;transition:background var(--dur-hover)}.ctx-item:hover{background:var(--surface-2)}.ctx-item--danger{color:var(--danger)}.ctx-item--danger:hover{background:color-mix(in oklch,var(--danger) 8%,var(--surface-2))}.listbox-option{display:block;width:100%;text-align:left;padding:8px 12px;border:none;cursor:pointer;color:var(--ink);font-family:var(--font-ui);background:none;transition:background var(--dur-hover)}.listbox-option:hover{background:var(--surface-2)}.listbox-option[aria-selected=true]{background:var(--surface-3)}.dash-quick-action{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);transition:background var(--dur-hover),border-color var(--dur-hover)}.dash-quick-action:hover{background:var(--surface-2);border-color:var(--border)}.btn-danger-hover{background:none;border:none;cursor:pointer;color:var(--ink-4);transition:color var(--dur-hover)}.btn-danger-hover:hover{color:var(--danger)}.char-field-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:16px 18px}.char-field-card--warn{background:color-mix(in oklch,var(--accent) 8%,transparent);border-color:color-mix(in oklch,var(--accent) 40%,transparent)}.char-field-card__head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.char-field-card--warn .char-field-card__head{margin-bottom:4px}.char-field-card__dot{width:6px;height:6px;border-radius:999px;background:var(--accent);flex-shrink:0}.char-field-card__label{font:500 10.5px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.char-field-card--warn .char-field-card__label{color:var(--accent)}.char-field-card__hint{font:400 11px var(--font-ui);color:var(--ink-4);margin-bottom:8px;line-height:1.45}.char-field-card__text{width:100%;font:400 13.5px/1.65 var(--font-serif);color:var(--ink);background:transparent;border:none;outline:none;resize:vertical;padding:0;min-height:80px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes lnd-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.lnd-sheet-float{animation:lnd-float 7s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.lnd-sheet-float{animation:none}}.lnd-price-card--accent{transform:translateY(-8px)}.faq-chevron.open{transform:rotate(180deg)}.faq-body{display:grid;grid-template-rows:0fr}.faq-body.open{grid-template-rows:1fr}.faq-body>div{overflow:hidden;min-height:0}@media (prefers-reduced-motion: no-preference){.lnd-note-in{animation:lnd-note-in .5s cubic-bezier(.16,1,.3,1) backwards}@keyframes lnd-note-in{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}.lnd-note-in.n1{animation-delay:.55s}.lnd-note-in.n2{animation-delay:.75s}.lnd-nav-links a,.lnd-nav-login,.lnd-foot-link,.lnd-foot-link--sub,.lnd-foot-icon{transition:color .15s ease}.faq-chevron{transition:transform .22s cubic-bezier(.16,1,.3,1),color .15s ease}.faq-body{transition:grid-template-rows .3s cubic-bezier(.16,1,.3,1)}.lnd-browser-mock{transition:transform .22s cubic-bezier(.16,1,.3,1)}.lnd-browser-mock:hover{transform:translateY(-4px)}.lnd-price-card{transition:transform .22s cubic-bezier(.16,1,.3,1)}.lnd-price-card:hover{transform:translateY(-4px)}.lnd-price-card--accent:hover{transform:translateY(-12px)}}.lnd-max{max-width:1300px;margin:0 auto}.lnd-hero-grid{display:grid;grid-template-columns:1.05fr 1.15fr;gap:64px;align-items:center}.lnd-feat-row{display:grid;grid-template-columns:.95fr 1.15fr;gap:80px;align-items:center;padding:56px 0;border-top:1px solid var(--border-soft)}.lnd-feat-row--rev>:first-child{order:2}.lnd-feat-row--rev>:last-child{order:1}.lnd-feat-row-full{padding:56px 0;border-top:1px solid var(--border-soft)}.lnd-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto}.lnd-nav-links{display:flex;gap:28px;font-size:13.5px;color:var(--ink-2)}.lnd-nav-links a{padding:12px 0;margin:-12px 0}.lnd-nav-links a:hover{color:var(--ink)}.lnd-nav-login{color:var(--ink-2)}.lnd-nav-login:hover{color:var(--ink)}.lnd-foot-link{color:var(--ink-2);padding:12px 0;margin:-12px 0}.lnd-foot-link:hover{color:var(--ink)}.lnd-foot-link--sub{color:var(--ink-3);padding:15px 4px;margin:-15px -4px}.lnd-foot-link--sub:hover{color:var(--ink-2)}.lnd-foot-icon{color:var(--ink-3);display:inline-flex;align-items:center;padding:16px;margin:-16px -10px}.lnd-foot-icon:hover{color:var(--ink-2)}.faq-chevron{color:var(--ink-3)}.faq-trigger:hover .faq-chevron{color:var(--ink-2)}.faq-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.lnd-manifesto{display:flex;flex-direction:column}.lnd-manifesto-row{display:grid;grid-template-columns:52px 1fr;gap:40px;padding:28px 0;align-items:start;position:relative}.lnd-manifesto-row:before{content:"";position:absolute;top:0;left:0;height:1px;background:var(--border-soft);width:100%}.lnd-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px}.lnd-hero-mobile-card{display:none}@media (max-width: 1023px){.lnd-hero-grid{grid-template-columns:1fr}.lnd-hero-sheet{display:none}.lnd-feat-row{grid-template-columns:1fr;gap:40px;padding:40px 0}.lnd-feat-row--rev>:first-child{order:1}.lnd-feat-row--rev>:last-child{order:2}.lnd-feat-row-full{padding:40px 0}.lnd-prices{grid-template-columns:1fr}.lnd-nav-links{display:none}.lnd-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.lnd-hero-mobile-card{display:block;margin-top:40px;border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #00000073}.lnd-hero-text{max-width:640px}}@media (max-width: 639px){.lnd-manifesto-row{grid-template-columns:40px 1fr;gap:20px;padding:20px 0}.lnd-mock-content{height:240px!important}}@media (max-width: 479px){.lnd-footer-grid{grid-template-columns:1fr}.lnd-feat-row{padding:24px 0;gap:24px}.lnd-feat-row-full{padding:24px 0}.lnd-manifesto-row{padding:20px 0}.lnd-nav-cta,.lnd-nav-sep,.lnd-nav-spacer{display:none!important}.lnd-header{justify-content:space-between}}@media (max-width: 767px){.dash-stat-grid>:last-child:nth-child(odd){grid-column:1 / -1}}.checklist-dismiss{background:none;border:none;padding:2px 4px;cursor:pointer;color:var(--ink-4);font:400 14px var(--font-ui);line-height:1;margin-left:8px}.checklist-dismiss:hover{color:var(--ink-2)}.rp-members{padding:10px 14px 12px;margin:-14px -14px 0;border-bottom:1px solid var(--border-soft);position:sticky;top:-14px;background:var(--bg);z-index:1}.rp-members-head{font:500 10px/1 var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);margin-bottom:8px}.rp-member{display:flex;align-items:center;gap:8px;padding:3px 0}.rp-member-av{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 9px/1 var(--font-ui);color:#f8f8f8;flex-shrink:0;overflow:hidden}.rp-member-img{width:100%;height:100%;object-fit:cover}.rp-member-name{font:400 12px/1.3 var(--font-ui);color:var(--ink-2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-member-pov{font:600 9px/1 var(--font-ui);letter-spacing:.05em;color:var(--accent);background:color-mix(in oklch,var(--accent) 12%,var(--surface));border:1px solid color-mix(in oklch,var(--accent) 25%,var(--border-soft));border-radius:3px;padding:1px 4px;flex-shrink:0}.as-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--border);border-radius:4px;background:transparent;cursor:pointer;flex-shrink:0;transition:background .12s,border-color .12s;position:relative}.as-checkbox:checked{background:var(--accent);border-color:var(--accent)}.as-checkbox:checked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-5' stroke='oklch(0.98 0 0)' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat}.as-checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-table-wrap{background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;overflow:hidden}.admin-table{width:100%;border-collapse:collapse}.admin-table thead tr{border-bottom:1px solid var(--border-soft)}.admin-table tbody tr:not(:last-child){border-bottom:1px solid var(--border-soft)}.admin-table--striped tbody tr:nth-child(2n){background:color-mix(in oklch,var(--ink) 3%,var(--surface))}.admin-th{padding:10px 16px;text-align:left;font:500 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.admin-th--sort{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-td{padding:10px 16px}.admin-td--mono{font:400 12px var(--font-mono);color:var(--ink-2)}.admin-td--mono-sm{font:400 11px var(--font-mono);color:var(--ink-4)}.admin-td--ui{font:400 13px var(--font-ui);color:var(--ink)}.admin-td--nowrap{white-space:nowrap}.admin-header{height:56px;display:flex;align-items:center;padding:0 32px;gap:12px;border-bottom:1px solid var(--border-soft);background:var(--bg-deep)}.admin-main{padding:36px 40px;max-width:1200px}@media (max-width: 767px){.admin-main{padding:20px 16px}}.admin-tab-bar{display:flex;margin-bottom:32px;border-bottom:1px solid var(--border-soft);overflow-x:auto;scrollbar-width:none}.admin-tab-bar::-webkit-scrollbar{display:none}.admin-tab{padding:10px 20px;font:500 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;transition:color var(--dur-hover)}.admin-tab--on{color:var(--accent);border-bottom-color:var(--accent)}.admin-tab:hover:not(.admin-tab--on){color:var(--ink-2)}.map-popup-select{width:100%;height:32px;padding:0 28px 0 9px;border:1px solid var(--border-soft);border-radius:6px;background-color:var(--surface-2);color:var(--ink-2);font:400 12px var(--font-ui);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;cursor:pointer}
