:root {
    --bg: #090707;
    --panel: #111010;
    --panel-2: #171514;
    --text: #fff7ef;
    --muted: #b9aea6;
    --dim: #756d68;
    --line: rgba(255, 255, 255, 0.12);
    --red: #e54855;
    --gold: #d9bd79;
    --green: #60d394;
    --page-x: clamp(18px, 4vw, 64px);
    --display: "Bodoni MT", "Bodoni 72", Didot, Georgia, serif;
    --body: Bahnschrift, "Trebuchet MS", sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html {
    min-width: 320px;
    background: var(--bg);
}

body {
    min-width: 320px;
    margin: 0;
    color: var(--text);
    background:
        linear-gradient(135deg, rgba(229, 72, 85, 0.12), transparent 34%),
        linear-gradient(180deg, #090707 0%, #0e0b0b 48%, #070707 100%);
    font-family: var(--body);
}

button,
input {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

.adult-grain {
    position: fixed;
    inset: 0;
    z-index: 20;
    opacity: 0.035;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}

.adult-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 22px;
    min-height: 76px;
    padding: 0 var(--page-x);
    border-bottom: 1px solid var(--line);
    background: rgba(9, 7, 7, 0.88);
    backdrop-filter: blur(18px);
}

.adult-brand,
.adult-nav,
.adult-user {
    display: flex;
    align-items: center;
}

.adult-brand {
    gap: 10px;
    color: var(--text);
    text-decoration: none;
    letter-spacing: 0.14em;
}

.adult-brand span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: #15100b;
    background: linear-gradient(135deg, var(--gold), #f4d890);
    font: 700 18px var(--display);
}

.adult-nav {
    justify-content: center;
    gap: 6px;
}

.adult-nav a,
.adult-user button,
.player-actions a,
.player-actions button,
.age-actions a,
.age-actions button {
    color: var(--muted);
    border: 1px solid var(--line);
    background: transparent;
    text-decoration: none;
    cursor: pointer;
}

.adult-nav a {
    padding: 9px 12px;
    font-size: 12px;
}

.adult-nav a.active {
    color: #fff;
    border-color: rgba(229, 72, 85, 0.55);
    background: rgba(229, 72, 85, 0.12);
}

.adult-user {
    justify-content: flex-end;
    gap: 10px;
    color: var(--muted);
    font-size: 12px;
}

.adult-user button {
    padding: 8px 10px;
}

.adult-shell {
    width: min(1560px, 100%);
    margin: 0 auto;
    padding: 28px var(--page-x) 70px;
}

.adult-workbench {
    min-height: calc(100vh - 112px);
}

.adult-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 430px);
    gap: 28px;
    align-items: end;
    min-height: 330px;
    margin-bottom: 20px;
    padding: clamp(26px, 5vw, 56px);
    border: 1px solid rgba(229, 72, 85, 0.22);
    background:
        linear-gradient(120deg, rgba(229, 72, 85, 0.18), transparent 42%),
        linear-gradient(315deg, rgba(217, 189, 121, 0.12), transparent 38%),
        #0d0a0a;
}

.adult-hero-copy {
    display: grid;
    gap: 18px;
}

.adult-hero .adult-search {
    max-width: 760px;
}

.adult-hero-panel {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
    border: 1px solid var(--line);
    background: var(--line);
}

.adult-hero-panel div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 72px;
    padding: 18px;
    background: rgba(10, 9, 9, 0.9);
}

.adult-hero-panel span {
    color: var(--dim);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.adult-hero-panel strong {
    max-width: 220px;
    overflow: hidden;
    color: var(--text);
    font-size: 20px;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.adult-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
    align-items: end;
    gap: 24px;
    margin-bottom: 22px;
}

.adult-kicker {
    margin: 0 0 8px;
    color: var(--red);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

h1,
h2 {
    margin: 0;
    font-family: var(--display);
    font-weight: 500;
    letter-spacing: 0;
}

h1 {
    font-size: clamp(44px, 7vw, 92px);
    line-height: 0.92;
}

.adult-lead {
    max-width: 560px;
    margin: 14px 0 0;
    color: var(--muted);
    line-height: 1.55;
}

.adult-search {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 9px;
    border: 1px solid var(--line);
    background: #0f0e0d;
}

.adult-search svg {
    width: 20px;
    height: 20px;
    margin-left: 4px;
    fill: none;
    stroke: var(--dim);
    stroke-width: 2;
}

.adult-search input {
    min-width: 0;
    color: var(--text);
    border: 0;
    outline: 0;
    background: transparent;
}

.adult-search button,
.login-form button {
    min-height: 42px;
    padding: 0 15px;
    color: #170c0d;
    border: 1px solid rgba(229, 72, 85, 0.7);
    background: linear-gradient(135deg, #ff6a76, var(--red));
    cursor: pointer;
    font-weight: 700;
}

.adult-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 22px;
    color: var(--muted);
    font-size: 12px;
}

.adult-status span {
    width: 8px;
    height: 8px;
    background: var(--red);
}

.adult-status.ready span { background: var(--green); }
.adult-status.loading span { background: var(--gold); }

.adult-provider-panel {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin: 0 0 22px;
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--line);
}

.adult-featured {
    display: grid;
    grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1fr);
    gap: 1px;
    margin: 0 0 22px;
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--line);
}

.adult-featured-media {
    position: relative;
    min-height: 280px;
    background: #050505;
}

.adult-featured-media img {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    opacity: 0.84;
}

.adult-featured-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.78));
}

.adult-quality-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 1;
    padding: 7px 9px;
    color: #130b0b;
    background: var(--gold);
    font-size: 11px;
    font-weight: 900;
}

