/* My Library uses the current application's shared backgrounds and local typography. */
:root{--lb-ink:#1f2412;--lb-secondary:#4a5138;--lb-muted:#626a52;--lb-accent:#4f5d12;--lb-tint:#e9f0c7;--lb-line:rgb(31 36 18 / .14);--lb-hover:#eef0e5;--lb-danger:#8a3b2e;--lb-display:Newsreader,Georgia,serif;--lb-body:16px;--lb-meta:13px;--lb-title:28px;--lb-unit:8px;--lb-radius:12px;--lb-control:8px;--lb-enter:200ms;--lb-exit:140ms}
.lb-page{box-sizing:border-box;width:100%;max-width:680px;margin:0 auto;padding:24px 32px 64px;color:var(--lb-ink);font-size:var(--lb-body);line-height:1.65;overflow-wrap:anywhere}
.lb-overview,.lb-chapter-page{--lb-page-padding:40px;--lb-page-head-width:880px;--lb-reading-width:616px;max-width:none;padding:var(--lb-page-padding) var(--lb-page-padding) 64px}
.lb-overview{--lb-page-title:clamp(32px,3vw,40px);--lb-page-head-gap:32px;--lb-page-title-gap:8px;--lb-cover-column:240px;--lb-book-width:192px;--lb-book-height:256px;--lb-cover-gap:96px;--lb-contents-column:400px;--lb-contents-action-gap:48px}
.lb-page-heading{--od-gap:var(--lb-page-title-gap);width:100%;max-width:var(--lb-page-head-width);margin:0 auto var(--lb-page-head-gap);text-align:left}
.lb-page-heading h1{font:500 var(--lb-page-title)/1.2 var(--lb-display);letter-spacing:-.025em;color:var(--lb-ink);overflow-wrap:anywhere}
.lb-page-heading p{max-width:65ch;font-size:var(--lb-body);line-height:1.6;color:var(--lb-muted)}
.lb-reading{width:100%;max-width:var(--lb-reading-width);margin:0 auto}
/* Center the complete cover group in the space below the unchanged page heading. */
.lb-overview{display:flex;flex-direction:column;min-height:var(--lb-viewport-height,100%)}
.lb-overview>.lb-page-heading{flex:none}
.lb-overview .lb-reading{display:flex;flex-direction:column;justify-content:center;flex:1 0 auto;max-width:var(--lb-page-head-width)}
.lb-overview .lb-reading>.lb-cover-layout,.lb-overview .lb-reading>.lb-begin-wrap{flex:none}
.lb-cover-layout{display:grid;width:100%;max-width:calc(var(--lb-cover-column) + var(--lb-cover-gap) + var(--lb-contents-column));margin-inline:auto;grid-template-columns:var(--lb-cover-column) minmax(0,1fr);gap:var(--lb-cover-gap);align-items:center}
.lb-cover-layout>*{min-width:0}
.lb-contents{container-type:inline-size}
.lb-contents .lb-toc{margin-top:0}
.lb-overview .lb-begin-wrap{justify-content:center;margin-top:var(--lb-contents-action-gap)}
.lb-overview .lb-cover{margin-top:0}
.lb-overview .lb-book{width:var(--lb-book-width);min-height:var(--lb-book-height)}
.lb-page *,.lb-return *{box-sizing:border-box}
.lb-page h1,.lb-page h2,.lb-page p{margin:0}
.lb-page button,.lb-return button{appearance:none;font-family:inherit;font-size:var(--lb-meta);line-height:1.5;color:var(--lb-ink);cursor:pointer;border:0;background:transparent;transition:background var(--lb-enter) ease-out,color var(--lb-enter) ease-out;touch-action:manipulation}
.lb-page button:focus-visible,.lb-page input:focus-visible,.lb-return button:focus-visible{outline:2px solid var(--lb-accent);outline-offset:4px}
.lb-page [tabindex="-1"]:focus{outline:none}
.lb-page button:disabled{opacity:.45;cursor:default}
.lb-top{justify-content:space-between;--od-gap:16px;color:var(--lb-muted);font-size:var(--lb-meta)}
.lb-top>span{display:block;text-align:right}
.lb-chapter-page>.lb-top{width:100%;max-width:var(--lb-page-head-width);margin:0 auto;justify-content:flex-start}
.lb-chapter-page .lb-back{padding-inline:0}
.lb-chapter-page{--lb-reading-padding:16px;display:flex;flex-direction:column;min-height:var(--lb-viewport-height,100%);padding-bottom:var(--lb-page-padding)}
.lb-chapter-page>.lb-top{flex:none}
.lb-chapter-stage{display:grid;grid-template-columns:minmax(0,1fr);flex:1 0 auto;width:100%;max-width:var(--lb-reading-width);margin-inline:auto;padding-block:var(--lb-reading-padding);align-items:center}
.lb-chapter-group{--od-gap:16px;width:100%;min-width:0}
.lb-chapter-group>.lb-chapter{width:100%;max-width:var(--lb-reading-width);min-width:0;margin:0}
.lb-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px;border-radius:var(--lb-control);text-align:left}
.lb-page svg,.lb-return svg{display:block;width:18px;height:18px;flex:none}
.lb-cover{--od-gap:16px;align-items:center;text-align:center;margin-top:16px}
.lb-book{display:flex;flex-direction:column;justify-content:space-between;flex:none;width:168px;min-height:224px;padding:16px 16px 24px 24px;text-align:left;border-radius:4px 12px 12px 4px;color:#1f2a0a;background:#b3c79b url('assets/cover.png') 62% 50% / auto 100% no-repeat;box-shadow:inset 6px 0 0 rgb(31 42 10 / .2),0 24px 40px -24px rgb(30 45 8 / .5)}
.lb-book-volume{display:block;font-size:var(--lb-meta);color:#263313}
.lb-book-name{display:block;margin-top:8px;font:400 var(--lb-title)/1.1 var(--lb-display);text-wrap:balance}
.lb-book-bottom{display:block;padding:8px;border-radius:4px;background:rgb(246 248 238 / .84)}
.lb-avatar{display:block;width:36px;border-radius:50%;border:2px solid #fff}
.lb-account-avatar{display:flex;align-items:center;width:36px;min-height:36px}
.lb-source-note{display:block;margin-top:8px;color:var(--lb-muted);font-size:var(--lb-meta)}
.lb-world-summary{--od-gap:16px;align-items:center;flex-wrap:wrap;margin-top:8px}
.lb-world-summary>.lb-description{flex-basis:240px}
.lb-world-summary .lb-friends{flex:none}
.lb-related{--od-gap:12px;margin:16px 0 0;padding:0}
.lb-related dt{font-size:var(--lb-meta);color:var(--lb-muted)}
.lb-related dd{margin:0;color:var(--lb-secondary)}
.lb-entity-recent{margin-top:16px}
.lb-entity-recent h2{font:500 var(--lb-body)/1.5 inherit}
.lb-description{max-width:64ch;font-size:var(--lb-meta);color:var(--lb-muted)}
.lb-readers{--od-gap:8px;justify-content:center;color:var(--lb-muted);font-size:var(--lb-meta)}
.lb-reader{display:flex;align-items:center;gap:8px;white-space:nowrap}
.lb-agent-img{display:block;width:20px;flex:none;border-radius:4px}
.lb-toc{--od-gap:0;margin-top:24px}
.lb-toc-row{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:16px;width:100%;min-height:64px;padding:12px 16px;text-align:left;border-radius:var(--lb-radius)}
.lb-toc-row.has-update{grid-template-columns:32px minmax(0,1fr) max-content}
.lb-toc-row>.lb-toc-update{grid-column:3;grid-row:1;justify-self:end;align-self:center}
.lb-chapter-number{display:block;font:300 28px/1 var(--lb-display);font-style:italic;color:var(--lb-accent)}
.lb-toc-title{display:block;font:400 18px/1.4 var(--lb-display)}
.lb-toc-sub{display:block;font-size:var(--lb-meta);color:var(--lb-muted)}
.lb-badge{display:block;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;background:var(--lb-tint);color:var(--lb-accent);font-size:var(--lb-meta);white-space:nowrap}
.lb-begin-wrap{display:flex;justify-content:center;margin-top:16px}
.lb-page .lb-primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 16px;border:1px solid var(--lb-accent);border-radius:999px;background:var(--lb-accent);color:#fff;font-weight:500}
.lb-chapter{margin-top:16px;padding:32px;border:1px solid var(--lb-line);border-radius:8px;background:var(--app-surface-background);box-shadow:0 24px 48px -40px rgb(20 30 5 / .4);animation:lb-enter var(--lb-enter) ease-out both}
.lb-chapter-meta{--od-gap:8px;justify-content:space-between;font-size:var(--lb-meta);color:var(--lb-muted)}
.lb-chapter-label{display:block;letter-spacing:.08em;white-space:nowrap}
.lb-chapter h1{margin-top:16px;font:400 var(--lb-title)/1.2 var(--lb-display);letter-spacing:-.01em}
.lb-intro{margin-top:12px!important;color:var(--lb-secondary);font:italic 400 var(--lb-body)/1.75 var(--lb-display);text-wrap:pretty}
.lb-portrait{margin-top:24px!important;font:400 18px/1.75 var(--lb-display);text-wrap:pretty}
.lb-preferences{--od-gap:8px;list-style:none;padding:0;margin:24px 0 0}
.lb-preferences li{--od-gap:12px;align-items:baseline}
.lb-preferences svg{width:16px;height:16px;color:var(--lb-accent)}
.lb-updated{margin-top:16px!important;color:var(--lb-muted);font-size:var(--lb-meta)}
.lb-truths{--od-gap:12px;margin-top:24px}
.lb-truth{padding:16px;border-radius:var(--lb-radius);background:var(--app-page-background)}
.lb-truth-copy{font:400 18px/1.7 var(--lb-display);text-wrap:pretty}
.lb-truth-actions{--od-gap:8px 16px;margin-top:4px}
.lb-page .lb-source-button{color:var(--lb-accent);padding-inline:0}
.lb-page .lb-wrong-button{color:var(--lb-muted);padding-inline:0}
.lb-sources{--od-gap:8px;margin:8px 0 0;padding:0;list-style:none;color:var(--lb-secondary);font-size:var(--lb-meta)}
.lb-source{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px}
.lb-source time{display:block;color:var(--lb-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.lb-correction{margin-top:12px;padding-top:12px;border-top:1px solid var(--lb-line)}
.lb-correction label{display:block;font-size:var(--lb-meta);color:var(--lb-secondary);margin-bottom:8px}
.lb-correction-row{--od-gap:8px;align-items:stretch}
.lb-correction input{appearance:none;display:block;flex:1;min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--lb-line);border-radius:var(--lb-control);background:var(--app-surface-background);font:inherit;color:var(--lb-ink)}
.lb-correction .lb-primary{border-radius:var(--lb-control);flex:none}
.lb-correction-hint{margin-top:8px!important;font-size:var(--lb-meta);color:var(--lb-muted)}
.lb-feedback:empty{display:none}
.lb-feedback{margin-top:16px;padding:12px 16px;background:var(--lb-tint);border-radius:var(--lb-control);color:var(--lb-accent);font-size:var(--lb-meta)}
.lb-filters{--od-gap:8px;margin-top:24px}
.lb-page .lb-filter{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:999px;white-space:nowrap;color:var(--lb-secondary)}
.lb-filter[aria-pressed="true"]{background:var(--lb-tint);border-color:var(--lb-line);color:var(--lb-accent)}
.lb-page .lb-friends{border-color:var(--lb-line)}
.lb-items{--od-gap:4px;margin-top:16px}
.lb-item-button{display:flex;align-items:center;gap:16px;width:100%;min-height:64px;padding:12px 8px;text-align:left;border-radius:var(--lb-radius)}
.lb-mark{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:8px;background:var(--lb-tint);color:var(--lb-accent)}
.lb-item-name{display:block;font-size:var(--lb-body);line-height:1.5;overflow-wrap:anywhere}
.lb-item-meta{display:block;color:var(--lb-muted);font-size:var(--lb-meta);line-height:1.6;overflow-wrap:anywhere}
.lb-item-detail{padding:0 8px 16px 64px;font-size:var(--lb-body);color:var(--lb-secondary);animation:lb-enter var(--lb-enter) ease-out both}
.lb-item-detail p+p{margin-top:4px}
.lb-item-detail .lb-item-meta{margin-bottom:4px}
.lb-skill-agents{--od-gap:8px;flex:none}
.lb-skill-agents .lb-agent-img{width:20px}
.lb-skill-unassigned{display:block;color:var(--lb-muted);font-size:var(--lb-meta);max-width:100px;text-align:right}
.lb-chapter-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;margin-top:32px;padding-top:16px;border-top:1px solid var(--lb-line)}
.lb-chapter-nav .lb-link{padding:8px 0;min-width:0;color:var(--lb-secondary)}
.lb-chapter-nav .lb-next{justify-content:flex-end;text-align:right}
.lb-nav-label{display:block;overflow-wrap:normal}
.lb-dots{display:flex;align-items:center;justify-content:center;gap:0}
.lb-dot{display:grid;place-items:center;min-width:32px;min-height:44px;padding:8px}
.lb-dot>i{display:block;width:8px;height:8px;border-radius:50%;background:#a0a68e}
.lb-dot[aria-current="step"]>i{background:var(--lb-ink)}
.lb-empty{padding:24px 0;color:var(--lb-secondary)}
.lb-empty p+p{margin-top:8px}
.lb-page .lb-skeleton{height:16px;max-width:80%;border-radius:4px;background:var(--lb-line);margin:16px 0}
.lb-destination{min-width:0;min-height:0;height:100%;grid-template-rows:auto minmax(0,1fr)}
.lb-destination-body{min-width:0;min-height:0;height:100%}
.lb-return{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:8px 32px;border-bottom:1px solid var(--lb-line);color:var(--lb-secondary);background:var(--app-page-background);font-size:var(--lb-meta)}
.lb-return button{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 8px;border-radius:var(--lb-control);color:var(--lb-secondary)}
.lb-return p{margin:0;font-size:var(--lb-meta);color:var(--lb-danger)}
@keyframes lb-enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(hover:hover){.lb-page .lb-toc-row:hover,.lb-page .lb-item-button:hover,.lb-page .lb-link:hover,.lb-page .lb-filter:hover,.lb-return button:hover{background:var(--lb-hover);color:var(--lb-ink)}.lb-page .lb-primary:hover{background:#3b490b;color:white}.lb-dot:hover{background:var(--lb-hover);border-radius:var(--lb-control)}}
@container (max-width:360px){
  .lb-toc-row.has-update{grid-template-columns:32px minmax(0,1fr);row-gap:8px}
  .lb-toc-row>.lb-toc-update{grid-column:2;grid-row:2;justify-self:start}
}
@media(max-width:767px){
  .lb-toc-row.has-update{grid-template-columns:32px minmax(0,1fr);row-gap:8px}
  .lb-toc-row>.lb-toc-update{grid-column:2;grid-row:2;justify-self:start}
}
@media(max-width:767px){.lb-page{padding-inline:24px}.lb-chapter{padding:24px}.lb-page button,.lb-return button{min-height:44px}.lb-dot{min-width:44px}.lb-toc-row{gap:8px}.lb-chapter-nav{grid-template-columns:1fr 1fr}.lb-return{padding-inline:24px}}
@media(prefers-reduced-motion:reduce){.lb-page *,.lb-return *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
