/* Blue App Ledger — a gallery-led reference desk and two-column record cards. */
body[data-theme="blue-app-ledger"] {
    --accent: #165db6;
    --accent-strong: #0d4185;
    --accent-soft: #e0edfc;
    --page: #eff4fa;
    --panel: #ffffff;
    --ink: #183350;
    --muted: #61758b;
    --line: #d4e0ec;
    --radius: 11px;
    --display-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    background: var(--page);
}
.bl-content { padding-top: 31px; }
.bl-title-spread { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 54px; padding: 5px 0 33px; border-bottom: 2px solid #284d76; margin-bottom: 31px; }
.bl-file-label { display: block; color: #35618d; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .15em; line-height: 1.6; }
.bl-title-block { border-left: 4px solid var(--accent); padding-left: 23px; min-width: 0; }
.bl-title-block h1 { margin: 14px 0 0; max-width: 16ch; font-size: clamp(35px, 4.5vw, 57px); line-height: 1.05; letter-spacing: -.05em; font-weight: 760; }
.bl-intro-block { min-width: 0; }
.bl-intro-block > p { margin: 0 0 20px; font-size: 15px; line-height: 1.8; color: var(--muted); }
.bl-intro-block [data-ui="search"] { background: #fff; border: 1px solid #bdcede; border-radius: 8px; padding: 4px; }
.bl-intro-block [data-ui="search"] input { border: 0; background: transparent; }
.bl-intro-links { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; margin-top: 17px; }
.bl-intro-links a { display: inline-flex; align-items: center; gap: 7px; color: #285d95; font-size: 12px; font-weight: 700; }
.bl-section-top { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 19px; }
.bl-section-top h2 { font-size: 28px; line-height: 1.2; letter-spacing: -.035em; margin: 5px 0 0; }
.bl-section-top > span { color: var(--muted); font-size: 11px; }
.bl-section-top a { display: inline-flex; align-items: center; gap: 9px; color: var(--accent); font-size: 12px; font-weight: 750; }
.bl-showcase-layout { display: grid; grid-template-columns: 1.35fr 1fr; align-items: stretch; gap: 24px; }
.bl-visual-file, .bl-side-files { min-width: 0; }
.bl-visual-file [data-ui="feature"] { height: 100%; border-radius: 13px; border: 1px solid #bbcee1; background: #e0ebf7; box-shadow: none; overflow: hidden; }
.bl-visual-file [data-ui="feature-link"] { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 20px; padding: 25px; align-items: center; height: 100%; }
.bl-visual-file [data-ui="feature-art"] { width: 76px; height: 76px; border-radius: 18px; box-shadow: 0 8px 20px #143f6a19; }
.bl-visual-file [data-ui="feature-copy"] h2,
.bl-visual-file [data-ui="feature-copy"] h3 { font-size: 27px; line-height: 1.17; letter-spacing: -.035em; color: #163b64; }
.bl-visual-file [data-ui="feature-copy"] p { font-size: 12px; color: #57708d; }
.bl-visual-file [data-ui="feature-meta"] { color: #3a658f; font-size: 10px; }
.bl-visual-file [data-ui="feature-gallery"] { grid-column: 1 / -1; width: 100%; aspect-ratio: 2.05; max-height: 270px; object-fit: contain; border: 1px solid #b7c9de; background: #f5f9fe; padding: 7px; border-radius: 8px; }
.bl-visual-file [data-ui="feature"]:not(:has([data-ui="feature-gallery"])) [data-ui="feature-link"] { grid-template-columns: 116px minmax(0, 1fr); min-height: 300px; padding: 32px; }
.bl-visual-file [data-ui="feature"]:not(:has([data-ui="feature-gallery"])) [data-ui="feature-art"] { width: 116px; height: 116px; border-radius: 25px; }
.bl-side-files { padding: 23px; background: #fff; border: 1px solid #d3dfeb; border-radius: 12px; }
.bl-side-caption { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 16px; margin-bottom: 17px; border-bottom: 1px solid #dce5ef; }
.bl-side-caption p { font-size: 11px; color: var(--muted); margin: 0; }
.bl-side-files [data-ui="app-grid"] { grid-template-columns: 1fr; gap: 15px; }
.bl-side-files [data-ui="app-card"] { display: grid; grid-template-columns: 55px minmax(0, 1fr); gap: 7px 16px; align-items: center; padding: 0 0 15px; background: transparent; box-shadow: none; border: 0; border-bottom: 1px solid #e3eaf2; border-radius: 0; }
.bl-side-files [data-ui="app-card"]:last-child { border-bottom: 0; padding-bottom: 0; }
.bl-side-files [data-ui="app-icon"] { grid-row: 1 / 3; width: 55px; height: 55px; border-radius: 13px; }
.bl-side-files [data-ui="app-copy"] h3 { font-size: 16px; line-height: 1.2; letter-spacing: -.015em; }
.bl-side-files [data-ui="app-action"] { grid-column: 2; font-size: 10px; margin-top: 0; padding-top: 0; }
.bl-directory-summary { margin: 27px 0 43px; background: #183c65; color: #fff; border-radius: 9px; overflow: hidden; }
.bl-directory-summary [data-ui="stats"] { background: transparent; border: 0; box-shadow: none; border-radius: 0; margin: 0; }
.bl-directory-summary [data-ui="stats"] strong,
.bl-directory-summary [data-ui="stats"] b { color: #fff; }
.bl-directory-summary [data-ui="stats"] span,
.bl-directory-summary [data-ui="stats"] small,
.bl-directory-summary [data-ui="stats"] p { color: #d1e0f0; }
.bl-records-section { scroll-margin-top: 28px; }
.bl-records-heading { display: flex; justify-content: space-between; align-items: end; gap: 25px; padding-bottom: 23px; margin-bottom: 21px; border-bottom: 1px solid #cbd9e7; }
.bl-records-heading h2 { font-size: clamp(28px, 3.4vw, 39px); margin: 10px 0 0; line-height: 1.14; letter-spacing: -.045em; }
.bl-records-count { display: flex; align-items: center; gap: 11px; color: var(--muted); text-align: left; }
.bl-records-count strong { display: block; color: #285c93; font-size: 37px; font-weight: 700; line-height: 1; }
.bl-records-count span { font-size: 10px; max-width: 65px; line-height: 1.4; }
.bl-records-section [data-ui="app-grid"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 21px; }
.bl-records-section [data-ui="app-card"] { display: grid; grid-template-columns: 77px minmax(0, 1fr); align-items: center; gap: 10px 23px; padding: 23px 25px; background: #fff; border: 1px solid #d2dfed; border-bottom: 3px solid #c5d6e7; border-radius: 9px; box-shadow: none; transition: border-color .18s, background .18s; }
.bl-records-section [data-ui="app-card"]:hover { border-color: #79a1c8; background: #f9fcff; }
.bl-records-section [data-ui="app-icon"] { width: 77px; height: 77px; border-radius: 18px; grid-row: 1 / 3; }
.bl-records-section [data-ui="app-copy"] { min-width: 0; }
.bl-records-section [data-ui="app-copy"] h3 { font-size: 20px; line-height: 1.2; letter-spacing: -.025em; }
.bl-records-section [data-ui="app-action"] { grid-column: 2; font-size: 11px; margin-top: 0; padding-top: 0; color: #275f9e; }
.bl-records-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; margin-top: 24px; }
.bl-records-footer > span { color: var(--muted); font-size: 12px; }
.bl-records-footer > a { display: inline-flex; align-items: center; gap: 9px; color: var(--accent); font-size: 12px; font-weight: 750; }
.bl-collection-files { margin-top: 45px; padding: 30px; border: 1px solid #ceddea; border-radius: 13px; background: #e4edf6; }
.bl-collection-files [data-ui="collection-grid"] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bl-collection-files [data-ui="collection-card"] { position: relative; padding: 23px 18px 19px; border: 1px solid #c7d7e8; border-top: 4px solid #3f75ab; border-radius: 5px 5px 10px 10px; background: #fff; }
.bl-collection-files [data-ui="collection-card"] h3 { font-size: 17px; line-height: 1.25; }
.bl-collection-files [data-ui="collection-card"] p { font-size: 11px; }
.bl-reference-notes { display: grid; grid-template-columns: .9fr 1.1fr; gap: 32px; margin-top: 45px; padding-top: 32px; border-top: 2px solid #284d76; }
.bl-reference-notes > div { min-width: 0; }
.bl-reference-notes h2 { font-size: 26px; letter-spacing: -.03em; }
body[data-theme="blue-app-ledger"] [data-ui="detail-hero"] { background: #e0ebf7; border-color: #b8cde3; border-radius: 9px; }
body[data-theme="blue-app-ledger"] [data-ui="detail-layout"] { gap: 28px; }
body[data-theme="blue-app-ledger"] [data-ui="page-title"] { padding-left: 21px; border-left: 4px solid var(--accent); }
@media (max-width: 1050px) {
    .bl-title-spread { gap: 32px; }
    .bl-showcase-layout { grid-template-columns: 1.2fr 1fr; gap: 20px; }
    .bl-side-files { padding: 20px; }
    .bl-side-caption { display: block; }
    .bl-side-caption p { margin-top: 5px; }
    .bl-records-section [data-ui="app-card"] { grid-template-columns: 65px minmax(0, 1fr); gap: 9px 17px; padding: 21px; }
    .bl-records-section [data-ui="app-icon"] { width: 65px; height: 65px; border-radius: 16px; }
    .bl-collection-files [data-ui="collection-grid"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .bl-title-spread { grid-template-columns: 1fr; gap: 24px; }
    .bl-title-block h1 { max-width: 20ch; font-size: clamp(35px, 7.2vw, 53px); }
    .bl-intro-block > p { font-size: 14px; }
    .bl-showcase-layout { grid-template-columns: 1fr; }
    .bl-side-caption { display: flex; }
    .bl-side-caption p { margin: 0; }
    .bl-records-heading { align-items: center; gap: 17px; }
    .bl-records-heading h2 { font-size: 30px; }
    .bl-records-count { display: block; text-align: right; }
    .bl-records-count strong { font-size: 30px; margin-bottom: 7px; }
    .bl-records-count span { display: block; font-size: 10px; }
    .bl-records-section [data-ui="app-grid"] { grid-template-columns: 1fr; gap: 13px; }
    .bl-records-section [data-ui="app-card"] { grid-template-columns: 75px minmax(0, 1fr); padding: 21px 23px; gap: 9px 22px; }
    .bl-records-section [data-ui="app-icon"] { width: 75px; height: 75px; border-radius: 17px; }
    .bl-records-section [data-ui="app-copy"] h3 { font-size: 20px; }
    .bl-section-top { flex-wrap: wrap; align-items: start; gap: 13px; }
    .bl-collection-files { padding: 24px; }
    .bl-reference-notes { grid-template-columns: 1fr; gap: 27px; }
}
@media (max-width: 430px) {
    .bl-title-block { padding-left: 18px; }
    .bl-visual-file [data-ui="feature-link"] { grid-template-columns: 65px minmax(0, 1fr); gap: 16px; padding: 21px; }
    .bl-visual-file [data-ui="feature-art"] { width: 65px; height: 65px; border-radius: 15px; }
    .bl-visual-file [data-ui="feature-copy"] h2,
    .bl-visual-file [data-ui="feature-copy"] h3 { font-size: 24px; }
    .bl-visual-file [data-ui="feature"]:not(:has([data-ui="feature-gallery"])) [data-ui="feature-link"] { grid-template-columns: 80px minmax(0, 1fr); padding: 22px; gap: 18px; }
    .bl-visual-file [data-ui="feature"]:not(:has([data-ui="feature-gallery"])) [data-ui="feature-art"] { width: 80px; height: 80px; border-radius: 19px; }
    .bl-records-section [data-ui="app-card"] { padding: 19px; gap: 9px 18px; grid-template-columns: 64px minmax(0, 1fr); }
    .bl-records-section [data-ui="app-icon"] { width: 64px; height: 64px; }
    .bl-records-section [data-ui="app-copy"] h3 { font-size: 18px; }
    .bl-collection-files [data-ui="collection-grid"] { grid-template-columns: 1fr; }
    .bl-side-caption { display: block; }
    .bl-side-caption p { margin-top: 5px; }
}

.bl-directory-summary [data-ui="stats"] dt { color: #cfdeef; }
.bl-directory-summary [data-ui="stats"] dd { color: #fff; }
.bl-directory-summary [data-ui="stats"] svg { color: #b9d5f2; }
.bl-reference-notes [data-ui="home-note"],
.bl-reference-notes [data-ui="home-faq"] { display: block; border: 0; background: transparent; box-shadow: none; padding: 0; margin: 0; }
.bl-reference-notes [data-ui="home-note"] > span { display: inline-flex; align-items: center; justify-content: center; margin-bottom: 17px; color: var(--accent); }
.bl-reference-notes [data-ui="home-note"] [data-ui="text-link"] { margin-top: 18px; }
.bl-reference-notes [data-ui="home-faq"] > [data-ui="faq-list"] { margin-top: 21px; }