.adult-featured-copy {
    display: grid;
    align-content: center;
    gap: 16px;
    padding: clamp(22px, 4vw, 42px);
    background: #0f0d0d;
}

.adult-featured-copy h2 {
    font-size: clamp(30px, 4vw, 56px);
    line-height: 1;
}

.adult-featured-copy p {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}

.adult-featured-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.adult-featured-actions button {
    min-height: 44px;
    padding: 0 16px;
    color: #170c0d;
    border: 1px solid rgba(229, 72, 85, 0.7);
    background: linear-gradient(135deg, #ff6a76, var(--red));
    cursor: pointer;
    font-weight: 800;
}

.adult-provider-panel div {
    min-height: 74px;
    padding: 14px;
    background:
        linear-gradient(135deg, rgba(229, 72, 85, 0.1), transparent 58%),
        #0f0e0d;
}

.adult-provider-panel span {
    display: block;
    margin-bottom: 8px;
    color: var(--dim);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.adult-provider-panel strong {
    color: var(--text);
    font-size: 14px;
}

.adult-discovery {
    display: grid;
    gap: 14px;
    margin: 0 0 18px;
}

.adult-discovery-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
}

.adult-discovery-head h2 {
    font-size: 30px;
}

.adult-sort {
    display: grid;
    gap: 7px;
    min-width: 190px;
    color: var(--muted);
    font-size: 11px;
}

.adult-sort span {
    color: var(--dim);
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.adult-sort select {
    min-height: 42px;
    padding: 0 10px;
    color: var(--text);
    border: 1px solid var(--line);
    background: #0f0d0d;
    outline: 0;
}

.adult-rails {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 10px;
}

.adult-rails button {
    display: grid;
    gap: 7px;
    min-height: 78px;
    padding: 13px;
    color: var(--text);
    border: 1px solid var(--line);
    background:
        linear-gradient(135deg, rgba(217, 189, 121, 0.08), transparent 60%),
        #0f0d0d;
    cursor: pointer;
    text-align: left;
}

.adult-rails button.active {
    border-color: rgba(229, 72, 85, 0.62);
    background:
        linear-gradient(135deg, rgba(229, 72, 85, 0.18), transparent 62%),
        #140d0e;
}

.adult-rails strong {
    font-size: 14px;
}

.adult-rails span {
    color: var(--muted);
    font-size: 11px;
}

.adult-login-panel,
.adult-blocked {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(320px, 520px);
    gap: 30px;
    align-items: start;
    margin-top: 18px;
    padding: 28px;
    border: 1px solid var(--line);
    background: rgba(17, 16, 16, 0.86);
}

.adult-blocked {
    grid-template-columns: 76px minmax(0, 1fr);
}

.adult-blocked > span {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(229, 72, 85, 0.6);
    background: rgba(229, 72, 85, 0.16);
    font-weight: 800;
}

.adult-blocked p,
.age-card p {
    color: var(--muted);
    line-height: 1.6;
}

.adult-blocked code {
    color: var(--gold);
}

.adult-category-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 22px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.adult-category-tabs button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 12px;
    color: var(--muted);
    border: 1px solid var(--line);
    background: #0f0d0d;
    cursor: pointer;
    font-size: 12px;
}

.adult-category-tabs button.active {
    color: #fff;
    border-color: rgba(229, 72, 85, 0.6);
    background: rgba(229, 72, 85, 0.14);
}

.adult-category-tabs span {
    margin-left: 6px;
    color: var(--gold);
}

.login-form {
    display: grid;
    gap: 14px;
}

.login-form label {
    display: grid;
    gap: 7px;
    color: var(--muted);
    font-size: 12px;
}

.login-form input {
    min-height: 44px;
    width: 100%;
    padding: 0 12px;
    color: var(--text);
    border: 1px solid var(--line);
    background: #090909;
    outline: 0;
}

.login-form input:focus {
    border-color: rgba(217, 189, 121, 0.7);
}

.form-error {
    margin: 0;
    color: #ff9aa1;
    font-size: 12px;
}

.adult-grid {
    display: grid;
    gap: 22px;
}

.adult-category-section {
    display: grid;
    gap: 12px;
}

.adult-category-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 10px;
}

.adult-category-head h2 {
    font-size: 26px;
}

.adult-category-head span {
    color: var(--muted);
    font-size: 12px;
}

.adult-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(214px, 1fr));
    gap: 14px;
}

.adult-card {
    position: relative;
    min-height: 308px;
    overflow: hidden;
    padding: 0;
    color: var(--text);
    border: 1px solid var(--line);
    background: var(--panel);
    cursor: pointer;
    text-align: left;
}

.adult-card img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #1b1716;
}

.adult-card-media {
    position: relative;
    display: block;
}

.adult-card-media::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 54%;
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.68));
}

.adult-card-media .adult-quality-badge {
    top: 9px;
    left: 9px;
    padding: 5px 7px;
    font-size: 10px;
}

.adult-duration {
    position: absolute;
    right: 9px;
    bottom: 9px;
    z-index: 1;
    padding: 5px 7px;
    color: #fff;
    background: rgba(0, 0, 0, 0.76);
    font-size: 11px;
    font-weight: 800;
}

.adult-card-copy {
    display: grid;
    gap: 8px;
    padding: 13px;
}

