@font-face{font-family:literata;src:url(../media/Literata_Variable-s.p.1yis4-xuf3t8v.ttf)format("truetype");font-display:swap;font-weight:200 900;font-style:normal}@font-face{font-family:literata;src:url(../media/Literata_Italic_Variable-s.p.33mgqw_-3fd2m.ttf)format("truetype");font-display:swap;font-weight:200 900;font-style:italic}@font-face{font-family:literata Fallback;src:local(Arial);ascent-override:108.97%;descent-override:28.52%;line-gap-override:0.0%;size-adjust:108.01%}.q3Fn2W_className{font-family:literata,literata Fallback}.q3Fn2W_variable{--font-literata:"literata", "literata Fallback"}
@font-face{font-family:sourceSans;src:url(../media/SourceSans3_Variable-s.p.2n771gt6qa1-k.ttf)format("truetype");font-display:swap;font-weight:200 900;font-style:normal}@font-face{font-family:sourceSans;src:url(../media/SourceSans3_Italic_Variable-s.p.0-1ymb9m7hp3l.ttf)format("truetype");font-display:swap;font-weight:200 900;font-style:italic}@font-face{font-family:sourceSans Fallback;src:local(Arial);ascent-override:114.52%;descent-override:44.74%;line-gap-override:0.0%;size-adjust:89.41%}._21m2pG_className{font-family:sourceSans,sourceSans Fallback}._21m2pG_variable{--font-source-sans:"sourceSans", "sourceSans Fallback"}
@font-face{font-family:plexMono;src:url(../media/IBMPlexMono_Regular-s.p.1ncgapxmer9xj.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:plexMono;src:url(../media/IBMPlexMono_Italic-s.p.1bp5d-49jrjq0.ttf)format("truetype");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:plexMono;src:url(../media/IBMPlexMono_Medium-s.p.2_rrzopzso8ci.ttf)format("truetype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:plexMono Fallback;src:local(Arial);ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.0%;size-adjust:131.49%}._7b3vGG_className{font-family:plexMono,plexMono Fallback}._7b3vGG_variable{--font-plex-mono:"plexMono", "plexMono Fallback"}
:root{--paper:#f3efe7;--paper2:#ebe6dc;--surface:#fffcf6;--ink:#1c1916;--muted:#5c564e;--faint:#8a8378;--line:#d9d2c6;--rubric:#9e3428;--rubric-hover:#852b21;--rubric-soft:#f3d9d4;--forest:#2f6b58;--forest-soft:#d7e8e1;--warn:#8a5a12;--warn-soft:#f3e4c6;--chip:#e7e1d6;--overlay:#1c191675;--ins-bg:#d7e8e1;--ins-fg:#1e4a3c;--del-bg:#f3d9d4;--del-fg:#852b21;--shadow-sm:0 1px 2px #1c19160f;--shadow-md:0 8px 24px #1c191614;--shadow-lg:0 18px 50px #1c191629;--sans:var(--font-source-sans), "Source Sans 3", system-ui, sans-serif;--serif:var(--font-literata), Literata, Georgia, serif;--mono:var(--font-plex-mono), "IBM Plex Mono", ui-monospace, monospace;--fast:.16s;--med:.24s;--ease:cubic-bezier(.2, .8, .2, 1);--nav:56px;--left:280px;--right:320px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--paper:#161310;--paper2:#1e1a16;--surface:#241f1a;--ink:#ede6da;--muted:#b4a89a;--faint:#8c8174;--line:#3a332c;--rubric:#e07060;--rubric-hover:#e88a7d;--rubric-soft:#3a221e;--forest:#7eb89f;--forest-soft:#1d332b;--warn:#e0b56a;--warn-soft:#3a2e18;--chip:#2c2722;--overlay:#0a08069e;--ins-bg:#1d332b;--ins-fg:#7eb89f;--del-bg:#3a221e;--del-fg:#e07060;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 8px 24px #00000059;--shadow-lg:0 18px 50px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);min-height:100vh;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--rubric);text-decoration:none}:focus-visible{outline:2px solid var(--rubric);outline-offset:2px}.app-root{background:var(--paper);min-height:100vh;color:var(--ink)}.appbar{height:var(--nav);border-bottom:1px solid var(--line);background:var(--surface);z-index:20;align-items:center;gap:16px;padding:0 16px;display:flex;position:sticky;top:0}.brand{color:var(--ink);font-family:var(--serif);letter-spacing:-.01em;align-items:center;gap:10px;font-size:20px;font-weight:560;display:flex}.brand svg{width:28px;height:28px;display:block}.nav-tabs{gap:4px;margin-left:8px;display:flex}.nav-tabs a{color:var(--muted);border-radius:999px;padding:6px 10px;font-size:14px}.nav-tabs a.on{background:var(--chip);color:var(--ink)}.grow{flex:1}.search{background:var(--paper);border:1px solid var(--line);min-width:220px;color:var(--faint);border-radius:999px;align-items:center;gap:8px;height:36px;padding:0 12px;display:flex}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:none;font-size:13px}.icon-btn{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--paper2);color:var(--ink)}.icon-btn.on{background:var(--rubric-soft);color:var(--rubric)}.lang,.edition{border:1px solid var(--line);letter-spacing:.06em;border-radius:999px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.lang button,.edition button{color:var(--muted);background:0 0;border:0;padding:6px 8px}.lang button.on,.edition button.on{background:var(--ink);color:var(--paper)}.avatar{background:var(--chip);border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:650;display:grid}.menu{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);z-index:30;border-radius:12px;min-width:180px;padding:6px;position:absolute;top:48px;right:12px}.menu button,.menu a{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:14px;display:flex}.menu button:hover,.menu a:hover{background:var(--paper2)}.btn{height:36px;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--rubric);color:#fff}.btn-primary:hover{background:var(--rubric-hover)}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn-secondary:hover{background:var(--paper2)}.btn-ghost{color:var(--muted)}.btn-ghost:hover{background:var(--paper2);color:var(--ink)}.btn-lg{height:40px;padding:0 18px}.btn:disabled{opacity:.4;cursor:not-allowed}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:13px}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;outline:none;height:40px;padding:0 12px}.field textarea{resize:vertical;height:auto;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus,.otp input:focus{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--rubric);border-color:var(--rubric)}.otp{gap:8px;display:flex}.otp input{border:1px solid var(--line);background:var(--surface);width:44px;height:48px;font-family:var(--mono);text-align:center;border-radius:8px;font-size:22px}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;height:20px;padding:0 8px;font-size:11px;font-weight:650;display:inline-flex}.badge-admin{background:var(--chip);color:var(--ink)}.badge-contrib{background:var(--rubric-soft);color:var(--rubric-hover)}[data-theme=dark] .badge-contrib{color:var(--rubric)}.badge-viewer{background:var(--forest-soft);color:var(--ins-fg)}[data-theme=dark] .badge-viewer{color:var(--forest)}.badge-book{background:var(--chip);color:var(--ink)}.badge-article{background:var(--rubric-soft);color:var(--rubric-hover)}[data-theme=dark] .badge-article{color:var(--rubric)}.kind{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:650}.error-note{color:var(--rubric);margin:8px 0 0;font-size:13px}.auth{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-side{color:#ede6da;background:#1c1916;flex-direction:column;justify-content:space-between;padding:56px 48px;display:flex}.auth-side p{color:#b4a89a;max-width:360px;font-size:16px}.auth-side h1{font-family:var(--serif);margin:12px 0 16px;font-size:40px;font-weight:560;line-height:1.15}.auth-side svg{width:80px;height:80px;margin-bottom:28px}.auth-quote{font-family:var(--serif);color:#ede6da;font-size:18px;font-style:italic}.auth-main{background:var(--paper);justify-content:center;align-items:center;padding:40px 24px;display:flex}.auth-card{width:100%;max-width:400px}.auth-card h2{font-family:var(--serif);margin:16px 0 8px;font-size:28px;font-weight:560}.auth-card .lede{color:var(--muted);margin:0 0 24px}.auth-card .btn{width:100%;margin-top:16px}.fine{color:var(--faint);margin-top:16px;font-size:13px}.wrap{width:100%;max-width:1280px;margin:0 auto;padding:32px 40px 64px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head h1{font-family:var(--serif);margin:0;font-size:32px;font-weight:560}.filters{flex-wrap:wrap;gap:8px;margin:8px 0 24px;display:flex}.chip{border:1px solid var(--line);height:32px;color:var(--muted);background:0 0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:600}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.pcard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);color:inherit;text-align:left;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.pcard .thumb{background:var(--paper2);align-items:flex-end;height:140px;padding:16px;display:flex}.pcard .thumb.book{background:linear-gradient(#1c19160a,#1c19161f),repeating-linear-gradient(90deg,#0000,#0000 46px,#d9d2c6 46px 47px),#e8dfd0}.pcard .thumb.article{background:linear-gradient(160deg,#e8dfd0,#f3d9d4 80%)}.pcard .thumb.project{background:#e4ebe6}.pcard h3{font-family:var(--serif);color:#1c1916;margin:8px 0 0;font-size:20px;font-weight:560}.pcard .body{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex}.pcard .meta{color:var(--faint);justify-content:space-between;gap:8px;font-size:13px;display:flex}.pcard .foot{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.new-card{border:1.5px dashed var(--line);min-height:280px;color:var(--muted);box-shadow:none;background:0 0;justify-content:center;align-items:center;gap:8px}.new-card:hover{border-color:var(--rubric);color:var(--rubric)}.workspace{grid-template-columns:var(--left) minmax(0, 1fr) var(--right);height:calc(100vh - var(--nav));background:var(--paper);display:grid}.workspace[data-left=rail]{--left:48px}.workspace[data-left=hidden]{--left:0px}.workspace[data-right=rail]{--right:48px}.workspace[data-right=hidden]{--right:0px}.rail{background:var(--paper2);border-right:1px solid var(--line);min-width:0;padding:16px 12px 32px;overflow:auto}.rail.right{border-right:0;border-left:1px solid var(--line);background:var(--surface)}.workspace[data-left=hidden] .rail.left,.workspace[data-right=hidden] .rail.right{visibility:hidden;border:0;padding:0;overflow:hidden}.workspace[data-left=rail] .rail.left,.workspace[data-right=rail] .rail.right{padding:8px 0;overflow:hidden}.workspace[data-left=rail] .rail.left .rail-full,.workspace[data-left=rail] .rail.left .rail-head,.workspace[data-right=rail] .rail.right .rail-full,.workspace[data-right=rail] .rail.right .rail-head{display:none}.rail-slim{flex-direction:column;align-items:center;gap:6px;padding:4px 0;display:none}.workspace[data-left=rail] .rail.left .rail-slim,.workspace[data-right=rail] .rail.right .rail-slim{display:flex}.rail-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.rail h4,.rail-head h4{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:8px;font-size:11px;font-weight:650}.toc-item,.toc-sub{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:7px 8px;font-size:13.5px;display:flex}.toc-item:hover,.toc-sub:hover{background:var(--chip)}.toc-item.on{background:var(--rubric-soft);color:var(--rubric-hover)}[data-theme=dark] .toc-item.on{color:var(--rubric)}.toc-sub{color:var(--muted);padding-left:28px}.toc-item .num{font-family:var(--mono);color:var(--faint);flex:none;width:22px;font-size:11px}.wcount{color:var(--faint);font-size:12px;font-family:var(--mono);margin:16px 8px}.editor-pane{background:var(--paper);flex-direction:column;min-width:0;display:flex}.etool{border-bottom:1px solid var(--line);height:44px;color:var(--muted);align-items:center;gap:2px;padding:0 12px;display:flex;overflow:auto}.etool .sep{background:var(--line);flex:none;width:1px;height:18px;margin:0 6px}.sheet{flex:1;padding:40px 48px 80px;overflow:auto}.sheet-inner{max-width:680px;margin:0 auto}.sheet .eyebrow{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px}.title-input{font-family:var(--serif);background:0 0;border:0;outline:none;width:100%;margin:0 0 24px;padding:0;font-size:34px;font-weight:560;line-height:1.2}.ProseMirror{font-family:var(--serif);outline:none;min-height:40vh;font-size:19px;line-height:1.62}.ProseMirror p{margin:0 0 1.1em}.ProseMirror h2,.ProseMirror h3{font-family:var(--serif);font-weight:560}.ProseMirror blockquote{border-left:3px solid var(--line);color:var(--muted);margin:0 0 1.1em;padding-left:16px}.ProseMirror ul,.ProseMirror ol{margin:0 0 1.1em;padding-left:1.4em}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--faint);float:left;pointer-events:none;height:0}.linenote{border-bottom:1.5px dotted var(--rubric)}.savestate{font-size:12px;font-family:var(--mono);color:var(--faint);white-space:nowrap;background:0 0;border:0}.savestate[data-save=saving]{color:var(--muted)}.savestate[data-save=saved]{color:var(--forest)}.savestate[data-save=error]{color:var(--rubric);cursor:pointer}.banner{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;margin:12px 48px 0;padding:8px 12px;font-size:13px}.ctabs{border-bottom:1px solid var(--line);margin:0 4px 12px;display:flex;overflow-x:auto}.ctabs button{color:var(--faint);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 10px 8px;font-size:13px;font-weight:600}.ctabs button.on{color:var(--ink);border-bottom-color:var(--rubric)}.prompt{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.prompt button{border:1px solid var(--line);color:var(--muted);background:var(--paper);border-radius:999px;padding:5px 10px;font-size:12px}.prompt button:hover,.prompt button.on{border-color:var(--rubric);color:var(--rubric)}.c-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin-bottom:10px;padding:12px}.c-card h5{margin:0 0 6px;font-size:13px}.c-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.c-card .row{gap:6px;margin-top:10px;display:flex}.flag{border-bottom:1px solid var(--line);gap:8px;padding:10px 0;font-size:13px;display:flex}.flag:last-child{border-bottom:0}.dot{background:var(--warn);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.ins{background:var(--ins-bg);color:var(--ins-fg)}.del{background:var(--del-bg);color:var(--del-fg);text-decoration:line-through}.rewrite-diff,.diff-block{font-family:var(--serif);white-space:pre-wrap;font-size:16px;line-height:1.55}.rewrite-diff{background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:0 0 8px;padding:8px;font-size:14px}.kb{height:calc(100vh - var(--nav));flex-direction:column;padding:20px 20px 40px;display:flex}.kb-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:0 8px;display:flex}.kb-head h1{font-family:var(--serif);margin:0;font-size:24px;font-weight:560}.cols{flex:1;grid-template-columns:repeat(8,minmax(168px,1fr));gap:10px;display:grid;overflow:auto}.col{background:var(--paper2);border:1px solid var(--line);border-radius:12px;min-height:420px;padding:10px}.col h3{justify-content:space-between;align-items:center;margin:4px 6px 10px;font-size:13px;display:flex}.col h3 span{background:var(--chip);color:var(--muted);font-size:11px;font-family:var(--mono);border-radius:999px;padding:1px 7px}.kcard{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);box-shadow:var(--shadow-sm);color:inherit;border-radius:8px;margin-bottom:8px;padding:10px 10px 10px 12px;display:block}.kcard.conception,.kcard.outline,.kcard.revision{border-left-color:#8a8378}.kcard.draft{border-left-color:var(--ink)}.kcard.review{border-left-color:var(--rubric)}.kcard.layout{border-left-color:#c4a36a}.kcard.ready,.kcard.exported{border-left-color:var(--forest)}.kcard strong{margin-bottom:6px;font-size:14px;display:block}.kmeta{color:var(--faint);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.kmeta select{border:1px solid var(--line);background:var(--surface);border-radius:6px;height:28px;font-size:12px}.review-ui{height:calc(100vh - var(--nav));grid-template-columns:1fr 340px;display:grid}.diff{padding:32px 48px;overflow:auto}.diff h1{font-family:var(--serif);margin:0 0 8px;font-size:28px;font-weight:560}.diff-block{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:20px;padding:20px 24px}.threads{border-left:1px solid var(--line);background:var(--surface);padding:16px;overflow:auto}.thread,.ver{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin-bottom:12px;padding:12px}.ver{text-align:left;flex-direction:column;gap:2px;width:100%;font-size:13px;display:flex}.ver.on{border-color:var(--rubric);background:var(--rubric-soft)}.ver .meta,.who .t{color:var(--faint);font-size:12px}.who{align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.who .t{margin-left:auto}.overlay{background:var(--overlay);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dlg{background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow-lg);border:1px solid var(--line);border-radius:16px;padding:24px 24px 20px}.dlg h2{font-family:var(--serif);margin:0 0 8px;font-size:24px;font-weight:560}.dlg .lede{color:var(--muted);margin:0 0 20px;font-size:14px}.dlg-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.share-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.share-row select{border:1px solid var(--line);background:var(--surface);border-radius:8px;height:32px;margin-left:auto;padding:0 8px}.empty{color:var(--muted);padding:24px 8px}@media (max-width:1100px){.grid{grid-template-columns:1fr 1fr}.cols{grid-template-columns:repeat(8,200px)}}@media (max-width:720px){.auth{grid-template-columns:1fr}.auth-side{display:none}.wrap{padding:20px 16px 48px}.grid{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:stretch}.search,.nav-tabs{display:none}.review-ui{grid-template-columns:1fr;height:auto}.threads{border-left:0;border-top:1px solid var(--line)}.sheet{padding:24px 16px 64px}.banner{margin:12px 16px 0}}@media (prefers-reduced-motion:no-preference){.workspace{transition:grid-template-columns var(--med) var(--ease)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
