:root{--paper:#f4f6fa;--surface:#fff;--soft:#f8fafc;--sunken:#eef1f6;--ink:#13213c;--muted:#66748a;--faint:#8e99aa;--line:#e0e5ee;--line-strong:#ccd4e1;--blue:#2367e8;--blue-deep:#164fb8;--blue-soft:#eaf1ff;--green:#16805d;--green-soft:#e6f6ef;--amber:#a86816;--amber-soft:#fff3de;--violet:#7857d8;--violet-soft:#f0ecff;--red:#c23b32;--red-soft:#fdedec;--k-capture:#16805d;--k-capture-bg:#e6f6ef;--k-thought:#7857d8;--k-thought-bg:#f0ecff;--k-journal:#a86816;--k-journal-bg:#fff3de;--k-note:#2367e8;--k-note-bg:#eaf1ff;--font-ui:Inter,"SF Pro Text","Segoe UI","Microsoft YaHei",system-ui,sans-serif;--font-read:"Songti SC","Noto Serif SC","STSong","SimSun",Georgia,serif;--sp1:4px;--sp2:8px;--sp3:12px;--sp4:16px;--sp5:20px;--sp6:24px;--sp8:32px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--rail-w:244px;--index-w:392px;--topbar-h:60px;--mobile-nav-h:58px;--shadow-1:0 1px 2px rgba(19,33,60,.06);--shadow-2:0 8px 24px rgba(19,33,60,.08);--shadow-3:0 18px 50px rgba(19,33,60,.14);--ease:180ms cubic-bezier(.2,.8,.2,1);color-scheme:light}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}figure,h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}a{color:var(--blue);text-decoration:none}:focus-visible{outline:3px solid rgba(35,103,232,.3);outline-offset:2px;border-radius:6px}.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-sm{width:15px;height:15px}.app{display:grid;grid-template-columns:var(--rail-w) var(--index-w) minmax(0,1fr);height:100vh;min-height:560px}.rail{display:flex;min-width:0;flex-direction:column;gap:var(--sp3);padding:var(--sp5) var(--sp3) var(--sp4);overflow:hidden;background:linear-gradient(180deg,#fbfcfe,#f6f8fc);border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;padding:0 var(--sp2)}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:linear-gradient(145deg,#3a7ff2,#164eb9);color:#fff;font-size:11px;font-weight:850;letter-spacing:.02em;box-shadow:0 6px 14px rgba(35,103,232,.26)}.brand-copy strong{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.02em}.brand-copy span{display:block;color:var(--faint);font-size:9px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.capture{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;border-radius:var(--r-md);background:var(--ink);color:#fff;font-weight:740;box-shadow:var(--shadow-1);transition:transform var(--ease),background var(--ease)}.capture:hover{background:#1b2c4e;transform:translateY(-1px)}.search{position:relative;display:block}.search .icon{position:absolute;top:50%;left:12px;color:var(--faint);transform:translateY(-50%);pointer-events:none}.search input{width:100%;height:40px;padding:0 46px 0 36px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);outline:0;transition:border var(--ease),box-shadow var(--ease)}.search input::placeholder{color:var(--faint)}.search input:focus{border-color:#9dbcf8;box-shadow:0 0 0 4px rgba(35,103,232,.09)}.keycap{position:absolute;top:50%;right:9px;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--sunken);color:var(--faint);font-size:10px;transform:translateY(-50%);pointer-events:none}.rail-scroll{min-height:0;flex:1 1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cfd7e4 transparent}.nav{display:grid;grid-gap:2px;gap:2px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 10px;border-radius:10px;color:#55637a;text-align:left;transition:background var(--ease),color var(--ease)}.nav-item:hover{background:var(--sunken);color:var(--ink)}.nav-item[aria-current=page]{background:var(--blue-soft);color:var(--blue-deep);font-weight:740}.nav-item[aria-current=page]:before{position:absolute;top:8px;bottom:8px;left:-13px;width:3px;border-radius:0 3px 3px 0;background:var(--blue);content:""}.nav-item .n{margin-left:auto;color:var(--faint);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nav-item[aria-current=page] .n{color:var(--blue)}.rail-label{display:flex;align-items:center;justify-content:space-between;margin:var(--sp5) 10px var(--sp2);color:var(--faint);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.rail-label button{display:grid;width:24px;height:24px;place-items:center;border-radius:7px;color:var(--faint)}.rail-label button:hover{background:var(--sunken);color:var(--ink)}.dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--dot,var(--blue))}.rail-foot{display:flex;align-items:center;gap:9px;padding-top:var(--sp3);border-top:1px solid var(--line)}.avatar{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:#e6edfb;color:var(--blue-deep);font-size:11px;font-weight:850}.rail-foot .who{min-width:0;flex:1 1;line-height:1.3}.rail-foot .who strong{display:block;font-size:12px}.rail-foot .who span{display:block;color:var(--faint);font-size:10px}.sync{display:inline-flex;align-items:center;gap:5px}.sync:before{width:6px;height:6px;border-radius:50%;background:var(--green);content:""}.app[data-state=offline] .sync:before{background:var(--amber)}.app[data-state=offline] .sync-text:after{content:" · 离线"};.icon-btn{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:var(--muted);transition:background var(--ease),color var(--ease)}.icon-btn:hover{background:var(--sunken);color:var(--ink)}.index{display:flex;min-width:0;flex-direction:column;overflow:hidden;background:var(--surface);border-right:1px solid var(--line)}.index-head{padding:var(--sp5) var(--sp5) var(--sp3);border-bottom:1px solid var(--line)}.head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp3)}.head-row h1{font-size:26px;font-weight:840;letter-spacing:-.035em;line-height:1.15}.head-actions{display:flex;flex:0 0 auto;align-items:center;gap:9px}.head-row .total{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip,.head-row .total{color:var(--faint);white-space:nowrap}.chip{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:11.5px;font-weight:680;transition:border var(--ease),background var(--ease),color var(--ease)}.chip-sort{gap:5px}.list{min-height:0;flex:1 1;overflow-y:auto;padding:var(--sp2) var(--sp3) var(--sp8);scrollbar-width:thin;scrollbar-color:#cfd7e4 transparent}.card{position:relative;margin-bottom:6px;border:1px solid transparent;border-radius:var(--r-lg);transition:border var(--ease),background var(--ease),box-shadow var(--ease)}.card:hover{border-color:var(--line);background:var(--soft)}.card[aria-selected=true]{border-color:#b9ccf7;background:#f7faff;box-shadow:var(--shadow-2)}.card[aria-selected=true]:before{position:absolute;top:12px;bottom:12px;left:0;width:3px;border-radius:0 3px 3px 0;background:var(--blue);content:""}.card-main{display:block;width:100%;padding:var(--sp4) var(--sp4) 13px;text-align:left}.card-top{display:flex;align-items:center;gap:7px;margin-bottom:9px}.kind{padding:2px 7px;border-radius:6px;background:var(--kind-bg);color:var(--kind-ink);font-weight:800}.kind,.src,.when{font-size:10px;white-space:nowrap}.src,.when{overflow:hidden;color:var(--faint);text-overflow:ellipsis}.when{margin-left:auto;flex:none}.card h2{margin-bottom:5px;font-size:15.5px;font-weight:760;letter-spacing:-.015em;line-height:1.42}.card h2,.card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card p{color:var(--muted);font-size:12.5px;line-height:1.55}.card-foot{display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap}.tag{padding:2px 7px;border-radius:999px;background:var(--sunken);color:#6c788a;white-space:nowrap}.badge,.tag{font-size:10px}.badge{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-weight:740}.badge-done{color:#8e99aa}.badge-work{color:var(--blue)}.badge-warn{color:var(--amber)}.badge-fail{color:var(--red)}.track{height:3px;margin-top:10px;overflow:hidden;background:var(--sunken)}.track,.track i{border-radius:999px}.track i{display:block;height:100%;background:var(--blue);transition:width var(--ease)}.track.is-warn i{background:var(--amber)}.track.is-fail i{background:var(--red)}.inline-act{margin-left:auto;color:var(--blue);font-size:11px;font-weight:720}.inline-act:hover{text-decoration:underline}.empty{display:none;padding:56px var(--sp6);text-align:center;color:var(--muted)}.empty strong{display:block;margin-bottom:5px;color:var(--ink);font-size:15px}.reader{position:relative;min-width:0;overflow:hidden;background:var(--rd-bg);--rd-bg:#fff;--rd-ink:#26344d;--rd-title:#0f1b31;--rd-muted:#66748a;--rd-line:var(--line);--rd-soft:#f8fafc;--rd-sum-bg:#f6f9ff;--rd-sum-line:#dce7fb;--read-pad-x:clamp(32px,5.5vw,88px)}.topbar{position:absolute;z-index:5;top:0;right:0;left:0;gap:var(--sp3);height:var(--topbar-h);padding:0 var(--sp5);background:color-mix(in srgb,var(--rd-bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--rd-line)}.crumb,.topbar{display:flex;align-items:center}.crumb{flex:1 1 auto;min-width:0;gap:6px;overflow:hidden;color:var(--faint);font-size:11px}.crumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb strong{flex:none;white-space:nowrap;color:var(--muted);font-weight:700}.top-actions{display:flex;margin-left:auto}.btn,.top-actions{flex:none;align-items:center;gap:6px}.btn{display:inline-flex;white-space:nowrap;justify-content:center;min-height:36px;padding:0 12px;border-radius:10px;font-size:12px;font-weight:700;transition:background var(--ease),border var(--ease),color var(--ease)}.btn-quiet{border:1px solid var(--line);background:var(--surface);color:var(--muted)}.btn-quiet:hover{border-color:var(--line-strong);background:var(--soft);color:var(--ink)}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-deep)}.btn-back{display:none;flex:none;white-space:nowrap;align-items:center;gap:5px;min-height:36px;padding:0 8px;border-radius:10px;color:var(--muted);font-weight:700}.btn-back:hover{background:var(--soft);color:var(--ink)}.progress{position:absolute;z-index:6;top:calc(var(--topbar-h) - 2px);left:0;height:2px;width:38%;background:var(--blue)}.scroll{height:100%;padding:calc(var(--topbar-h) + 44px) var(--read-pad-x) 72px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cfd7e4 transparent}.article{width:min(100%,760px);margin:0 auto}.labels{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:var(--sp4)}.article h1{font-family:var(--font-read);font-size:clamp(30px,3.1vw,42px);font-weight:740;letter-spacing:-.03em;line-height:1.22;color:var(--rd-title);text-wrap:balance}.byline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:var(--sp4);color:var(--rd-muted);font-size:12px}.byline strong{color:var(--muted)}.rule{display:flex;align-items:center;gap:10px;margin:var(--sp6) 0;color:#a3adbc}.rule:after,.rule:before{height:1px;flex:1 1;background:var(--rd-line);content:""}.rule span{width:5px;height:5px;border:1px solid #9aa8bb;border-radius:50%}.summary{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;margin-bottom:var(--sp6);padding:15px 17px;border:1px solid var(--rd-sum-line);border-radius:var(--r-lg);background:var(--rd-sum-bg)}.summary-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:var(--blue-soft);color:var(--blue)}.summary strong{display:block;margin-bottom:3px;color:var(--blue-deep);font-size:12px}.summary p{color:#53657f;font-size:13px;line-height:1.7}.body{font-family:var(--font-read);font-size:17.5px;line-height:2;color:var(--rd-ink)}.body p{margin-bottom:22px}.body h2{margin:38px 0 16px;font-family:var(--font-ui);font-size:22px;font-weight:820;letter-spacing:-.02em;color:var(--rd-title)}.body blockquote{margin:30px 0;padding-left:20px;border-left:3px solid var(--blue);color:var(--blue-deep);font-size:19px;font-weight:680;line-height:1.8}.figure{margin:var(--sp6) 0;border:1px solid var(--rd-line);border-radius:var(--r-lg);overflow:hidden;background:var(--rd-soft)}.figure .ph{display:grid;height:190px;place-items:center;color:var(--faint);font-size:12px;background:repeating-linear-gradient(135deg,#f4f7fb,#f4f7fb 10px,#eef2f8 0,#eef2f8 20px)}.figure figcaption{padding:9px 13px;color:var(--faint);font-size:11px;font-family:var(--font-ui)}.figure figcaption,.related{border-top:1px solid var(--line)}.related{margin-top:var(--sp8);padding-top:var(--sp6)}.related-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp4);margin-bottom:var(--sp3)}.related-head h2{font-size:15px;font-weight:780}.related-head span{color:var(--faint);font-size:11px}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.related-card{padding:14px;border:1px solid var(--rd-line);border-radius:var(--r-lg);background:var(--rd-bg);text-align:left;transition:border var(--ease),box-shadow var(--ease)}.related-card:hover{border-color:#b9ccf7;box-shadow:var(--shadow-2)}.related-card small{display:block;margin-bottom:5px;color:var(--blue);font-size:10px;font-weight:800}.related-card strong{display:block;font-size:13px;font-weight:740;line-height:1.5}.related-card span{display:block;margin-top:5px;color:var(--faint);font-size:10px}.foot-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:var(--sp6);padding-top:var(--sp5);border-top:1px solid var(--rd-line)}.panel{display:none}.app[data-state=failed] .p-failed,.app[data-state=partial] .p-partial,.app[data-state=processing] .p-processing,.app[data-state=ready] .p-ready{display:block}.app[data-state=empty] .p-empty{display:grid}.app[data-state=empty] .list,.app[data-state=empty] .list-meta{display:none}.app[data-state=empty] .empty,.app[data-state=offline] .p-ready{display:block}.app[data-state=offline] .offline-bar{display:flex}.steps{display:grid;grid-gap:9px;gap:9px;margin-top:var(--sp6);padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--soft)}.step{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.step .mark{display:grid;width:20px;height:20px;flex:none;place-items:center;border:1.5px solid var(--line-strong);border-radius:50%;color:#fff;font-size:11px}.step[data-done] .mark{border-color:var(--green);background:var(--green)}.step[data-now] .mark{border-color:var(--blue)}.step[data-now] .mark:after{width:8px;height:8px;border:2px solid var(--blue);border-top:2px solid transparent;border-radius:50%;content:"";animation:spin .8s linear infinite}.step[data-done],[data-now]{color:var(--ink);font-weight:700}@keyframes spin{to{transform:rotate(1turn)}}.skeleton{display:grid;grid-gap:12px;gap:12px;margin-top:var(--sp6)}.skeleton i{display:block;height:13px;border-radius:6px;background:linear-gradient(90deg,#eef2f8,#e3e9f2,#eef2f8);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton i:first-child{height:34px;width:72%}.skeleton i:nth-child(4){width:64%}@keyframes shimmer{to{background-position:-200% 0}}.banner{display:flex;align-items:flex-start;gap:11px;margin-bottom:var(--sp5);padding:13px 15px;border:1px solid;border-radius:var(--r-lg);font-size:13px}.banner .icon{margin-top:2px}.banner-warn{border-color:#f0dcb4;background:var(--amber-soft);color:#7d4d0c}.banner-fail{border-color:#f3cfcb;background:var(--red-soft);color:#8f2b24}.banner strong{display:block;margin-bottom:2px;font-size:13px}.banner p{font-size:12px;line-height:1.6;opacity:.92}.banner .acts{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}.banner .btn{min-height:30px;padding:0 10px;border:1px solid;background:rgba(255,255,255,.7);font-size:11.5px;color:inherit}.banner .btn:hover{background:#fff}.offline-bar{display:none;align-items:center;gap:10px;padding:10px var(--sp5);border-bottom:1px solid #f0dcb4;background:var(--amber-soft);color:#7d4d0c;font-size:12px}.offline-bar .btn{margin-left:auto;min-height:28px;padding:0 10px;border:1px solid;font-size:11.5px;color:inherit;background:rgba(255,255,255,.7)}.empty-reader{align-content:center;justify-items:center;height:100%;text-align:center;color:var(--muted);gap:5px}.empty-reader .mark{display:grid;width:56px;height:56px;place-items:center;margin-bottom:10px;border-radius:18px;background:var(--sunken);color:var(--faint)}.empty-reader strong{color:var(--ink);font-size:16px}.overlay{position:fixed;z-index:60;inset:0;display:none;place-items:center;padding:var(--sp5);background:rgba(12,22,42,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay.open{display:grid}.sheet{width:min(100%,540px);overflow:hidden;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-3);animation:pop .18s ease-out}@keyframes pop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:15px var(--sp5);border-bottom:1px solid var(--line)}.sheet-head h2{font-size:16px;font-weight:800}.sheet-body{display:grid;grid-gap:13px;gap:13px;padding:var(--sp5)}.sheet-foot{display:flex;justify-content:flex-end;gap:7px;padding:13px var(--sp5);border-top:1px solid var(--line)}.field{display:grid;grid-gap:5px;gap:5px}.field label{color:var(--muted);font-size:11px;font-weight:740}.field input,.field textarea{width:100%;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--soft);outline:0}.field input{height:42px}.field textarea{min-height:120px;padding:11px 12px;resize:vertical}.field input:focus,.field textarea:focus{border-color:#9dbcf8;background:#fff;box-shadow:0 0 0 4px rgba(35,103,232,.08)}.seg{display:inline-flex;padding:2px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.seg button{padding:5px 11px;border-radius:8px;color:var(--muted);font-size:11.5px;font-weight:700}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.toast{position:fixed;z-index:80;right:var(--sp5);bottom:var(--sp5);display:flex;align-items:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid #badfce;border-radius:var(--r-md);background:#f0fbf6;color:#126648;font-size:12px;font-weight:720;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity var(--ease),transform var(--ease)}.toast.show{opacity:1;transform:none}.mobile-nav{display:none}@media(min-width:1600px){:root{--index-w:404px}}@media(max-width:1439px){:root{--index-w:360px}}@media(max-width:1279px){:root{--rail-w:72px;--index-w:344px}.rail{align-items:center;padding-right:9px;padding-left:9px}.brand-copy,.keycap,.nav-item span:not(.n),.rail-foot .who,.rail-label span,.search{display:none}.capture{width:42px;padding:0}.capture .label{display:none}.nav-item{width:42px;justify-content:center;padding:0}.nav-item .n{display:none}.nav-item[aria-current=page]:before{left:-9px}.rail-label{justify-content:center;margin-right:0;margin-left:0}.rail-foot{justify-content:center;border-top:0}.rail-foot .icon-btn{display:none}}@media(max-width:899px){.app{grid-template-columns:1fr;height:calc(100vh - var(--mobile-nav-h));margin-top:0;min-height:0}.rail{display:none}.index{border-right:0}.reader{position:fixed;z-index:20;top:0;right:0;bottom:var(--mobile-nav-h);left:0;visibility:hidden;transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility .26s}body.reading .reader{visibility:visible;transform:none}body.reading .mobile-nav{display:none}body.reading .reader{bottom:0}.btn-back{display:inline-flex}.top-actions .label{display:none}.reader{--read-pad-x:var(--sp5)}.scroll{padding-top:calc(var(--topbar-h) + 32px)}.article h1{font-size:clamp(27px,7vw,36px)}.body{font-size:17px;line-height:1.95}.related-grid{grid-template-columns:1fr}.mobile-nav{position:fixed;z-index:25;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-around;height:var(--mobile-nav-h);padding:0 var(--sp2);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.mobile-nav button{display:grid;justify-items:center;grid-gap:1px;gap:1px;min-width:56px;padding:6px 4px;color:var(--faint);font-size:10px;font-weight:680}.mobile-nav button[aria-current=page]{color:var(--blue)}.mobile-nav .fab{width:52px;height:52px;margin-top:-18px;border-radius:18px;place-items:center;background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(35,103,232,.34)}.toast{right:var(--sp4);bottom:calc(var(--mobile-nav-h) + var(--sp3));left:var(--sp4)}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(pointer:coarse){.nav-item{min-height:44px}.chip{min-height:36px}}.app[data-state=duplicate] .p-ready,.app[data-state=loading] .p-ready{display:block}.app[data-state=loading] .list{display:none}.app[data-state=loading] .list-skeleton{display:grid}.hit{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding:8px 10px;border-radius:10px;background:var(--sunken);color:var(--muted);font-size:11.5px;line-height:1.65}.hit-field{flex:none;padding:1px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:#6c788a;font-size:10px;font-weight:780}.hit-snip{min-width:0}.query-bar{margin:10px 0 0;color:var(--muted);font-size:11.5px}.query-bar b{color:var(--ink)}.list-skeleton{display:none;gap:10px;padding:var(--sp4) var(--sp3) var(--sp8)}.sk-card{display:grid;grid-gap:9px;gap:9px;padding:var(--sp4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.sk-card i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#eef2f8,#e3e9f2,#eef2f8);background-size:200% 100%;animation:shimmer 1.4s infinite}.sk-card i:first-child{height:16px;width:64%}.sk-card i:nth-child(3){width:46%}.app[data-state=duplicate] .card.is-dup{border-color:#f0dcb4;background:var(--amber-soft)}.app[data-state=duplicate] .card.is-dup:after{content:"库中已有";position:absolute;top:12px;right:12px;padding:2px 7px;border:1px solid #f0dcb4;border-radius:6px;background:#fff;color:#7d4d0c;font-size:10px;font-weight:800}.app[data-state=duplicate] .toast{opacity:1;transform:none;border-color:#f0dcb4;background:#fff8ec;color:#7d4d0c}.evidence{margin-top:7px;padding-left:9px;border-left:2px solid var(--blue);color:#5b6f8f;font-size:11.5px;line-height:1.65}.why{font-style:normal;opacity:.82}body[data-read-theme=sepia] .reader{--rd-bg:#f7f1e4;--rd-ink:#3d3427;--rd-title:#291f14;--rd-muted:#7d7361;--rd-line:#e3d9c5;--rd-soft:#fbf6ec;--rd-sum-bg:#fbf5e8;--rd-sum-line:#e8dcc0}body[data-read-theme=sepia] .summary p{color:#5e5340}body[data-read-theme=dark] .reader{--rd-bg:#16181d;--rd-ink:#c6ccd6;--rd-title:#eef1f5;--rd-muted:#8b95a3;--rd-line:#2a2f38;--rd-soft:#1c1f26;--rd-sum-bg:#1b2230;--rd-sum-line:#26324a}body[data-read-theme=dark] .summary p{color:#9fb0c8}body[data-read-theme=dark] .evidence{color:#8fa0b8}body[data-read-theme=dark] .body blockquote{color:#8fb0f5}body[data-read-theme=dark] .figure .ph{background:repeating-linear-gradient(135deg,#1b1e24,#1b1e24 10px,#20242b 0,#20242b 20px);color:#6f7885}body[data-read-theme=dark] .btn-quiet{background:transparent;border-color:var(--rd-line);color:var(--rd-muted)}body[data-read-theme=dark] .btn-quiet:hover{background:#22262e;color:var(--rd-title)}body[data-read-theme=sepia] .figure .ph{background:repeating-linear-gradient(135deg,#f3ecdd,#f3ecdd 10px,#ece3d0 0,#ece3d0 20px);color:#8d8272}body[data-read-size=s] .body{font-size:16px}body[data-read-size=l] .body{font-size:19.5px}body[data-read-leading=tight] .body{line-height:1.8}body[data-read-leading=loose] .body{line-height:2.25}body[data-read-margin=normal] .reader{--read-pad-x:clamp(32px,5.5vw,88px)}body[data-read-margin=narrow] .reader{--read-pad-x:clamp(20px,3vw,40px)}body[data-read-margin=wide] .reader{--read-pad-x:clamp(48px,9vw,140px)}.overlay{overflow-y:auto}.overlay.open{place-items:start center}.sheet{margin:5vh auto}@media(max-width:899px){.overlay{padding:var(--sp4)}.sheet{margin:2vh auto;max-height:96vh;overflow:auto}}.viewer{position:fixed;z-index:70;inset:0;display:none;flex-direction:column;background:rgba(10,14,22,.93);color:#e9edf4}.viewer.open{display:flex}.viewer-stage{flex:1 1;display:grid;place-items:center;padding:24px}.viewer-img{display:grid;width:min(100%,880px);height:min(72vh,620px);place-items:center;border-radius:var(--r-lg);background:repeating-linear-gradient(135deg,#2a2f38,#2a2f38 12px,#232830 0,#232830 24px);color:#9aa5b5;font-size:12px}.viewer-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-size:18px}.viewer-bar{display:flex;align-items:center;gap:10px;padding:14px 18px;border-top:1px solid rgba(255,255,255,.14);font-size:12px}.viewer .btn{min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.3);border-radius:10px;color:#fff;font-size:12px;font-weight:700}.viewer .btn:hover{background:rgba(255,255,255,.14)}.toc{display:grid;grid-gap:2px;gap:2px}.toc button{display:block;width:100%;min-height:34px;padding:0 10px;border-radius:8px;color:var(--muted);text-align:left;font-size:12.5px}.toc button:hover{background:var(--sunken);color:var(--ink)}.reader-tools{display:none}@media(max-width:899px){.reader-tools{position:absolute;z-index:6;right:0;bottom:0;left:0;display:flex;align-items:center;gap:2px;height:54px;padding:0 8px;border-top:1px solid var(--rd-line);background:color-mix(in srgb,var(--rd-bg) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.reader-tools button{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 10px;border-radius:10px;color:var(--rd-muted);font-size:11.5px;font-weight:700}.reader-tools button:hover{background:var(--sunken)}.reader-tools .rt-aa{color:var(--rd-title);font-size:13.5px;font-weight:850}.reader-tools .rt-pct{margin-left:auto;padding-right:6px;color:var(--rd-muted);font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scroll{padding-bottom:82px}body[data-read-margin=narrow] .reader{--read-pad-x:14px}body[data-read-margin=wide] .reader{--read-pad-x:32px}}.top-actions form{display:flex}.more{position:relative}.more summary{list-style:none;cursor:pointer}.more summary::-webkit-details-marker{display:none}.menu{position:absolute;z-index:30;right:0;top:calc(100% + 6px);min-width:186px;padding:6px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-2)}.menu form{display:block}.menu a,.menu button{display:flex;width:100%;align-items:center;gap:8px;min-height:34px;padding:0 10px;border-radius:8px;color:var(--ink);font-size:12.5px;text-align:left}.menu a:hover,.menu button:hover{background:var(--soft)}.menu .danger{color:var(--red)}.trash-note{margin:0 0 18px;padding:12px 14px;border:1px solid #f0dcb4;border-radius:var(--r-md);background:var(--amber-soft);color:#7d4d0c;font-size:12.5px;line-height:1.7}.trash-actions{display:flex;gap:8px;margin-top:16px}.body img{cursor:zoom-in}.lightbox{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:32px;background:rgba(9,12,20,.94);cursor:zoom-out}.lightbox img{max-width:min(100%,1100px);max-height:calc(100vh - 96px);border-radius:var(--r-lg);background:#1a1d24}.lightbox-hint{position:absolute;bottom:22px;color:#9aa5b5;font-size:12px}.edit-form{display:grid;grid-gap:14px;gap:14px}.edit-form .field input,.edit-form .field textarea{font-family:inherit}.edit-actions{display:flex;gap:8px;margin-top:4px}.load-more{display:grid;place-items:center;padding:14px 0 6px}.load-more a{min-height:36px;display:inline-flex;align-items:center;padding:0 16px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12.5px;font-weight:700}.load-more a:hover{border-color:var(--line-strong);color:var(--ink);background:var(--soft)}.hint-inline{margin-left:6px;color:var(--faint);font-size:11px}mark{padding:0 2px;border-radius:3px;background:#fff0c2;color:#7a4d00}.figure img{display:block;width:100%;height:auto;background:var(--rd-soft)}.figure.is-missing .ph a{color:inherit;text-decoration:underline}.body img.fig-inline{display:inline-block;max-width:100%;height:auto;border-radius:var(--r-sm);vertical-align:middle}.login-wrap{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--paper)}.login-card{display:grid;grid-gap:12px;gap:12px;width:min(100%,380px);padding:26px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-2)}.login-card h1{margin:0;font-size:19px;font-weight:820;letter-spacing:-.02em}.login-card p{margin:0 0 4px;color:var(--muted);font-size:12.5px;line-height:1.7}.login-card label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:11.5px;font-weight:740}.login-card input{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--soft);font-size:14px;outline:0}.login-card input:focus{border-color:#9dbcf8;background:#fff;box-shadow:0 0 0 4px rgba(35,103,232,.08)}.login-acts{display:flex;gap:8px;margin-top:6px}.login-acts .btn{flex:1 1}.login-err{margin:0;padding:9px 11px;border:1px solid #f3cfcb;border-radius:var(--r-md);background:var(--red-soft);color:#8f2b24;font-size:12.5px}.rail-label{padding:0}.rail-toggle{display:flex;align-items:center;gap:5px;min-height:22px;padding:0 6px 0 0;border-radius:7px;color:var(--faint);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.rail-toggle:hover{color:var(--ink)}.rail-toggle .chev{display:inline-block;width:9px;font-size:9px;transition:transform var(--ease)}.rail-toggle .chev.folded{transform:rotate(-90deg)}.rail-empty{padding:4px 10px;color:var(--faint);font-size:11.5px}.sheet-body{max-height:58vh;overflow-y:auto}.panel-search{display:flex;align-items:center;gap:6px;position:-webkit-sticky;position:sticky;top:0;padding:2px 0 10px;background:var(--surface)}.panel-search input{flex:1 1;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);font-size:12.5px;outline:0}.panel-search input:focus{border-color:#9dbcf8;background:var(--surface)}.panel-search button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);font-size:12.5px;font-weight:700}.panel-search .cnt{margin-left:auto;color:var(--faint);font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hash{width:16px;flex:none;text-align:center;color:var(--faint);font-weight:800}.rail-label .rail-more{display:grid;place-items:center;height:22px;padding:0 7px;border-radius:7px;color:var(--faint);font-size:10px;font-weight:800;letter-spacing:0;text-transform:none}.rail-label .rail-more:hover{background:var(--sunken);color:var(--ink)}.tag-list{display:grid}.tag-row{display:flex;align-items:center;gap:8px;min-height:54px;border-bottom:1px solid var(--line)}.tag-row:last-child{border-bottom:0}.tag-row .nm{font-size:13.5px;font-weight:740}.tag-row .ct{color:var(--faint);font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tag-row form{display:flex;align-items:center;gap:5px}.tag-row form:first-of-type{margin-left:auto}.tag-row input{height:32px;width:118px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:12.5px;outline:0}.tag-row input:focus{border-color:#9dbcf8;background:var(--surface)}.tag-row button{min-height:32px;padding:0 10px;border-radius:8px;font-size:12.5px;font-weight:700}.tag-save{background:var(--ink);color:#fff}.tag-del{border:1px solid #f3cfcb;background:var(--red-soft);color:var(--red)}.tag-empty{color:var(--muted);font-size:13px;line-height:1.7}.tag-hint{color:var(--faint);font-size:11.5px;line-height:1.6}