.adult-card strong {
    display: -webkit-box;
    min-height: 40px;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.35;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.adult-card small {
    color: var(--muted);
}

.adult-chip-line {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.adult-chip-line span {
    padding: 5px 7px;
    color: var(--gold);
    border: 1px solid rgba(217, 189, 121, 0.24);
    font-size: 10px;
}

.adult-card-stats {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: var(--muted);
    font-size: 11px;
}

.adult-card-stats b {
    color: var(--gold);
    font-weight: 800;
}

.adult-empty {
    padding: 34px;
    color: var(--muted);
    border: 1px dashed var(--line);
    text-align: center;
}

.adult-skeleton-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 14px;
}

.adult-skeleton-grid span {
    min-height: 268px;
    border: 1px solid var(--line);
    background:
        linear-gradient(100deg, rgba(255,255,255,0.02), rgba(255,255,255,0.08), rgba(255,255,255,0.02)),
        #101010;
    background-size: 220% 100%;
    animation: adultSkeleton 1.1s linear infinite;
}

@keyframes adultSkeleton {
    to { background-position: -220% 0; }
}

.adult-retry {
    display: inline-flex;
    min-height: 34px;
    margin-left: 12px;
    padding: 0 12px;
    align-items: center;
    color: #170c0d;
    border: 0;
    background: var(--gold);
    cursor: pointer;
    font-weight: 700;
}

.adult-load-more {
    display: flex;
    justify-content: center;
    padding: 8px 0 20px;
}

.adult-load-more button {
    min-height: 44px;
    padding: 0 18px;
    color: #170c0d;
    border: 1px solid rgba(217, 189, 121, 0.45);
    background: linear-gradient(135deg, #f0d28a, var(--gold));
    cursor: pointer;
    font-weight: 800;
}

.adult-load-more button:disabled {
    cursor: wait;
    opacity: 0.7;
}

.age-modal,
.adult-player {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(0, 0, 0, 0.72);
}

.age-card {
    width: min(100%, 460px);
    padding: 28px;
    border: 1px solid rgba(229, 72, 85, 0.4);
    background: #100d0d;
}

.age-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}

.age-actions a,
.age-actions button,
.player-actions a,
.player-actions button {
    padding: 10px 12px;
}

.age-actions button {
    color: #160b0c;
    background: var(--red);
}

.player-backdrop {
    position: absolute;
    inset: 0;
}

.player-frame {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    width: min(1180px, 100%);
    height: min(760px, 88vh);
    border: 1px solid var(--line);
    background: #050505;
}

.player-frame header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px;
    border-bottom: 1px solid var(--line);
    background: #100e0e;
}

.player-frame h2 {
    max-width: min(62vw, 760px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 24px;
}

.player-actions {
    display: flex;
    gap: 8px;
}

.player-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    background: #000;
}

.adult-toast {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 100;
    max-width: min(420px, calc(100vw - 36px));
    padding: 12px 14px;
    color: var(--text);
    border: 1px solid rgba(217, 189, 121, 0.35);
    background: #14100e;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.36);
    font-size: 13px;
}

