.book-bank-page{--book-paper:#fffdf9;--book-paper-soft:#faf7f1;--book-ink:#24231f;--book-muted:#6e6a61;--book-line:#ddd8ce;--book-accent:#315d55;--book-source:#48627d;--book-source-soft:#f3f6fa;--book-ok:#315f46;--book-ok-soft:#e8f2ec;--book-warn:#81591f;--book-warn-soft:#fbf0dc;--book-danger:#7a4038;--book-danger-soft:#f8eae7;--book-unknown:#5b5572;--book-unknown-soft:#efedf6;color:var(--book-ink)}
.book-bank-page .card{min-width:0}
.book-list-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:18px}
.book-list-intro h2,.book-list-card h2{margin:.2rem 0 .25rem}
.book-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.book-list-card{display:flex;flex-direction:column;gap:11px}
.book-list-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.book-list-author{color:var(--book-muted);margin:0}
.book-list-status{font-size:.74rem;font-weight:800;line-height:1.25;border:1px solid var(--book-line);border-radius:999px;padding:5px 8px;color:var(--book-muted);background:var(--book-paper-soft);max-width:190px;text-align:right}
.book-basis{display:grid;gap:2px;border-top:1px solid var(--book-line);padding-top:10px}
.book-basis span{font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;color:var(--book-muted);font-weight:800}
.book-basis strong{font-size:.88rem}
.book-runtime-boundary{margin-top:18px}
.book-workflow-note{display:inline-block;margin-top:7px;color:var(--book-muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.book-layer-label{color:var(--book-accent);text-transform:uppercase;letter-spacing:.075em;font-size:.72rem;font-weight:850;margin-bottom:7px}
.book-layer-neutral{color:var(--book-muted)}
.book-sheet-back{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:var(--book-muted);font-size:.82rem}
.book-sheet-back a{color:var(--book-accent);font-weight:800;text-decoration:none}
.book-sheet-back span{border:1px solid var(--book-line);border-radius:999px;padding:4px 8px;font-weight:800}
.book-sheet-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:30px;padding:28px;background:var(--book-paper);border:1px solid var(--book-line);border-radius:22px;box-shadow:0 14px 38px rgba(49,45,38,.075)}
.book-sheet-hero h1{font-size:clamp(2.2rem,4.7vw,3.7rem);line-height:1.04;margin:4px 0 5px}
.book-sheet-subtitle{font-size:1.08rem;color:var(--book-muted);margin:0}
.book-sheet-note{max-width:680px;margin:18px 0 0;color:#4f4c45}
.book-meta{display:grid;align-content:start}
.book-meta-row{display:grid;grid-template-columns:102px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--book-line)}
.book-meta-row:last-child{border-bottom:0}
.book-meta-row span{color:var(--book-muted);font-size:.82rem}
.book-meta-row strong{font-size:.92rem}
.book-sheet-nav{position:sticky;top:0;z-index:4;display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 18px;padding:8px;border:1px solid var(--book-line);border-radius:14px;background:rgba(247,245,240,.95);backdrop-filter:blur(9px)}
.book-sheet-nav button{border:0;background:transparent;color:var(--book-ink);padding:8px 10px;border-radius:9px;font:inherit;font-size:.86rem;font-weight:760;cursor:pointer}
.book-sheet-nav button:hover,.book-sheet-nav button:focus-visible{background:var(--book-paper);outline:none}
.book-section{scroll-margin-top:82px;margin-bottom:16px;padding:24px;border:1px solid var(--book-line);border-radius:19px;background:var(--book-paper)}
.book-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.book-section-head h2{margin:0}
.book-section-head p{margin:4px 0 0;color:var(--book-muted);font-size:.86rem;max-width:660px}
.book-card-soft{background:var(--book-paper-soft)}
.book-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.book-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.book-readiness{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:13px 0 16px}
.book-readiness-item{border:1px solid var(--book-line);border-radius:12px;padding:11px;background:var(--book-paper-soft)}
.book-readiness-item span{display:block;color:var(--book-muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.book-readiness-item strong{display:block;margin-top:5px;font-size:.84rem;line-height:1.35}
.book-signal-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.book-signal-list li{border-left:3px solid var(--book-accent);padding:6px 0 6px 10px}
.book-signal-list strong{display:block}
.book-signal-list span{display:block;color:var(--book-muted);font-size:.84rem;margin-top:1px}
.book-open-items{display:grid;gap:7px}
.book-open-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--book-line)}
.book-open-item:last-child{border-bottom:0}
.book-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.book-source-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid #aab8c7;border-radius:7px;background:var(--book-source-soft);color:var(--book-source);padding:4px 7px;font-size:.72rem;font-weight:760;line-height:1.25;text-decoration:none}
.book-source-badge:before{content:"◈";font-size:.8em}
.book-state-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.book-state-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid transparent;padding:5px 8px;font-size:.71rem;font-weight:850;line-height:1.2}
.book-state-badge:before{content:"■";font-size:.58em}
.book-state-badge.verified{color:var(--book-ok);background:var(--book-ok-soft);border-color:#a8c5b4}
.book-state-badge.supported{color:#5e512e;background:#f6efd9;border-color:#d8c28e}
.book-state-badge.documented{color:#3f5b62;background:#eaf1f2;border-color:#adc3c7}
.book-state-badge.conflict{color:var(--book-warn);background:var(--book-warn-soft);border-color:#d9b77f}
.book-state-badge.unknown{color:var(--book-unknown);background:var(--book-unknown-soft);border-color:#b9b1cf}
.book-state-badge.not-assessed{color:#595650;background:#efede8;border-color:#c9c4ba}
.book-state-badge.not-applicable{color:#5e6570;background:#edf0f2;border-color:#bac1c8}
.book-state-badge.needs-verification{color:var(--book-danger);background:var(--book-danger-soft);border-color:#d6aaa4}
.book-details{margin-top:13px;padding-top:11px;border-top:1px solid var(--book-line)}
.book-details summary{cursor:pointer;color:var(--book-accent);font-weight:800}
.book-details[open] summary{margin-bottom:10px}
.book-provenance{display:grid;font-size:.84rem}
.book-prov-row{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--book-line)}
.book-prov-row:last-child{border-bottom:0}
.book-prov-row>span{color:var(--book-muted)}
.book-semantic-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}
.book-semantic-legend>div{border:1px dashed var(--book-line);border-radius:11px;padding:11px;color:var(--book-muted);font-size:.81rem}
.book-semantic-legend p{margin:5px 0 0}
.book-theme-list{display:flex;flex-wrap:wrap;gap:7px}
.book-theme-list span{border:1px solid var(--book-line);border-radius:9px;background:var(--book-paper-soft);padding:6px 8px;font-size:.8rem;font-weight:720}
.book-audit-section{background:#f7f5f0;border-style:dashed}
.book-audit-list{display:grid;gap:6px;list-style:none;margin:0;padding:0}
.book-audit-list li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid var(--book-line)}
.book-audit-list li:last-child{border-bottom:0}
.book-audit-list>li>span{font-weight:900;color:var(--book-ok)}
.book-audit-list p{margin:0}
.book-audit-list strong{font-size:.7rem;border:1px solid var(--book-line);border-radius:999px;background:#fff;padding:4px 7px;color:var(--book-muted)}
@media(max-width:980px){.book-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.book-readiness{grid-template-columns:repeat(2,minmax(0,1fr))}.book-sheet-hero{grid-template-columns:1fr}}
@media(max-width:720px){.book-list-grid,.book-grid-2,.book-grid-3,.book-readiness,.book-semantic-legend{grid-template-columns:1fr}.book-list-intro{align-items:flex-start;flex-direction:column}.book-list-card-head{display:block}.book-list-status{display:inline-block;margin-top:7px;text-align:left}.book-sheet-hero,.book-section{padding:18px;border-radius:16px}.book-meta-row{grid-template-columns:88px 1fr}.book-prov-row{grid-template-columns:1fr;gap:2px}.book-open-item{grid-template-columns:1fr}.book-open-item .book-state-badge{justify-self:start}.book-audit-list li{grid-template-columns:22px 1fr}.book-audit-list strong{grid-column:2;justify-self:start}.book-sheet-nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.book-sheet-nav button{white-space:nowrap}}


/* Kartotéka private workspace */
.kartoteka-section-tabs .book-realization-tab{font:inherit;cursor:pointer}
.kartoteka-capture-panel{padding:0;overflow:hidden}
.kartoteka-capture-panel>summary{list-style:none}
.kartoteka-capture-panel>summary::-webkit-details-marker{display:none}
.kartoteka-capture-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;cursor:pointer;user-select:none}
.kartoteka-capture-summary:hover{background:var(--book-paper-soft)}
.kartoteka-capture-summary>span:first-child{display:grid;gap:3px}
.kartoteka-capture-summary strong{font-size:1.12rem}
.kartoteka-capture-summary small{color:var(--book-muted);font-size:.78rem;font-weight:600}
.kartoteka-summary-action{color:var(--book-accent);font-size:.78rem;font-weight:800}
.kartoteka-summary-action .when-open{display:none}
.kartoteka-capture-panel[open] .kartoteka-summary-action .when-closed{display:none}
.kartoteka-capture-panel[open] .kartoteka-summary-action .when-open{display:inline}
.kartoteka-capture-body{padding:0 22px 22px;border-top:1px solid var(--book-line)}
.kartoteka-capture-intro{margin:14px 0}
.kartoteka-quote-form{display:grid;gap:14px;padding:16px}
.kartoteka-link-grid{align-items:start}
.kartoteka-pick-panel{padding:0;overflow:hidden}
.kartoteka-pick-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;padding:12px 14px;cursor:pointer;font-weight:800}
.kartoteka-pick-panel>summary::-webkit-details-marker{display:none}
.kartoteka-pick-panel>summary:hover{background:#fff}
.kartoteka-selection-count{white-space:nowrap;border:1px solid var(--book-line);border-radius:999px;padding:3px 7px;color:var(--book-muted);background:var(--book-paper);font-size:.69rem;font-weight:750}
.kartoteka-pick-body{padding:0 14px 14px;border-top:1px solid var(--book-line)}
.kartoteka-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:7px;margin:10px 0 12px}
.kartoteka-choice{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid var(--book-line);border-radius:10px;background:var(--book-paper);font-size:.82rem;line-height:1.25;cursor:pointer}
.kartoteka-choice:hover{border-color:var(--book-accent);background:#fff}
.kartoteka-choice:has(input:checked){border-color:var(--book-accent);background:#edf4f1}
.kartoteka-choice input{flex:0 0 auto;margin:0;accent-color:var(--book-accent)}
.kartoteka-choice span{min-width:0;overflow-wrap:anywhere}
.kartoteka-inline-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.kartoteka-inline-create input{min-width:0}
@media(max-width:760px){
  .kartoteka-capture-summary{padding:15px 16px}
  .kartoteka-capture-body{padding:0 12px 14px}
  .kartoteka-quote-form{padding:12px}
  .kartoteka-choice-grid{grid-template-columns:1fr}
  .kartoteka-inline-create{grid-template-columns:1fr}
  .kartoteka-inline-create .btn{justify-self:start}
}


/* Kartotéka quote digest v2 — compact desktop/mobile disclosure list.
   Mirrors the Tea collection scan-first pattern without coupling Kartotéka
   persistence semantics to Tea Bank collection runtime. */
#kartoteka-filter-form .book-grid-3{
  grid-template-columns:minmax(230px,1.45fr) repeat(3,minmax(155px,1fr));
}
.kartoteka-quote-digest{
  display:grid;
  overflow:hidden;
  border:1px solid var(--book-line);
  border-radius:15px;
  background:var(--book-paper);
}
.kartoteka-quote-digest>.card{margin:0;border:0;border-radius:0;box-shadow:none}
.kartoteka-quote-head,
.kartoteka-quote-row{
  display:grid;
  grid-template-columns:minmax(300px,2.15fr) minmax(150px,.9fr) minmax(190px,1.15fr) minmax(105px,.55fr) 42px;
  align-items:stretch;
}
.kartoteka-quote-head{
  min-height:38px;
  border-bottom:1px solid var(--book-line);
  background:rgba(23,63,55,.045);
  color:var(--book-muted);
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.kartoteka-quote-head>span{
  display:flex;
  align-items:center;
  padding:8px 10px;
}
.kartoteka-quote-row{
  position:relative;
  border-bottom:1px solid rgba(61,68,60,.12);
  background:var(--book-paper);
  transition:background .12s ease;
}
.kartoteka-quote-row:last-child{border-bottom:0}
.kartoteka-quote-row:hover{background:rgba(23,63,55,.025)}
.kartoteka-quote-preview,
.kartoteka-quote-work,
.kartoteka-quote-themes,
.kartoteka-quote-locator{
  min-width:0;
  padding:10px 11px;
  border-right:1px solid rgba(61,68,60,.08);
}
.kartoteka-quote-preview{display:grid;gap:4px}
.kartoteka-quote-kind{
  overflow:hidden;
  color:var(--book-accent);
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.055em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.kartoteka-quote-preview blockquote{
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  color:var(--book-ink);
  font-size:.84rem;
  font-style:normal;
  line-height:1.38;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.kartoteka-mobile-meta{display:none}
.kartoteka-quote-work{
  display:grid;
  align-content:center;
  gap:3px;
}
.kartoteka-quote-work strong{
  overflow:hidden;
  color:var(--book-ink);
  font-size:.8rem;
  line-height:1.25;
  text-overflow:ellipsis;
}
.kartoteka-quote-work small{
  color:var(--book-muted);
  font-size:.64rem;
}
.kartoteka-quote-themes{
  display:flex;
  align-items:center;
}
.kartoteka-theme-chips{
  display:flex;
  min-width:0;
  flex-wrap:wrap;
  gap:4px;
}
.kartoteka-theme-chips>span{
  display:inline-flex;
  max-width:100%;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  overflow:hidden;
  border:1px solid rgba(32,60,52,.13);
  border-radius:999px;
  background:rgba(23,63,55,.055);
  color:#35584f;
  font-size:.62rem;
  font-weight:780;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kartoteka-theme-chips>span.more{
  background:var(--book-paper-soft);
  color:var(--book-muted);
}
.kartoteka-quote-locator{
  display:grid;
  align-content:center;
  gap:2px;
}
.kartoteka-quote-locator code{
  overflow-wrap:anywhere;
  color:var(--book-accent);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.68rem;
}
.kartoteka-quote-locator small{
  color:var(--book-muted);
  font-size:.62rem;
}
.kartoteka-quote-toggle{
  display:grid;
  place-items:center;
  align-self:center;
  justify-self:center;
  width:29px;
  height:29px;
  padding:0;
  border:1px solid rgba(32,60,52,.16);
  border-radius:50%;
  background:#fff;
  color:#52655e;
  cursor:pointer;
}
.kartoteka-quote-toggle:hover,
.kartoteka-quote-toggle:focus-visible{
  border-color:var(--book-accent);
  color:var(--book-accent);
  outline:none;
  box-shadow:0 0 0 3px rgba(23,63,55,.07);
}
.kartoteka-quote-toggle span{
  display:block;
  font-size:20px;
  line-height:1;
  transform:rotate(90deg);
  transition:transform .14s ease;
}
.kartoteka-quote-row[data-expanded="1"] .kartoteka-quote-toggle span{
  transform:rotate(-90deg);
}
.kartoteka-quote-detail{
  display:none;
  grid-column:1/-1;
  padding:17px 18px 19px;
  border-top:1px solid rgba(61,68,60,.1);
  background:rgba(247,245,240,.68);
}
.kartoteka-quote-row[data-expanded="1"] .kartoteka-quote-detail{display:block}
.kartoteka-quote-full{
  margin-bottom:14px;
  padding:14px 16px;
  border:1px solid var(--book-line);
  border-radius:13px;
  background:#fff;
}
.kartoteka-quote-full blockquote{
  margin:7px 0 0;
  color:var(--book-ink);
  font-size:.94rem;
  font-style:normal;
  line-height:1.58;
}
.kartoteka-quote-detail .book-provenance{
  max-width:980px;
}
.kartoteka-quote-detail .book-details{
  max-width:980px;
}
@media(max-width:1080px){
  #kartoteka-filter-form .book-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kartoteka-quote-head,
  .kartoteka-quote-row{
    grid-template-columns:minmax(280px,1.9fr) minmax(145px,.85fr) minmax(160px,1fr) minmax(95px,.55fr) 40px;
  }
}
@media(max-width:720px){
  #kartoteka-filter-form .book-grid-3{grid-template-columns:1fr}
  .kartoteka-quote-digest{
    gap:7px;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .kartoteka-quote-head{display:none}
  .kartoteka-quote-row{
    grid-template-columns:minmax(0,1fr) 38px;
    overflow:hidden;
    border:1px solid rgba(61,68,60,.14);
    border-radius:13px;
    background:rgba(255,255,255,.78);
  }
  .kartoteka-quote-row:last-child{border-bottom:1px solid rgba(61,68,60,.14)}
  .kartoteka-quote-preview{
    grid-column:1;
    grid-row:1;
    min-height:72px;
    padding:9px 6px 7px 11px;
    border-right:0;
    align-content:center;
  }
  .kartoteka-quote-kind{font-size:.57rem}
  .kartoteka-quote-preview blockquote{
    font-size:.82rem;
    line-height:1.28;
    -webkit-line-clamp:2;
  }
  .kartoteka-mobile-meta{
    display:block;
    overflow:hidden;
    color:var(--book-muted);
    font-size:.62rem;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .kartoteka-quote-work,
  .kartoteka-quote-locator{display:none}
  .kartoteka-quote-themes{
    grid-column:1/-1;
    grid-row:2;
    padding:0 10px 9px;
    border-right:0;
  }
  .kartoteka-theme-chips{
    flex-wrap:nowrap;
    overflow:hidden;
  }
  .kartoteka-theme-chips>span{
    flex:0 1 auto;
    min-width:0;
    font-size:.58rem;
  }
  .kartoteka-quote-toggle{
    grid-column:2;
    grid-row:1;
    align-self:center;
    margin-right:7px;
  }
  .kartoteka-quote-detail{
    grid-column:1/-1;
    grid-row:3;
    padding:13px 11px 15px;
  }
  .kartoteka-quote-full{
    padding:12px;
  }
  .kartoteka-quote-full blockquote{
    font-size:.88rem;
    line-height:1.5;
  }
}


/* -------------------------------------------------------------------------- */
/* Book Bank human Claim Review v1                                             */
/* -------------------------------------------------------------------------- */
.book-review-page{--review-accent:#365f55}
.book-review-boundary{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom:16px;
  border-left:4px solid var(--review-accent);
}
.book-review-boundary strong{white-space:nowrap}
.book-review-boundary span{color:var(--book-muted);line-height:1.5}
.book-review-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) minmax(170px,.8fr) minmax(180px,.9fr) auto;
  gap:10px;
  align-items:end;
  margin-bottom:10px;
}
.book-review-toolbar label,
.book-review-detail label{
  display:grid;
  gap:6px;
  color:var(--book-muted);
  font-size:.72rem;
  font-weight:760;
}
.book-review-toolbar input,
.book-review-toolbar select,
.book-review-detail input,
.book-review-detail select,
.book-review-detail textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(61,68,60,.18);
  border-radius:10px;
  background:#fff;
  color:var(--book-ink);
  font:inherit;
}
.book-review-toolbar input,
.book-review-toolbar select,
.book-review-detail input,
.book-review-detail select{min-height:40px;padding:8px 10px}
.book-review-detail textarea{padding:10px;line-height:1.45;resize:vertical}
.book-review-summary{
  margin:8px 0 12px;
  color:var(--book-muted);
  font-size:.78rem;
}
.book-review-layout{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.65fr);
  gap:14px;
  align-items:start;
}
.book-review-queue,
.book-review-detail{padding:0;overflow:hidden}
.book-review-queue .book-section-head{padding:15px 16px 12px;margin:0;border-bottom:1px solid rgba(61,68,60,.11)}
.book-review-list{display:grid;max-height:72vh;overflow:auto}
.book-review-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  width:100%;
  padding:12px 14px;
  border:0;
  border-bottom:1px solid rgba(61,68,60,.09);
  background:#fff;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.book-review-row:hover,
.book-review-row.active{background:rgba(23,63,55,.055)}
.book-review-row.active{box-shadow:inset 3px 0 0 var(--review-accent)}
.book-review-row>span:first-child{display:grid;min-width:0;gap:3px}
.book-review-row small{overflow:hidden;color:var(--book-accent);font-size:.63rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.045em}
.book-review-row strong{display:-webkit-box;overflow:hidden;font-size:.82rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.book-review-row em{overflow:hidden;color:var(--book-muted);font-size:.64rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.book-review-row>span:last-child{color:var(--book-muted);font-size:.64rem;white-space:nowrap}
.book-review-empty{display:grid;gap:6px;padding:28px 20px;color:var(--book-muted);text-align:center}
.book-review-empty.error{color:#8b3636}
.book-review-detail-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
  border-bottom:1px solid rgba(61,68,60,.11);
  background:rgba(247,245,240,.62);
}
.book-review-detail-head h2{margin:3px 0 4px;font-size:1.1rem;line-height:1.3}
.book-review-detail-head p,
.book-review-detail-head small{margin:0;color:var(--book-muted);font-size:.7rem}
.book-review-detail-head>div:last-child{display:flex;flex-wrap:wrap;gap:5px;align-content:flex-start;justify-content:flex-end}
.book-review-badge{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:3px 7px;
  border:1px solid rgba(61,68,60,.13);
  border-radius:999px;
  background:var(--book-paper-soft);
  color:#53635d;
  font-size:.58rem;
  font-weight:820;
  letter-spacing:.025em;
}
.book-review-badge.good{background:rgba(49,108,83,.08);color:#286248}
.book-review-badge.warn{background:rgba(166,117,35,.09);color:#8a6223}
.book-review-badge.bad{background:rgba(150,55,55,.08);color:#8b3636}
.book-review-step{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  padding:18px 20px;
  border-bottom:1px solid rgba(61,68,60,.09);
}
.book-review-step>b{
  display:grid;
  place-items:center;
  width:29px;height:29px;
  border-radius:50%;
  background:var(--review-accent);
  color:#fff;
  font-size:.72rem;
}
.book-review-step h3{margin:3px 0 10px;font-size:.96rem}
.book-review-step>div{min-width:0}
.book-review-statement{font-size:.95rem;line-height:1.55}
.book-review-source,
.book-review-locator,
.book-review-relation,
.book-review-gap{
  margin:8px 0;
  padding:10px 12px;
  border:1px solid rgba(61,68,60,.12);
  border-radius:11px;
  background:rgba(255,255,255,.75);
}
.book-review-source>div:first-child{display:flex;gap:8px;align-items:center;justify-content:space-between}
.book-review-source p,
.book-review-relation p,
.book-review-gap p{margin:5px 0;color:var(--book-muted);font-size:.72rem;line-height:1.45}
.book-review-source small{display:block;color:var(--book-muted);font-size:.66rem;line-height:1.45}
.book-review-locator{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.book-review-locator .book-details{grid-column:1/-1}
.book-review-json pre{
  max-height:320px;
  overflow:auto;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:.67rem;
  line-height:1.45;
}
.book-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.book-review-supersede{margin-top:14px}
.book-review-supersede label{margin:10px 0}
.book-review-privacy{
  padding:11px 20px;
  background:rgba(247,245,240,.7);
  color:var(--book-muted);
  font-size:.64rem;
}
@media(max-width:900px){
  .book-review-toolbar{grid-template-columns:1fr 1fr}
  .book-review-toolbar label:first-child{grid-column:1/-1}
  .book-review-layout{grid-template-columns:1fr}
  .book-review-list{max-height:none}
  .book-review-detail{scroll-margin-top:10px}
}
@media(max-width:620px){
  .book-review-boundary{display:grid}
  .book-review-toolbar{grid-template-columns:1fr}
  .book-review-toolbar label:first-child{grid-column:auto}
  .book-review-detail-head{display:grid}
  .book-review-detail-head>div:last-child{justify-content:flex-start}
  .book-review-step{grid-template-columns:28px minmax(0,1fr);gap:9px;padding:15px 12px}
  .book-review-step>b{width:25px;height:25px}
  .book-review-row{padding:11px 10px}
  .book-review-row>span:last-child{font-size:.58rem}
  .book-review-actions{display:grid;grid-template-columns:1fr}
  .book-review-actions .btn{width:100%}
}


/* -------------------------------------------------------------------------- */
/* Book Bank UI v1 — isolated Book-owned presentation                         */
/*                                                                            */
/* Visual behavior intentionally echoes selected Tea Bank patterns, but this  */
/* implementation is Book-only. Do not couple these selectors/runtime to Tea. */
/* -------------------------------------------------------------------------- */

.book-bank-index-head{align-items:flex-start}
.book-bank-index-head .book-list-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.book-digest-toolbar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:12px;
  align-items:end;
  margin:2px 0 12px;
  padding:11px 13px;
  border:1px solid rgba(61,68,60,.13);
  border-radius:16px;
  background:rgba(255,255,255,.58);
}
.book-digest-toolbar>small{padding-bottom:9px;color:var(--book-muted);font-size:.72rem}
.book-digest-toolbar>small b{color:var(--book-accent)}
.book-digest-search{display:grid;gap:5px;color:var(--book-muted);font-size:.69rem;font-weight:800;letter-spacing:.025em}
.book-digest-search input{
  width:100%;
  min-height:38px;
  box-sizing:border-box;
  padding:8px 11px;
  border:1px solid rgba(61,68,60,.17);
  border-radius:11px;
  background:#fff;
  color:var(--book-ink);
  font:inherit;
  font-size:.82rem;
  outline:none;
}
.book-digest-search input:focus{border-color:var(--book-accent);box-shadow:0 0 0 3px rgba(49,93,85,.08)}
.book-digest{
  display:grid;
  overflow:hidden;
  border:1px solid var(--book-line);
  border-radius:18px;
  background:rgba(255,255,255,.72);
}
.book-digest-head,
.book-digest-row{
  display:grid;
  grid-template-columns:minmax(260px,1.45fr) minmax(135px,.78fr) minmax(180px,1fr) minmax(150px,.82fr) 44px;
  align-items:stretch;
}
.book-digest-head{
  min-height:38px;
  border-bottom:1px solid rgba(61,68,60,.12);
  background:rgba(49,93,85,.045);
  color:var(--book-muted);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.book-digest-head>span{display:flex;align-items:center;padding:8px 10px}
.book-digest-head>span+span{border-left:1px solid rgba(61,68,60,.07)}
.book-digest-row{
  position:relative;
  border-bottom:1px solid rgba(61,68,60,.095);
  background:var(--book-paper);
  transition:background .12s ease;
}
.book-digest-row:last-of-type{border-bottom:0}
.book-digest-row:hover{background:#fff}
.book-digest-book{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
  padding:9px 10px;
}
.book-digest-book>div{display:grid;min-width:0;gap:1px}
.book-digest-book .book-layer-label{margin:0;font-size:.58rem}
.book-digest-book a{min-width:0;color:inherit;text-decoration:none}
.book-digest-book strong{display:block;overflow:hidden;color:var(--book-ink);font-size:.88rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.book-digest-book a:hover strong,.book-digest-book a:focus-visible strong{color:var(--book-accent);text-decoration:underline;text-underline-offset:2px}
.book-digest-book>div>span{overflow:hidden;color:var(--book-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.book-digest-mobile-state{display:none}
.book-digest-cell{
  display:flex;
  min-width:0;
  align-items:center;
  padding:9px 10px;
  border-left:1px solid rgba(61,68,60,.07);
  color:#59564f;
  font-size:.72rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.book-digest-cell .book-list-status{display:inline-block;max-width:100%;margin:0;text-align:left}
.book-digest-toggle{
  display:grid;
  place-items:center;
  align-self:center;
  justify-self:center;
  width:29px;
  height:29px;
  padding:0;
  border:1px solid rgba(49,93,85,.16);
  border-radius:50%;
  background:#fff;
  color:#52655e;
  cursor:pointer;
}
.book-digest-toggle:hover,.book-digest-toggle:focus-visible{border-color:var(--book-accent);color:var(--book-accent);outline:none;box-shadow:0 0 0 3px rgba(49,93,85,.07)}
.book-digest-toggle span{display:block;font-size:20px;line-height:1;transform:rotate(90deg);transition:transform .14s ease}
.book-digest-row[data-expanded="1"] .book-digest-toggle span{transform:rotate(-90deg)}
.book-digest-detail{
  display:none;
  grid-column:1/-1;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:12px 14px 14px 66px;
  border-top:1px solid rgba(61,68,60,.08);
  background:rgba(247,245,240,.52);
}
.book-digest-row[data-expanded="1"] .book-digest-detail{display:grid}
.book-digest-detail p{max-width:78ch;margin:0;color:var(--book-muted);font-size:.78rem;line-height:1.48}
.book-digest-detail-actions{display:flex;justify-content:flex-end}
.book-digest-empty{padding:28px 16px;color:var(--book-muted);text-align:center;font-size:.8rem}
.book-bank-runtime-boundary{margin-top:14px}

.book-cover{display:grid;margin:0;overflow:hidden;border:1px solid rgba(61,68,60,.14);background:#ece8df;box-shadow:0 7px 18px rgba(49,45,38,.10)}
.book-cover img{display:block;width:100%;height:100%;object-fit:cover}
.book-cover-thumb{width:42px;aspect-ratio:2/3;border-radius:5px}
.book-cover-hero{width:min(100%,178px);aspect-ratio:2/3;border-radius:10px}
.book-cover-missing{place-content:center;gap:4px;padding:7px;box-sizing:border-box;background:linear-gradient(155deg,#f0ece2,#dfd8ca);color:#706b60;text-align:center}
.book-cover-missing small{font-size:.52rem;font-weight:850;letter-spacing:.12em;opacity:.72}
.book-cover-missing strong{color:#405e56;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1rem,3vw,2.2rem);font-weight:600;letter-spacing:.02em}
.book-cover-missing span{overflow:hidden;font-size:.54rem;line-height:1.2;text-overflow:ellipsis}

.book-sheet-hero{
  scroll-margin-top:84px;
  grid-template-columns:minmax(140px,178px) minmax(0,1fr) minmax(250px,310px);
  align-items:start;
  gap:24px;
}
.book-hero-cover-column{display:grid;justify-items:center}
.book-hero-main{min-width:0}
.book-hero-context{
  display:grid;
  align-content:start;
  gap:8px;
  min-width:0;
  padding:16px;
  border:1px solid var(--book-line);
  border-radius:15px;
  background:var(--book-paper-soft);
}
.book-hero-context h2{margin:0;color:#304d46;font-size:.98rem;line-height:1.35}
.book-hero-context>p{margin:0;color:var(--book-muted);font-size:.76rem;line-height:1.48}
.book-hero-context .book-meta{margin-top:6px;border-top:1px solid var(--book-line)}
.book-hero-context .book-meta-row{grid-template-columns:88px 1fr;padding:7px 0}
.book-hero-context .book-meta-row span{font-size:.72rem}
.book-hero-context .book-meta-row strong{font-size:.78rem}
.book-hero-memory{display:grid;gap:7px;margin-top:18px}
.book-hero-memory>small{color:var(--book-muted);font-size:.62rem;font-weight:850;letter-spacing:.075em}
.book-hero-memory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.book-hero-memory button{
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  gap:7px;
  align-items:start;
  min-width:0;
  padding:9px;
  border:1px solid rgba(49,93,85,.13);
  border-radius:12px;
  background:#fff;
  color:inherit;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.book-hero-memory button:hover,.book-hero-memory button:focus-visible{border-color:rgba(49,93,85,.38);background:#fffefb;outline:none}
.book-hero-memory button>strong{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(49,93,85,.10);color:var(--book-accent);font-size:.65rem}
.book-hero-memory button>span{display:grid;min-width:0;gap:2px}
.book-hero-memory button b{font-size:.72rem;line-height:1.25}
.book-hero-memory button small{display:-webkit-box;overflow:hidden;color:var(--book-muted);font-size:.62rem;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}

.book-sheet-nav{z-index:12}
.book-sheet-nav button.active{background:var(--book-accent);color:#fff;box-shadow:0 1px 2px rgba(30,55,49,.15)}
.book-sheet-nav button[aria-current="location"]{background:var(--book-accent);color:#fff}
.book-mobile-navigation{display:none}
.book-edge-panel[hidden],.book-edge-scrim[hidden]{display:none!important}
body.book-sheet-mobile-overlay-open{overflow:hidden}

.book-gap-state{
  display:grid;
  gap:4px;
  padding:16px 17px;
  border:1px dashed rgba(49,93,85,.23);
  border-radius:14px;
  background:rgba(250,247,241,.76);
  color:var(--book-muted);
}
.book-gap-state b{color:#35584f;font-size:.88rem}
.book-gap-state span{font-size:.78rem;line-height:1.45}
.book-odtienostrom-section{background:linear-gradient(180deg,#fffdf9,#fbf8f1)}
.book-tea-resonance-section{background:#fbfaf6}
.book-questions-slot{margin-top:14px}
.book-questions-slot .book-section-head{margin-bottom:8px}
.book-questions-slot h3{margin:0}
.book-reception{margin-top:16px;padding-top:0;border-top:0}
.book-reception>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  border:1px solid var(--book-line);
  border-radius:13px;
  background:var(--book-paper-soft);
  list-style:none;
}
.book-reception>summary::-webkit-details-marker{display:none}
.book-reception>summary>span{display:grid;gap:2px}
.book-reception>summary b{color:var(--book-accent);font-size:.86rem}
.book-reception>summary small{color:var(--book-muted);font-size:.68rem;font-weight:600}
.book-reception>summary i{font-style:normal;color:var(--book-muted);transition:transform .15s ease}
.book-reception[open]>summary{margin-bottom:10px}
.book-reception[open]>summary i{transform:rotate(180deg)}

@media(max-width:1080px){
  .book-digest-head,.book-digest-row{grid-template-columns:minmax(220px,1.3fr) minmax(120px,.72fr) minmax(150px,.9fr) minmax(135px,.78fr) 42px}
  .book-sheet-hero{grid-template-columns:150px minmax(0,1fr)}
  .book-hero-context{grid-column:1/-1}
  .book-hero-memory>div{grid-template-columns:1fr 1fr 1fr}
}

@media(max-width:720px){
  .book-bank-index-head .book-list-actions{justify-content:flex-start}
  .book-digest-toolbar{grid-template-columns:1fr;gap:5px;padding:9px;border-radius:13px}
  .book-digest-toolbar>small{padding:0 2px 2px}
  .book-digest{gap:7px;overflow:visible;border:0;border-radius:0;background:transparent}
  .book-digest-head{display:none}
  .book-digest-row{
    grid-template-columns:minmax(0,1fr) 40px;
    overflow:hidden;
    border:1px solid rgba(61,68,60,.14);
    border-radius:13px;
    background:rgba(255,255,255,.79);
  }
  .book-digest-row:last-of-type{border-bottom:1px solid rgba(61,68,60,.14)}
  .book-digest-book{grid-column:1;grid-row:1;grid-template-columns:42px minmax(0,1fr);min-height:68px;padding:8px 5px 8px 10px}
  .book-digest-book strong{font-size:.88rem}
  .book-digest-mobile-state{display:block!important;overflow:hidden;margin-top:2px;color:var(--book-muted);font-size:.58rem!important;font-weight:720;text-overflow:ellipsis;white-space:nowrap}
  .book-digest-toggle{grid-column:2;grid-row:1;margin-right:7px}
  .book-digest-cell{display:none;grid-column:1/-1;min-height:auto;padding:8px 10px;border-top:1px solid rgba(61,68,60,.07);border-left:0;background:rgba(250,247,241,.46)}
  .book-digest-row[data-expanded="1"] .book-digest-cell{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:start}
  .book-digest-row[data-expanded="1"] .book-digest-cell:before{content:attr(data-label);color:var(--book-muted);font-size:.58rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
  .book-digest-detail{grid-column:1/-1;grid-template-columns:1fr;padding:11px 10px 13px;border-top:1px solid rgba(61,68,60,.07)}
  .book-digest-detail-actions{justify-content:flex-start}
  .book-cover-thumb{width:40px}

  .book-sheet-hero{
    grid-template-columns:96px minmax(0,1fr);
    gap:14px;
    padding:16px;
    border-radius:17px;
  }
  .book-cover-hero{width:96px;border-radius:7px}
  .book-hero-main .book-layer-label{font-size:.6rem}
  .book-sheet-hero h1{font-size:clamp(1.75rem,8vw,2.5rem)}
  .book-sheet-subtitle{font-size:.88rem;line-height:1.35}
  .book-sheet-note{margin-top:10px;font-size:.78rem;line-height:1.5}
  .book-hero-memory{grid-column:1/-1;margin-top:12px}
  .book-hero-memory>div{grid-template-columns:1fr}
  .book-hero-context{grid-column:1/-1;padding:13px}
  .book-sheet-nav{display:none!important}

  .book-mobile-navigation{display:block;position:relative;margin:10px 0 12px}
  .book-mobile-carousel{display:grid;grid-template-columns:minmax(0,.72fr) minmax(150px,1.7fr) minmax(0,.72fr);gap:6px;align-items:stretch}
  .book-mobile-neighbour{
    display:flex;
    min-width:0;
    min-height:44px;
    align-items:center;
    gap:4px;
    padding:4px 2px;
    border:0;
    background:transparent;
    color:#466158;
    opacity:.48;
    font:inherit;
    cursor:pointer;
  }
  .book-mobile-neighbour:hover,.book-mobile-neighbour:focus-visible{opacity:.82}
  .book-mobile-neighbour>span{color:var(--book-accent);font-size:22px;line-height:1}
  .book-mobile-neighbour small{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:750;line-height:1.15}
  .book-mobile-neighbour-prev{justify-content:flex-start;text-align:left}
  .book-mobile-neighbour-next{justify-content:flex-end;text-align:right}
  .book-mobile-active-wrap{display:grid;align-items:stretch;overflow:hidden;border:1px solid rgba(49,93,85,.16);border-radius:999px;background:var(--book-paper);box-shadow:0 5px 14px rgba(31,57,49,.08)}
  .book-mobile-active-pill{min-width:0;min-height:44px;padding:8px 10px 8px 14px;border:0;background:var(--book-accent);color:#fff;font:inherit;font-size:12px;font-weight:850;line-height:1.15;text-align:center;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:pointer}
  .book-mobile-active-pill span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .book-mobile-active-pill:focus-visible,.book-mobile-neighbour:focus-visible{outline:2px solid #b88645;outline-offset:2px}

  .book-edge-handle{
    position:fixed;
    right:max(0px,env(safe-area-inset-right));
    top:57%;
    z-index:72;
    display:grid;
    place-items:center;
    gap:6px;
    width:48px;
    min-height:76px;
    padding:9px 5px;
    border:1px solid rgba(255,255,255,.16);
    border-right:0;
    border-radius:18px 0 0 18px;
    background:#173f37;
    color:#fff;
    box-shadow:0 8px 24px rgba(13,43,36,.28);
    font:inherit;
    cursor:pointer;
  }
  .book-edge-handle:hover,.book-edge-handle[aria-expanded="true"]{background:#1d5549}
  .book-sections-icon{position:relative;display:block;width:19px;height:16px}
  .book-sections-icon::before{content:"";position:absolute;left:0;top:2px;width:3px;height:3px;border-radius:50%;background:#d8b56a;box-shadow:0 5px #d8b56a,0 10px #d8b56a}
  .book-sections-icon::after{content:"";position:absolute;left:6px;top:2.5px;width:13px;height:2px;border-radius:999px;background:#fff;box-shadow:0 5px #fff,0 10px #fff}
  .book-edge-handle>small{color:rgba(255,255,255,.78);font-size:9px;font-weight:850}
  .book-edge-handle:focus-visible{outline:2px solid #d8b56a;outline-offset:2px}
  .book-edge-scrim{position:fixed;inset:0;z-index:73;border:0;background:rgba(24,38,33,.25);backdrop-filter:blur(1px)}
  .book-edge-panel{
    position:fixed;
    right:max(12px,calc(env(safe-area-inset-right) + 8px));
    top:50%;
    z-index:74;
    width:min(82vw,310px);
    max-height:min(78vh,650px);
    transform:translateY(-50%);
    overflow:auto;
    padding:13px;
    border:1px solid rgba(50,73,64,.15);
    border-radius:20px;
    background:#f8f4e8;
    box-shadow:0 18px 48px rgba(20,38,32,.28);
  }
  .book-edge-panel header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:0 2px}
  .book-edge-panel header>div{display:grid;gap:2px}
  .book-edge-panel header small{color:#78867f;font-size:8.5px;font-weight:850;letter-spacing:.08em}
  .book-edge-panel header b{color:var(--book-accent);font-size:16px}
  .book-edge-panel header>button{width:34px;height:34px;border:1px solid rgba(45,72,63,.14);border-radius:50%;background:var(--book-paper);color:#214b41;font-size:21px;cursor:pointer}
  .book-edge-list{display:grid;gap:6px}
  .book-edge-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:10px 11px;border:1px solid rgba(48,76,66,.12);border-radius:999px;background:var(--book-paper);color:#294f45;font:inherit;text-align:left;cursor:pointer}
  .book-edge-list>button span{min-width:0;font-size:11.5px;font-weight:760}
  .book-edge-list>button small{color:#8a958f;font-size:8.5px;font-weight:850}
  .book-edge-list>button.active{border-color:var(--book-accent);background:var(--book-accent);color:#fff}
  .book-edge-list>button.active small{color:rgba(255,255,255,.7)}

  .book-section{scroll-margin-top:14px;padding:17px;border-radius:16px}
  .book-readiness{grid-template-columns:1fr}
  .book-reception>summary{align-items:flex-start}
}

@media(max-width:390px){
  .book-mobile-carousel{grid-template-columns:minmax(0,.58fr) minmax(146px,1.85fr) minmax(0,.58fr);gap:3px}
  .book-mobile-neighbour small{font-size:8.5px}
  .book-sheet-hero{grid-template-columns:84px minmax(0,1fr);gap:11px;padding:14px}
  .book-cover-hero{width:84px}
  .book-sheet-hero h1{font-size:1.75rem}
}


/* Book cover picker v1 — Book-owned UI, no Tea/shared component dependency */
.book-cover-controls{display:grid;justify-items:center;gap:6px;width:100%;margin-top:9px}
.book-cover-manage{min-height:32px;padding:6px 11px;border:1px solid rgba(49,93,85,.2);border-radius:999px;background:#fff;color:var(--book-accent);font:inherit;font-size:.68rem;font-weight:850;cursor:pointer}
.book-cover-manage:hover,.book-cover-manage:focus-visible{border-color:var(--book-accent);outline:none;box-shadow:0 0 0 3px rgba(49,93,85,.08)}
.book-cover-manage:disabled{cursor:not-allowed;opacity:.48}
.book-cover-inline-status{max-width:180px;color:var(--book-muted);font-size:.58rem;line-height:1.3;text-align:center}
body.book-cover-picker-open{overflow:hidden}
.book-cover-picker-scrim{position:fixed;inset:0;z-index:83;border:0;background:rgba(24,38,33,.33);backdrop-filter:blur(1px)}
.book-cover-picker{
  position:fixed;
  inset:5vh max(18px,calc((100vw - min(1040px,94vw))/2));
  z-index:84;
  overflow:auto;
  padding:18px;
  border:1px solid rgba(47,72,64,.18);
  border-radius:22px;
  background:#fbf8f1;
  box-shadow:0 24px 70px rgba(19,37,31,.32);
}
.book-cover-picker[hidden],.book-cover-picker-scrim[hidden]{display:none!important}
.book-cover-picker>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--book-line)}
.book-cover-picker>header>div{display:grid;gap:3px}
.book-cover-picker>header small,.book-cover-picker-section-head small{color:var(--book-muted);font-size:.6rem;font-weight:850;letter-spacing:.08em}
.book-cover-picker>header h2,.book-cover-picker-section-head h3{margin:0;color:#2f5148}
.book-cover-picker>header h2{font-size:1.35rem}
.book-cover-picker>header>button{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(49,93,85,.14);border-radius:50%;background:#fff;color:#31584d;font-size:22px;cursor:pointer}
.book-cover-target-state{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:13px 0;padding:10px 12px;border:1px solid rgba(49,93,85,.12);border-radius:12px;background:#fff;color:var(--book-muted);font-size:.72rem}
.book-cover-target-state b{color:var(--book-ink)}
.book-cover-target-state code{margin-left:auto;color:#6e756f;font-size:.62rem}
.book-cover-picker>section{display:grid;gap:11px;padding:16px 0;border-top:1px solid rgba(61,68,60,.08)}
.book-cover-picker-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.book-cover-picker-section-head>div{display:grid;gap:2px}
.book-cover-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:11px}
.book-cover-library-card{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:9px;border:1px solid rgba(61,68,60,.12);border-radius:14px;background:#fff}
.book-cover-library-card>img{width:68px;aspect-ratio:2/3;object-fit:cover;border-radius:6px;background:#ece8df}
.book-cover-library-card>div{display:grid;min-width:0;gap:2px}
.book-cover-library-card strong{overflow:hidden;color:var(--book-ink);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}
.book-cover-library-card small{color:var(--book-muted);font-size:.59rem;font-weight:800}
.book-cover-library-card span,.book-cover-library-card a{overflow:hidden;color:var(--book-muted);font-size:.59rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.book-cover-library-card>button{grid-column:1/-1;justify-self:stretch}
.book-cover-library-card>button:disabled{opacity:.48;cursor:not-allowed}
.book-cover-upload-section label{display:grid;gap:5px;color:var(--book-muted);font-size:.64rem;font-weight:800}
.book-cover-upload-section input,.book-cover-upload-section select,.book-cover-upload-section textarea{
  width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid rgba(61,68,60,.17);border-radius:10px;background:#fff;color:var(--book-ink);font:inherit;font-size:.76rem
}
.book-cover-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.book-cover-upload-note{grid-column:1/-1}
.book-cover-upload-section>.btn{justify-self:start}
.book-cover-picker-status{min-height:20px;color:var(--book-muted);font-size:.72rem;line-height:1.4}
.book-cover-picker-status[data-state="ok"]{color:#2f6a54}
.book-cover-picker-status[data-state="error"]{color:#8a3c31}

@media(max-width:720px){
  .book-cover-inline-status{max-width:110px}
  .book-cover-picker{inset:3vh 8px;padding:13px;border-radius:18px}
  .book-cover-picker>header h2{font-size:1.12rem}
  .book-cover-target-state{display:grid;gap:3px}
  .book-cover-target-state code{margin-left:0;overflow-wrap:anywhere}
  .book-cover-library-grid{grid-template-columns:1fr}
  .book-cover-library-card{grid-template-columns:58px minmax(0,1fr)}
  .book-cover-library-card>img{width:58px}
  .book-cover-upload-grid{grid-template-columns:1fr}
  .book-cover-upload-note{grid-column:auto}
}


/* Book authoring/import v1 — Book-owned UI only */
body.book-import-open{overflow:hidden}
.book-import-scrim{position:fixed;inset:0;z-index:87;border:0;background:rgba(20,37,32,.38);backdrop-filter:blur(1px)}
.book-import-panel{
  position:fixed;z-index:88;top:3vh;right:max(10px,calc((100vw - min(1240px,96vw))/2));bottom:3vh;
  width:min(780px,calc(100vw - 20px));overflow:auto;padding:18px;border:1px solid rgba(47,72,64,.18);
  border-radius:22px;background:#fbf8f1;box-shadow:0 24px 72px rgba(18,37,31,.34)
}
.book-import-panel[hidden],.book-import-scrim[hidden]{display:none!important}
.book-import-panel>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--book-line)}
.book-import-panel>header>div{display:grid;gap:3px}
.book-import-panel>header small,.book-import-section-head small{font-size:.59rem;font-weight:850;letter-spacing:.09em;color:var(--book-muted)}
.book-import-panel>header h2,.book-import-section-head h3{margin:0;color:var(--book-accent)}
.book-import-panel>header>button{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(49,93,85,.14);border-radius:50%;background:#fff;color:#31584d;font-size:22px;cursor:pointer}
.book-import-panel>section{display:grid;gap:11px;padding:15px 0;border-top:1px solid rgba(61,68,60,.08)}
.book-import-contract{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.book-import-contract>div{display:grid;gap:3px}
.book-import-contract span{font-size:.68rem;color:var(--book-muted)}
.book-import-contract code{overflow-wrap:anywhere}
.book-import-file{display:grid;gap:6px;color:var(--book-muted);font-size:.68rem;font-weight:800}
.book-import-file input{padding:9px;border:1px dashed rgba(49,93,85,.25);border-radius:12px;background:#fff}
.book-import-state{display:grid;gap:3px;padding:10px 12px;border:1px solid rgba(49,93,85,.12);border-radius:12px;background:#fff}
.book-import-state b{font-size:.78rem;color:var(--book-ink)}
.book-import-state span{font-size:.66rem;color:var(--book-muted)}
.book-import-preflight{display:grid;gap:10px;padding:12px;border:1px solid rgba(49,93,85,.14);border-radius:14px;background:#fff}
.book-import-preflight.ok{border-color:rgba(47,106,84,.32)}
.book-import-preflight.error{border-color:rgba(138,60,49,.3)}
.book-import-preflight>header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.book-import-preflight>header>div{display:grid;gap:2px}
.book-import-preflight h3{margin:0;font-size:.95rem}
.book-import-preflight p{margin:0;color:var(--book-muted);font-size:.7rem;line-height:1.45}
.book-import-candidates,.book-import-notices{display:grid;gap:5px}
.book-import-candidates span,.book-import-notices span{padding:7px 8px;border-radius:9px;background:#f7f3ea;font-size:.64rem}
.book-import-notices .error{background:#fbefed;color:#7e372f}
.book-import-notices .warn{background:#f8f2df;color:#766126}
.book-import-action-table{display:grid;border:1px solid rgba(61,68,60,.09);border-radius:10px;overflow:hidden}
.book-import-action-table>div{display:grid;grid-template-columns:1fr minmax(110px,1.5fr) 86px;gap:8px;align-items:center;padding:7px 9px;border-top:1px solid rgba(61,68,60,.07);font-size:.62rem}
.book-import-action-table>div:first-child{border-top:0}
.book-import-action-table>.head{background:#f5f1e7;color:var(--book-muted);font-weight:850}
.book-import-action-table code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.book-import-action-table b{text-align:right}
.book-import-action-table b.create,.book-import-action-table b.restore{color:#2f6a54}
.book-import-action-table b.update,.book-import-action-table b.archive{color:#8a5d25}
.book-import-action-table b.same{color:#78827e}
.book-import-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.book-import-actions span,.book-import-card-state{font-size:.68rem;color:var(--book-muted)}
.book-import-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.book-import-section-head>div{display:grid;gap:2px}
.book-import-queue>[data-book-import-candidate]{margin-top:10px}
.book-import-queue-card{display:grid;gap:10px;padding:12px;border:1px solid rgba(61,68,60,.13);border-radius:14px;background:#fff}
.book-import-queue-card>header{display:flex;justify-content:space-between;gap:10px}
.book-import-queue-card>header>div{display:grid;gap:2px}
.book-import-queue-card h4{margin:0;color:var(--book-ink)}
.book-import-queue-card p{margin:0;color:var(--book-muted);font-size:.68rem;line-height:1.4}
.book-import-mini-actions{display:flex;gap:6px;flex-wrap:wrap}
.book-import-mini-actions span{padding:4px 7px;border-radius:999px;background:#f5f1e7;color:var(--book-muted);font-size:.6rem}
.book-import-queue-card label{display:grid;gap:5px;color:var(--book-muted);font-size:.65rem;font-weight:800}
.book-import-queue-card textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid rgba(61,68,60,.17);border-radius:10px;background:#fff;font:inherit}
.book-import-review-actions{display:flex;gap:8px;flex-wrap:wrap}
.book-import-queue-card pre,.book-runtime-detail pre{max-height:420px;overflow:auto;padding:10px;border-radius:10px;background:#f3efe5;font-size:.62rem;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}
.book-runtime-row{background:rgba(255,255,255,.7)}
.book-runtime-detail{display:grid;gap:14px}
.book-runtime-actions{display:grid;gap:11px}
.book-runtime-actions>div:first-child{display:grid;gap:4px}
.book-runtime-actions>div:first-child small{font-size:.6rem;font-weight:850;letter-spacing:.08em;color:var(--book-muted)}
.book-runtime-actions h2{margin:0;color:var(--book-accent)}
.book-runtime-actions p{margin:0;color:var(--book-muted);font-size:.7rem}
.book-runtime-actions form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr) auto;gap:8px;align-items:end}
.book-runtime-actions label{display:grid;gap:5px;color:var(--book-muted);font-size:.65rem;font-weight:800}
.book-runtime-actions input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid rgba(61,68,60,.17);border-radius:10px;background:#fff;font:inherit}
.book-runtime-actions>[data-book-runtime-lifecycle]{justify-self:start}
.book-runtime-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.book-runtime-grid .card{display:grid;align-content:start;gap:7px}
.book-runtime-grid .card>small{font-size:.59rem;font-weight:850;letter-spacing:.08em;color:var(--book-muted)}
.book-runtime-grid h3{margin:0;font-size:1.35rem;color:var(--book-accent)}
.book-runtime-grid p{margin:0;font-size:.69rem;line-height:1.42;color:var(--book-muted)}
.book-history-list{display:grid;gap:7px;padding-top:10px}
.book-history-list article{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;padding:8px 9px;border:1px solid rgba(61,68,60,.1);border-radius:10px;background:#fff}
.book-history-list article p{grid-column:1/-1;margin:0;color:var(--book-muted);font-size:.66rem}
.book-history-list article span,.book-history-list article code{font-size:.61rem;color:var(--book-muted)}

@media(max-width:720px){
  .book-import-panel{inset:2vh 7px;width:auto;padding:13px;border-radius:18px}
  .book-import-contract{grid-template-columns:1fr}
  .book-import-action-table>div{grid-template-columns:minmax(0,1fr) 70px}
  .book-import-action-table>div>code{grid-column:1/-1;grid-row:2}
  .book-runtime-actions form{grid-template-columns:1fr}
  .book-runtime-grid{grid-template-columns:1fr}
  .book-history-list article{grid-template-columns:1fr}
  .book-history-list article p{grid-column:auto}
}


/* Book authoring/import owner UX v2 */
.book-import-contract-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.book-import-contract small{font-size:.62rem;color:var(--book-muted);line-height:1.35}
.book-import-materialized-preview{display:grid;gap:8px;padding:12px;border:1px solid rgba(49,93,85,.17);border-radius:14px;background:rgba(239,246,241,.72)}
.book-import-materialized-preview>b{color:var(--book-accent)}
.book-import-materialized-preview>span{font-size:.68rem;color:var(--book-muted)}
.book-materialized-target{display:grid;gap:11px}
.book-materialized-target>header{display:flex;justify-content:space-between;gap:10px;align-items:start}
.book-materialized-target>header>div{display:grid;gap:2px}
.book-materialized-target>header small,.book-materialized-hero small{font-size:.58rem;font-weight:850;letter-spacing:.08em;color:var(--book-muted)}
.book-materialized-target h4{margin:0;color:var(--book-accent)}
.book-materialized-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px}
.book-materialized-hero>div,.book-materialized-grid>div{display:grid;gap:4px;padding:9px;border-radius:10px;background:#fff}
.book-materialized-hero strong{font-size:1rem;color:var(--book-ink)}
.book-materialized-hero span,.book-materialized-grid span{font-size:.68rem;line-height:1.45;color:var(--book-muted)}
.book-materialized-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.book-materialized-grid b{font-size:.67rem;color:var(--book-ink)}
.book-materialized-knowledge{display:flex;flex-wrap:wrap;gap:7px}
.book-materialized-knowledge span{padding:5px 8px;border-radius:999px;background:#fff;font-size:.62rem;color:var(--book-muted)}
.book-runtime-editor{display:grid;gap:10px}
.book-runtime-editor fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:11px;border:1px solid rgba(61,68,60,.12);border-radius:12px}
.book-runtime-editor legend{padding:0 5px;font-size:.62rem;font-weight:850;letter-spacing:.05em;color:var(--book-accent)}
.book-runtime-editor label{align-content:start}
.book-runtime-editor label small{font-size:.58rem;font-weight:500;line-height:1.35}
.book-runtime-editor-sources{display:grid;gap:3px;padding:10px;border-radius:10px;background:#f3efe5}
.book-runtime-editor-sources b{font-size:.68rem;color:var(--book-ink)}
.book-runtime-editor-sources span{font-size:.62rem;line-height:1.4;color:var(--book-muted)}

@media(max-width:760px){
  .book-import-contract{grid-template-columns:1fr}
  .book-import-contract-actions{justify-content:flex-start}
  .book-materialized-hero,.book-materialized-grid,.book-runtime-editor fieldset{grid-template-columns:1fr}
}


/* Shared Book Bank long-operation feedback */
.book-operation-progress{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin:10px 0 14px;padding:10px 12px;border:1px solid var(--book-line);border-radius:11px;background:var(--book-paper-soft)}
.book-operation-progress[hidden]{display:none}
.book-operation-spinner{width:18px;height:18px;border:2px solid var(--book-line);border-top-color:var(--book-accent);border-radius:50%;animation:book-operation-spin .8s linear infinite}
.book-operation-progress.done .book-operation-spinner{animation:none;border-color:var(--book-ok);background:var(--book-ok-soft);box-shadow:inset 0 0 0 4px var(--book-paper-soft)}
.book-operation-progress.error .book-operation-spinner{animation:none;border-color:var(--book-danger);background:var(--book-danger-soft)}
.book-operation-progress-body{display:grid;gap:5px;min-width:0}
.book-operation-progress-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.book-operation-progress-head strong{font-size:.75rem;color:var(--book-ink)}
.book-operation-progress-head span{font-size:.68rem;color:var(--book-muted);font-variant-numeric:tabular-nums}
.book-operation-progress progress{width:100%;height:8px;accent-color:var(--book-accent)}
.book-operation-progress.done progress{accent-color:var(--book-ok)}
.book-operation-progress.error progress{accent-color:var(--book-danger)}
.book-operation-progress small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--book-muted);font-size:.67rem}
@keyframes book-operation-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.book-operation-spinner{animation:none}}


/* Book Bank owner editor bootstrap + shared detail topline */
.book-detail-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:4px;
}
.book-detail-topline .prometea-detail-breadcrumb{margin-bottom:0}
.book-detail-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.book-detail-top-actions .btn{min-height:34px}
.book-sheet-kind{
  flex:0 0 auto;
  padding:5px 9px;
  border:1px solid var(--book-line);
  border-radius:999px;
  background:var(--book-paper-soft);
  color:var(--book-muted);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.035em;
}
.book-row-edit-link{
  justify-self:start;
  width:max-content;
  margin:4px 0 0;
  padding:2px 0;
  border:0;
  background:transparent;
  color:var(--book-accent);
  font:inherit;
  font-size:.64rem;
  font-weight:850;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
}
.book-row-edit-link:hover,.book-row-edit-link:focus-visible{
  color:#173f37;
  text-decoration:underline;
  text-underline-offset:2px;
  outline:none;
}

body.book-edit-open{overflow:hidden}
.book-edit-scrim{
  position:fixed;
  inset:0;
  z-index:89;
  border:0;
  background:rgba(20,37,32,.38);
  backdrop-filter:blur(1px);
}
.book-edit-panel{
  position:fixed;
  z-index:90;
  top:3vh;
  right:max(10px,calc((100vw - min(1240px,96vw))/2));
  bottom:3vh;
  width:min(650px,calc(100vw - 20px));
  overflow:auto;
  padding:18px;
  border:1px solid rgba(47,72,64,.18);
  border-radius:22px;
  background:#fbf8f1;
  box-shadow:0 24px 72px rgba(18,37,31,.34);
}
.book-edit-panel[hidden],.book-edit-scrim[hidden]{display:none!important}
.book-edit-panel>header{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding-bottom:14px;
  border-bottom:1px solid var(--book-line);
}
.book-edit-panel>header>div{display:grid;gap:3px}
.book-edit-panel>header small{
  font-size:.59rem;
  font-weight:850;
  letter-spacing:.09em;
  color:var(--book-muted);
}
.book-edit-panel>header h2{margin:0;color:var(--book-accent)}
.book-edit-panel>header>button{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid rgba(49,93,85,.14);
  border-radius:50%;
  background:#fff;
  color:#31584d;
  font-size:22px;
  cursor:pointer;
}
.book-edit-panel>section{display:grid;gap:13px;padding-top:15px}
.book-edit-boundary{
  display:grid;
  gap:4px;
  padding:11px 12px;
  border-left:4px solid var(--book-accent);
  border-radius:10px;
  background:#eef4f1;
}
.book-edit-boundary b{color:#284f45;font-size:.79rem}
.book-edit-boundary span{color:var(--book-muted);font-size:.69rem;line-height:1.45}
.book-bank-edit-form{display:grid;gap:11px}
.book-bank-edit-form fieldset{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  padding:12px;
  border:1px solid rgba(61,68,60,.13);
  border-radius:13px;
  background:#fff;
}
.book-bank-edit-form legend{
  padding:0 5px;
  color:var(--book-accent);
  font-size:.68rem;
  font-weight:850;
}
.book-bank-edit-form label{
  display:grid;
  align-content:start;
  gap:5px;
  color:var(--book-muted);
  font-size:.65rem;
  font-weight:800;
}
.book-bank-edit-form input{
  width:100%;
  box-sizing:border-box;
  padding:8px 10px;
  border:1px solid rgba(61,68,60,.17);
  border-radius:10px;
  background:#fff;
  color:var(--book-ink);
  font:inherit;
  font-size:.76rem;
}
.book-bank-edit-form>button{justify-self:start}
.book-edit-result{
  display:grid;
  gap:3px;
  min-height:20px;
  color:var(--book-muted);
  font-size:.7rem;
  line-height:1.45;
}
.book-edit-result b{color:var(--book-accent)}

@media(max-width:720px){
  .book-detail-topline{align-items:flex-start;flex-direction:column;gap:6px}
  .book-sheet-kind{align-self:flex-start}
  .book-edit-panel{inset:2vh 8px;width:auto;padding:14px;border-radius:18px}
  .book-bank-edit-form fieldset{grid-template-columns:1fr}
}
