/* A quiet project archive, in the same room. Only the selected folio is open. */
.jc-ledger-dialog.ld-dialog {
  --ld-wall:#dce2e4; --ld-paper:#f5f7f6; --ld-ink:#252f33;
  --ld-muted:#586a73; --ld-line:#becbd0; --ld-blue:#214fc4;
  --ld-index:300px;
  padding:0; overflow:hidden; background:var(--ld-wall); color:var(--ld-ink);
  font:14px/1.7 'Jiancheng Sans','Microsoft YaHei',sans-serif;
}
.ld-dialog[open] { display:grid; grid-template-rows:104px 58px minmax(0,1fr) 28px; animation:none; }
.ld-dialog :is(button,input,a,summary) { -webkit-tap-highlight-color:transparent; }
.ld-dialog button { border-radius:0; padding:0; transition:color .16s,background-color .16s; }
.ld-dialog button:disabled { cursor:default; opacity:.45; }
.ld-dialog :is(button,input,a,summary):focus-visible { outline:2px solid var(--ld-blue); outline-offset:3px; }
.ld-dialog .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ld-header { display:flex; align-items:center; gap:25px; margin:0 32px; min-width:0; }
.ld-dialog .ld-brand { flex:none; font-size:30px; line-height:.86; font-weight:650; letter-spacing:-.045em; text-align:left; width:64px; min-height:54px; }
.ld-brand span { display:block; white-space:nowrap; }
.ld-heading { display:flex; align-items:baseline; gap:18px; min-width:0; }
.ld-heading p { font-size:11px; color:var(--ld-muted); white-space:nowrap; }
.ld-heading h1 { font-size:27px; line-height:1.3; font-weight:550; letter-spacing:-.035em; white-space:nowrap; }
.ld-dialog .ld-about-toggle { margin-left:auto; padding:10px 12px; font-size:12px; color:var(--ld-muted); white-space:nowrap; }
.ld-dialog .jc-ledger-close { position:static; background:transparent!important; box-shadow:none; padding:10px 14px; border:1px solid #8fa1aa; font-size:12px; white-space:nowrap; flex:none; }
.ld-dialog :is(.ld-about-toggle,.jc-ledger-close,.ld-reader-back):hover { color:var(--ld-blue); }
.ld-about { position:absolute; top:87px; right:32px; z-index:6; width:min(640px,calc(100% - 48px)); max-height:65dvh; overflow:auto; padding:26px 30px; background:var(--ld-paper); border:1px solid var(--ld-line); box-shadow:0 12px 35px #2e465624; }
.ld-about p { font-size:13px; line-height:1.95; color:var(--ld-muted); }
.ld-about p+p { margin-top:14px; }
.ld-about h2 { font-size:19px; font-weight:550; margin-bottom:14px; }
.ld-categories { display:flex; align-items:stretch; gap:3px; margin:0 32px; padding:5px 0 0; border-bottom:1px solid #9cadb6; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; min-width:0; }
.ld-categories::-webkit-scrollbar { display:none; }
.ld-dialog .ld-categories button { position:relative; display:flex; flex:none; gap:14px; align-items:center; padding:10px 18px 12px; white-space:nowrap; color:#4d616b; font-size:12px; border:1px solid transparent; border-bottom:0; min-height:46px; }
.ld-categories small { font:10px 'Jiancheng Mono',monospace; color:#667d88; }
.ld-dialog .ld-categories button[aria-pressed=true] { background:var(--ld-paper); color:var(--ld-blue); border-color:#a9bac2; box-shadow:inset 0 2px var(--ld-blue); }
.ld-dialog .ld-categories button:hover:not([aria-pressed=true]) { background:#ffffff40; color:var(--ld-ink); }
.ld-layout { display:grid; grid-template-columns:var(--ld-index) minmax(0,1fr); margin:0 32px; min-height:0; min-width:0; }
.ld-index { display:flex; flex-direction:column; min-height:0; min-width:0; padding:20px 0 0; border-right:1px solid var(--ld-line); }
.ld-search { position:relative; margin:0 18px 0 0; flex:none; }
.ld-search::before { content:''; position:absolute; left:1px; top:15px; width:10px; height:10px; border:1.5px solid #68808c; border-radius:50%; pointer-events:none; }
.ld-search::after { content:''; position:absolute; left:11px; top:26px; width:6px; height:1.5px; background:#68808c; transform:rotate(45deg); pointer-events:none; }
.ld-search input { width:100%; height:46px; padding:9px 36px 9px 27px; border:0; border-bottom:1px solid #9aafb9; background:transparent; border-radius:0; font-size:13px; outline-offset:2px; }
.ld-search input::placeholder { color:#687d87; opacity:1; }
.ld-search input::-webkit-search-cancel-button { display:none; }
.ld-dialog .ld-clear-search { position:absolute; right:0; top:0; min-width:36px; height:44px; color:var(--ld-muted); font-size:18px; }
.ld-count { flex:none; padding:13px 18px 13px 0; font-size:11px; color:var(--ld-muted); font-variant-numeric:tabular-nums; }
.ld-list { overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#a4b5bd transparent; padding-right:10px; min-height:0; flex:1; }
.ld-dialog .ld-record { width:100%; display:grid; grid-template-columns:minmax(0,1fr) 16px; gap:3px 10px; position:relative; text-align:left; padding:14px 15px; border-top:1px solid #c3cfd4; color:var(--ld-ink); background:transparent; }
.ld-record-name { grid-column:1; font-size:17px; font-weight:550; line-height:1.4; letter-spacing:-.02em; overflow-wrap:anywhere; }
.ld-record-subtitle { grid-column:1; font-size:11px; line-height:1.5; color:var(--ld-muted); }
.ld-record-state { grid-column:1; font-size:10px; color:#657982; line-height:1.5; margin-top:3px; }
.ld-record-arrow { grid-column:2; grid-row:1/4; align-self:center; color:var(--ld-blue); opacity:0; transform:translateX(-4px); transition:opacity .15s,transform .15s; font-size:17px; }
.ld-record::before { content:''; position:absolute; inset:0 auto 0 0; width:2px; background:var(--ld-blue); opacity:0; }
.ld-dialog .ld-record[aria-pressed=true] { background:var(--ld-paper); }
.ld-record[aria-pressed=true] .ld-record-name { color:var(--ld-blue); }
.ld-record[aria-pressed=true]::before { opacity:1; }
.ld-record:is(:hover,[aria-pressed=true]) .ld-record-arrow { opacity:1; transform:translateX(0); }
.ld-dialog .ld-record:hover:not([aria-pressed=true]) { background:#ffffff45; }
.ld-empty { padding:28px 18px 30px 0; }
.ld-empty h2 { font-size:19px; font-weight:500; }
.ld-empty p { font-size:12px; color:var(--ld-muted); margin-top:10px; }
.ld-dialog .ld-empty button { margin-top:14px; color:var(--ld-blue); font-size:12px; padding:7px 0; }
.ld-reader { overflow:auto; overscroll-behavior:contain; min-width:0; min-height:0; padding:25px clamp(18px,2.8vw,42px) 36px; scrollbar-width:thin; scrollbar-gutter:stable; scrollbar-color:#a4b5bd transparent; background:#e3e8e9; }
.ld-reader-empty { display:grid; align-content:center; min-height:100%; padding:32px; text-align:center; color:var(--ld-muted); }
.ld-reader-empty h2 { font-size:24px; font-weight:500; color:var(--ld-ink); margin-bottom:12px; }
.ld-sheet { position:relative; margin:0 auto; max-width:890px; padding:26px clamp(22px,2.5vw,38px) 30px; border:1px solid #b6c5cc; background:var(--ld-paper); box-shadow:0 9px 22px -14px #293f5355; }
.ld-sheet::before { content:''; position:absolute; left:26px; top:-9px; width:74px; height:9px; background:var(--ld-paper); border:1px solid #b6c5cc; border-bottom:0; }
.ld-dialog .ld-reader-back { display:none; }
.ld-record-label { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:11px; line-height:1.6; color:var(--ld-muted); margin-bottom:18px; }
.ld-cover { margin:0 0 22px; }
.ld-cover img { display:block; width:100%; max-height:290px; aspect-ratio:1.8; object-fit:contain; background:#e4e9ea; border:1px solid #c5d0d4; }
.ld-cover-caption { font-size:10px; color:#596e79; line-height:1.65; margin-top:8px!important; }
.ld-cover-source { font-size:10px; line-height:1.85; color:var(--ld-muted); }
.ld-cover-source summary { display:inline-flex; align-items:center; min-height:36px; color:var(--ld-blue); cursor:pointer; }
.ld-cover-source p { padding:4px 0 12px; max-width:65em; }
.ld-sheet-heading h2 { font-size:clamp(26px,2.5vw,36px); line-height:1.4; letter-spacing:-.035em; font-weight:550; text-wrap:pretty; }
.ld-dialog .ld-sheet-heading h2:focus { outline:none; }
.ld-sheet-summary { font-size:14px; line-height:1.9; color:#4f626b; margin-top:12px!important; max-width:48em; text-wrap:pretty; }
.ld-sheet-meta { display:flex; gap:8px 18px; flex-wrap:wrap; font-size:10px; color:var(--ld-muted); padding:17px 0 14px; }
.ld-sheet-meta span+span { border-left:1px solid #b9c8cf; padding-left:18px; }
.ld-dialog .ld-read-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; color:var(--ld-blue); font-size:13px; text-align:left; padding:13px 0; border-top:1px solid #bdcbd2; border-bottom:1px solid #bdcbd2; min-height:50px; }
.ld-dialog .ld-read-toggle:hover { padding-left:8px; background:#e7edf0; }
.ld-dialog .ld-read-toggle[aria-expanded=true] { position:sticky; top:-1px; z-index:2; background:var(--ld-paper); }
.ld-preview-units { margin:20px 0 4px; padding:0; }
.ld-preview-units>div { display:grid; grid-template-columns:1fr; padding:16px 0; border-top:1px solid #c5d1d6; gap:5px; }
.ld-preview-units :is(dt,h3,h4) { font-size:15px; font-weight:550; line-height:1.6; margin:0; }
.ld-preview-units :is(dd,p) { font-size:12px; color:var(--ld-muted); line-height:1.9; }
.ld-preview-units p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.ld-full-record { margin-top:28px; scroll-margin-top:90px; animation:ld-unfold .18s ease-out; }
.ld-load-error { max-width:600px; margin:40px auto; padding:30px; background:var(--ld-paper); border:1px solid var(--ld-line); }
.ld-load-error h2 { font-size:24px; font-weight:550; }
.ld-load-error p { margin-top:14px; color:var(--ld-muted); font-size:13px; }
.ld-dialog .ld-retry { padding:12px 0; margin-top:15px; color:var(--ld-blue); }
.ld-full-record .jc-ledger-body { padding:0; animation:none; }
.ld-full-record .jc-ledger-story { max-width:none; }
.ld-full-record .jc-ledger-story h3.jc-ledger-thesis { font-size:25px; }
.ld-full-record .jc-ledger-chapter { scroll-margin-top:90px; }
.ld-full-record :is(.jc-ledger-lead,.jc-ledger-chapter p,.jc-ledger-incident dd) { font-size:14px; }
.ld-full-record .jc-ledger-units>div { grid-template-columns:minmax(110px,1fr) 2fr; gap:18px; }
.ld-full-record .jc-ledger-capture img { height:auto; aspect-ratio:auto; }
.ld-full-record .jc-ledger-capture-controls { gap:8px 18px; flex-wrap:wrap; }
.ld-full-record .jc-ledger-proof>summary { align-items:flex-start; }
.ld-full-record .jc-ledger-proof-hint { font-size:10px; }
.ld-full-record .jc-ledger-proof pre { font-family:'Jiancheng Mono',monospace; font-size:11px; }
.ld-footer { display:flex; align-items:center; justify-content:space-between; padding:0 32px; font-size:10px; color:var(--ld-muted); white-space:nowrap; overflow:hidden; }
@keyframes ld-unfold { from { opacity:0;transform:translateY(6px); } to { opacity:1;transform:none; } }
@media (max-width:1100px) {
  .jc-ledger-dialog.ld-dialog { --ld-index:248px; }
  .ld-header { gap:20px; margin-inline:24px; }
  .ld-categories,.ld-layout { margin-inline:24px; }
  .ld-heading { gap:12px; }.ld-heading h1 { font-size:25px; }
  .ld-dialog .ld-categories button { padding-inline:13px; gap:10px; }
  .ld-sheet { padding:22px; }.ld-reader { padding:22px 18px 28px; }
  .ld-sheet-heading h2 { font-size:27px; }.ld-sheet-summary { font-size:13px; }
  .ld-cover img { max-height:240px; }
}
@media (min-width:681px) and (max-width:850px) {
  .jc-ledger-dialog.ld-dialog { --ld-index:210px; }
  .ld-header { gap:17px; margin-inline:20px; }
  .ld-heading { display:block; }.ld-heading p { font-size:10px; margin-bottom:4px; }
  .ld-heading h1 { font-size:23px; }
  .ld-dialog .ld-brand { width:54px; font-size:27px; }
  .ld-dialog .ld-about-toggle { padding-inline:3px; font-size:11px; }
  .ld-dialog .jc-ledger-close { padding-inline:9px; font-size:11px; }
  .ld-categories,.ld-layout { margin-inline:20px; }
  .ld-search { margin-right:12px; }.ld-search input { font-size:12px; }
  .ld-list { padding-right:7px; }.ld-dialog .ld-record { padding:13px 11px; }
  .ld-record-name { font-size:15px; }.ld-record-subtitle { font-size:10px; }
  .ld-reader { padding:20px 12px 26px; }.ld-sheet { padding:20px 18px; }
  .ld-cover { margin-bottom:17px; }.ld-cover img { aspect-ratio:1.6; max-height:190px; }
  .ld-sheet-heading h2 { font-size:24px; }.ld-sheet-summary { font-size:12px; }
  .ld-full-record .jc-ledger-story h3.jc-ledger-thesis { font-size:22px; }
  .ld-full-record .jc-ledger-incident>div,.ld-full-record .jc-ledger-units>div { grid-template-columns:1fr; gap:7px; }
  .ld-full-record :is(.jc-ledger-lead,.jc-ledger-chapter p,.jc-ledger-incident dd) { font-size:13px; }
  .ld-footer { padding-inline:20px; font-size:9px; }
}
@media (max-width:680px) {
  .ld-dialog[open] { grid-template-rows:92px 56px minmax(0,1fr) 28px; }
  .ld-header { margin:0 20px; gap:15px; }
  .ld-dialog .ld-brand { width:56px; font-size:27px; }
  .ld-heading { display:block; }.ld-heading p { font-size:10px; margin-bottom:4px; }
  .ld-heading h1 { font-size:21px; }
  .ld-dialog .ld-about-toggle { font-size:11px; padding:7px 0; margin-left:auto; }
  .ld-dialog .jc-ledger-close { font-size:11px!important; border:0; padding:7px 0; }
  .ld-categories { margin:0 20px; }.ld-dialog .ld-categories button { font-size:12px; gap:10px; padding-inline:13px; }
  .ld-layout { display:block; margin:0 20px; overflow:hidden; }
  .ld-index { height:100%; border-right:0; padding-top:12px; }
  .ld-search { margin:0; }.ld-search input { font-size:14px; }
  .ld-count { padding:11px 0; }.ld-list { padding-right:0; }
  .ld-dialog .ld-record { padding:15px 14px; grid-template-columns:minmax(0,1fr) 24px; }
  .ld-record-name { font-size:18px; }.ld-record-subtitle { font-size:12px; }
  .ld-record-state { position:absolute; right:46px; top:18px; margin:0; max-width:100px; text-align:right; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .ld-record-name { padding-right:100px; }.ld-record-arrow { opacity:1; transform:none; }
  .ld-dialog[data-view=reader] .ld-index,.ld-dialog:not([data-view=reader]) .ld-reader { display:none; }
  .ld-reader { height:100%; margin:0 -20px; padding:19px 20px 28px; }
  .ld-sheet { padding:18px 20px 24px; }.ld-sheet::before { left:20px; }
  .ld-dialog .ld-reader-back { display:block; position:sticky; top:-19px; z-index:3; background:var(--ld-paper); font-size:12px; min-height:40px; color:var(--ld-blue); padding:0 0 10px; text-align:left; margin-bottom:10px; }
  .ld-dialog .ld-read-toggle[aria-expanded=true] { top:22px; }
  .ld-full-record,.ld-full-record .jc-ledger-chapter { scroll-margin-top:120px; }
  .ld-record-label { margin-bottom:14px; }.ld-cover { margin-bottom:18px; }
  .ld-cover img { max-height:240px; aspect-ratio:1.55; }
  .ld-sheet-heading h2 { font-size:25px; }.ld-sheet-summary { font-size:13px; }
  .ld-sheet-meta { padding-block:14px; gap:5px 12px; }.ld-sheet-meta span+span { padding-left:12px; }
  .ld-about { top:80px; right:20px; padding:22px; width:calc(100% - 40px); }
  .ld-footer { padding-inline:20px; font-size:9px; white-space:normal; line-height:1.5; }
  .ld-full-record .jc-ledger-story h3.jc-ledger-thesis { font-size:23px; }
  .ld-full-record .jc-ledger-units>div { grid-template-columns:1fr; gap:7px; }
}
@media (max-width:380px) {
  .ld-header { gap:11px; margin-inline:16px; }.ld-dialog .ld-brand { width:50px; font-size:25px; }
  .ld-heading h1 { font-size:19px; }.ld-dialog .ld-about-toggle { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) { .ld-dialog * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
