/* racecar / SelenaVault — dark Coppermine 1.6.x theme */
:root {
    --ib-bg: #100e0e;
    --ib-panel: #1a1818;
    --ib-panel-raised: #222020;
    --ib-ink: #eaf3f4;
    --ib-muted: #c5beb1;
    --ib-blue: #c5beb1;
    --ib-blue-deep: #424040;
    --ib-gold: #ffd333;
    --ib-rose: #ef3d46;
    --ib-line: rgba(197,190,177, .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: #ffd333 #141212;
}
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,211,51,.17), transparent 72%),
        radial-gradient(ellipse 75% 38rem at 92% 34rem, rgba(66,64,64,.23), transparent 75%),
        linear-gradient(180deg, #272525 0, #181616 48rem, #110f0f 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: #ffd333; }
.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,211,51,.14), transparent 78%),
        linear-gradient(180deg, rgba(22,20,20,.58), transparent);
    border-top: 1px solid rgba(255,211,51,.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: #2f2d2d; background: transparent; }
.ib-paper-nav a { position: relative; display: inline-block; padding: 4px 8px; color: #2f2d2d; 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, #c5beb1, 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: #ef3d46; text-shadow: 0 0 10px rgba(255,211,51,.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 #ffd33366; 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,211,51,.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(26,24,24,.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(197,190,177,.5); text-underline-offset: 3px; }
.ib-gallery a:hover, .ib-gallery a:focus-visible { color: #ffd333; 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: #ffd333 !important; background: #222020 !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: #1a1818 !important; border-bottom: 1px solid rgba(197,190,177,.17) !important; }
.ib-gallery .tableb_alternate { background: #201e1e !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: #1c1a1a !important; border-bottom: 1px solid rgba(197,190,177,.2) !important; }
.ib-gallery .catrow:hover td, .ib-gallery .catrow_noalb:hover td { background: #242222 !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: #ffd333 !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, #201e1e, #171515) !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(197,190,177,.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: #c5beb1 !important; }
.ib-gallery .thumb_num_comments { color: #c5beb1 !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: #201e1e; border: 1px solid #67b3be; border-radius: 6px; }
input[type="submit"], button { padding: 7px 12px; color: #100e0e; background: linear-gradient(#ffd333,#ffd333); 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: #c5beb1; border: 0; text-align: center; }
.ib-legal { max-width: 1060px; margin: 0 auto 18px; color: #c5beb1; font-size: 13px; line-height: 1.65; }
.ib-legal p { margin: 0 0 10px; }
.ib-legal b { color: #ffd333; }
.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: #ffd333; 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: #302e2e; 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,211,51,.35); }
.ib-paper-nav a:hover, .ib-paper-nav a:focus-visible { color: #ef3d46; text-shadow: 0 1px 0 rgba(255,255,255,.72), 0 0 12px rgba(255,211,51,.38); transform: translateY(-2px); }
.ib-paper-nav a::before { color: #ffd333; transition: transform .2s ease, color .2s ease; }
.ib-paper-nav a:hover::before, .ib-paper-nav a:focus-visible::before { color: #ffd333; 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: #f3eddf !important; background: linear-gradient(145deg, rgba(41,39,39,.88), rgba(23,21,21,.88)) !important; border: 1px solid rgba(103,179,190,.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: #ffd333 !important; border-color: rgba(255,211,51,.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(41,39,39,.97), rgba(28,26,26,.76)) !important; border: 0 !important; border-left: 2px solid var(--ib-gold) !important; border-bottom: 1px solid rgba(197,190,177,.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: #ffd333; background: rgba(255,211,51,.09); border: 1px solid rgba(255,211,51,.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: #1c1a1a !important; }
.ib-gallery .catrow td, .ib-gallery .catrow_noalb td { background: #1c1a1a !important; border-top: 1px solid rgba(197,190,177,.13) !important; }
.ib-gallery .catrow:hover, .ib-gallery .catrow:hover td, .ib-gallery .catrow_noalb:hover, .ib-gallery .catrow_noalb:hover td { background: #242222 !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: #ffd333; }
.ib-gallery .maintable { border-spacing: 0 !important; }
.ib-gallery .maintable tr + tr td { border-top: 1px solid rgba(197,190,177,.11); }

/* Cleaner image cards, with image-only view counts on hover for Last Viewed. */
.ib-gallery .thumbnails { padding: 12px 10px !important; background: rgba(16,14,14,.45) !important; border: 1px solid rgba(197,190,177,.19) !important; border-radius: 5px !important; box-shadow: 0 5px 17px rgba(0,0,0,.16); }
.ib-gallery .thumbnails:hover { border-color: rgba(255,211,51,.47) !important; box-shadow: 0 9px 24px rgba(0,0,0,.28), 0 0 0 1px rgba(255,211,51,.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: #c5beb1 !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: #f3eddf !important; background: linear-gradient(145deg, rgba(41,39,39,.94), rgba(23,21,21,.94)) !important;
    border: 1px solid rgba(103,179,190,.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: #ffd333 !important; border-color: rgba(255,211,51,.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(31,29,29,.96), rgba(20,18,18,.96)); border: 1px solid rgba(197,190,177,.27); border-top-color: rgba(255,211,51,.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: #f3eddf; 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: #c5beb1; font-size: 13px; line-height: 1.75; }
.ib-legal-copy b { color: #ffd333; }
.ib-legal-copy a { color: #c5beb1; }
.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(197,190,177,.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(14,12,12,.84); border: 1px solid rgba(255,211,51,.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: #c5beb1 !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: #292727;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(46,44,44,.34) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.28), 0 1px 3px rgba(29,27,27,.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: #ef3d46 !important;
    background: rgba(255,255,255,.28) !important;
    border-color: rgba(255,211,51,.72) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.45), 0 0 12px rgba(255,211,51,.18) !important;
    text-shadow: 0 1px rgba(255,255,255,.75);
    transform: none !important;
}
.ib-paper-nav a::before { color: #ffd333; }
.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(32,30,30,.94), rgba(17,15,15,.94)) !important; border: 1px solid rgba(197,190,177,.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(37,35,35,.98), rgba(20,18,18,.98)) !important; border-color: rgba(255,211,51,.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(197,190,177,.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(14,12,12,.76), rgba(16,14,14,.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: #ffd333; }
.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: #c5beb1 !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: #ffd333 !important; }
.ib-gallery .thumbnails:hover .thumb_title, .ib-gallery .thumbnails:hover .thumb_title a { color: #ffd333 !important; }
.ib-gallery .thumb_caption a { color: #c5beb1 !important; text-decoration-color: rgba(197,190,177,.38); text-underline-offset: 3px; }
.ib-last-viewed-card .thumb_caption { margin-top: 10px !important; color: #c5beb1 !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: #2a2828 !important;
    border: 1px solid #ffd333 !important;
    border-radius: 0 !important;
    box-shadow: inset 0 0 0 1px rgba(197,190,177,.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: #ffd333 !important;
    outline: none;
    box-shadow: inset 0 0 0 1px rgba(197,190,177,.4), 0 0 12px rgba(255,211,51,.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(16,14,14,.24), rgba(16,14,14,.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 #ffd333;
    border-radius: 0;
    background: #191717;
    box-shadow: inset 0 0 0 1px rgba(197,190,177,.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: #c5beb1;
    font: 700 10px/1.3 Arial, sans-serif;
    text-decoration: none;
    border: 1px solid rgba(197,190,177,.25);
    border-radius: 3px;
}
.ib-gallery .buttonlist .adm_menu:hover { color: #ffd333; border-color: #ffd333; }

/* 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: #141212; border-left: 1px solid rgba(197,190,177,.12); }
    ::-webkit-scrollbar-thumb {
        min-height: 48px;
        background: linear-gradient(180deg, #ffd333, #c5beb1 48%, #67b3be);
        border: 3px solid #141212;
        border-radius: 12px;
    }
    ::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #ffd333, #67b3be); }
    ::-webkit-scrollbar-corner { background: #141212; }
}
::selection { color: #ffd333; background: #67b3be; }
@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(26,24,24,0), rgba(26,24,24,.85) 52px, rgba(26,24,24,.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, #201e1e, #181616);
    border: 1px solid rgba(197,190,177,.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,211,51,.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(197,190,177,.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: #ffd333; font: 700 11px/1.5 Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.ib-album-updated { margin-top: 5px; color: #c5beb1; font: 500 10px/1.5 Arial, sans-serif; letter-spacing: .04em; }
.ib-album-files svg { width: 13px; height: 13px; flex: 0 0 13px; color: #ffd333; }
.ib-album-description { margin: 0 0 9px; color: #c5beb1; font-size: 12px; line-height: 1.6; }
.ib-album-actions { width: 100%; padding-top: 10px; border-top: 1px solid rgba(197,190,177,.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. */
/* Content overlap is controlled by racecar.css. */
.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: #ffd333 !important;
    background: #242222;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,211,51,.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: #1e1c1c !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(197,190,177,.15) !important;
    transition: background .2s ease;
}
.ib-gallery .ib-category-row:hover td { background: #292727 !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: #ffd333 !important; }
.ib-category-description { margin-top: 8px; max-width: 760px; color: #c5beb1; font: 400 12px/1.6 Arial, sans-serif; }
.ib-category-description:empty { display: none; }
.ib-category-count { width: 10%; text-align: center; color: #c5beb1 !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, #67b3be, #ffd333 48%, #ef3d46);
    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: #ffd333; }
.ib-category-row:hover .ib-category-image { filter: brightness(1.13) saturate(1.06); }
.ib-category-diamond:focus-visible { background: #ffd333; }
.ib-category-empty svg { position: absolute; inset: 33px; width: 29px; height: 29px; color: #282626; 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 #c5beb1;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(197,190,177,.15);
}
.ib-category-label a::after {
    content: "\2192";
    display: inline-block;
    flex: 0 0 18px;
    color: #ffd333;
    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: #ffd333 !important; }
.ib-category-row:hover .ib-category-label a::before { border-color: #ffd333; background: #ffd333; }
.ib-category-row:hover .ib-category-art,
.ib-category-row:focus-within .ib-category-art { filter: drop-shadow(0 0 8px rgba(255,211,51,.22)); }
.ib-gallery .ib-category-row:focus-within td { background: #292727 !important; }
.ib-category-label a:focus-visible { outline: 1px solid #ffd333; 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(32,30,30,.56);
    border: 1px solid rgba(197,190,177,.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: #c5beb1 !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: #ffd333; font: 500 11px/1.5 Arial, sans-serif; letter-spacing: .035em; font-variant-numeric: tabular-nums; transition: color .22s ease; }
.ib-summary-label { color: #c5beb1; font: 400 9px/1.5 Arial, sans-serif; letter-spacing: .11em; transition: color .22s ease; }
.ib-summary-item:hover { background: rgba(239,61,70,.055); border-color: rgba(239,61,70,.22); }
.ib-summary-item:hover .ib-summary-number { color: #ef3d46; }
.ib-summary-item:hover .ib-summary-label { color: #c5beb1; }
.ib-gallery .ib-statistics-row { background: rgba(32,30,30,.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: #c5beb1;
    transition: background .22s ease, color .22s ease;
}
.ib-category-row:hover .ib-category-count > span,
.ib-category-count > span:hover { background: rgba(239,61,70,.075); color: #ef3d46; }
@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, #201e1e, #181616) !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(197,190,177,.13), rgba(239,61,70,.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 #ffd333; outline-offset: 7px; border-radius: 5px; }
.ib-footer-title { margin: 0 0 18px; color: #ffd333; 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, #c5beb1, #ffd333, transparent); }
.ib-legal-copy { max-width: 1040px; color: #c5beb1; font: 400 12px/1.85 Arial, sans-serif; }
.ib-legal-copy b { color: #ffd333; 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: #211f1f;
    border: 1px solid rgba(197,190,177,.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: #ffd333;
    box-shadow: 0 0 13px rgba(255,211,51,.2);
}
.ib-footer-widget a:focus-visible { outline: 1px solid #ffd333; 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(197,190,177,.16);
    color: #c5beb1;
    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: #ffd333; }
.ib-site-credits a { color: #ffd333 !important; text-decoration: none !important; }
.ib-site-credits a:hover, .ib-site-credits a:focus-visible { color: #ef3d46 !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; }
}

/* Mobile archive, 2026-10-14. Original desktop header and user footer retained. */
.ib-menu-toggle { display: none; }
.ib-paper-nav .ib-sub-menu[hidden] { display: none !important; }
@media (max-width: 760px) {
    html { scrollbar-gutter: auto; scroll-padding-top: 12px; }
    .ib-content { width: calc(100% - 20px); min-width: 0; }
    .ib-header { padding-bottom: 0; }
    .ib-header::after { height: 45px; border-top: 0; }
    /* A readable menu follows the original paper edge, without covering art. */
    .ib-paper-nav {
        position: relative; inset: auto; width: calc(100% - 20px);
        margin: 0 auto; padding: 12px 10px; gap: 9px;
        color: var(--ib-ink); background: rgba(26,24,24,.92);
        border: 1px solid var(--ib-line); border-bottom: 0;
        box-shadow: inset 0 1px rgba(255,211,51,.12);
    }
    .ib-paper-nav .ib-system-menu, .ib-paper-nav .ib-sub-menu {
        display: flex; flex-wrap: wrap; justify-content: center; gap: 6px;
        width: 100%; margin: 0; font-size: 11px;
    }
    .ib-paper-nav table, .ib-paper-nav tbody, .ib-paper-nav tr,
    .ib-paper-nav td, .ib-paper-nav ul, .ib-paper-nav li { display: contents; }
    .ib-paper-nav a, .ib-paper-nav .ib-sub-menu a {
        display: flex; align-items: center; justify-content: center;
        flex: 1 1 calc(50% - 6px); min-width: 0; min-height: 44px;
        margin: 0; padding: 9px 7px; color: #f3eddf;
        font-size: 10px; letter-spacing: .045em; line-height: 1.4;
        border: 1px solid rgba(255,211,51,.38); border-radius: 4px;
        background: transparent; text-shadow: none; box-shadow: none;
    }
    .ib-paper-nav .ib-system-menu a { flex: 0 1 110px; }
    .ib-paper-nav a::before { color: #ffd333; }
    .ib-paper-nav a:hover, .ib-paper-nav a:focus-visible {
        color: #ffd333; background: rgba(255,211,51,.08);
        border-color: #ffd333; transform: none; text-shadow: none;
    }
    .ib-paper-nav.ib-menu-ready .ib-menu-toggle {
        display: flex; align-items: center; justify-content: space-between;
        width: 100%; min-height: 44px; padding: 10px 12px;
        color: #f3eddf; background: rgba(255,255,255,.025);
        border: 1px solid rgba(255,211,51,.38); border-radius: 4px;
        font: 600 11px/1.4 Arial,sans-serif; letter-spacing: .07em;
        text-transform: uppercase; cursor: pointer;
        transition: background .18s, border-color .18s;
    }
    .ib-menu-toggle svg { color: #ffd333; transition: transform .18s; }
    .ib-menu-open .ib-menu-toggle svg { transform: rotate(180deg); }
    .ib-menu-toggle:hover, .ib-menu-toggle:focus-visible {
        background: rgba(255,211,51,.08); border-color: #ffd333;
    }
    .ib-menu-toggle:focus-visible { outline: 2px solid var(--ib-gold); outline-offset: 2px; }
    .ib-gallery { min-width: 0; padding: 0 8px 14px !important; }
    .ib-gallery .maintable { min-width: 0 !important; max-width: 100%; }
    .ib-gallery table.ib-mobile-grid {
        display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 0 8px; width: 100% !important; border-spacing: 0 !important;
    }
    .ib-mobile-grid > tbody, .ib-mobile-grid > thead, .ib-mobile-grid > tfoot,
    .ib-mobile-grid .ib-mobile-row { display: contents !important; }
    .ib-gallery .ib-mobile-row > .ib-mobile-card {
        display: block !important; width: auto !important; min-width: 0;
        max-width: 100%; padding: 14px 4px 18px !important; text-align: center;
    }
    .ib-gallery .ib-mobile-row > .ib-mobile-wide {
        display: block; grid-column: 1 / -1; width: auto !important; min-width: 0;
    }
    .ib-gallery .ib-mobile-row > .ib-mobile-empty { display: none !important; }
    .ib-mobile-card > table { width: 100% !important; table-layout: fixed; }
    /* Preserve the requested 98 × 128 image area and the full inner frame. */
    .ib-gallery .ib-mobile-card .ib-thumb-link {
        box-sizing: content-box !important; width: 98px !important; height: 128px !important;
        padding: 5px !important; flex-shrink: 0;
    }
    .ib-gallery .ib-mobile-card .thumb_title,
    .ib-gallery .ib-mobile-card .thumb_filename {
        margin-top: 8px !important; font-size: 11px !important;
        line-height: 1.45 !important; letter-spacing: .04em !important;
        white-space: normal; overflow-wrap: anywhere;
    }
    .ib-gallery .ib-mobile-card .thumb_caption,
    .ib-gallery .ib-mobile-card .thumb_num_comments {
        font-size: 10px !important; letter-spacing: .04em !important;
        white-space: normal; overflow-wrap: anywhere;
    }
    .ib-gallery .ib-section-heading {
        font-size: 12px !important; letter-spacing: .06em !important;
        padding: 12px 10px !important; white-space: normal;
    }
    .ib-gallery .ib-album-body { padding: 12px 5px; gap: 9px; }
    .ib-gallery .ib-album-heading { overflow-wrap: anywhere; }
    .ib-gallery .ib-category-header { display: none; }
    .ib-gallery .ib-category-directory > .maintable,
    .ib-gallery .ib-category-directory > .maintable > tbody { display: block; }
    .ib-gallery .ib-category-row {
        display: grid; grid-template-columns: 107px 1fr 1fr;
        padding: 15px 8px; border-bottom: 1px solid var(--ib-line);
        background: #1c1a1a; transition: background .18s;
    }
    .ib-gallery .ib-category-row:hover,
    .ib-gallery .ib-category-row:focus-within { background: #292727; }
    .ib-gallery .ib-category-row td {
        display: block; width: auto !important; padding: 0 !important;
        background: transparent !important; border: 0 !important;
    }
    .ib-category-row .ib-category-name { grid-column: 1 / -1; }
    .ib-category-main { gap: 12px; align-items: center; }
    .ib-category-art { flex: 0 0 95px; }
    .ib-category-copy { min-width: 0; }
    .ib-category-label a { font-size: 12px; overflow-wrap: anywhere; }
    .ib-category-description { font-size: 11px; line-height: 1.6; }
    .ib-category-row .ib-category-count:nth-child(2) { grid-column: 2; }
    .ib-category-row .ib-category-count:nth-child(3) { grid-column: 3; }
    .ib-category-count::before {
        display: block; margin-top: 10px; color: var(--ib-muted);
        font: 500 9px/1.5 Arial,sans-serif; letter-spacing: .1em;
    }
    .ib-category-count:nth-child(2)::before { content: "ALBUMS"; }
    .ib-category-count:nth-child(3)::before { content: "FILES"; }
    .ib-category-count > span { min-width: 0; font-size: 11px; padding: 4px 8px; }
    .ib-summary-items { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
    .ib-summary-item { flex: 0 1 calc(33.333% - 5px); padding: 7px 4px; min-width: 0; }
    .ib-admin-menu .admin_menu_wrapper, .ib-admin-menu .admin_float { flex-wrap: wrap; }
    .ib-admin-menu a, .ib-admin-menu .admin_menu a { min-height: 44px !important; }
    .ib-gallery img.image:not(.thumbnail):not(.strip_image):not(.ib-thumb-image) {
        max-width: 100% !important; height: auto !important;
    }
    .ib-gallery video, .ib-gallery iframe { max-width: 100%; }
    .ib-gallery input, .ib-gallery select, .ib-gallery textarea { max-width: 100%; min-width: 0; }
    .ib-gallery input[type="text"], .ib-gallery input[type="password"],
    .ib-gallery input[type="email"], .ib-gallery input[type="search"],
    .ib-gallery select, .ib-gallery textarea { font-size: 16px; }
    .ib-gallery .sortorder_options { white-space: normal; }
    .ib-gallery #picinfo td { white-space: normal; overflow-wrap: anywhere; font-size: 11px; }
    .ib-footer-inner { padding: 24px 14px 20px; }
    .ib-legal-copy { font-size: 11px; line-height: 1.8; }
    .ib-footer-title { font-size: 20px; overflow-wrap: anywhere; }
    .ib-site-credits { flex-wrap: wrap; justify-content: center; gap: 12px 18px; }
}
@media (min-width: 540px) and (max-width: 760px) {
    .ib-gallery table.ib-mobile-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .ib-paper-nav .ib-sub-menu a { flex-basis: calc(33.333% - 6px); }
}
/* Touchscreens have no hover: keep the real count inside a quiet photo badge. */
@media (max-width: 760px) and (hover: none) {
    .ib-gallery .ib-thumb-link .ib-thumb-views {
        inset: auto 5px 5px !important; min-height: 26px; padding: 5px 3px !important;
        flex-direction: row; gap: 4px !important; opacity: 1 !important;
        font-size: 8px !important; letter-spacing: .025em !important;
        background: rgba(14,12,12,.78) !important; border-radius: 0 !important;
    }
    .ib-thumb-views svg { width: 13px; height: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .ib-menu-toggle, .ib-menu-toggle svg { transition: none; }
}

/* One-row mobile thumb sliders; desktop and no-JS retain all pictures. */
.ib-thumb-slider-controls { display: none; }
@media (max-width: 760px) {
    .ib-gallery .ib-mobile-row > .ib-mobile-card.ib-slider-hidden { display: none !important; }
    .ib-thumb-slider-controls:not([hidden]) {
        display: flex; align-items: center; justify-content: center;
        gap: 10px; margin: 0 0 18px; padding: 10px 4px 14px;
        border-bottom: 1px solid var(--ib-line);
        background: linear-gradient(180deg, rgba(41,39,39,.22), transparent);
    }
    .ib-thumb-slider-controls button {
        min-width: 78px; min-height: 44px; padding: 8px 10px;
        border: 1px solid rgba(255,211,51,.42); border-radius: 4px;
        color: #f3eddf; background: rgba(26,24,24,.75);
        font: 600 11px/1.4 Arial,sans-serif; letter-spacing: .035em;
        cursor: pointer; transition: border-color .18s, background .18s, color .18s;
    }
    .ib-thumb-slider-controls button:hover:not(:disabled),
    .ib-thumb-slider-controls button:focus-visible {
        border-color: #ffd333; color: #ffd333; background: rgba(255,211,51,.1);
    }
    .ib-thumb-slider-controls button:focus-visible { outline: 2px solid var(--ib-gold); outline-offset: 2px; }
    .ib-thumb-slider-controls button:disabled { opacity: .35; cursor: default; }
    .ib-thumb-slider-status {
        min-width: 62px; color: var(--ib-muted); text-align: center;
        font: 400 10px/1.5 Arial,sans-serif; font-variant-numeric: tabular-nums;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ib-thumb-slider-controls button { transition: none; }
}

@media (max-width: 760px) {
    /* Menu and gallery share an opaque surface, without overlapping fades. */
    .ib-header::after { display: none; }
    .ib-paper-nav { background: #1a1818; box-shadow: none; }
    .ib-content { background: #1a1818; }
    .ib-gallery { background: transparent; box-shadow: none; }
    .ib-gallery .maintable.ib-thumb-grid { background: transparent !important; }
    .ib-gallery .ib-section-heading {
        background: linear-gradient(90deg, rgba(197,190,177,.065), transparent) !important;
        border: 0 !important; border-bottom: 1px solid var(--ib-line) !important;
        border-radius: 0; box-shadow: none;
    }
    .ib-thumb-slider-controls:not([hidden]) { background: transparent; }
}

/* racecar — SelenaVault. Artwork palette and full-width original header. */
:root {
 --ib-bg:#111111; --ib-panel:#1a1919; --ib-panel-raised:#252222;
 --ib-ink:#f3eddf; --ib-muted:#c5beb1; --ib-blue:#83c8d1;
 --ib-blue-deep:#366d76; --ib-gold:#ffd333; --ib-rose:#ef3d46;
 --ib-line:rgba(243,237,223,.17);
}
html { background:#111111; scrollbar-color:#ffd333 #191919; }
body { background-color:#111111; background-image:url("images/ink-grain.svg"),radial-gradient(ellipse at 0 25rem,rgba(239,61,70,.08),transparent 65%),linear-gradient(#171616,#111111); background-size:180px 180px,100% 100%,100% 100%; }
.ib-header::after { display:none; }
.ib-masthead { display:block; width:100%; aspect-ratio:2000 / 681; background:#111; }
.rc-header-link { display:block; line-height:0; }
.rc-header-image { display:block; width:100%; height:auto; margin:0; }
.rc-header-link:focus-visible { outline:4px solid #ffd333; outline-offset:-4px; }
.ib-paper-nav { position:relative; inset:auto; width:100%; margin:0; padding:16px 20px; gap:6px; background:#f3eddf; color:#171616; border:0; border-top:5px solid #ef3d46; border-bottom:4px solid #ffd333; box-shadow:0 8px 24px #0004; }
.ib-paper-nav a { min-height:36px; color:#211d1c; text-shadow:none; border-color:#211d1c33; font-size:11px; }
.ib-paper-nav a::before { color:#ae2029; }
.ib-paper-nav a::after { background:#df2935; box-shadow:none; }
.ib-paper-nav a:hover,.ib-paper-nav a:focus-visible { color:#a51c27; background:#ffd33340; text-shadow:none; }
.ib-content { margin-top:28px; background:transparent; }
.ib-gallery { background:#191818; border-radius:5px; border-top:3px solid #ef3d46; }
.ib-gallery .ib-section-heading { background:linear-gradient(90deg,#352024,#201c1c) !important; border-left:3px solid #ef3d46 !important; color:#f3eddf !important; border-radius:2px; }
.ib-section-icon { color:#ffd333 !important; }
.ib-category-diamond { background:linear-gradient(135deg,#ef3d46,#ffd333 55%,#67b3be); }
.ib-gallery .ib-category-heading,.ib-gallery .ib-category-count-heading { color:#ffd333 !important; }
.ib-gallery .ib-category-label a:hover { color:#ffd333 !important; }
.ib-footer-title { color:#ffd333; font-size:13px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.ib-footer-title::after { background:linear-gradient(90deg,#ef3d46,#ffd333,#67b3be); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #83c8d1; outline-offset:3px; }
@media(max-width:760px) {
 .ib-masthead { aspect-ratio:2000 / 681; }
 .ib-paper-nav { width:100%; padding:12px 10px; background:#f3eddf; }
 .ib-paper-nav a,.ib-paper-nav .ib-sub-menu a,.ib-paper-nav.ib-menu-ready .ib-menu-toggle { color:#211d1c; background:transparent; border-color:#211d1c40; min-height:44px; }
 .ib-paper-nav .ib-menu-toggle svg { color:#ae2029; }
 .ib-paper-nav a:hover,.ib-paper-nav a:focus-visible { color:#a51c27; background:#ffd33340; border-color:#ae2029; }
 .ib-content { margin-top:18px; background:transparent; }
 .ib-gallery { background:#191818; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
