/* fix71: one selection-page design system; exercises/review are deliberately unscoped. */
.bank-library{container-type:inline-size;--bank-ink:#30453d;--bank-muted:#758079;--bank-border:#e3e4da;--bank-orange:#b94f21;--bank-paper:#fffef9;min-width:0}
body.library-mode .bank-library :is(.bank-page-heading,#academicPageHeading.bank-page-heading){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;min-height:0;width:100%;max-width:none;margin:0 0 14px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
body.library-mode .bank-library .bank-heading-copy{display:block;flex:1 1 300px;min-width:0;max-width:100%;padding:0}
body.library-mode .bank-library .bank-heading-title,body.library-mode .bank-library .bank-heading-copy h1{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;color:var(--bank-ink);font-size:24px;line-height:1.4;font-weight:750;letter-spacing:-.3px;min-width:0}
body.library-mode .bank-library .bank-heading-title h1{display:block;flex:0 1 auto;font:inherit;margin:0}
body.library-mode .bank-library .bank-heading-copy .companion-page-icon,body.library-mode .bank-library .bank-heading-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:9px;font-size:20px}
body.library-mode .bank-library .bank-total,body.library-mode .bank-library .bank-heading-copy .collection-count,body.library-mode .bank-library .academic-library-count{display:inline-flex;align-items:center;justify-content:center;flex:none;white-space:nowrap;margin:0;padding:3px 8px;border:1px solid #e4e8dc;background:#f4f6ed;border-radius:999px;box-shadow:none;color:#6f7e6d;font-size:12px;line-height:1.45;font-weight:500;letter-spacing:0}
body.library-mode .bank-library :is(.bank-page-heading,#academicPageHeading.bank-page-heading) .bank-subtitle,body.library-mode .bank-library .bank-heading-copy>p:not([class$=kicker]){font-size:13px;line-height:1.6;color:var(--bank-muted);margin:5px 0 0;max-width:none}
body.library-mode .bank-library .bank-metrics{display:flex;flex:0 1 auto;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:0;margin:0;border:0;background:transparent;box-shadow:none}
body.library-mode .bank-library .bank-metrics>div{display:flex;flex-direction:row;flex:none;align-items:baseline;gap:5px;min-width:0;padding:0;margin:0;border:0;background:none}
body.library-mode .bank-library .bank-metrics>div>span{font-size:12px;color:var(--bank-muted);white-space:nowrap}
body.library-mode .bank-library .bank-metrics>div>strong{font-size:16px;color:var(--bank-ink);white-space:nowrap}
body.library-mode .bank-library .bank-resume{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;margin:0 0 12px;border:1px solid #dce5d7;border-radius:12px;background:#f4f8ef;min-width:0}
body.library-mode .bank-library .bank-resume>div{display:grid;gap:4px;min-width:0}
body.library-mode .bank-library .bank-resume strong{font-size:13px;color:#405a3e}
body.library-mode .bank-library .bank-resume span{font-size:12px;line-height:1.6;color:#72806c;overflow-wrap:anywhere}
body.library-mode .bank-library .bank-resume>:is(a,button){display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:36px;padding:7px 12px;border:1px solid #cad9c0;border-radius:8px;background:#fffef9;color:#4f6944;font:600 13px/1.4 system-ui,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer}
body.library-mode .bank-library :is(.library-tools,.academic-pick-box,.ctw-bank-search){display:block;grid-template-columns:none;min-width:0;width:100%;padding:0;margin:0 0 14px;border:0;background:transparent;box-shadow:none;overflow:visible}
body.library-mode .bank-library :is(.daily-library-layout,.daily-library-results){display:block;grid-template-columns:none;min-width:0;width:100%}
body.library-mode .bank-library .bank-toolbar{box-sizing:border-box;display:grid;grid-template-columns:minmax(130px,1fr) auto auto auto;align-items:center;gap:0 10px;min-height:60px;width:100%;padding:8px 12px;border:1px solid var(--bank-border);border-radius:12px;background:var(--bank-paper);box-shadow:none}
body.library-mode .bank-library .bank-search{display:flex;align-items:center;gap:6px;min-width:0;grid-column:1;grid-row:1;margin:0;padding:0;background:transparent;border:0;box-shadow:none}
body.library-mode .bank-library .bank-search input{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;height:42px;min-height:42px;padding:8px 10px;margin:0;border:1px solid #e2e5dd;border-radius:8px;background:#fff;color:var(--bank-ink);font:14px/1.5 system-ui,sans-serif;box-shadow:none}
body.library-mode .bank-library .bank-search>label{display:none}
body.library-mode .bank-library .bank-search .dashboard-search-note{display:none}
body.library-mode .bank-library .bank-filter-disclosure{display:contents;border:0;padding:0;margin:0;min-width:0}
body.library-mode .bank-library .bank-filter-disclosure>summary,body.library-mode .bank-library .bank-filter-toggle{display:flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:40px;padding:8px 10px;margin:0;border:0;border-radius:7px;background:transparent;color:#546750;font:600 13px/1.5 system-ui,sans-serif;white-space:nowrap;cursor:pointer;list-style:none}
body.library-mode .bank-library .bank-filter-disclosure>summary::-webkit-details-marker{display:none}
body.library-mode .bank-library .bank-filter-disclosure>summary>span,body.library-mode .bank-library .bank-filter-toggle>span{grid-column:auto;grid-row:auto;font-size:13px;font-weight:600}
body.library-mode .bank-library .bank-filter-disclosure>summary [class$=chevron]{font-size:14px}
body.library-mode .bank-library .bank-filter-disclosure:not([open])>.bank-filter-controls,body.library-mode .bank-library .bank-filter-controls[hidden]{display:none!important}
body.library-mode .bank-library .bank-filter-controls{display:grid;grid-template-columns:minmax(0,1fr);grid-column:1/-1;grid-row:2;gap:12px;min-width:0;padding:13px 0 5px;margin:8px 0 0;border:0;border-top:1px solid #eceee5;background:transparent}
body.library-mode .bank-library .bank-filter-controls>:is(.daily-choice-fields,.academic-pick-fields,.ctw-bank-subjects){display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;min-width:0;margin:0}
body.library-mode .bank-library .bank-filter-controls label{display:grid;gap:5px;font-size:12px;line-height:1.4;min-width:0}
body.library-mode .bank-library .bank-filter-controls select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:40px;height:auto;padding:8px 10px;border:1px solid #dedfd6;border-radius:8px;background:#fff;font:14px/1.5 system-ui,sans-serif}
body.library-mode .bank-library .bank-filter-controls :is(.daily-choice-status,.academic-pick-status,.ctw-bank-filters,.ctw-bank-scope){display:flex;flex-wrap:wrap;gap:7px;min-width:0;overflow:visible;margin:0}
body.library-mode .bank-library .bank-filter-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border:1px solid #dfe4d9;border-radius:8px;background:#fff;color:#65745f;font:13px/1.4 system-ui,sans-serif;white-space:nowrap;cursor:pointer}
body.library-mode .bank-library .bank-filter-controls button[aria-pressed=true]{background:#eaf1e4;border-color:#bccfb0;color:#415d38}
body.library-mode .bank-library .bank-match-count{grid-column:3;grid-row:1;align-self:center;justify-self:end;font-size:12px;line-height:1.5;color:#7a8575;white-space:nowrap;margin:0;padding:0;text-align:right}
body.library-mode .bank-library .bank-toolbar>:is(.daily-filter-reset,.academic-filter-reset,.ctw-filter-reset){grid-column:4;grid-row:1;min-height:36px;padding:5px 8px;margin:0;border:0;background:none;color:#856645;font-size:12px}
body.library-mode .bank-library .bank-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:9px 0 12px;padding:0;min-width:0}
body.library-mode .bank-library .bank-active-filters[hidden],body.library-mode .bank-library .bank-active-filters:empty,body.library-mode .bank-library [hidden]{display:none!important}
body.library-mode .bank-library .bank-active-filters button{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:30px;padding:5px 9px;border:1px solid #e1e7d9;border-radius:999px;background:#f2f6ed;color:#647559;font:12px/1.5 system-ui,sans-serif;overflow-wrap:anywhere;cursor:pointer}
body.library-mode .bank-library .bank-active-filters :is([data-ctw-clear-filters],[data-daily-clear-filters],[data-academic-reset]){border:0;background:none;color:#887452}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid){display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;min-width:0;margin:14px 0 0;padding:0;align-items:stretch}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid)>.bank-card{box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;max-width:100%;min-height:0;height:auto;padding:15px 16px;border:1px solid var(--bank-border);border-radius:12px;background:var(--bank-paper);box-shadow:0 2px 6px #3a473003;overflow:visible}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) .bank-card-copy{display:block;min-width:0;max-width:100%;padding:0;margin:0;flex:1}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) :is(.bank-card-title,h2,h3,.article-title){display:block;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;color:var(--bank-ink);font-size:16px;line-height:1.5;font-weight:650;margin:3px 0 7px;min-height:0}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) :is(.bank-card-number,.article-no,.article-number){color:#98a08f;font-size:11px;font-weight:500;line-height:1.5;background:none;border:0;padding:0;min-width:0;max-width:none}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) :is(.bank-card-meta,.academic-topic){display:block;color:#8b9483;font-size:11px;font-weight:400;line-height:1.7;margin:0;overflow-wrap:anywhere}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) :is(.bank-card-state,.article-learning-state){display:flex;align-items:center;flex-wrap:wrap;gap:5px;color:#88917f;font-size:11px;font-weight:400;line-height:1.6;min-width:0}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) .bank-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0;width:100%;margin-top:auto;padding-top:2px}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) :is(.bank-action,.bank-primary,.bank-action-secondary,.bank-secondary){display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-width:0;min-height:34px;height:auto;padding:7px 11px;border:1px solid #d8dfd0;border-radius:7px;background:#fff;color:#68795c;font:600 12px/1.45 system-ui,sans-serif;white-space:nowrap;text-decoration:none;box-shadow:none;cursor:pointer}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) :is(.bank-action.is-primary,.bank-primary){border-color:var(--bank-orange);background:var(--bank-orange);color:white}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) :is(.bank-action-secondary,.bank-secondary){font-weight:400;border-color:transparent;background:transparent;color:#869178;padding-inline:5px}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) button:disabled{opacity:.5;cursor:default}
body.library-mode .bank-library .bank-pending-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:#d7823e;vertical-align:middle}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid) .bank-action.is-primary .bank-pending-dot{background:#ffd4a0}
body.library-mode .bank-library :is(button,a,input,select,summary):focus-visible{outline:3px solid #9fb493;outline-offset:3px}
@container(min-width:640px){body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1440px){@container(min-width:940px){body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid){grid-template-columns:repeat(3,minmax(0,1fr))}}}
@media(max-width:760px){
 body.library-mode .bank-library .bank-toolbar{grid-template-columns:minmax(0,1fr) auto auto;gap:0 5px;padding:8px 10px}
 body.library-mode .bank-library .bank-match-count{grid-column:3;grid-row:1;justify-self:end;margin:0;font-size:11px}
 body.library-mode .bank-library .bank-toolbar>:is(.daily-filter-reset,.academic-filter-reset,.ctw-filter-reset){grid-row:3;grid-column:1;justify-self:start}
 body.library-mode .bank-library .bank-search input,body.library-mode .bank-library .bank-filter-controls select{font-size:16px}
 body.library-mode .bank-library .bank-filter-controls>:is(.daily-choice-fields,.academic-pick-fields,.ctw-bank-subjects){grid-template-columns:repeat(2,minmax(0,1fr))}
 body.library-mode .bank-library .bank-heading-copy{flex-basis:100%}
 body.library-mode .bank-library .bank-heading-copy h1,body.library-mode .bank-library .bank-heading-title{font-size:22px}
 body.library-mode .bank-library .bank-metrics{justify-content:flex-start;gap:8px 14px}
 body.library-mode .bank-library .bank-metrics>div>strong{font-size:14px}
 body.library-mode .bank-library .bank-resume{padding:11px 12px;gap:10px}
 body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid)>.bank-card{padding:14px}
}
@media(max-width:380px){body.library-mode .bank-library .bank-filter-controls>:is(.daily-choice-fields,.academic-pick-fields,.ctw-bank-subjects){grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){body.library-mode .bank-library *,body.library-mode .bank-library *::before,body.library-mode .bank-library *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Shared footer/inline actions retain readable metadata without stretching CTA size. */
body.library-mode .bank-library .bank-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:auto;min-width:0}
body.library-mode .bank-library .bank-card-footer .bank-card-actions{width:auto;margin-left:auto}
body.library-mode .bank-library .bank-action-group{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-left:auto}
body.library-mode .bank-library .bank-card-actions .bank-card-state{margin-right:auto}
body.library-mode .bank-library .bank-search .passage-search-wrap{position:relative;flex:1;min-width:0;width:100%;margin:0}
body.library-mode .bank-library .bank-search .passage-search-input{padding-left:38px;padding-right:34px}
body.library-mode .bank-library .bank-search .passage-search-icon{left:12px;width:17px;height:17px}
body.library-mode .bank-library .bank-search .passage-search-clear{right:5px;min-width:28px;min-height:28px;width:28px;height:28px;padding:2px}
body.library-mode .bank-library .article-meta-line.bank-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:3px 0}

/* fix87: the heading, filters and results share the navigation content edges. */
body.library-mode .bank-library{box-sizing:border-box;width:calc(100% - 48px);max-width:1160px;margin:24px auto 48px;padding:0}
@media(min-width:1100px){body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){body.library-mode .bank-library{width:calc(100% - 36px);margin-block:20px 36px}body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid){grid-template-columns:minmax(0,1fr)}}
body.library-mode .bank-library :is(.bank-page-heading,#academicPageHeading.bank-page-heading){display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 20px}
body.library-mode .bank-library .umaru-pet-anchor{grid-column:-2;grid-row:1}
body.library-mode .bank-library :is(.bank-grid,#articleList.bank-grid)>.bank-card{content-visibility:auto;contain-intrinsic-size:auto 180px}
@media(max-width:760px){body.library-mode .bank-library :is(.bank-page-heading,#academicPageHeading.bank-page-heading){grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}body.library-mode .bank-library .bank-metrics{grid-column:1/-1;grid-row:2}}
/* Remove legacy wrapper gutters once, so nested modules do not inset the common grid. */
body.library-mode :is(#app,#homeScreen,.home-shell):has(.bank-library){box-sizing:border-box;width:100%;max-width:none;margin:0;padding:0}

/* fix89: academic's legacy list wrapper is not a card. Keep each article card,
   grid, filters and resume strip intact; wrongbook/exercise are outside scope. */
body.library-mode #dashboardPanel.bank-library #articleList.bank-grid{background:transparent;border:0;border-radius:0;box-shadow:none}

/* fix89: narrow reading headers have explicit in-flow slots. Desktop and fill
   keep their established layout; CSS media queries also restore it on resize. */
@media(max-width:760px){
 html:root[data-ui-surface=library][data-companion-outer]:is([data-ui-module=academic],[data-ui-module=daily]) body.companion-outer .bank-library :is(.bank-page-heading,#academicPageHeading.bank-page-heading){display:grid;grid-template-columns:minmax(0,1fr) 84px;grid-template-areas:"copy pet" "metrics metrics";align-items:start;gap:12px}
 html:root[data-ui-surface=library][data-companion-outer]:is([data-ui-module=academic],[data-ui-module=daily]) body.companion-outer .bank-library :is(.bank-page-heading,#academicPageHeading.bank-page-heading)>.bank-heading-copy{grid-area:copy;grid-column:1;grid-row:1;min-width:0;max-width:100%;margin:0}
 html:root[data-ui-surface=library][data-companion-outer]:is([data-ui-module=academic],[data-ui-module=daily]) body.companion-outer .bank-library :is(.bank-page-heading,#academicPageHeading.bank-page-heading)>.umaru-pet-anchor{grid-area:pet;grid-column:2;grid-row:1;position:static;justify-self:end;align-self:start;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
 html:root[data-ui-surface=library][data-companion-outer]:is([data-ui-module=academic],[data-ui-module=daily]) body.companion-outer .bank-library :is(.bank-page-heading,#academicPageHeading.bank-page-heading)>.bank-metrics{grid-area:metrics;grid-column:1/-1;grid-row:2;justify-content:flex-start;min-width:0;margin:0}
}
@media(max-width:640px){html:root[data-ui-surface=library][data-companion-outer]:is([data-ui-module=academic],[data-ui-module=daily]) body.companion-outer .bank-library :is(.bank-page-heading,#academicPageHeading.bank-page-heading){grid-template-columns:minmax(0,1fr) 76px}}