@media (max-width: 840px) {
    .adult-hero,
    .adult-featured {
        grid-template-columns: 1fr;
    }

    .adult-hero {
        min-height: 0;
        padding: 24px;
    }

    .adult-topbar {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 10px;
        padding-block: 14px;
    }

    .adult-nav {
        justify-content: flex-start;
        overflow-x: auto;
    }

    .adult-user {
        justify-content: flex-start;
    }

    .adult-toolbar,
    .adult-login-panel {
        grid-template-columns: 1fr;
    }

    .adult-provider-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .adult-grid {
        grid-template-columns: repeat(auto-fill, minmax(154px, 1fr));
    }

    .player-frame {
        height: 84vh;
    }

    .player-frame header {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Nexora browse experience for Reserve */
body {
    background:
        radial-gradient(circle at 14% 0%, rgba(229, 72, 85, 0.14), transparent 30%),
        radial-gradient(circle at 88% 12%, rgba(217, 189, 121, 0.11), transparent 28%),
        linear-gradient(180deg, #05070d 0%, #090707 54%, #050506 100%) !important;
}

.adult-topbar {
    min-height: 72px !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(3, 5, 10, 0.9) !important;
}

.adult-shell {
    width: min(1920px, 100%) !important;
    padding: 22px clamp(16px, 3vw, 42px) 82px !important;
}

.adult-workbench {
    display: grid !important;
    gap: 20px !important;
}

.adult-hero {
    min-height: clamp(270px, 34vh, 430px) !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-color: rgba(229, 72, 85, 0.24) !important;
    border-radius: 12px !important;
    background:
        linear-gradient(90deg, rgba(4, 5, 10, 0.98), rgba(18, 9, 12, 0.78) 48%, rgba(9, 7, 7, 0.52)),
        radial-gradient(circle at 78% 20%, rgba(229, 72, 85, 0.24), transparent 34%),
        #07080f !important;
}

.adult-hero h1 {
    font-size: clamp(44px, 6vw, 86px) !important;
}

.adult-hero-panel,
.adult-provider-panel,
.adult-featured,
.adult-discovery,
.adult-category-section,
.adult-browse-rail {
    border-radius: 12px !important;
}

.adult-provider-panel {
    margin: 0 !important;
}

.adult-discovery {
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: clamp(16px, 1.8vw, 24px) !important;
    background:
        linear-gradient(145deg, rgba(24, 14, 18, 0.74), rgba(6, 8, 14, 0.76)),
        rgba(6, 8, 14, 0.76) !important;
}

.adult-rails {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
    scrollbar-width: thin !important;
}

.adult-rails button {
    flex: 0 0 clamp(150px, 13vw, 220px) !important;
    min-height: 62px !important;
    border-radius: 999px !important;
    align-content: center !important;
}

.adult-featured {
    margin: 0 !important;
    border-color: rgba(229, 72, 85, 0.2) !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

.adult-browse-dashboard {
    display: grid !important;
    gap: 20px !important;
    margin-bottom: 22px !important;
}

.adult-browse-rail,
.adult-category-section {
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: clamp(16px, 1.8vw, 24px) !important;
    background:
        linear-gradient(145deg, rgba(18, 12, 14, 0.84), rgba(5, 7, 13, 0.82)),
        rgba(5, 7, 13, 0.82) !important;
}

.adult-browse-head,
.adult-category-head {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
    border: 0 !important;
    padding: 0 !important;
}

.adult-browse-head h2,
.adult-category-head h2 {
    font-size: clamp(22px, 2vw, 34px) !important;
}

.adult-browse-head span,
.adult-category-head span {
    color: var(--muted) !important;
    font-size: 12px !important;
}

.adult-card-track {
    display: flex !important;
    gap: 16px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 3px 2px 14px !important;
    scrollbar-width: thin !important;
}

.adult-card-track .adult-card {
    flex: 0 0 clamp(220px, 18vw, 310px) !important;
}

.adult-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
}

.adult-card {
    min-height: 0 !important;
    border-radius: 10px !important;
    background: rgba(12, 13, 20, 0.86) !important;
}

.adult-card img {
    aspect-ratio: 16 / 9 !important;
}

.adult-universe-track {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    padding-bottom: 12px !important;
}

.adult-universe-card {
    flex: 0 0 clamp(160px, 14vw, 230px) !important;
    min-height: 92px !important;
    border: 1px solid rgba(229, 72, 85, 0.22) !important;
    border-radius: 10px !important;
    padding: 16px !important;
    color: var(--text) !important;
    background:
        linear-gradient(135deg, rgba(229, 72, 85, 0.18), transparent 70%),
        rgba(12, 13, 20, 0.88) !important;
    cursor: pointer !important;
    text-align: left !important;
}

.adult-universe-card strong,
.adult-universe-card span {
    display: block !important;
}

.adult-universe-card span {
    margin-top: 8px !important;
    color: var(--muted) !important;
    font-size: 12px !important;
}

@media (max-width: 840px) {
    .adult-shell {
        padding-inline: 12px !important;
    }

    .adult-hero,
    .adult-featured {
        grid-template-columns: 1fr !important;
    }

    .adult-card-track .adult-card {
        flex-basis: clamp(190px, 72vw, 280px) !important;
    }

    .adult-card-grid {
        grid-template-columns: repeat(auto-fill, minmax(154px, 1fr)) !important;
    }
}

/* Normalized Nexora chrome for Reserve */
.adult-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 80 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(18px, 3vw, 42px) !important;
    width: 100% !important;
    min-height: 76px !important;
    padding: 0 clamp(18px, 3vw, 54px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09) !important;
    background: rgba(4, 7, 14, 0.96) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.32) !important;
    backdrop-filter: blur(18px) !important;
}

.adult-brand {
    min-width: max-content !important;
    gap: 0 !important;
    color: #f7fbff !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
}

.adult-brand span {
    display: none !important;
}

.adult-brand strong {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 42px !important;
    font: 900 clamp(28px, 2.3vw, 40px) / 1 var(--body) !important;
    letter-spacing: 0.1em !important;
}

.adult-brand strong::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 1px !important;
    left: 0 !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #f7fbff !important;
}

.adult-nav {
    justify-content: flex-start !important;
    gap: clamp(16px, 2vw, 32px) !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    padding: 0 4px !important;
    scrollbar-width: none !important;
}

.adult-nav::-webkit-scrollbar {
    display: none !important;
}

.adult-nav a {
    position: relative !important;
    flex: 0 0 auto !important;
    min-height: 76px !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 0 !important;
    padding: 0 !important;
    color: rgba(247, 251, 255, 0.68) !important;
    background: transparent !important;
    font-size: clamp(14px, 1vw, 17px) !important;
    font-weight: 800 !important;
}

.adult-nav a.active,
.adult-nav a:hover {
    color: #ffffff !important;
}

.adult-nav a.active::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 4px !important;
    border-radius: 999px 999px 0 0 !important;
    background: #1d9bf0 !important;
}

.adult-user {
    min-width: 0 !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    color: rgba(247, 251, 255, 0.82) !important;
    font-size: clamp(13px, 0.95vw, 15px) !important;
    font-weight: 800 !important;
}

.adult-user span {
    max-width: min(30vw, 260px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.adult-user button {
    min-height: 38px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    padding: 0 14px !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.06) !important;
    font-weight: 800 !important;
}

@media (max-width: 760px) {
    .adult-topbar {
        grid-template-columns: 1fr auto !important;
        gap: 10px 16px !important;
        min-height: 118px !important;
        padding-block: 12px !important;
    }

    .adult-brand strong {
        font-size: 30px !important;
    }

    .adult-nav {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        order: 3 !important;
        gap: 22px !important;
        width: 100% !important;
    }

    .adult-nav a {
        min-height: 40px !important;
        font-size: 14px !important;
    }

    .adult-user span {
        max-width: 34vw !important;
    }
}

@media (max-width: 460px) {
    .adult-user span {
        display: none !important;
    }
}

/* Final responsive guard for Reserve */
html,
body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

body {
    min-height: 100dvh !important;
}

.adult-grain {
    z-index: 1 !important;
}

.adult-topbar {
    isolation: isolate !important;
}

.adult-shell {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: min(100%, 1920px) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    overflow: visible !important;
}

.adult-workbench,
.adult-hero,
.adult-provider-panel,
.adult-discovery,
.adult-featured,
.adult-category-tabs,
.adult-grid,
.adult-browse-dashboard,
.adult-browse-rail,
.adult-category-section,
.adult-card-grid {
    min-width: 0 !important;
    max-width: 100% !important;
}

.adult-grid {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
}

.adult-card-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(clamp(168px, 15vw, 248px), 1fr)) !important;
    gap: clamp(12px, 1.2vw, 18px) !important;
}

