/* TateVaultvol2 — dark Coppermine 1.6.x theme */
:root {
    --ib-bg: #0c0a12;
    --ib-panel: #0d0b13;
    --ib-panel-raised: #0e0c15;
    --ib-ink: #eaf3f4;
    --ib-muted: #b6afb2;
    --ib-blue: #00d8d3;
    --ib-blue-deep: #00d8d3;
    --ib-gold: #ffcf24;
    --ib-rose: #ff2f97;
    --ib-line: rgba(0,216,211, .24);
}
* { box-sizing: border-box; }
html {
    background: var(--ib-bg);
    scroll-behavior: smooth;
    scroll-padding-top: 24px;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #ffcf24 #0c0b12;
}
body {
    margin: 0;
    color: var(--ib-ink);
    background-color: var(--ib-bg);
    background-image:
        url("images/ink-grain.svg"),
        radial-gradient(ellipse 70% 28rem at 10% 12rem, rgba(255,207,36,.17), transparent 72%),
        radial-gradient(ellipse 75% 38rem at 92% 34rem, rgba(0,216,211,.23), transparent 75%),
        linear-gradient(180deg, #0f0d16 0, #0d0b13 48rem, #0c0a12 100%);
    background-size: 180px 180px, 100% 100%, 100% 100%, 100% 100%;
    background-repeat: repeat, no-repeat, no-repeat, no-repeat;
    font: 15px/1.55 "Trebuchet MS", Arial, sans-serif;
}
a { color: var(--ib-blue); transition: color .18s ease, text-shadow .18s ease; }
a:hover, a:focus-visible { color: #ffcf24; }
.ib-header { position: relative; isolation: isolate; }
/* Carry the warm paper edge into the dark archive without covering its menu. */
.ib-header::after {
    position: absolute;
    z-index: 0;
    top: 100%;
    right: 0;
    left: 0;
    height: 112px;
    content: "";
    pointer-events: none;
    background:
        radial-gradient(ellipse 70% 100% at 50% 0, rgba(255,207,36,.14), transparent 78%),
        linear-gradient(180deg, rgba(12,11,18,.58), transparent);
    border-top: 1px solid rgba(255,207,36,.23);
}
.ib-masthead { position: relative; display: grid; grid-template-columns: 1fr 2fr 1fr; width: 100%; overflow: hidden; background: #10171a; }
.ib-panel { display: block; width: 100%; height: auto; }
/* The supplied art already contains this button; this is its invisible click target only. */
.ib-home-link { position: absolute; z-index: 4; top: 0; left: 19.6%; display: block; width: 15%; height: 16%; background: transparent; border: 0; box-shadow: none; cursor: pointer; }
.ib-home-link:focus-visible { outline: 2px solid #ffffff; outline-offset: -4px; }
.ib-paper-nav { position: absolute; z-index: 3; right: 0; bottom: 1.4%; left: 0; width: min(1250px, calc(100% - 36px)); margin-inline: auto; padding: 5px 14px 7px; color: #100d17; background: transparent; }
.ib-paper-nav a { position: relative; display: inline-block; padding: 4px 8px; color: #100d17; font-size: .92em; font-weight: 700; text-decoration: none; text-shadow: 0 1px 0 rgba(255,255,255,.55); transition: color .18s ease, transform .18s ease, text-shadow .18s ease; }
.ib-paper-nav a::after { position: absolute; right: 8px; bottom: 1px; left: 8px; height: 2px; content: ""; background: linear-gradient(90deg, #00d8d3, var(--ib-gold), var(--ib-rose)); transform: scaleX(0); transform-origin: left center; transition: transform .2s ease; }
.ib-paper-nav a:hover, .ib-paper-nav a:focus-visible { color: #ffcf24; text-shadow: 0 0 10px rgba(255,207,36,.22); transform: translateY(-1px); }
.ib-paper-nav a:hover::after, .ib-paper-nav a:focus-visible::after { transform: scaleX(1); }
.ib-paper-nav a:focus-visible { outline: 2px solid #ffcf2466; outline-offset: 1px; }
.ib-system-menu, .ib-sub-menu { text-align: center; }
.ib-system-menu { font-size: 12px; }
.ib-sub-menu { margin-top: 1px; font-size: 13px; }
.ib-paper-nav table { width: auto; margin: 0 auto; border: 0; background: transparent; }
.ib-paper-nav td, .ib-paper-nav th { padding: 1px 4px; border: 0; background: transparent; }
.ib-paper-nav tr { background: transparent; }
.ib-content { width: min(1250px, calc(100% - 32px)); margin: 28px auto 0; }
.ib-brand { margin: 0 0 22px; padding: 0 0 15px; border-bottom: 1px solid rgba(255,207,36,.35); }
.ib-brand-title { color: #ffffff; font-size: clamp(22px, 3vw, 34px); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ib-brand-description { color: var(--ib-muted); }
.ib-gallery { min-height: 220px; padding: clamp(14px, 2.5vw, 30px); color: var(--ib-ink); background: rgba(13,11,19,.9); border: 1px solid var(--ib-line); border-radius: 16px; box-shadow: 0 14px 36px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.025); }
.ib-gallery a { color: var(--ib-blue); text-decoration-color: rgba(0,216,211,.5); text-underline-offset: 3px; }
.ib-gallery a:hover, .ib-gallery a:focus-visible { color: #ffcf24; text-decoration-color: var(--ib-gold); }
/* Coppermine's category, album, thumbnail and caption classes. */
.ib-content .maintable, .ib-gallery .maintable { width: 100% !important; color: var(--ib-ink) !important; background: transparent !important; border: 0 !important; border-collapse: separate !important; border-spacing: 0 8px !important; }
.ib-content .maintable td, .ib-content .maintable th, .ib-gallery .maintable td, .ib-gallery .maintable th { color: var(--ib-ink) !important; border-color: var(--ib-line) !important; }
.ib-gallery .tableh1, .ib-gallery .tableh2, .ib-gallery .tablef { padding: 11px 14px !important; color: #ffcf24 !important; background: #0e0c15 !important; border: 1px solid var(--ib-line) !important; border-radius: 8px; }
.ib-gallery .tableb, .ib-gallery .tableb_alternate { padding: 12px 14px !important; color: var(--ib-ink) !important; background: #0d0b13 !important; border-bottom: 1px solid rgba(0,216,211,.17) !important; }
.ib-gallery .tableb_alternate { background: #0e0c14 !important; }
.ib-gallery .catrow, .ib-gallery .catrow_noalb { color: var(--ib-ink) !important; background: transparent !important; }
.ib-gallery .catrow td, .ib-gallery .catrow_noalb td { padding: 13px 14px !important; color: var(--ib-ink) !important; background: #0d0c14 !important; border-bottom: 1px solid rgba(0,216,211,.2) !important; }
.ib-gallery .catrow:hover td, .ib-gallery .catrow_noalb:hover td { background: #0e0c15 !important; }
.ib-gallery .catlink, .ib-gallery .alblink { color: #f0f4f3 !important; font-weight: 700; }
.ib-gallery .catlink a, .ib-gallery .alblink a { color: #eaf3f4 !important; text-decoration: none; }
.ib-gallery .catlink a:hover, .ib-gallery .alblink a:hover { color: #ffcf24 !important; }
.ib-gallery .album_stat, .ib-gallery .statlink { color: var(--ib-muted) !important; }
.ib-gallery .thumbnails { padding: 11px 9px !important; vertical-align: top; color: var(--ib-ink) !important; background: linear-gradient(145deg, #0e0c14, #0d0b13) !important; border: 1px solid var(--ib-line) !important; border-radius: 11px; box-shadow: 0 6px 18px rgba(0,0,0,.18); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.ib-gallery .thumbnails:hover { border-color: rgba(0,216,211,.48) !important; transform: translateY(-2px); box-shadow: 0 10px 23px rgba(0,0,0,.26); }
.ib-gallery .thumb_title, .ib-gallery .thumb_caption, .ib-gallery .thumb_filename, .ib-gallery .thumb_num_comments, .ib-gallery .album_stat { display: block !important; max-width: 100%; margin: 5px auto 0 !important; color: var(--ib-muted) !important; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; white-space: normal; }
.ib-gallery .thumb_title { color: #edf4f3 !important; font-size: 13px; font-weight: 700; }
.ib-gallery .thumb_caption { color: #beb7ba !important; }
.ib-gallery .thumb_num_comments { color: #aea8ab !important; }
.ib-gallery .thumbnails img, .ib-gallery .image img { border: 1px solid rgba(255,255,255,.08); border-radius: 7px; }
.ib-content .admin_menu, .ib-content .navmenu { color: var(--ib-ink); }
.ib-content .admin_menu a, .ib-content .navmenu a { color: var(--ib-blue); }
#content, .cpg_main_block { max-width: 100%; }
input, select, textarea, button { font: inherit; }
input, select, textarea { color: var(--ib-ink); background: #0e0c14; border: 1px solid #00d8d3; border-radius: 6px; }
input[type="submit"], button { padding: 7px 12px; color: #0c0a12; background: linear-gradient(#ffcf24,#ffcf24); border: 0; border-radius: 6px; cursor: pointer; transition: filter .18s ease, transform .18s ease; }
input[type="submit"]:hover, button:hover { filter: brightness(1.1); transform: translateY(-1px); }
img { max-width: 100%; }
.ib-footer { width: 100%; margin: 28px 0; padding: 0; color: #9e979a; border: 0; text-align: center; }
.ib-legal { max-width: 1060px; margin: 0 auto 18px; color: #c0b9bd; font-size: 13px; line-height: 1.65; }
.ib-legal p { margin: 0 0 10px; }
.ib-legal b { color: #ffcf24; }
.ib-legal a { overflow-wrap: anywhere; }
.ib-thanks { color: #e4e9e8; }
.ib-footer-widget { min-height: 1px; margin: 8px auto 18px; }
.ib-site-credits { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 28px; margin: 12px auto 18px; color: #d2d9d7; font-size: 13px; }
.ib-site-credits a { color: #ffcf24; text-decoration: none; }
.ib-site-credits a:hover, .ib-site-credits a:focus-visible { color: var(--ib-blue); }
.ib-site-credits i { color: var(--ib-gold); font-style: normal; }
.ib-site-credits .fa-code::before { content: "</>"; font-size: .85em; font-weight: 700; }
.ib-site-credits .fa-folder::before { content: "▰"; font-size: .9em; }
@media (max-width: 720px) {
    .ib-paper-nav { bottom: .8%; width: calc(100% - 14px); padding: 3px 4px 4px; }
    .ib-paper-nav a { padding: 3px 4px; font-size: .8em; }
    .ib-paper-nav a::after { right: 4px; left: 4px; }
    .ib-system-menu, .ib-sub-menu { font-size: 10px; }
    .ib-paper-nav td { padding: 1px 2px; }
    .ib-content { width: calc(100% - 20px); margin-top: 18px; }
    .ib-gallery { padding: 12px 8px; border-radius: 12px; }
    .ib-gallery .thumbnails { padding: 7px 4px !important; }
    .ib-gallery .thumb_title, .ib-gallery .thumb_caption, .ib-gallery .thumb_filename, .ib-gallery .thumb_num_comments { font-size: 11px; }
    .ib-site-credits { gap: 8px 18px; }
}

/* Refinement pass: restrained paper navigation, compact controls and consistent archive rows. */
.ib-paper-nav { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 4px 10px 8px; }
.ib-system-menu, .ib-sub-menu { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; width: 100%; text-align: center; }
.ib-system-menu { gap: 1px 5px; }
.ib-sub-menu { gap: 1px 8px; margin-top: 0; }
.ib-paper-nav table { display: block; width: auto; max-width: 100%; border-collapse: separate; border-spacing: 0; }
.ib-paper-nav tbody, .ib-paper-nav tr { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
.ib-paper-nav td, .ib-paper-nav th { display: inline-flex; align-items: center; padding: 0 2px; }
.ib-paper-nav a { display: inline-flex; align-items: center; gap: 5px; min-height: 30px; padding: 4px 9px; color: #100d17; font-size: 10px; font-weight: 800; letter-spacing: .13em; line-height: 1.2; text-transform: uppercase; text-shadow: 0 1px 0 rgba(255,255,255,.65); }
.ib-paper-nav a::after { right: 9px; left: 9px; bottom: 1px; height: 2px; border-radius: 2px; box-shadow: 0 0 10px rgba(255,207,36,.35); }
.ib-paper-nav a:hover, .ib-paper-nav a:focus-visible { color: #ffcf24; text-shadow: 0 1px 0 rgba(255,255,255,.72), 0 0 12px rgba(255,207,36,.38); transform: translateY(-2px); }
.ib-paper-nav a::before { color: #ffcf24; transition: transform .2s ease, color .2s ease; }
.ib-paper-nav a:hover::before, .ib-paper-nav a:focus-visible::before { color: #ffcf24; transform: translateY(-1px) scale(1.12); }

/* Coppermine wraps each admin action in divs in some builds; flatten them into one flex row. */
.ib-admin-menu { display: flex !important; justify-content: center; align-items: center; flex-wrap: wrap; gap: 7px; width: 100%; }
.ib-admin-menu .admin_menu_wrapper, .ib-admin-menu .admin_float { display: contents !important; float: none !important; width: auto !important; margin: 0 !important; }
.ib-admin-menu .admin_menu { display: inline-flex !important; float: none !important; margin: 0 !important; }
.ib-admin-menu table { display: block !important; width: auto !important; margin: 0 !important; background: transparent !important; border: 0 !important; }
.ib-admin-menu tbody, .ib-admin-menu tr { display: contents !important; }
.ib-admin-menu td { display: inline-flex !important; align-items: center; padding: 0 !important; background: transparent !important; border: 0 !important; }
.ib-admin-menu a, .ib-admin-menu input, .ib-admin-menu button { display: inline-flex !important; float: none !important; align-items: center; justify-content: center; gap: 6px; min-height: 34px; margin: 0 !important; padding: 6px 11px !important; color: #b0efea !important; background: linear-gradient(145deg, rgba(15,13,22,.88), rgba(13,11,19,.88)) !important; border: 1px solid rgba(0,216,211,.25) !important; border-radius: 5px; box-shadow: 0 3px 12px rgba(0,0,0,.2); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-decoration: none !important; transition: transform .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.ib-admin-menu a:hover, .ib-admin-menu input:hover, .ib-admin-menu button:hover { color: #ffcf24 !important; border-color: rgba(255,207,36,.68) !important; transform: translateY(-2px); box-shadow: 0 7px 18px rgba(0,0,0,.28); }
.ib-admin-menu br { display: none !important; }

/* Replace Coppermine's old heading ornaments with the inline SVG marks inserted by script.js. */
.ib-gallery .tableh1::before, .ib-gallery .tableh2::before { content: none !important; display: none !important; }
.ib-gallery .ib-section-heading { min-height: 48px; padding: 10px 15px !important; color: #edf5f5 !important; background: linear-gradient(90deg, rgba(15,13,22,.97), rgba(13,12,20,.76)) !important; border: 0 !important; border-left: 2px solid var(--ib-gold) !important; border-bottom: 1px solid rgba(0,216,211,.22) !important; border-radius: 0 !important; box-shadow: inset 0 -1px rgba(255,255,255,.025); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-align: left; text-transform: uppercase; }
.ib-section-icon { display: inline-grid; width: 28px; height: 28px; margin-right: 11px; place-items: center; color: #ffcf24; background: rgba(255,207,36,.09); border: 1px solid rgba(255,207,36,.26); border-radius: 50%; vertical-align: middle; }
.ib-section-icon svg { display: block; width: 15px; height: 15px; }
.ib-section-label { min-width: 0; }

/* Category rows have one uninterrupted surface; remove legacy boxed label backgrounds. */
.ib-gallery .catrow, .ib-gallery .catrow_noalb { background: #0d0c14 !important; }
.ib-gallery .catrow td, .ib-gallery .catrow_noalb td { background: #0d0c14 !important; border-top: 1px solid rgba(0,216,211,.13) !important; }
.ib-gallery .catrow:hover, .ib-gallery .catrow:hover td, .ib-gallery .catrow_noalb:hover, .ib-gallery .catrow_noalb:hover td { background: #0e0c15 !important; }
.ib-gallery .catlink, .ib-gallery .catlink a, .ib-gallery .alblink, .ib-gallery .alblink a { display: inline; padding: 0 !important; color: #edf5f5 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.ib-gallery .catlink::before { color: #ffcf24; }
.ib-gallery .maintable { border-spacing: 0 !important; }
.ib-gallery .maintable tr + tr td { border-top: 1px solid rgba(0,216,211,.11); }

/* Cleaner image cards, with image-only view counts on hover for Last Viewed. */
.ib-gallery .thumbnails { padding: 12px 10px !important; background: rgba(12,10,18,.45) !important; border: 1px solid rgba(0,216,211,.19) !important; border-radius: 5px !important; box-shadow: 0 5px 17px rgba(0,0,0,.16); }
.ib-gallery .thumbnails:hover { border-color: rgba(255,207,36,.47) !important; box-shadow: 0 9px 24px rgba(0,0,0,.28), 0 0 0 1px rgba(255,207,36,.08); transform: translateY(-3px); }
.ib-thumb-link { overflow: hidden; background: #02080a; border: 1px solid rgba(255,255,255,.1); border-radius: 4px; box-shadow: 0 5px 15px rgba(0,0,0,.3); }
.ib-thumb-link img { transition: transform .28s ease, filter .28s ease; }
.ib-thumb-link:hover img, .ib-thumb-link:focus-visible img { filter: brightness(.78) saturate(1.05); transform: scale(1.045); }
.ib-thumb-views { border-radius: 3px; letter-spacing: .11em; }
.ib-last-viewed-card .thumb_caption { min-height: 1.5em; margin-top: 8px !important; color: #aca5a9 !important; font-size: 10px; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.ib-last-viewed-card .thumb_ip, .ib-last-viewed-card .thumb_ip_address, .ib-last-viewed-card .ip_address, .ib-last-viewed-card [class*="ip_address"], .ib-last-viewed-card [class*="ip-address"] { display: none !important; }

@media (max-width: 720px) {
    .ib-paper-nav { gap: 0; }
    .ib-paper-nav a { min-height: 25px; padding: 3px 5px; font-size: 9px; letter-spacing: .08em; }
    .ib-admin-menu { gap: 5px; }
    .ib-admin-menu a, .ib-admin-menu input, .ib-admin-menu button { min-height: 30px; padding: 5px 7px !important; font-size: 10px; }
    .ib-gallery .ib-section-heading { min-height: 42px; padding: 8px 10px !important; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* TateVault-inspired structure, adapted to the ItsBritney collage and dark palette. */
.ib-content { position: relative; z-index: 1; margin-top: 0; }
.ib-admin-menu { margin: 8px auto 12px; text-align: center; }
.ib-admin-menu br { display: none !important; }
.ib-admin-menu .admin_menu_wrapper,
.ib-admin-menu .admin_float { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; float: none !important; width: 100%; margin: 0 auto !important; }
.ib-admin-menu .admin_menu { display: inline-flex !important; align-items: center; float: none !important; margin: 0 !important; padding: 0 !important; }
.ib-admin-menu .admin_menu a,
.ib-admin-menu a.admin_menu,
.ib-admin-menu .admin_menu_wrapper > a {
    display: inline-flex !important; align-items: center; gap: 7px; min-height: 38px; padding: 8px 13px !important;
    color: #b0efea !important; background: linear-gradient(145deg, rgba(15,13,22,.94), rgba(13,11,19,.94)) !important;
    border: 1px solid rgba(0,216,211,.22) !important; border-radius: 6px; box-shadow: 0 3px 12px rgba(0,0,0,.18);
    text-decoration: none !important; transition: transform .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.ib-admin-menu .admin_menu a:hover,
.ib-admin-menu a.admin_menu:hover,
.ib-admin-menu .admin_menu_wrapper > a:hover { color: #ffcf24 !important; border-color: rgba(255,207,36,.62) !important; transform: translateY(-2px); box-shadow: 0 7px 18px rgba(0,0,0,.26); }
.ib-admin-menu .admin_menu img { width: 16px; height: 16px; object-fit: contain; opacity: .9; }
.ib-admin-menu .admin_menu a:focus-visible { outline: 2px solid var(--ib-gold); outline-offset: 2px; }
.ib-gallery .tableh1, .ib-gallery .tableh2 { text-transform: uppercase; letter-spacing: .13em; font-size: 12px; }
.ib-gallery .tableh1::before, .ib-gallery .tableh2::before { content: "✦"; display: inline-block; margin-right: 9px; color: var(--ib-gold); font-size: 14px; }
.ib-gallery .catlink::before { content: "◈"; margin-right: 8px; color: var(--ib-rose); }
.ib-paper-nav a[href*="index.php"]::before { content: "⌂"; }
.ib-paper-nav a[href*="login.php"]::before { content: "◉"; }
.ib-paper-nav a[href*="upload.php"]::before { content: "↥"; }
.ib-paper-nav a[href*="search.php"]::before { content: "⌕"; }
.ib-paper-nav a[href*="lastup"]::before { content: "✦"; }
.ib-paper-nav a[href*="lastcom"]::before { content: "▤"; }
.ib-paper-nav a[href*="topn"]::before { content: "▣"; }
.ib-paper-nav a[href*="toprated"]::before { content: "★"; }
.ib-paper-nav a[href*="favpics"]::before { content: "♡"; }
.ib-paper-nav a::before { display: inline-block; margin-right: 5px; color: var(--ib-blue-deep); font-size: 1em; }
.ib-footer-inner { width: 100%; max-width: none; margin: 0; padding: 26px clamp(16px, 2.5vw, 30px); background: linear-gradient(145deg, rgba(14,12,20,.96), rgba(12,11,18,.96)); border: 1px solid rgba(152,147,150,.27); border-top-color: rgba(255,207,36,.42); border-radius: 16px; box-shadow: 0 14px 36px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.025); }
.ib-footer-title { margin: 0 auto 15px; color: #b0efea; font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.ib-footer-title::after { display: block; width: 68px; height: 1px; margin: 10px auto 0; content: ""; background: linear-gradient(90deg, var(--ib-blue), var(--ib-gold)); }
.ib-legal-copy { max-width: 1120px; margin: 0 auto 16px; color: #c0b8bc; font-size: 13px; line-height: 1.75; }
.ib-legal-copy b { color: #ffcf24; }
.ib-legal-copy a { color: #00d8d3; }
.ib-legal-copy i { font-style: normal; }
.ib-footer-widget { margin: 10px auto; text-align: center; }
.ib-site-credits { padding-top: 12px; border-top: 1px solid rgba(0,216,211,.15); }
.ib-thumb-link { position: relative !important; display: inline-block !important; overflow: hidden; vertical-align: middle; border-radius: 7px; }
.ib-thumb-link img { display: block; }
.ib-thumb-views { position: absolute; right: 7px; bottom: 7px; left: 7px; display: block; padding: 7px 10px; color: #ffffff; font: 700 12px/1.2 "Trebuchet MS",Arial,sans-serif; letter-spacing: .08em; text-align: center; text-transform: uppercase; background: rgba(11,10,17,.84); border: 1px solid rgba(255,207,36,.62); border-radius: 5px; opacity: 0; transform: translateY(5px); transition: opacity .18s ease, transform .18s ease; pointer-events: none; }
.ib-thumb-link:hover .ib-thumb-views, .ib-thumb-link:focus-visible .ib-thumb-views { opacity: 1; transform: translateY(0); }
.ib-last-viewed-card .thumb_caption { min-height: 1.45em; color: #aca5a9 !important; font-size: 11px; letter-spacing: .03em; }
.ib-last-viewed-card .thumb_ip, .ib-last-viewed-card .thumb_ip_address, .ib-last-viewed-card .ip_address, .ib-last-viewed-card [class*="ip-address"] { display: none !important; }
@media (max-width: 720px) {
    .ib-admin-menu .admin_menu_wrapper, .ib-admin-menu .admin_float { gap: 6px; }
    .ib-admin-menu .admin_menu a, .ib-admin-menu a.admin_menu, .ib-admin-menu .admin_menu_wrapper > a { min-height: 34px; padding: 6px 9px !important; font-size: 12px; }
    .ib-footer-inner { padding: 18px 12px; }
}

/* Final interaction polish: readable framed nav, calm hover states and image overlays. */
.ib-paper-nav a {
    min-height: 30px;
    margin: 2px 1px;
    padding: 5px 10px;
    color: #0f0d16;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(16,13,23,.34) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.28), 0 1px 3px rgba(13,12,20,.08) !important;
    text-shadow: 0 1px rgba(255,255,255,.58);
    transform: none !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.ib-paper-nav a::after { right: 10px; left: 10px; bottom: -1px; height: 2px; }
.ib-paper-nav a:hover, .ib-paper-nav a:focus-visible {
    color: #ffcf24 !important;
    background: rgba(255,255,255,.28) !important;
    border-color: rgba(255,207,36,.72) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.45), 0 0 12px rgba(255,207,36,.18) !important;
    text-shadow: 0 1px rgba(255,255,255,.75);
    transform: none !important;
}
.ib-paper-nav a::before { color: #ffcf24; }
.ib-paper-nav a:hover::before, .ib-paper-nav a:focus-visible::before { transform: none !important; }

/* Thumb cards borrow TateVault's image-first hover: darken the still image and reveal a view overlay. */
.ib-gallery .thumbnails,
.ib-gallery .thumbnails:hover { transform: none !important; }
.ib-gallery .thumbnails { padding: 13px 11px 15px !important; background: linear-gradient(155deg, rgba(14,12,20,.94), rgba(12,10,18,.94)) !important; border: 1px solid rgba(0,216,211,.22) !important; border-radius: 6px !important; box-shadow: 0 8px 24px rgba(0,0,0,.2); transition: border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.ib-gallery .thumbnails:hover { background: linear-gradient(155deg, rgba(14,12,21,.98), rgba(12,11,18,.98)) !important; border-color: rgba(255,207,36,.58) !important; box-shadow: 0 10px 28px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.025); }
.ib-gallery .thumbnails img, .ib-thumb-link img { display: block; border: 1px solid rgba(198,190,194,.28); border-radius: 4px; transition: filter .24s ease; }
.ib-thumb-link, .ib-thumb-link:hover { transform: none !important; }
.ib-thumb-link:hover img, .ib-thumb-link:focus-visible img { filter: brightness(.38) saturate(.76); transform: none !important; }
.ib-thumb-views {
    inset: 0 !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px !important;
    color: #f0f3f4 !important;
    font: 700 11px/1.3 "Arial", "Helvetica Neue", sans-serif !important;
    letter-spacing: .16em !important;
    text-align: center;
    text-transform: uppercase;
    background: linear-gradient(145deg, rgba(11,10,17,.76), rgba(12,10,17,.58)) !important;
    border: 0 !important;
    border-radius: 4px !important;
    opacity: 0;
    transform: none !important;
    transition: opacity .22s ease;
    pointer-events: none;
}
.ib-thumb-views svg { display: block; width: 22px; height: 22px; color: #ffcf24; }
.ib-thumb-link:hover .ib-thumb-views, .ib-thumb-link:focus-visible .ib-thumb-views { opacity: 1; transform: none !important; }
.ib-gallery .thumb_title, .ib-gallery .thumb_filename { margin: 12px auto 5px !important; color: #eff3f3 !important; font: 700 12px/1.5 "Arial", "Helvetica Neue", sans-serif !important; letter-spacing: .075em; text-align: center; text-transform: uppercase; text-wrap: balance; }
.ib-gallery .thumb_caption, .ib-gallery .thumb_num_comments { margin: 5px auto 0 !important; color: #aca5a8 !important; font: 500 10px/1.55 "Arial", "Helvetica Neue", sans-serif !important; letter-spacing: .115em; text-align: center; text-transform: uppercase; }
.ib-gallery .thumb_title a { color: #f2f5f4 !important; text-decoration: none !important; }
.ib-gallery .thumb_title a:hover { color: #ffcf24 !important; }
.ib-gallery .thumbnails:hover .thumb_title, .ib-gallery .thumbnails:hover .thumb_title a { color: #ffcf24 !important; }
.ib-gallery .thumb_caption a { color: #00d8d3 !important; text-decoration-color: rgba(0,216,211,.38); text-underline-offset: 3px; }
.ib-last-viewed-card .thumb_caption { margin-top: 10px !important; color: #b2abaf !important; font-size: 10px !important; }
.ib-admin-menu a:hover, .ib-admin-menu input:hover, .ib-admin-menu button:hover,
.ib-admin-menu .admin_menu a:hover, .ib-admin-menu a.admin_menu:hover { transform: none !important; }

@media (max-width: 720px) {
    .ib-paper-nav a { min-height: 26px; margin: 1px; padding: 4px 6px; font-size: 9px; }
    .ib-gallery .thumbnails { padding: 9px 6px 11px !important; }
    .ib-gallery .thumb_title, .ib-gallery .thumb_filename { font-size: 11px !important; }
    .ib-thumb-views { gap: 5px; font-size: 9px !important; letter-spacing: .1em !important; }
}

/* Remove Coppermine's inner thumbnail rails and the empty dark strip under linked images. */
.ib-gallery .maintable tr + tr td.thumbnails { border-top: 0 !important; }
.ib-gallery td.thumbnails > table,
.ib-gallery td.thumbnails > table tbody,
.ib-gallery td.thumbnails > table tr,
.ib-gallery td.thumbnails > table td,
.ib-gallery .thumbnails hr { border-top: 0 !important; box-shadow: none !important; }
.ib-gallery .thumbnails hr { display: none !important; }
/* Compact album title/sort header; keep Coppermine's functional sort icons. */
.ib-gallery .tableh1,
.ib-gallery .tableh2,
.ib-gallery .tableh3 {
    min-height: 0 !important;
    padding: 10px 14px !important;
    line-height: 1.35 !important;
    vertical-align: middle !important;
}
.ib-gallery .tableh1 table,
.ib-gallery .tableh2 table,
.ib-gallery .tableh3 table,
.ib-gallery .sortorder_cell table {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 4px 1px !important;
    table-layout: auto !important;
}
.ib-gallery .tableh1 td,
.ib-gallery .tableh2 td,
.ib-gallery .tableh3 td,
.ib-gallery .sortorder_cell td {
    height: auto !important;
    padding: 1px 3px !important;
    border: 0 !important;
    background: transparent !important;
    line-height: 1.35 !important;
    vertical-align: middle !important;
}
.ib-gallery .tableh1 ul,
.ib-gallery .tableh1 ol,
.ib-gallery .tableh2 ul,
.ib-gallery .tableh2 ol,
.ib-gallery .tableh3 ul,
.ib-gallery .tableh3 ol,
.ib-gallery .sortorder_cell ul,
.ib-gallery .sortorder_cell ol {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.ib-gallery .tableh1 li,
.ib-gallery .tableh2 li,
.ib-gallery .tableh3 li,
.ib-gallery .sortorder_cell li { margin: 0 !important; padding: 0 !important; line-height: 1.35 !important; }
.ib-gallery .sortorder_cell { width: auto !important; padding: 0 !important; text-align: right; vertical-align: middle !important; }
.ib-gallery .sortorder_options { white-space: nowrap; font-size: 10px !important; }
.ib-gallery .ib-section-heading { min-height: 0 !important; }
.ib-gallery .ib-section-icon { flex: 0 0 26px; }

/* One image frame for every thumbnail, independent of meta-album or screen size.
   Image area: 98 x 128. Outer frame: 110 x 140 including equal 5px inset. */
.ib-gallery .ib-thumb-link,
.ib-gallery .thumbnails .ib-thumb-link {
    position: relative !important;
    display: inline-block !important;
    box-sizing: content-box !important;
    width: 98px !important;
    height: 128px !important;
    min-width: 98px !important;
    min-height: 128px !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 5px !important;
    overflow: hidden !important;
    vertical-align: top !important;
    line-height: 0 !important;
    font-size: 0 !important;
    background: #0f0d16 !important;
    border: 1px solid #ffcf24 !important;
    border-radius: 0 !important;
    box-shadow: inset 0 0 0 1px rgba(0,216,211,.2), 0 4px 12px rgba(0,0,0,.22) !important;
    transform: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.ib-gallery .ib-thumb-link .ib-thumb-image,
.ib-gallery .thumbnails .ib-thumb-link img {
    display: block !important;
    box-sizing: border-box !important;
    width: 98px !important;
    height: 128px !important;
    min-width: 98px !important;
    min-height: 128px !important;
    max-width: 98px !important;
    max-height: 128px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
    transition: filter .22s ease;
}
.ib-gallery .ib-thumb-link:hover,
.ib-gallery .ib-thumb-link:focus-visible {
    border-color: #ffcf24 !important;
    outline: none;
    box-shadow: inset 0 0 0 1px rgba(0,216,211,.4), 0 0 12px rgba(255,207,36,.16) !important;
    transform: none !important;
}
.ib-gallery .ib-thumb-link .ib-thumb-views {
    inset: 5px !important;
    gap: 7px !important;
    padding: 8px !important;
    font: 700 10px/1.45 Arial, sans-serif !important;
    letter-spacing: .1em !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(12,10,18,.24), rgba(12,10,18,.88)) !important;
    transform: none !important;
}
.ib-gallery .ib-thumb-link:hover .ib-thumb-views,
.ib-gallery .ib-thumb-link:focus-visible .ib-thumb-views { opacity: 1 !important; }
.ib-gallery .ib-thumb-meta { margin-top: 10px; }
.ib-gallery .thumb_title_views { display: none !important; }
.ib-gallery .thumbnails img[src*="spacer.gif"] { display: none !important; }
.ib-gallery .ib-thumb-meta .thumb_title:first-child { margin-top: 0 !important; }

/* Full-size gallery photographs receive the same gold/teal outer frame. */
.ib-gallery img.image:not(.thumbnail):not(.strip_image):not(.ib-thumb-image) {
    padding: 3px;
    height: auto;
    border: 1px solid #ffcf24;
    border-radius: 0;
    background: #0d0b13;
    box-shadow: inset 0 0 0 1px rgba(0,216,211,.2), 0 4px 12px rgba(0,0,0,.22);
}

/* Category labels sit in nested core tables. Only the full category row gets
   a divider; inner cells must never underline the length of the label. */
.ib-gallery .catrow table,
.ib-gallery .catrow_noalb table,
.ib-gallery .catrow table tbody,
.ib-gallery .catrow_noalb table tbody,
.ib-gallery .catrow table tr,
.ib-gallery .catrow_noalb table tr,
.ib-gallery .catrow table td,
.ib-gallery .catrow_noalb table td {
    border: 0 !important;
    border-spacing: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.ib-gallery .catrow table td,
.ib-gallery .catrow_noalb table td { padding: 4px 8px !important; }
.ib-gallery .catlink,
.ib-gallery .catlink a { text-decoration: none !important; border: 0 !important; box-shadow: none !important; }
.ib-gallery .catlink::after,
.ib-gallery .catlink a::after { content: none !important; }

/* Coppermine's album actions use buttonlist, not the main admin-menu wrapper. */
.ib-gallery .buttonlist ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
}
.ib-gallery .buttonlist li { margin: 0; padding: 0; list-style: none; }
.ib-gallery .buttonlist .adm_menu {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px;
    color: #cfc7cb;
    font: 700 10px/1.3 Arial, sans-serif;
    text-decoration: none;
    border: 1px solid rgba(0,216,211,.25);
    border-radius: 3px;
}
.ib-gallery .buttonlist .adm_menu:hover { color: #ffcf24; border-color: #ffcf24; }

/* Scrollbar uses the collage's ink, brass and petrol colours. */
@supports selector(::-webkit-scrollbar) {
    html { scrollbar-width: auto; scrollbar-color: auto; }
    ::-webkit-scrollbar { width: 12px; height: 12px; }
    ::-webkit-scrollbar-track { background: #0c0b12; border-left: 1px solid rgba(0,216,211,.12); }
    ::-webkit-scrollbar-thumb {
        min-height: 48px;
        background: linear-gradient(180deg, #ffcf24, #948f92 48%, #00d8d3);
        border: 3px solid #0c0b12;
        border-radius: 12px;
    }
    ::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #ffcf24, #00d8d3); }
    ::-webkit-scrollbar-corner { background: #0c0b12; }
}
::selection { color: #ffcf24; background: #00d8d3; }
@media (max-width: 720px) {
    .ib-content { margin-top: 0; }
    .ib-header::after { height: 88px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }

/* The archive grows out of the header's shadow instead of a detached box. */
.ib-gallery {
    padding-top: 18px;
    background: linear-gradient(180deg, rgba(13,11,19,0), rgba(13,11,19,.85) 52px, rgba(13,11,19,.96) 130px);
    border-top: 0;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 18px 36px -20px rgba(0,0,0,.36);
}
.ib-admin-menu:empty, .ib-message:empty { display: none !important; }

/* A single surface holds each album title, centered photograph and file facts. */
.ib-gallery .ib-album-row { background: transparent !important; }
.ib-gallery td.ib-album-cell {
    padding: 8px !important;
    vertical-align: top;
    background: transparent !important;
    border: 0 !important;
}
.ib-gallery .ib-album-card {
    height: 100%;
    overflow: hidden;
    background: linear-gradient(145deg, #0e0c14, #0d0b13);
    border: 1px solid rgba(0,216,211,.24);
    border-radius: 7px;
    box-shadow: inset 0 1px rgba(255,255,255,.025), 0 5px 18px rgba(0,0,0,.12);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.ib-gallery .ib-album-card:hover {
    border-color: rgba(255,207,36,.52);
    box-shadow: inset 0 1px rgba(255,255,255,.025), 0 6px 20px rgba(0,0,0,.18);
}
.ib-gallery .ib-album-card .ib-album-heading {
    padding: 11px 15px !important;
    color: #eaf3f4 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0,216,211,.14) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font: 700 11px/1.5 Arial, sans-serif !important;
    letter-spacing: .09em;
    text-align: center;
}
.ib-album-heading .ib-section-icon { width: 25px; height: 25px; margin-right: 8px; }
.ib-album-body { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 20px 18px 18px; }
.ib-gallery .ib-album-card .thumbnails.ib-album-art,
.ib-gallery .ib-album-card .thumbnails.ib-album-art:hover {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}
.ib-album-meta { width: 100%; text-align: center; }
.ib-gallery .ib-album-card .album_stat { margin: 0 !important; text-align: center; }
.ib-album-total, .ib-album-updated { display: flex; align-items: center; justify-content: center; gap: 6px; }
.ib-album-total { color: #ffcf24; font: 700 11px/1.5 Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.ib-album-updated { margin-top: 5px; color: #a9a2a6; font: 500 10px/1.5 Arial, sans-serif; letter-spacing: .04em; }
.ib-album-files svg { width: 13px; height: 13px; flex: 0 0 13px; color: #ffcf24; }
.ib-album-description { margin: 0 0 9px; color: #bab3b6; font-size: 12px; line-height: 1.6; }
.ib-album-actions { width: 100%; padding-top: 10px; border-top: 1px solid rgba(0,216,211,.13); }
.ib-gallery .ib-album-actions .buttonlist ul { justify-content: center; margin: 0; }
.ib-album-empty { visibility: hidden; }
@media (max-width: 720px) {
    .ib-gallery { padding-top: 12px; }
    .ib-gallery td.ib-album-cell { padding: 5px !important; }
    .ib-album-body { padding: 16px 8px; }
    .ib-gallery .ib-album-card .ib-album-heading { padding: 9px 8px !important; font-size: 10px !important; }
}

/* The first gallery row meets the bottom edge of the header directly. */
.ib-content { margin-top: 0 !important; }
.ib-gallery { padding-top: 0 !important; }
.ib-gallery > .maintable:first-child,
.ib-gallery > .ib-category-directory:first-child { margin-top: 0 !important; }

/* Continuous category directory, with one 95px photograph diamond beside each name. */
.ib-category-directory .maintable { margin: 0 !important; border-spacing: 0 !important; }
.ib-gallery .ib-category-header th {
    padding: 12px 14px;
    color: #ffcf24 !important;
    background: #0e0c15;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,207,36,.28) !important;
    font: 700 10px/1.4 Arial, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-align: left;
}
.ib-gallery .ib-category-header .ib-category-count-heading { text-align: center; }
.ib-gallery .ib-category-row td {
    padding: 10px 14px !important;
    vertical-align: middle;
    background: #0d0c14 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0,216,211,.15) !important;
    transition: background .2s ease;
}
.ib-gallery .ib-category-row:hover td { background: #0f0d16 !important; }
.ib-category-name { width: 80%; }
.ib-category-label a { color: #edf4f3 !important; font: 800 14px/1.4 Arial, sans-serif; letter-spacing: .055em; text-transform: uppercase; text-decoration: none !important; }
.ib-category-label a:hover { color: #ffcf24 !important; }
.ib-category-description { margin-top: 8px; max-width: 760px; color: #00d8d3; font: 400 12px/1.6 Arial, sans-serif; }
.ib-category-description:empty { display: none; }
.ib-category-count { width: 10%; text-align: center; color: #c5bec2 !important; font: 700 12px/1.4 Arial, sans-serif; font-variant-numeric: tabular-nums; }
.ib-category-main { display: flex; align-items: center; gap: 22px; }
.ib-category-copy { flex: 1; min-width: 0; }
.ib-category-art { flex: 0 0 95px; width: 95px; text-align: left; filter: drop-shadow(0 3px 6px rgba(0,0,0,.3)); transition: filter .22s ease; }
.ib-gallery .ib-category-diamond {
    position: relative;
    display: inline-block;
    width: 95px;
    height: 95px;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    overflow: hidden;
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    background: linear-gradient(135deg, #00d8d3, #ffcf24 48%, #ffcf24);
    border: 0;
    transition: background .2s ease;
}
.ib-gallery .ib-category-diamond .ib-category-image {
    display: block !important;
    width: 95px !important;
    height: 95px !important;
    min-width: 95px !important;
    min-height: 95px !important;
    max-width: 95px !important;
    max-height: 95px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover;
    clip-path: polygon(50% 4%, 96% 50%, 50% 96%, 4% 50%);
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: filter .22s ease;
}
.ib-category-row:hover .ib-category-diamond { background: #ffcf24; }
.ib-category-row:hover .ib-category-image { filter: brightness(1.13) saturate(1.06); }
.ib-category-diamond:focus-visible { background: #ffcf24; }
.ib-category-empty svg { position: absolute; inset: 33px; width: 29px; height: 29px; color: #0f0d16; stroke-width: 1.5; }
.ib-gallery .ib-category-albums > td { padding: 0 !important; border: 0 !important; background: transparent !important; }
.ib-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 720px) {
    .ib-gallery .ib-category-row td { padding: 8px 6px !important; }
    .ib-gallery .ib-category-header th { padding: 10px 6px; font-size: 9px; }
    .ib-category-label a { font-size: 12px; }
    .ib-category-main { gap: 12px; }
    .ib-category-description { font-size: 11px; }
    .ib-category-count { font-size: 10px; }
    .ib-category-name { width: auto; }
}

/* TateVault-inspired category typography, with a reveal arrow and still text. */
.ib-category-label a { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; overflow-wrap: anywhere; }
.ib-category-label a::before {
    content: "";
    display: block;
    flex: 0 0 5px;
    width: 5px;
    height: 5px;
    border: 1px solid #00d8d3;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(0,216,211,.15);
}
.ib-category-label a::after {
    content: "\2192";
    display: inline-block;
    flex: 0 0 18px;
    color: #ffcf24;
    font-size: 18px;
    line-height: 1;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity .2s ease, transform .2s ease;
}
.ib-category-row:hover .ib-category-label a::after,
.ib-category-label a:focus-visible::after { opacity: 1; transform: translateX(0); }
.ib-category-row:hover .ib-category-label a { color: #ffcf24 !important; }
.ib-category-row:hover .ib-category-label a::before { border-color: #ffcf24; background: #ffcf24; }
.ib-category-row:hover .ib-category-art,
.ib-category-row:focus-within .ib-category-art { filter: drop-shadow(0 0 8px rgba(255,207,36,.22)); }
.ib-gallery .ib-category-row:focus-within td { background: #0f0d16 !important; }
.ib-category-label a:focus-visible { outline: 1px solid #ffcf24; outline-offset: 5px; }

/* A quiet, separate statistics band between the directory and photo sections. */
.ib-category-directory { margin-bottom: 24px; }
.ib-gallery-summary {
    margin-top: 20px;
    padding: 12px 14px;
    background: rgba(14,12,20,.56);
    border: 1px solid rgba(168,161,164,.16);
    border-radius: 9px;
    box-shadow: inset 0 1px rgba(255,255,255,.018);
}
.ib-summary-items,
.ib-gallery .ib-statistics-copy {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px 10px;
    text-align: center !important;
    color: #b8b1b5 !important;
    font: 400 10px/1.7 Arial, sans-serif !important;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.ib-summary-item {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    padding: 5px 9px;
    border: 1px solid transparent;
    border-radius: 15px;
    transition: background .22s ease, border-color .22s ease;
}
.ib-summary-number { color: #ffcf24; font: 500 11px/1.5 Arial, sans-serif; letter-spacing: .035em; font-variant-numeric: tabular-nums; transition: color .22s ease; }
.ib-summary-label { color: #b0a9ac; font: 400 9px/1.5 Arial, sans-serif; letter-spacing: .11em; transition: color .22s ease; }
.ib-summary-item:hover { background: rgba(177,170,174,.055); border-color: rgba(255,47,151,.22); }
.ib-summary-item:hover .ib-summary-number { color: #ff2f97; }
.ib-summary-item:hover .ib-summary-label { color: #b0efea; }
.ib-gallery .ib-statistics-row { background: rgba(14,12,20,.56) !important; text-align: center !important; padding: 12px !important; font-weight: 400 !important; }
.ib-gallery .ib-statistics-row::before { content: none !important; }
.ib-gallery .ib-category-count { font-weight: 500; font-size: 11px; }
.ib-category-count > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    padding: 5px 7px;
    border-radius: 12px;
    color: #c2babe;
    transition: background .22s ease, color .22s ease;
}
.ib-category-row:hover .ib-category-count > span,
.ib-category-count > span:hover { background: rgba(255,47,151,.075); color: #ff2f97; }
@media (max-width: 720px) {
    .ib-gallery-summary { padding: 10px 6px; }
    .ib-summary-items { gap: 4px; }
    .ib-summary-item { padding: 5px 6px; }
    .ib-category-count > span { min-width: 0; padding: 4px; }
}

/* One continuous photo surface instead of individual boxed thumbnail cells. */
.ib-gallery .maintable.ib-thumb-grid {
    border-spacing: 0 !important;
    background: linear-gradient(135deg, #0e0c14, #0d0b13) !important;
}
.ib-gallery .maintable.ib-thumb-grid td.thumbnails,
.ib-gallery .maintable.ib-thumb-grid td.thumbnails:hover,
.ib-gallery .maintable.ib-thumb-grid td.thumbnails:focus-within {
    padding: 17px 10px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background .25s ease;
}
.ib-gallery .maintable.ib-thumb-grid td.thumbnails:hover,
.ib-gallery .maintable.ib-thumb-grid td.thumbnails:focus-within {
    background: radial-gradient(ellipse at 50% 44%, rgba(0,216,211,.13), rgba(255,47,151,.035) 52%, transparent 78%) !important;
}
.ib-gallery .maintable.ib-thumb-grid td.thumbnails > table,
.ib-gallery .maintable.ib-thumb-grid td.thumbnails > table td {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.ib-gallery .maintable.ib-thumb-grid .ib-thumb-meta { margin-top: 11px; }
@media (max-width: 720px) {
    .ib-gallery .maintable.ib-thumb-grid td.thumbnails { padding: 13px 5px !important; }
}

/* Footer identity matches the torn-paper masthead, with a quiet reading area. */
.ib-footer-inner { padding-top: 27px; padding-bottom: 22px; }
.ib-footer-brand { display: block; width: min(460px, 92%); margin: 0 auto 17px; line-height: 0; }
.ib-footer-logo { display: block; width: 100%; height: auto; border: 0; }
.ib-footer-brand:focus-visible { outline: 1px solid #ffcf24; outline-offset: 7px; border-radius: 5px; }
.ib-footer-title { margin: 0 0 18px; color: #ffcf24; font: 500 10px/1.5 Arial, sans-serif; letter-spacing: .2em; }
.ib-footer-title::after { width: 86px; margin-top: 10px; background: linear-gradient(90deg, transparent, #00d8d3, #ffcf24, transparent); }
.ib-legal-copy { max-width: 1040px; color: #b7b0b3; font: 400 12px/1.85 Arial, sans-serif; }
.ib-legal-copy b { color: #ffcf24; font-weight: 600; }
.ib-footer-widget { margin: 17px auto 19px; text-align: center; }
/* CSS also applies to the asynchronously injected eFreeCode badge. */
.ib-footer-widget img,
.ib-footer-widget iframe {
    display: inline-block;
    max-width: 100%;
    padding: 4px;
    vertical-align: middle;
    background: #0e0c14;
    border: 1px solid rgba(170,163,167,.28);
    border-radius: 5px;
    opacity: .78;
    filter: grayscale(.65) sepia(.16) brightness(.88);
    box-shadow: 0 2px 7px rgba(0,0,0,.2);
    transition: filter .24s ease, opacity .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.ib-footer-widget img:hover,
.ib-footer-widget a:hover img,
.ib-footer-widget a:focus-visible img,
.ib-footer-widget:focus-within iframe,
.ib-footer-widget iframe:hover {
    opacity: 1;
    filter: grayscale(0) sepia(0) brightness(1.08);
    border-color: #ffcf24;
    box-shadow: 0 0 13px rgba(255,207,36,.2);
}
.ib-footer-widget a:focus-visible { outline: 1px solid #ffcf24; outline-offset: 5px; }
.ib-site-credits {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 27px;
    margin: 0;
    padding: 18px 0 0;
    border-top: 1px solid rgba(168,161,164,.16);
    color: #a49ea1;
    font: 400 11px/1.5 Arial, sans-serif;
}
.ib-credit-item { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.ib-credit-icon { flex: 0 0 15px; width: 15px; height: 15px; color: #ffcf24; }
.ib-site-credits a { color: #ffcf24 !important; text-decoration: none !important; }
.ib-site-credits a:hover, .ib-site-credits a:focus-visible { color: #ff2f97 !important; }
.ib-site-credits b { font-weight: 600; }
.ib-coppermine-text,
.ib-coppermine-text div,
.ib-coppermine-text p { display: inline !important; width: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: inherit !important; font: inherit !important; }
.ib-coppermine-text a { font: inherit !important; }
.ib-coppermine-text br { display: none; }
@media (max-width: 720px) {
    .ib-footer-brand { width: min(380px, 94%); }
    .ib-footer-inner { padding-top: 22px; padding-bottom: 20px; }
    .ib-site-credits { gap: 10px 17px; }
    .ib-legal-copy { font-size: 11px; }
}

/* TateVaultvol2 — header coordinates: PHOTOGALLERY ends at y=630/829.
   630 / 2000 = 31.5% of rendered width; the extra 130px never scales. */
:root { --ib-bg:#100d16; --ib-panel:#19131f; --ib-panel-raised:#24192a;
 --ib-ink:#fff5ef; --ib-muted:#c9bccb; --ib-blue:#00d8d3;
 --ib-blue-deep:#00d8d3; --ib-gold:#ffcf24; --ib-rose:#ff2f97;
 --ib-line:rgba(255,47,151,.24); }
html { scrollbar-gutter:auto; scrollbar-color:#ff2f97 #100d16; }
body { background-color:#100d16; background-image:url("images/ink-grain.svg"),radial-gradient(ellipse at 0 25%,rgba(255,47,151,.10),transparent 48%),radial-gradient(ellipse at 100% 50%,rgba(0,216,211,.08),transparent 48%); }
.ib-header { display:flow-root; min-height:41.45vw; padding-bottom:24px; background:#100d16; }
.ib-header::before { content:""; display:block; padding-top:31.5%; }
.ib-header::after { display:none; }
.ib-masthead { position:absolute; inset:0 0 auto; display:block; overflow:hidden; background:transparent; z-index:-1; }
.tv-header-art { display:block; width:100%; height:auto; }
.ib-home-link { top:0; left:24%; width:57%; height:5%; }
.ib-paper-nav { position:relative; top:auto; right:auto; bottom:auto; left:auto; width:fit-content; max-width:calc(100% - 32px); margin:130px auto 0; padding:12px 18px; gap:5px; background:rgba(16,13,22,.96); border:1px solid #ff2f97; border-top:3px solid #ffcf24; border-radius:4px; box-shadow:5px 5px 0 rgba(0,216,211,.75); }
.ib-paper-nav a { min-height:32px; color:#fff5ef !important; background:transparent !important; border:1px solid transparent !important; box-shadow:none !important; text-shadow:none !important; letter-spacing:.10em; }
.ib-paper-nav a::before { color:#00d8d3; }
.ib-paper-nav a::after { background:linear-gradient(90deg,#ff2f97,#ff9028,#ffcf24); box-shadow:none; }
.ib-paper-nav a:hover,.ib-paper-nav a:focus-visible { color:#ffcf24 !important; background:rgba(255,47,151,.12) !important; border-color:#ff2f97 !important; text-shadow:none !important; box-shadow:none !important; }
.ib-paper-nav a:focus-visible { outline:2px solid #00d8d3; outline-offset:2px; }
.ib-content { padding-top:20px; }
.ib-gallery .ib-category-heading,.ib-gallery .ib-category-count-heading { color:#ffcf24 !important; }
.ib-gallery .ib-section-heading { border-left-color:#ff2f97 !important; }
.ib-category-diamond { background:linear-gradient(135deg,#00d8d3,#ffcf24 48%,#ff2f97); }
.ib-footer-inner { border-top:2px solid #ff2f97 !important; }
::selection { color:#100d16; background:#ffcf24; }
@media (max-width:600px) {
 .ib-paper-nav { padding:10px; max-width:calc(100% - 24px); }
 .ib-paper-nav a { min-height:36px; padding:6px 8px; font-size:10px; }
}
