.poster-catalogue {
    --poster-navy: #102a4c;
    --poster-blue: #1269a6;
    --poster-teal: #087b75;
    --poster-gold: #9a6507;
    --poster-card: #ffffff;
    --poster-soft: #eef5f8;
    --poster-ink: #17253a;
    --poster-muted: #607086;
    --poster-card-line: #d7e0e6;
    --poster-control-line: #8798a4;
    --poster-card-shadow: rgba(12, 36, 56, .16);
    --poster-art: #163b55;
    min-height: 100vh;
    color: var(--poster-ink);
    background: #f4f8fb;
}

body[data-theme="dark"] .poster-catalogue {
    --poster-card: #292929;
    --poster-soft: #222b31;
    --poster-ink: #f5f9fc;
    --poster-muted: #c2ced8;
    --poster-blue: #8cddff;
    --poster-teal: #8be9dc;
    --poster-gold: #ffd479;
    --poster-card-line: #46525c;
    --poster-control-line: #81929e;
    --poster-card-shadow: rgba(0, 0, 0, .56);
    --poster-art: #d7e5eb;
    background: #1e1e1e;
}

.poster-hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 78% 26%, rgba(255,255,255,.13), transparent 22rem), linear-gradient(125deg, #0c2445, #174d78 52%, #087b75); }
.poster-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 4.5rem; background: #f4f8fb; clip-path: polygon(0 72%, 17% 86%, 34% 58%, 51% 80%, 68% 51%, 84% 73%, 100% 48%, 100% 100%, 0 100%); }
body[data-theme="dark"] .poster-hero::after { background: #1e1e1e; }
.poster-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(18rem,.75fr); gap: clamp(2rem,7vw,7rem); align-items: center; min-height: 31rem; padding-top: 4rem; padding-bottom: 7rem; }
.poster-eyebrow { display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .7rem; border: 1px solid rgba(255,255,255,.23); border-radius: 999px; color: #b9fff4; background: rgba(255,255,255,.08); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.poster-hero h1 { max-width: 11ch; margin: 1.1rem 0; color: #fff; font-size: clamp(3.2rem,7vw,6.6rem); font-weight: 880; letter-spacing: -.065em; line-height: .9; }
.poster-hero h1 em { color: #8cebdd; font-family: Georgia,serif; font-weight: 500; }
.poster-hero-grid > div > p { max-width: 44rem; color: rgba(255,255,255,.82) !important; font-size: clamp(1rem,2vw,1.14rem); line-height: 1.7; }
.poster-hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.4rem; }
.poster-hero-actions a { display: inline-flex; align-items: center; gap: .45rem; padding: .7rem .9rem; border: 1px solid rgba(255,255,255,.22); border-radius: .65rem; color: #fff; background: rgba(0,0,0,.16); font-size: .82rem; font-weight: 780; text-decoration: none; }
.poster-hero-actions a:first-child { color: #103552; background: #a9f3e9; }
.poster-hero-summary { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 1.25rem; background: rgba(6,28,54,.44); box-shadow: 0 24px 70px rgba(0,0,0,.22); backdrop-filter: blur(14px); }
.poster-hero-summary div { min-height: 8rem; display: flex; flex-direction: column; justify-content: center; padding: 1.2rem; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.poster-hero-summary div:last-child { grid-column: 1 / -1; }
.poster-hero-summary strong { color: #fff; font-size: 2.7rem; line-height: 1; }
.poster-hero-summary span { margin-top: .35rem; color: rgba(255,255,255,.68); font-size: .67rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.poster-hero-art { position: absolute; inset: 0; opacity: .08; pointer-events: none; }
.poster-hero-art i { position: absolute; font-size: clamp(5rem,12vw,11rem); }
.poster-hero-art i:nth-child(1) { right: 7%; top: 8%; }.poster-hero-art i:nth-child(2) { left: 4%; bottom: 12%; }.poster-hero-art i:nth-child(3) { right: 33%; bottom: 8%; }

.poster-day-navigation { position: sticky; z-index: 15; top: 64px; border-bottom: 1px solid rgba(18,105,166,.12); background: rgba(244,248,251,.94); backdrop-filter: blur(14px); }
body[data-theme="dark"] .poster-day-navigation { background: rgba(30,30,30,.94); }
.poster-day-tabs { display: grid; grid-template-columns: repeat(3,1fr); max-width: 44rem; margin: -2.4rem auto 0; overflow: hidden; border: 1px solid rgba(18,105,166,.14); border-radius: 1rem; background: var(--poster-card); box-shadow: 0 15px 40px rgba(14,52,86,.15); }
.poster-day-tabs button { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 0 .65rem; align-items: center; padding: .75rem 1rem; border: 0; border-right: 1px solid rgba(18,105,166,.12); color: var(--poster-muted); background: transparent; text-align: left; }
.poster-day-tabs button:last-child { border-right: 0; }
.poster-day-tabs button > span { grid-row: 1 / 3; display: grid; place-items: center; width: 2.55rem; height: 2.55rem; border-radius: .7rem; color: var(--poster-ink); background: var(--poster-soft); font-size: .7rem; font-weight: 850; }
.poster-day-tabs button.active > span { color: #fff; background: #1269a6; }
.poster-day-tabs strong { color: var(--poster-ink); font-size: .9rem; }.poster-day-tabs small { font-size: .68rem; }
.poster-viewing-panel { display: none; grid-template-columns: auto minmax(0,1fr); gap: 1rem; align-items: center; padding: .85rem 0; }
.poster-viewing-panel.active { display: grid; }
.poster-viewing-panel > span { display: inline-flex; align-items: center; gap: .4rem; color: var(--poster-teal); font-size: .7rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.poster-viewing-panel > div { display: flex; flex-wrap: wrap; gap: .55rem; }
.poster-viewing-panel p { display: inline-flex; gap: .45rem; align-items: center; margin: 0; padding: .42rem .58rem; border-radius: .55rem; color: var(--poster-muted) !important; background: var(--poster-soft); font-size: .7rem; }
.poster-viewing-panel p strong { color: var(--poster-ink); }.poster-viewing-panel p span { overflow: hidden; max-width: 26rem; text-overflow: ellipsis; white-space: nowrap; }

.poster-content { padding: 2.5rem 0 6rem; }
.poster-section-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,31rem); gap: 1.5rem; align-items: end; margin-bottom: 1.5rem; }
.poster-section-heading > div > span { color: var(--poster-teal); font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.poster-section-heading h2 { margin: .18rem 0; color: var(--poster-ink); font-size: clamp(1.8rem,4vw,3rem); font-weight: 860; letter-spacing: -.045em; }
.poster-section-heading p { margin: 0; color: var(--poster-muted) !important; }
.poster-search { position: relative; }
.poster-search > i { position: absolute; left: .95rem; top: 50%; transform: translateY(-50%); color: var(--poster-muted); }
.poster-search input { width: 100%; min-height: 3rem; padding: .7rem 3rem .7rem 2.65rem; border: 1px solid rgba(18,105,166,.18); border-radius: 999px; color: var(--poster-ink); background: var(--poster-card); outline: none; }
.poster-search input:focus { border-color: #48c7d5; box-shadow: 0 0 0 .22rem rgba(72,199,213,.14); }
.poster-search kbd { position: absolute; right: .85rem; top: 50%; transform: translateY(-50%); color: var(--poster-muted); background: var(--poster-soft); }

.poster-grid { columns: 3 20rem; column-gap: 1.15rem; }
.poster-card { position: relative; isolation: isolate; display: inline-block; width: 100%; margin: 0 0 1.15rem; overflow: hidden; break-inside: avoid; border: 1px solid var(--poster-card-line); border-radius: 1.25rem; color: var(--poster-ink); background: var(--poster-card); box-shadow: 0 22px 50px var(--poster-card-shadow), 0 3px 10px rgba(12,36,56,.06); transition: transform .22s ease, box-shadow .22s ease; }
body[data-theme="dark"] .poster-card { box-shadow: 0 26px 58px var(--poster-card-shadow), 0 5px 16px rgba(0,0,0,.34); }
@media (hover: hover) { .poster-card:hover { transform: translateY(-3px); box-shadow: 0 29px 62px rgba(12,36,56,.2), 0 5px 14px rgba(12,36,56,.08); } body[data-theme="dark"] .poster-card:hover { box-shadow: 0 30px 64px rgba(0,0,0,.66), 0 7px 18px rgba(0,0,0,.38); } }
.poster-card[hidden] { display: none; }
.poster-card > header { position: relative; z-index: 2; display: flex; justify-content: space-between; gap: .8rem; align-items: flex-start; padding: 1.15rem 1.2rem .35rem; }
.poster-state { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .3rem; padding: .34rem .52rem; border-radius: 999px; color: #76500e; background: #f5f0e7; font-size: .58rem; font-weight: 830; letter-spacing: .015em; text-transform: uppercase; }
.poster-state.is-ready { color: #075f5b; background: #e5f3f1; }
body[data-theme="dark"] .poster-state { color: #ffe0a0; background: #403625; }
body[data-theme="dark"] .poster-state.is-ready { color: #b6fff4; background: #173d3a; }
.poster-card-body { position: relative; z-index: 2; padding: .95rem 1.2rem 1.55rem; }
.poster-topic { display: inline-flex; align-items: center; gap: .42rem; color: var(--poster-teal); font-size: .62rem; font-weight: 860; letter-spacing: .09em; text-transform: uppercase; }
.poster-topic i { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; border: 1px solid var(--poster-card-line); border-radius: .5rem; color: var(--poster-ink); background: color-mix(in srgb,var(--poster-soft) 64%,var(--poster-card)); font-size: .78rem; }
.poster-card h3 { max-width: 30ch; margin: 0; color: var(--poster-ink); font-size: clamp(1.08rem,2vw,1.32rem); font-weight: 825; letter-spacing: -.025em; line-height: 1.35; text-wrap: pretty; }
.poster-card h3::before { content: ""; display: block; width: 2.8rem; height: 2px; margin: 0 0 .8rem; border-radius: 999px; background: var(--poster-ink); opacity: .24; }
.poster-card h3 a { display: inline-flex; gap: .5rem; align-items: flex-start; color: inherit; text-decoration: none; }
.poster-card h3 a:hover span { text-decoration: underline; text-decoration-color: color-mix(in srgb,var(--poster-teal) 58%,transparent); text-underline-offset: .18em; }
.poster-card h3 a > i { flex: 0 0 auto; margin-top: .18rem; color: #b73a32; font-size: .95rem; }
body[data-theme="dark"] .poster-card h3 a > i { color: #ff8d83; }
.poster-release { display: flex; gap: .4rem; margin: .8rem 0 0; color: var(--poster-muted) !important; font-size: .67rem; line-height: 1.5; }
.poster-card > footer { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .75rem; align-items: center; padding: 1rem 1.2rem; border-top: 1px solid var(--poster-card-line); background: color-mix(in srgb,var(--poster-soft) 72%,var(--poster-card)); }
.poster-presenter, .poster-presenter-static { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: .7rem; align-items: center; border: 0; padding: 0; color: var(--poster-ink); background: transparent; text-align: left; }
.poster-presenter > i, .poster-presenter-static > i { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid var(--poster-control-line); border-radius: .72rem; color: var(--poster-ink); background: var(--poster-card); font-size: 1.05rem; box-shadow: 0 4px 12px rgba(12,36,56,.08); }
.poster-presenter small, .poster-presenter-static small { display: block; margin-bottom: .08rem; color: var(--poster-muted); font-size: .54rem; font-weight: 830; letter-spacing: .075em; text-transform: uppercase; }
.poster-presenter strong, .poster-presenter-static strong { display: block; overflow: hidden; font-size: .76rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.poster-presenter:hover strong { color: var(--poster-blue); }
.poster-abstract { display: inline-flex; align-items: center; gap: .34rem; border: 1px solid var(--poster-control-line); border-radius: .65rem; padding: .5rem .62rem; color: var(--poster-ink); background: var(--poster-card); font-size: .67rem; font-weight: 790; box-shadow: 0 4px 12px rgba(12,36,56,.06); }
.poster-abstract:hover { border-color: color-mix(in srgb,var(--poster-blue) 50%,var(--poster-card-line)); color: var(--poster-blue); }
.poster-card-art { position: absolute; z-index: 0; right: -1.7rem; top: 3.3rem; width: 10rem; height: 10rem; color: var(--poster-art); opacity: .055; pointer-events: none; transform: rotate(-7deg); }
body[data-theme="dark"] .poster-card-art { opacity: .09; }
.poster-art-orbit { position: absolute; inset: 1rem; border: 1.5px solid currentColor; border-radius: 50%; box-shadow: 0 0 0 1.7rem color-mix(in srgb,currentColor 38%,transparent); }
.poster-card-art i { position: absolute; display: grid; place-items: center; }
.poster-art-shield { left: 3.25rem; top: 3rem; font-size: 3.7rem; }
.poster-art-virus { right: .45rem; top: 1.15rem; font-size: 1.65rem; }
.poster-art-drop { left: 1.15rem; bottom: .6rem; font-size: 1.4rem; }
.poster-empty, .poster-no-results { padding: 4rem 1rem; color: var(--poster-muted); text-align: center; }.poster-empty i, .poster-no-results i { color: var(--poster-teal); font-size: 2.6rem; }.poster-empty h2, .poster-no-results h3 { color: var(--poster-ink); }

.poster-modal .modal-content { overflow: hidden; border: 1px solid rgba(18,105,166,.16); border-radius: 1.2rem; color: #17253a; background: #fff; }
.poster-modal .modal-header { align-items: flex-start; border: 0; color: #fff; background: linear-gradient(125deg,#102a4c,#1269a6 58%,#087b75); }
.poster-modal .modal-header span { color: #a9f3e9; font-size: .62rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.poster-modal .modal-header h2 { margin: .12rem 0 0; color: #fff; font-size: 1.35rem; }.poster-modal .btn-close { filter: brightness(0) invert(1); }
.poster-profile { display: grid; grid-template-columns: minmax(9rem,12rem) minmax(0,1fr); gap: 1.4rem; padding: 1.5rem; }
.poster-profile-photo { overflow: hidden; aspect-ratio: 4 / 5; display: grid; place-items: center; border-radius: .9rem; color: #1269a6; background: #e9f4f6; }.poster-profile-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; }.poster-profile-photo > span { font-size: 3.5rem; opacity: .4; }
.poster-profile h3 { color: #17253a; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.poster-profile-bio, .poster-abstract-body { margin: 0; color: #52657a !important; line-height: 1.72; white-space: pre-line; }.poster-profile-organization { display: inline-flex; padding: .3rem .5rem; border-radius: .4rem; color: #087b75 !important; background: rgba(8,123,117,.09); font-size: .72rem; font-weight: 750; }
body[data-theme="dark"] .poster-modal .modal-content { color: #f4f8fb; background: #292929; }.poster-modal .modal-body { color: inherit; }body[data-theme="dark"] .poster-profile h3 { color: #f4f8fb; }body[data-theme="dark"] .poster-profile-bio, body[data-theme="dark"] .poster-abstract-body { color: #c7d2db !important; }body[data-theme="dark"] .poster-profile-photo { color: #8cddff; background: #23343d; }

@media (max-width: 991.98px) { .poster-hero-grid { grid-template-columns: 1fr; }.poster-hero-summary { max-width: 35rem; }.poster-section-heading { grid-template-columns: 1fr; }.poster-grid { columns: 2 18rem; } }
@media (max-width: 767.98px) { .poster-hero-grid { min-height: auto; padding-top: 3rem; }.poster-hero h1 { font-size: clamp(3rem,16vw,5rem); }.poster-day-navigation { top: 58px; }.poster-day-tabs button { display: flex; flex-direction: column; gap: .08rem; padding: .65rem .3rem; text-align: center; }.poster-day-tabs button > span { width: auto; height: auto; padding: .15rem .4rem; }.poster-viewing-panel { grid-template-columns: 1fr; }.poster-viewing-panel > div { flex-direction: column; }.poster-viewing-panel p { align-items: flex-start; flex-direction: column; }.poster-viewing-panel p span { max-width: 100%; white-space: normal; }.poster-grid { columns: 1; }.poster-profile { grid-template-columns: 8rem minmax(0,1fr); } }
@media (max-width: 420px) { .poster-hero-summary div { min-height: 6.5rem; }.poster-card > footer { grid-template-columns: 1fr; }.poster-abstract { justify-content: center; width: 100%; }.poster-profile { grid-template-columns: 1fr; }.poster-profile-photo { width: min(10rem,52vw); margin: 0 auto; } }

@media print { .site-navbar, .poster-day-navigation, .poster-search, footer, .poster-hero-actions, .poster-modal { display: none !important; }.poster-hero { color: #111; background: #fff; }.poster-hero::after, .poster-hero-art { display: none; }.poster-hero-grid { min-height: 0; display: block; padding: 8mm 0; }.poster-hero h1, .poster-hero h1 em, .poster-hero-grid > div > p { color: #111 !important; }.poster-hero-summary { display: none; }.poster-content { padding: 0; }.poster-grid { columns: 2; }.poster-card { box-shadow: none; break-inside: avoid; }.poster-card > footer { display: block; }.poster-abstract { display: none; } }