.adult-card-track,
.adult-universe-track,
.adult-rails,
.adult-category-tabs {
    max-width: 100% !important;
    overscroll-behavior-inline: contain !important;
    -webkit-overflow-scrolling: touch !important;
}

.adult-card {
    width: 100% !important;
    min-width: 0 !important;
}

.adult-card strong,
.adult-card small,
.adult-featured-copy h2,
.adult-featured-copy p,
.adult-browse-head h2,
.adult-category-head h2 {
    overflow-wrap: anywhere !important;
}

.adult-player {
    z-index: 120 !important;
    place-items: stretch !important;
    padding: clamp(10px, 2vw, 24px) !important;
    overflow: hidden !important;
}

.player-frame {
    align-self: center !important;
    justify-self: center !important;
    width: min(100%, 1480px) !important;
    height: min(92dvh, 900px) !important;
    max-width: calc(100vw - clamp(20px, 4vw, 48px)) !important;
    max-height: calc(100dvh - clamp(20px, 4vw, 48px)) !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #030811 !important;
}

.player-frame header {
    min-height: 70px !important;
    padding: 0 clamp(14px, 2vw, 24px) !important;
    background: rgba(4, 7, 14, 0.98) !important;
}

.player-frame h2 {
    max-width: min(72vw, 980px) !important;
    font-family: var(--body) !important;
    font-size: clamp(18px, 1.45vw, 26px) !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.player-frame iframe {
    display: block !important;
    min-width: 0 !important;
}

@media (min-width: 1800px) {
    .adult-shell {
        padding-inline: 48px !important;
    }

    .adult-card-track .adult-card {
        flex-basis: 300px !important;
    }
}

@media (max-width: 1024px) {
    .adult-provider-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .adult-featured {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .adult-shell {
        padding: 14px 12px 58px !important;
    }

    .adult-hero {
        min-height: 0 !important;
        padding: 22px !important;
    }

    .adult-search {
        grid-template-columns: 20px minmax(0, 1fr) !important;
    }

    .adult-search button {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    .adult-provider-panel {
        grid-template-columns: 1fr !important;
    }

    .adult-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .adult-player {
        padding: 0 !important;
    }

    .player-frame {
        width: 100% !important;
        height: 100dvh !important;
        max-width: 100% !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
    }

    .player-frame header {
        align-items: center !important;
        flex-direction: row !important;
    }
}

/* Watch topbar shared on Reserve */
.adult-topbar.topbar {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(18px, 3vw, 54px) !important;
    min-height: 76px !important;
    padding: 0 clamp(18px, 3vw, 54px) !important;
    background: rgba(3, 7, 15, 0.96) !important;
}

.adult-topbar .adult-brand {
    gap: 0 !important;
}

.adult-topbar .brand-mark {
    display: none !important;
}

.adult-topbar .brand-name {
    position: relative !important;
    display: inline-flex !important;
    color: #f7fbff !important;
    font: 900 clamp(28px, 2.3vw, 40px) / 1 var(--body) !important;
    letter-spacing: 0.1em !important;
}

.adult-topbar .brand-name::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: -8px !important;
    left: 0 !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #f7fbff !important;
}

.adult-topbar .main-nav {
    display: flex !important;
    align-items: center !important;
    gap: clamp(16px, 2vw, 32px) !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
}

.adult-topbar .main-nav::-webkit-scrollbar {
    display: none !important;
}

.adult-topbar .nav-link,
.adult-topbar .adult-nav-entry {
    position: relative !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 76px !important;
    border: 0 !important;
    padding: 0 !important;
    color: rgba(247, 251, 255, 0.68) !important;
    background: transparent !important;
    font-size: clamp(14px, 1vw, 17px) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.adult-topbar .nav-link:hover,
.adult-topbar .adult-nav-entry:hover,
.adult-topbar .adult-nav-entry.active {
    color: #ffffff !important;
}

.adult-topbar .adult-nav-entry.active::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 4px !important;
    border-radius: 999px 999px 0 0 !important;
    background: #1d9bf0 !important;
}

.adult-topbar .topbar-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    min-width: 0 !important;
}

.adult-topbar .adult-topbar-search {
    flex: 1 1 min(38vw, 560px) !important;
    width: min(38vw, 560px) !important;
    min-width: 220px !important;
}

.adult-topbar .search-box {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 46px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 14px !important;
    padding: 0 14px !important;
    background: rgba(9, 17, 31, 0.72) !important;
}

.adult-topbar .search-box svg {
    width: 21px !important;
    height: 21px !important;
    fill: none !important;
    stroke: rgba(247, 251, 255, 0.68) !important;
    stroke-width: 2 !important;
}

.adult-topbar .search-box input {
    min-width: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    color: #f7fbff !important;
    background: transparent !important;
    font-weight: 700 !important;
}

.adult-topbar .icon-button,
.adult-topbar .account-button {
    border: 0 !important;
    color: #f7fbff !important;
    background: transparent !important;
}

.adult-topbar .icon-button {
    display: inline-grid !important;
    width: 42px !important;
    height: 42px !important;
    place-items: center !important;
    padding: 0 !important;
}

.adult-topbar .icon-button svg {
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
}

.adult-topbar .account-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 44px !important;
    padding: 0 !important;
    font-weight: 800 !important;
}

.adult-topbar .avatar {
    display: inline-grid !important;
    width: 42px !important;
    height: 42px !important;
    place-items: center !important;
    border-radius: 50% !important;
    color: #08111f !important;
    background: linear-gradient(135deg, #f4d890, #b8d6ff) !important;
}

.adult-topbar #userLabel {
    max-width: min(24vw, 260px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.adult-topbar #logoutButton {
    min-height: 38px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    padding: 0 14px !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.06) !important;
}

