/* Work database: scoped to Anime, including the site's light and dark palettes. */
.icp-anime-database { --sheet-bg: var(--icp-surface, #fff); --sheet-line: var(--icp-border, #ddd); }
.icp-anime-database .icp-opera-hero__layout { padding-block: 3rem; align-items: center; }
.icp-anime-database .icp-opera-hero__poster { width: clamp(150px, 20vw, 245px); }
.icp-anime-database .icp-archive-header__description { max-width: 72ch; }
.icp-anime-database .icp-anime-tabs { border-bottom: 1px solid var(--sheet-line); background: var(--sheet-bg); }
.icp-anime-tabs > div { display: flex; gap: 1.5rem; overflow-x: auto; }
.icp-anime-tabs a { flex: 0 0 auto; padding: 1.1rem 0; text-decoration: none; font-weight: 700; }
.icp-anime-database :is(a, button, input, select):focus-visible { outline: 3px solid var(--icp-primary, #bc002d); outline-offset: 4px; }
.icp-anime-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 2rem; padding-block: 2.5rem; }
.icp-anime-main, .icp-anime-sidebar, .icp-anime-sheet { min-width: 0; }
.icp-anime-section { margin-bottom: 2.5rem; }
.icp-anime-section h2, .icp-anime-archive-heading h2 { margin: 0 0 1.2rem; font-size: clamp(1.5rem, 2.5vw, 2rem); }
.icp-anime-sheet-grid, .icp-anime-relations, .icp-anime-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.icp-anime-guide-grid { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
.icp-anime-sheet, .icp-anime-related, .icp-anime-guide { padding: 1.3rem; border: 1px solid var(--sheet-line); border-radius: 12px; background: var(--sheet-bg); overflow-wrap: anywhere; }
.icp-anime-sheet h3 { margin: .6rem 0 1rem; font-size: 1.2rem; }
.icp-anime-facts { margin: 0; }
.icp-anime-facts > div { display: grid; grid-template-columns: 1fr 1.1fr; gap: .7rem; padding: .6rem 0; border-bottom: 1px solid var(--sheet-line); }
.icp-anime-facts > div:last-child { border-bottom: 0; }
.icp-anime-facts dd { margin: 0; font-weight: 650; }
.icp-anime-database .icp-anime-note { font-size: .8rem; line-height: 1.55; opacity: .8; }
.icp-anime-related { display: flex; align-items: flex-start; gap: .9rem; text-decoration: none; }
.icp-anime-related img { width: 70px; height: 105px; object-fit: cover; flex-shrink: 0; border-radius: 5px; }
.icp-anime-related h3, .icp-anime-guide h3 { font-size: 1.05rem; margin: .45rem 0; line-height: 1.4; }
.icp-anime-related p { font-size: .8rem; margin: .5rem 0; }
.icp-anime-guide { display: block; text-decoration: none; }
.icp-anime-link { color: var(--icp-primary, #bc002d); font-size: .85rem; font-weight: 700; }
.icp-anime-sidebar .icp-anime-sheet { margin-bottom: 1rem; }
.icp-anime-sidebar h2 { font-size: 1.2rem; margin: 0 0 1rem; }
.icp-anime-sidebar h3 { font-size: 1rem; }
.icp-anime-sidebar ul { list-style: none; margin: 0; padding: 0; }
.icp-anime-sidebar li + li { margin-top: .7rem; }
.icp-anime-sidebar a { text-decoration: none; }
.icp-anime-articles { padding-block: 0 3rem; }
.icp-anime-archive-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.icp-anime-archive-heading h2 { margin-bottom: .4rem; }
.icp-anime-archive-heading > span { border-radius: 30px; padding: .5rem 1rem; background: var(--sheet-bg); border: 1px solid var(--sheet-line); white-space: nowrap; font-size: .85rem; }
.icp-anime-filters { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.3rem 0; }
.icp-anime-filters a { border: 1px solid var(--sheet-line); border-radius: 30px; padding: .55rem 1rem; text-decoration: none; background: var(--sheet-bg); }
.icp-anime-filters a[aria-current] { background: var(--icp-primary, #bc002d); border-color: transparent; color: #fff; }
.icp-anime-search { display: flex; align-items: end; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }
.icp-anime-search label { display: grid; gap: .4rem; font-size: .85rem; }
.icp-anime-search label:first-of-type { flex: 1 1 240px; }
.icp-anime-search input, .icp-anime-search select { border: 1px solid var(--sheet-line); border-radius: 8px; background: var(--sheet-bg); color: inherit; padding: .7rem; width: 100%; min-height: 44px; }
.icp-anime-search button { min-height: 44px; cursor: pointer; }
.icp-anime-database [id] { scroll-margin-top: 100px; }
[data-icp-theme="dark"] .icp-anime-database { --sheet-bg: #191b20; --sheet-line: #343741; }
@media (prefers-reduced-motion: no-preference) { .icp-anime-related, .icp-anime-guide { transition: border-color .15s ease; } }
.icp-anime-related:hover, .icp-anime-guide:hover { border-color: var(--icp-primary, #bc002d); }
@media (max-width: 1000px) { .icp-anime-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 1.3rem; } .icp-anime-sheet-grid, .icp-anime-relations { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .icp-anime-layout { grid-template-columns: 1fr; padding-block: 1.5rem; } .icp-anime-database .icp-opera-hero__layout { padding-block: 2rem; } .icp-anime-archive-heading { align-items: start; flex-direction: column; } .icp-anime-search label { flex: 1 1 100%; } .icp-anime-search button { width: 100%; } .icp-anime-tabs > div { gap: 1.2rem; } }
.icp-anime-database .icp-opera-hero { min-height: 0; padding-block: 0; }
.icp-anime-tabs a, .icp-anime-sidebar a, .icp-anime-related, .icp-anime-guide, .icp-anime-filters a { color: inherit; }
.icp-anime-filters a[aria-current] { color: #fff; }
.icp-anime-tabs a:hover, .icp-anime-sidebar a:hover { color: var(--icp-primary, #bc002d); }
/* Explicit text colors preserve contrast in both palettes. */
.icp-anime-database .icp-anime-note { color: #505364; opacity: 1; }
[data-icp-theme="dark"] .icp-anime-database .icp-anime-note { color: #c4c7d0; }
.icp-anime-streaming-it { margin-block: 1rem !important; }
[data-icp-theme="dark"] .icp-anime-database .icp-anime-link,
[data-icp-theme="dark"] .icp-anime-database .icp-anime-tabs a:hover,
[data-icp-theme="dark"] .icp-anime-database .icp-anime-sidebar a:hover { color: #ff91aa; }
[data-icp-theme="dark"] .icp-anime-database :is(a, button, input, select):focus-visible { outline-color: #ff91aa; }