@media (max-width: 760px) {
    .adult-topbar.topbar {
        grid-template-columns: 1fr auto !important;
        min-height: 118px !important;
        padding-block: 12px !important;
    }

    .adult-topbar .main-nav {
        grid-column: 1 / -1 !important;
        order: 3 !important;
        width: 100% !important;
    }

    .adult-topbar .nav-link,
    .adult-topbar .adult-nav-entry {
        min-height: 40px !important;
    }

    .adult-topbar .notification-button,
    .adult-topbar .adult-topbar-search,
    .adult-topbar #userLabel {
        display: none !important;
    }
}

/* Adults embed player resilience */
.adult-player-stage {
    position: relative !important;
    display: grid !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    background: #02060d !important;
}

.adult-player-stage iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: min(70dvh, 760px) !important;
    border: 0 !important;
    background: #02060d !important;
}

.player-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.player-actions a,
.adult-player-notice a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    border: 1px solid rgba(116, 185, 255, 0.32) !important;
    border-radius: 10px !important;
    padding: 0 14px !important;
    color: #f8fbff !important;
    background: rgba(116, 185, 255, 0.12) !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.adult-player-notice {
    position: absolute !important;
    right: clamp(14px, 2vw, 28px) !important;
    bottom: clamp(14px, 2vw, 28px) !important;
    display: grid !important;
    gap: 8px !important;
    width: min(360px, calc(100% - 28px)) !important;
    border: 1px solid rgba(244, 216, 144, 0.28) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    color: #f8fbff !important;
    background: rgba(3, 8, 16, 0.92) !important;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5) !important;
    z-index: 4 !important;
}

.adult-player-notice strong {
    font-size: 14px !important;
}

.adult-player-notice span {
    color: rgba(248, 251, 255, 0.72) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.adult-player-notice[hidden] {
    display: none !important;
}

/* Interaction guard FINAL for Reserve */
.adult-grain,
.adult-card-media::after,
.adult-featured-media::after,
.player-backdrop[hidden] {
    pointer-events: none !important;
}

.adult-shell,
.adult-workbench,
.adult-grid,
.adult-browse-dashboard,
.adult-browse-rail,
.adult-category-section,
.adult-card-grid,
.adult-card-track,
.adult-universe-track,
.adult-category-tabs {
    position: relative !important;
    z-index: 20 !important;
    pointer-events: auto !important;
}

.adult-card,
.adult-universe-card,
[data-item-id],
[data-adult-category],
[data-browse-rail],
[data-load-more-adults],
[data-retry-adults] {
    pointer-events: auto !important;
}

.age-modal[hidden],
.adult-player[hidden],
[hidden] {
    display: none !important;
    pointer-events: none !important;
}

/* Align Reserve with the Films/Series browse experience */
body {
    background:
        radial-gradient(circle at 20% 0%, rgba(22, 141, 255, 0.12), transparent 28%),
        linear-gradient(180deg, #030812 0%, #06101d 46%, #030812 100%) !important;
}

.adult-topbar {
    position: sticky !important;
    top: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    padding-inline: clamp(18px, 2.4vw, 46px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: rgba(2, 6, 13, 0.94) !important;
}

.adult-shell {
    width: calc(100% - 2 * clamp(18px, 2.4vw, 46px)) !important;
    max-width: 1920px !important;
    padding: 14px 0 clamp(40px, 4vw, 72px) !important;
}

.adult-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(290px, 420px) !important;
    min-height: clamp(330px, 38vh, 520px) !important;
    margin: 0 0 14px !important;
    overflow: hidden !important;
    border: 1px solid rgba(115, 170, 235, 0.16) !important;
    border-radius: 10px !important;
    padding: clamp(30px, 4vw, 68px) !important;
    background:
        linear-gradient(90deg, rgba(3, 7, 14, 0.94) 0%, rgba(3, 7, 14, 0.68) 42%, rgba(3, 7, 14, 0.26) 100%),
        radial-gradient(circle at 78% 18%, rgba(229, 72, 85, 0.24), transparent 32%),
        radial-gradient(circle at 88% 70%, rgba(22, 141, 255, 0.22), transparent 36%),
        #050b15 !important;
}

.adult-kicker {
    color: #3da8ff !important;
}

.adult-hero h1 {
    color: #f8fbff !important;
    font-size: clamp(40px, 4.6vw, 84px) !important;
    line-height: 0.95 !important;
}

.adult-lead {
    max-width: 580px !important;
    color: rgba(255, 255, 255, 0.74) !important;
    font-size: clamp(13px, 1vw, 16px) !important;
    line-height: 1.5 !important;
}

.adult-search,
.adult-discovery,
.adult-featured,
.adult-category-section,
.adult-browse-rail,
.adult-provider-panel,
.adult-status,
.adult-login-panel,
.adult-blocked {
    border-color: rgba(115, 170, 235, 0.14) !important;
    border-radius: 10px !important;
    background:
        linear-gradient(145deg, rgba(8, 20, 38, 0.78), rgba(3, 8, 16, 0.78)),
        rgba(3, 8, 16, 0.78) !important;
}

.adult-hero-panel {
    border-color: rgba(115, 170, 235, 0.14) !important;
    background: rgba(115, 170, 235, 0.14) !important;
}

.adult-hero-panel div {
    background: rgba(3, 8, 16, 0.84) !important;
}

.adult-hero-panel strong,
.adult-discovery h2,
.adult-featured h2,
.adult-category-head h2,
.adult-browse-head h2 {
    color: #f8fbff !important;
}

.adult-discovery {
    margin: 0 0 12px !important;
    padding: 14px !important;
}

.adult-discovery-head {
    margin-bottom: 10px !important;
}

.adult-rails,
.adult-category-tabs,
.adult-card-track,
.adult-universe-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 1px 12px !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(22, 141, 255, 0.48) transparent !important;
}

.adult-rails button,
.adult-category-tabs button,
.adult-universe-card {
    flex: 0 0 auto !important;
    border-color: rgba(115, 170, 235, 0.16) !important;
    border-radius: 8px !important;
    color: rgba(255, 255, 255, 0.76) !important;
    background: rgba(8, 20, 38, 0.78) !important;
}

.adult-rails button.active,
.adult-category-tabs button.active {
    color: #08111f !important;
    border-color: #74b9ff !important;
    background: #74b9ff !important;
}

.adult-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(128px, 170px)) !important;
    justify-content: start !important;
    gap: 10px !important;
}

.adult-card-track .adult-card,
.adult-card-grid .adult-card {
    flex: 0 0 clamp(128px, 8.2vw, 170px) !important;
    width: clamp(128px, 8.2vw, 170px) !important;
    max-width: clamp(128px, 8.2vw, 170px) !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.adult-card-media {
    aspect-ratio: 2 / 3 !important;
    border-radius: 6px !important;
    background: rgba(8, 20, 38, 0.9) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.42) !important;
}

.adult-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.adult-card-copy {
    padding: 7px 0 0 !important;
}

.adult-card strong {
    color: #f8fbff !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
}

.adult-card small,
.adult-card-stats,
.adult-chip-line {
    font-size: 10px !important;
}

.adult-featured {
    grid-template-columns: minmax(260px, 420px) minmax(0, 1fr) !important;
}

@media (max-width: 860px) {
    .adult-shell {
        width: calc(100% - 24px) !important;
    }

    .adult-hero,
    .adult-featured {
        grid-template-columns: 1fr !important;
    }

    .adult-card-track .adult-card,
    .adult-card-grid .adult-card {
        flex-basis: clamp(124px, 42vw, 164px) !important;
        width: clamp(124px, 42vw, 164px) !important;
        max-width: clamp(124px, 42vw, 164px) !important;
    }
}

/* Final Adults topbar correction */
.adult-topbar.topbar {
    display: grid !important;
    grid-template-columns: 150px minmax(360px, auto) minmax(360px, 1fr) !important;
    align-items: center !important;
    gap: clamp(18px, 2.2vw, 34px) !important;
    height: 86px !important;
    min-height: 86px !important;
    padding: 0 clamp(24px, 2.7vw, 52px) !important;
    overflow: hidden !important;
    background: rgba(3, 7, 15, 0.96) !important;
}

.adult-topbar .adult-brand {
    display: flex !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    overflow: hidden !important;
    color: #f8fbff !important;
    text-decoration: none !important;
}

.adult-topbar .brand-mark,
.adult-topbar .adult-brand > span:not(.brand-name) {
    display: none !important;
}

.adult-topbar .brand-name {
    display: block !important;
    max-width: 150px !important;
    color: #f8fbff !important;
    font-size: 31px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: 0.055em !important;
    white-space: nowrap !important;
}

.adult-topbar .brand-name::after {
    bottom: -12px !important;
    height: 4px !important;
    background: #f4d890 !important;
}

.adult-topbar .main-nav {
    display: flex !important;
    align-items: center !important;
    gap: clamp(18px, 1.7vw, 30px) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.adult-topbar .nav-link,
.adult-topbar .adult-nav-entry {
    min-height: 86px !important;
    font-size: clamp(14px, 0.95vw, 17px) !important;
    white-space: nowrap !important;
}

.adult-topbar .topbar-actions {
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) 42px minmax(120px, 210px) auto !important;
    align-items: center !important;
    justify-content: end !important;
    gap: clamp(12px, 1.3vw, 22px) !important;
    min-width: 0 !important;
    width: 100% !important;
}

.adult-topbar .adult-topbar-search {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 700px !important;
}

.adult-topbar .search-box {
    min-height: 58px !important;
    border-radius: 16px !important;
    background: rgba(8, 17, 31, 0.88) !important;
}

.adult-topbar .notification-button {
    width: 42px !important;
    min-width: 42px !important;
}

.adult-topbar .account-button {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 16px !important;
    gap: 10px !important;
    min-width: 0 !important;
    max-width: 210px !important;
    overflow: hidden !important;
}

.adult-topbar .account-button svg {
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
}

.adult-topbar #userLabel {
    display: block !important;
    min-width: 0 !important;
    max-width: 140px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.adult-topbar #logoutButton {
    justify-self: end !important;
    min-width: 84px !important;
    white-space: nowrap !important;
}

@media (max-width: 1180px) {
    .adult-topbar.topbar {
        grid-template-columns: 142px minmax(300px, 1fr) auto !important;
    }

    .adult-topbar .adult-topbar-search {
        display: none !important;
    }

    .adult-topbar .topbar-actions {
        grid-template-columns: 42px minmax(72px, 154px) auto !important;
    }
}

@media (max-width: 820px) {
    .adult-topbar.topbar {
        grid-template-columns: 136px minmax(0, 1fr) auto !important;
        gap: 12px !important;
        height: auto !important;
        min-height: 96px !important;
        padding: 10px 16px !important;
    }

    .adult-topbar .main-nav {
        grid-column: 1 / -1 !important;
        order: 4 !important;
        gap: 20px !important;
        overflow-x: auto !important;
    }

    .adult-topbar .nav-link,
    .adult-topbar .adult-nav-entry {
        min-height: 34px !important;
    }

    .adult-topbar #userLabel,
    .adult-topbar #logoutButton {
        display: none !important;
    }

    .adult-topbar .topbar-actions {
        grid-template-columns: 42px 42px !important;
    }

    .adult-topbar .account-button {
        grid-template-columns: 42px !important;
        width: 42px !important;
    }

    .adult-topbar .account-button svg {
        display: none !important;
    }
}

/* All-device responsive guard */
html,
body {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
}

.adult-topbar,
.adult-topbar .main-nav,
.adult-topbar .topbar-actions,
.adult-shell,
.adult-workbench,
.adult-hero,
.adult-provider-panel,
.adult-discovery,
.adult-featured,
.adult-grid,
.adult-card-grid,
.age-card,
.player-frame {
    min-width: 0 !important;
    max-width: min(100%, 100vw) !important;
    box-sizing: border-box !important;
}

.adult-topbar .main-nav,
.adult-rails,
.adult-category-tabs,
.adult-card-track {
    -webkit-overflow-scrolling: touch;
}

/* Keyboard and TV remote navigation focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--gold) !important;
    outline-offset: 2px !important;
}

@media (max-width: 520px) {
    .adult-topbar.topbar {
        grid-template-columns: minmax(108px, auto) minmax(0, 1fr) auto !important;
        padding-right: 12px !important;
        padding-left: 12px !important;
        gap: 10px !important;
    }

    .adult-topbar .adult-brand {
        width: 112px !important;
        min-width: 0 !important;
        max-width: 112px !important;
    }

    .adult-topbar .brand-name {
        max-width: 112px !important;
        overflow: hidden !important;
        font-size: 25px !important;
        text-overflow: ellipsis !important;
    }

    .adult-topbar .main-nav {
        gap: 16px !important;
        padding: 7px 0 2px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
    }

    .adult-topbar .main-nav::-webkit-scrollbar {
        display: none !important;
    }

    .adult-topbar .nav-link,
    .adult-topbar .adult-nav-entry {
        flex: 0 0 auto !important;
        min-height: 32px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    .adult-shell {
        width: calc(100% - 20px) !important;
        padding-bottom: 58px !important;
    }

    .adult-hero {
        min-height: 320px !important;
        padding: 24px !important;
    }

    .adult-hero h1 {
        font-size: clamp(38px, 14vw, 56px) !important;
    }

    .adult-provider-panel,
    .adult-login-panel,
    .adult-blocked,
    .adult-discovery {
        padding: 18px !important;
    }

    .adult-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        justify-content: stretch !important;
    }

    .adult-card-grid .adult-card {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: auto !important;
    }

    .age-modal,
    .adult-player {
        padding: 10px !important;
    }

    .age-card {
        width: 100% !important;
        padding: 24px !important;
    }

    .player-frame {
        width: 100% !important;
        height: min(92dvh, 760px) !important;
        max-height: calc(100dvh - 20px) !important;
    }
}

@media (max-width: 340px) {
    .adult-topbar.topbar {
        grid-template-columns: 102px minmax(0, 1fr) auto !important;
    }

    .adult-topbar .adult-brand,
    .adult-topbar .brand-name {
        width: 102px !important;
        max-width: 102px !important;
    }

    .adult-topbar .brand-name {
        font-size: 23px !important;
    }

    .adult-hero,
    .adult-provider-panel,
    .adult-login-panel,
    .adult-blocked,
    .adult-discovery {
        padding: 16px !important;
    }
}

@media (min-width: 1800px) {
    .adult-shell,
    .player-frame {
        max-width: 1920px !important;
    }
}

/* Small-screen Reserve player guard */
.adult-player,
.player-frame,
.adult-player-stage,
.adult-player-stage iframe {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.adult-rails,
.adult-card-track,
.adult-universe-track,
.adult-category-tabs {
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
}

@media (max-width: 640px) {
    .adult-player:not([hidden]) {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 8px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .player-frame {
        width: min(100%, calc(100dvw - 16px)) !important;
        max-width: calc(100dvw - 16px) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100dvh - 16px) !important;
        grid-template-rows: auto minmax(0, auto) !important;
        overflow: hidden !important;
        border-radius: 12px !important;
    }

    .player-frame header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 10px !important;
        min-height: 0 !important;
        padding: 10px !important;
    }

    .player-frame h2 {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
        font-size: clamp(15px, 4.8vw, 20px) !important;
        line-height: 1.15 !important;
    }

    .player-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .player-actions a,
    .player-actions button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 38px !important;
        padding-right: 8px !important;
        padding-left: 8px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .adult-player-stage {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100dvh - 132px) !important;
        aspect-ratio: 16 / 9 !important;
        overflow: hidden !important;
    }

    .adult-player-stage iframe {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-width: 100% !important;
    }

    .adult-player-notice {
        right: 8px !important;
        bottom: 8px !important;
        width: calc(100% - 16px) !important;
        padding: 12px !important;
    }
}

@media (max-width: 360px) {
    .player-actions {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .adult-player-stage {
        max-height: calc(100dvh - 174px) !important;
    }
}

@media (max-height: 480px) and (orientation: landscape) {
    .adult-player:not([hidden]) {
        align-items: stretch !important;
        padding: 6px !important;
    }

    .player-frame {
        width: calc(100dvw - 12px) !important;
        max-width: calc(100dvw - 12px) !important;
        height: calc(100dvh - 12px) !important;
        max-height: calc(100dvh - 12px) !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
    }

    .player-frame header {
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
    }

    .player-actions {
        grid-template-columns: auto auto !important;
        width: auto !important;
    }

    .adult-player-stage {
        height: 100% !important;
        max-height: none !important;
        aspect-ratio: auto !important;
    }
}
