/* Roleplayverse Story Show. Scoped to this page; site-wide styles are untouched. */
/* .container.rv-story { max-width: 1240px; } */
.rv-story {
    --rv-story-red: #ce2842;
    --rv-story-red-dark: #a60a15;
    --rv-story-red-tint: #fff2f4;
    --rv-story-red-border: #efc4cc;
    --rv-story-ink: #272027;
    --rv-soft: #faf8f9;
    --rv-story-muted: #5b5159;
    --rv-story-line: #e9e5e8;
    --rv-story-header: 80px;
    --rv-story-nav: 42px;
    --rv-line: #e9e5e8;
    --rv-red-dark: #a60a15;
    color: var(--rv-story-ink);
    /* Navbar is fixed at the top; .container-p-y was removed from Blade
       because its !important padding used to override this clearance. */
    padding-top: calc(var(--rv-story-header) + 24px);
    padding-bottom: 56px;
    font-size: .875rem;
    line-height: 1.65;
}
.rv-story *, .rv-story *::before, .rv-story *::after { box-sizing: border-box; }
.rv-story :is(h1, h2, h3, p, dl, figure) { margin: 0; }
.rv-story :is(h1, h2, h3) { line-height: 1.32; }
.rv-story a { color: var(--rv-story-red-dark); }
.rv-story a:hover { color: var(--rv-story-red); }
.rv-story :is(a, button, select):focus-visible {
    outline: 3px solid var(--rv-story-red);
    outline-offset: 3px;
    box-shadow: none;
}


.rv-story-breadcrumb {
    display: flex; align-items: center; gap: 8px;
    color: var(--rv-muted); font-size: .78rem; margin-bottom: 20px;
}
.rv-story-breadcrumb a { color: var(--rv-muted); }
.rv-story-breadcrumb { margin-bottom: 16px; }

/* Story identity mirrors the simple Character Show title bar. No repeated metadata. */
.rv-story-hero {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 20px 24px;
    border-radius: 12px;
    border: 1px solid var(--rv-story-red-dark);
    background-image: linear-gradient(112deg, #db3652 0%, #b41932 48%, #760914 100%);
    color: #fff;
}
.rv-story-hero__body { min-width: 0; }
.rv-story-eyebrow { display: block; margin-bottom: 8px; font-size: .7rem; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,.84); }
.rv-story .rv-story-hero h1 { font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.035em; line-height: 1.28; font-weight: 700; color: #fff; overflow-wrap: anywhere; }
.rv-story .rv-story-alternate { margin-top: 9px; color: rgba(255,255,255,.84); font-size: .84rem; line-height: 1.6; overflow-wrap: anywhere; }

/* Anchor navigation keeps long profiles discoverable. */
.rv-story-jump { position: sticky; top: var(--rv-story-header); z-index: 9; display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #e9d3d9 transparent; min-height: var(--rv-story-nav); padding: 4px; margin: 16px 0; border: 1px solid var(--rv-story-red-border); background: rgba(255,255,255,.97); border-radius: 10px; box-shadow: 0 3px 12px rgba(41,37,43,.05); }
.rv-story-jump a { display: inline-flex; align-items: center; flex: 0 0 auto; white-space: nowrap; text-decoration: none; color: var(--rv-story-muted); padding: 10px 14px; min-height: 40px; font-size: .81rem; font-weight: 600; border-radius: 6px; }
.rv-story-jump a:hover { background: var(--rv-story-red-tint); color: var(--rv-story-red-dark); }
.rv-story-jump a[aria-current="location"] { background: var(--rv-story-red); color: #fff; }
.rv-story-jump a[aria-current="location"]:focus-visible { outline-color: #fff; outline-offset: -4px; }

/* A large, natural-ratio poster leads; secondary panels sit below it. */
.rv-story-layout {
    display: grid;
    grid-template-columns: minmax(0, clamp(380px, 36vw, 520px)) minmax(0, 1fr);
    grid-template-rows: min-content 1fr;
    grid-template-areas: "visual content" "sidebar content";
    column-gap: 20px;
    row-gap: 16px;
    align-items: start;
}
.rv-story-visual { grid-area: visual; display: grid; align-content: start; gap: 12px; min-width: 0; }
.rv-story-cover { min-width: 0; overflow: hidden; border: 1px solid var(--rv-story-red-border); border-radius: 12px; background: #fff; }
.rv-story-cover__link { position: relative; display: block; line-height: 0; color: inherit; }
.rv-story-cover__link > img { display: block; width: 100%; height: auto; aspect-ratio: auto; margin: 0; padding: 0; object-fit: contain; }
.rv-story-cover__hint { position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 6px; background: rgba(45,18,25,.85); border: 1px solid rgba(255,255,255,.7); color: #fff; font-size: .72rem; font-weight: 600; line-height: 1.5; }
.rv-story-cover__hint .bx { font-size: .95rem; }
.rv-story-cover__link:hover .rv-story-cover__hint { background: var(--rv-story-red-dark); }
.rv-story-cover__empty { display: flex; min-height: 390px; align-items: center; justify-content: center; flex-direction: column; gap: 12px; padding: 30px; color: var(--rv-story-red-dark); background: var(--rv-story-red-tint); font-weight: 600; font-size: .84rem; }
.rv-story-cover__empty .bx { font-size: 3rem; }
.rv-story-visual__actions { display: grid; gap: 9px; }
.rv-story-cta { display: flex; width: 100%; align-items: center; justify-content: center; gap: 9px; min-height: 45px; padding: 10px 15px; border: 1px solid transparent; border-radius: 7px; font-size: .84rem; font-weight: 650; line-height: 1.45; text-decoration: none; transition: background-color .15s, border-color .15s, color .15s; }
.rv-story-cta .bx { font-size: 1.15rem; }
.rv-story-visual a.rv-story-cta--primary { color: #fff; background: var(--rv-member-gradient); border-color: var(--rv-story-red); }
.rv-story-visual a.rv-story-cta--primary:hover { color: #fff; background: var(--rv-story-red-dark); border-color: var(--rv-story-red-dark); }
.rv-story-visual a.rv-story-cta--secondary { color: var(--rv-story-red-dark); background: #fff; border-color: var(--rv-story-red-border); }
.rv-story-visual a.rv-story-cta--secondary:hover { color: var(--rv-story-red-dark); background: var(--rv-story-red-tint); }
.rv-story-main { grid-area: content; display: grid; align-content: start; gap: 16px; min-width: 0; }
.rv-story-sidebar { grid-area: sidebar; display: grid; align-content: start; gap: 16px; min-width: 0; }
.rv-story-panel { min-width: 0; padding: 20px; border: 1px solid var(--rv-story-line); border-radius: 11px; background: #fff; }
.rv-story-section, .rv-story-rating, .rv-story-info, .rv-story-music { scroll-margin-top: calc(var(--rv-story-header) + var(--rv-story-nav) + 22px); }
.rv-story-section__head, .rv-story-sidebar__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px solid var(--rv-story-red-border); }
.rv-story .rv-story-section__head h2, .rv-story .rv-story-sidebar__head h2 { font-size: 1.08rem; font-weight: 700; color: var(--rv-story-red-dark); padding-left: 12px; border-left: 3px solid var(--rv-story-red); overflow-wrap: anywhere; }
.rv-story-section__head > .bx { color: var(--rv-story-red); font-size: 1.35rem; }
.rv-story-count { display: inline-flex; color: var(--rv-story-red-dark); background: var(--rv-story-red-tint); padding: 3px 8px; border-radius: 5px; font-size: .72rem; font-weight: 600; white-space: nowrap; }
.rv-story-empty { color: var(--rv-story-muted); font-size: .86rem; font-style: italic; }
.rv-story-richtext { color: var(--rv-story-ink); font-size: .875rem; line-height: 1.7; overflow-wrap: anywhere; min-width: 0; }
.rv-story-richtext :is(p, ul, ol, blockquote) { margin-bottom: 10px; }
.rv-story-richtext :is(p, ul, ol, blockquote):last-child { margin-bottom: 0; }
.rv-story-richtext img, .rv-story-richtext iframe { max-width: 100%; height: auto; }
.rv-story-richtext :is(ul, ol) { padding-left: 24px; }
.rv-story-richtext a { text-decoration: underline; text-underline-offset: 3px; }
.rv-story-richtext :is(h2, h3, h4) { margin-bottom: 10px; color: var(--rv-story-ink); }
.rv-story-richtext table { display: block; max-width: 100%; overflow-x: auto; }
@media (min-width: 768px) {
    #rv-story-synopsis .rv-story-richtext { text-align: justify; text-align-last: start; }
}

/* Chapter preview is not a second reader; links use the existing published-chapter routes. */
.rv-story-chapters-list { display: grid; }
.rv-story-chapter { display: flex; justify-content: space-between; align-items: center; min-width: 0; gap: 14px; padding: 14px 10px; text-decoration: none; border-radius: 6px; border-bottom: 1px solid var(--rv-story-line); }
.rv-story-chapter:last-child { border-bottom: 0; }
.rv-story-chapter:hover { background: var(--rv-story-red-tint); }
.rv-story-chapter__text { min-width: 0; display: grid; gap: 3px; }
.rv-story-chapter__label { color: var(--rv-story-red-dark); text-transform: uppercase; font-size: .68rem; letter-spacing: .055em; font-weight: 650; }
.rv-story-chapter__text strong { color: var(--rv-story-ink); font-size: .9rem; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
.rv-story-chapter__time { display: inline-flex; gap: 4px; align-items: center; color: var(--rv-story-muted); font-size: .72rem; }
.rv-story-chapter > .bx { flex: 0 0 auto; color: var(--rv-story-red); font-size: 1.35rem; }
.rv-story-spoiler { color: #8c5e13; background: #fff4df; border-radius: 3px; padding: 2px 5px; font-size: .65rem; letter-spacing: 0; margin-left: 3px; }
.rv-story-chapters-more { display: inline-flex; gap: 6px; align-items: center; font-weight: 650; font-size: .85rem; margin-top: 14px; }

/* Cast tabs and protagonist frames remain compatible with original classes. */
.rv-story-cast-tabs.nav.nav-pills { display: flex; flex-wrap: nowrap; gap: 6px; padding: 4px; border: 1px solid var(--rv-story-line); background: #faf8f9; border-radius: 8px; margin-bottom: 10px; }
.rv-story-cast-tabs .nav-item { flex: 1 1 0; min-width: 0; }
.rv-story-cast-tabs.nav-pills .nav-link { display: flex; justify-content: center; align-items: center; gap: 7px; width: 100%; padding: 10px 6px; border-radius: 5px; background: transparent; color: #635c62; font-weight: 600; font-size: .82rem; border: 0; white-space: nowrap; }
.rv-story-cast-tabs.nav-pills .nav-link span { font-size: .68rem; opacity: .83; }
.rv-story-cast-tabs.nav-pills .nav-link.active { background: var(--rv-story-red); color: #fff; box-shadow: none; }
.rv-story-cast-tabs.nav-pills .nav-link:not(.active):hover { background: var(--rv-story-red-tint); color: var(--rv-story-red-dark); }
.rv-story .rv-story-cast-content.tab-content { padding: 0; border: 0; box-shadow: none; background: transparent; border-radius: 0; }
.rv-story-cast-content .tab-pane { min-width: 0; }
.rv-story-cast-item { display: flex; gap: 10px; align-items: center; padding: 5px 3px; min-width: 0; }
/* One fixed circle for every cast category; image dimensions never dictate the row. */
.rv-story .rv-story-cast-avatar,
.rv-story .rv-story-cast-avatar.main-protagonist-avatar {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    min-width: 50px;
    flex: 0 0 50px;
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
    background: #f5eff1;
    box-shadow: 0 0 0 2px #f1e5e8;
}
.rv-story .rv-story-cast-avatar > .rv-story-cast-portrait {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
}
.rv-story .rv-story-cast-avatar > .main-protagonist-frame {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
}
.rv-story-cast-item__text { flex: 1 1 auto; display: grid; gap: 3px; min-width: 0; }
.rv-story .rv-story-cast-name { display: block; font-weight: 700; font-size: .88rem; line-height: 1.4; overflow-wrap: anywhere; text-decoration: none; }
.rv-story .rv-story-cast-name:not(.main-gold):not(.main-mekar-putih) { color: var(--rv-story-red-dark); }
.rv-story-cast-item__text > span { color: var(--rv-story-muted); font-size: .76rem; }
.rv-story-morality { color: #6f6870; font-size: .69rem; text-align: right; flex: 0 1 100px; overflow-wrap: anywhere; }
.rv-story-cast-content .rv-story-empty { padding: 20px 4px 10px; text-align: center; }

/* Plot timeline keeps lengthy descriptions readable. */
.rv-story-arcs { margin: 0; padding: 0; list-style: none; counter-reset: rv-story-arcs; }
.rv-story-arcs li { position: relative; border-left: 2px solid var(--rv-story-red-border); padding: 0 0 23px 21px; margin-left: 12px; counter-increment: rv-story-arcs; min-width: 0; }
.rv-story-arcs li:last-child { padding-bottom: 0; border-left-color: transparent; }
.rv-story-arcs li::before { content: counter(rv-story-arcs); display: grid; place-items: center; position: absolute; top: 0; left: -13px; width: 24px; height: 24px; background: var(--rv-story-red); border-radius: 50%; color: #fff; font-size: .71rem; font-weight: 700; }
.rv-story-arc__name { padding-top: 1px; color: var(--rv-story-ink); font-weight: 700; font-size: .92rem; overflow-wrap: anywhere; }
.rv-story-arc__description { font-size: .87rem; color: var(--rv-story-muted); margin-top: 7px; }

/* Prominent score with autosaved native select, inset chevron at right. */
.rv-story-rating { border-top: 3px solid var(--rv-story-red); background-image: linear-gradient(158deg, #fff0f3 0%, #fff9fa 32%, #ffffff 70%); border-color: #edcbd2; }
.rv-story-rating__header { display: flex; align-items: center; justify-content: space-between; color: var(--rv-story-red-dark); font-size: .73rem; text-transform: uppercase; letter-spacing: .075em; font-weight: 750; }
.rv-story-rating__header .bx { font-size: 1.25rem; color: var(--rv-story-red); }
.rv-story-rating__numbers { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 12px 0 19px; }
.rv-story-rating__numbers > div:first-child { display: grid; gap: 1px; }
.rv-story-rating__numbers > div:first-child strong { font-size: 2.18rem; font-weight: 700; line-height: 1.1; letter-spacing: -.04em; color: var(--rv-story-red-dark); }
.rv-story-rating__numbers > div:first-child > span { color: var(--rv-story-muted); font-size: .76rem; }
.rv-story-rating__rank { display: grid; gap: 2px; text-align: right; }
.rv-story-rating__rank > span { color: var(--rv-story-muted); font-size: .73rem; }
.rv-story-rating__rank strong { color: var(--rv-story-red-dark); font-size: 1.13rem; }
.rv-story-field-label { display: block; margin-bottom: 7px; color: var(--rv-story-red-dark); font-size: .74rem; font-weight: 700; }
.rv-story-select-wrap { position: relative; }
.rv-story-select-wrap > .bx { position: absolute; z-index: 1; top: 50%; left: 12px; transform: translateY(-50%); color: var(--rv-story-red); font-size: 1.07rem; pointer-events: none; }
.rv-story .rv-story-select { appearance: none; -webkit-appearance: none; display: block; width: 100%; min-height: 43px; padding: 8px 39px 8px 39px; border-radius: 7px; border: 1px solid var(--rv-story-red-border); color: var(--rv-story-ink); background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23954553' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 16px 16px; background-position: right 14px center; font-size: .83rem; cursor: pointer; }
.rv-story .rv-story-select:focus { border-color: var(--rv-story-red); box-shadow: 0 0 0 3px rgba(206,40,66,.12); }
.rv-story-feedback { display: block; min-height: 15px; margin-top: 5px; color: var(--rv-story-muted); font-size: .7rem; }

.rv-story .rv-story-login-btn  {
    display: inline-flex;
    align-items: center;
    justify-content: center; gap: 8px;
    min-height: 44px;
    border: 1px solid var(--rv-line);
    border-radius: 7px; padding: 9px 14px;
    background: #fff;
    color: var(--rv-ink); font: inherit; font-size: .76rem; line-height: 1.4; font-weight: 600;
    text-align: center; text-decoration: none; cursor: pointer; transition: background-color .15s, border-color .15s;
    width: 100%; color: var(--rv-red-dark); border-color: #ebc7ce;
}

.rv-story .rv-story-login-btn:hover { background: #fdf0f3; }
.rv-story .rv-story-login-btn .bx { font-size: 1.05rem; flex-shrink: 0; }
.rv-story .rv-story-login-btn:focus-visible { outline-offset: 3px; }

.rv-story-sidebar__head { margin-bottom: 14px; padding-bottom: 13px; }
.rv-story-info-list { margin: 0; display: grid; gap: 0; }
.rv-story-info-list > div { display: grid; grid-template-columns: minmax(0, 102px) minmax(0, 1fr); gap: 9px; padding: 9px 0; border-bottom: 1px solid #f3eff1; min-width: 0; }
.rv-story-info-list > div:last-child { padding-bottom: 0; border: 0; }
.rv-story-info-list dt { color: var(--rv-story-muted); font-size: .74rem; font-weight: 600; }
.rv-story-info-list dd { color: var(--rv-story-ink); font-size: .8rem; overflow-wrap: anywhere; }
.rv-story-info-list dd a { font-weight: 600; }
.rv-story-info__genres { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.rv-story-info__pill { display: inline-flex; align-items: center; max-width: 100%; padding: 3px 9px; color: var(--rv-story-red-dark); border: 1px solid var(--rv-story-red-border); border-radius: 5px; background: var(--rv-story-red-tint); font-size: .73rem; line-height: 1.45; overflow-wrap: anywhere; }
.rv-story-status { display: inline-flex; padding: 2px 8px; border-radius: 4px; color: var(--rv-story-red-dark); background: var(--rv-story-red-tint); font-weight: 600; font-size: .73rem; }
/* Specificity beats the page-wide `a:hover` color; the icon stays visible. */
.rv-story a.rv-story-edit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 6px;
    border: 1px solid var(--rv-story-red-border);
    color: var(--rv-story-red-dark);
    background: var(--rv-story-red-tint);
    text-decoration: none;
    transition: color .15s, background-color .15s, border-color .15s;
}
.rv-story a.rv-story-edit :is(i, svg) { color: inherit; }
.rv-story a.rv-story-edit:hover,
.rv-story a.rv-story-edit:focus-visible {
    color: #fff;
    background: var(--rv-story-red);
    border-color: var(--rv-story-red);
}
.rv-story a.rv-story-edit:hover :is(i, svg),
.rv-story a.rv-story-edit:focus-visible :is(i, svg) { color: #fff; }

/* Render the existing Saga component in the sidebar without changing it globally. */
.rv-story-saga:empty { display: none; }
.rv-story-saga > .card { margin: 0 !important; border: 1px solid var(--rv-story-line); box-shadow: none; border-radius: 11px; }
.rv-story-saga > .card > .card-body { padding: 23px; }
.rv-story-saga .card-title { color: var(--rv-story-red-dark); font-size: 1.05rem; font-weight: 700; border-left: 3px solid var(--rv-story-red); padding-left: 12px; margin-bottom: 14px !important; }
.rv-story-saga .btn-outline-primary { border-color: var(--rv-story-red-border); color: var(--rv-story-red-dark); }
.rv-story-saga .btn-outline-primary:hover { background: var(--rv-member-gradient); border-color: var(--rv-story-red); color: #fff; }

.rv-story-spotify { padding: 2px 8px; border-radius: 4px; font-weight: 650; font-size: .69rem; color: var(--rv-story-red-dark); background: var(--rv-story-red-tint); }
.rv-story-music__list { display: grid; gap: 10px; }
.rv-story-music__item { display: flex; align-items: center; gap: 9px; justify-content: space-between; padding: 11px 0; min-width: 0; border-bottom: 1px solid var(--rv-story-line); }
.rv-story-music__item:last-child { border-bottom: none; padding-bottom: 0; }
.rv-story-music__text { display: grid; gap: 3px; min-width: 0; }
.rv-story-music__text strong { font-size: .81rem; line-height: 1.4; overflow-wrap: anywhere; }
.rv-story-music__text > span { font-size: .7rem; color: var(--rv-story-muted); text-transform: capitalize; }
.rv-story-music__actions { display: flex; flex: 0 0 auto; gap: 6px; }
.rv-story .story-soundtrack-external { display: inline-grid; place-items: center; padding: 0; width: 34px; height: 34px; background: #fff; border: 1px solid var(--rv-story-red-border); border-radius: 50%; color: var(--rv-story-red-dark); cursor: pointer; font-size: 1.05rem; }
.rv-story .story-soundtrack-launch { color: #fff; background: var(--rv-member-gradient); border-color: var(--rv-story-red); }
.rv-story .story-soundtrack-external:hover { background: var(--rv-story-red-dark); border-color: var(--rv-story-red-dark); color: #fff; }
.rv-story-extras--footer { margin-top: 28px; padding: 18px 23px; }
.rv-story-extras--footer .rv-story-sidebar__head { margin-bottom: 8px; padding-bottom: 9px; }
.rv-story-extras--footer .rv-story-sidebar__head h2 { font-size: .95rem; }
.rv-story-extras__content { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px 24px; }
.rv-story-extras__font { display: flex; align-items: center; gap: 15px; color: var(--rv-story-muted); font-size: .78rem; min-width: 0; }
.rv-story-extras__font img { display: block; max-width: 230px; max-height: 48px; width: auto; height: auto; object-fit: contain; }
.rv-story-download { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 38px; padding: 8px 13px; border-radius: 7px; border: 1px solid var(--rv-story-red-border); background: var(--rv-story-red-tint); color: var(--rv-story-red-dark) !important; font-weight: 650; font-size: .78rem; text-decoration: none; }
.rv-story-download:hover { background: var(--rv-member-gradient); border-color: var(--rv-story-red); color: #fff !important; }

/* Single thematic exception already present in Roleplayverse: Mekar Putih. */
.story-mekar-putih.rv-story {
    --rv-story-red: #799db2;
    --rv-story-red-dark: #405f72;
    --rv-story-red-tint: #edf6fb;
    --rv-story-red-border: #bfd5e1;
    --rv-story-line: #dae6ed;
    --rv-story-ink: #1b2d3b;
    --rv-story-muted: #526979;
}
.story-mekar-putih.rv-story .rv-story-hero { border-color: #aecbdc; background-image: linear-gradient(115deg, #f9fdff 0%, #dbeaf5 46%, #f9fdff 100%); box-shadow: 0 13px 34px rgba(29,69,94,.15), inset 0 1px 0 #fff; color: #1b3040; }
.story-mekar-putih.rv-story .rv-story-hero h1 { color: #183040; text-shadow: 0 1px 0 #fff; }
.story-mekar-putih.rv-story .rv-story-alternate { color: #3e627a; }
/* The special theme keeps its icy title bar; poster and actions remain prominent. */
.story-mekar-putih.rv-story .rv-story-cover__hint { background: rgba(44,68,85,.88); }
.story-mekar-putih.rv-story .rv-story-cover__link:hover .rv-story-cover__hint { background: #405f72; }
.story-mekar-putih.rv-story .rv-story-panel, .story-mekar-putih.rv-story .rv-story-jump { background: linear-gradient(135deg, #ffffff 0%, #f5f9fc 52%, #e4eff7 100%); border-color: var(--rv-story-red-border); }
.story-mekar-putih.rv-story .rv-story-rating { border-top-color: #719ab5; border-color: #c4dbe8; background-image: linear-gradient(155deg, rgba(236,249,255,.97),rgba(255,255,255,.96) 68%); }
.story-mekar-putih.rv-story .story-soundtrack-launch { background: #6d95aa; border-color: #6d95aa; }
.story-mekar-putih.rv-story .rv-story-download { background: #5e8096; border-color: #5e8096; color: #fff !important; }
.story-mekar-putih.rv-story .rv-story-download:hover { background: #405f72; border-color: #405f72; color: #fff !important; }
.story-mekar-putih.rv-story .rv-story-saga > .card { background: linear-gradient(135deg, #ffffff 0%, #f5f9fc 52%, #e4eff7 100%); border-color: var(--rv-story-red-border); }
.story-mekar-putih.rv-story .rv-story-cast-tabs.nav-pills .nav-link.active { background: var(--rv-member-tab-gradient) !important; color: var(--rv-member-tab-ink) !important; }
.story-mekar-putih.rv-story .rv-story-cast-content.tab-content { background: transparent; }

@media (max-width: 1199.98px) {
    .rv-story-layout { grid-template-columns: minmax(0, 380px) minmax(0, 1fr); column-gap: 22px; }
    .rv-story-panel { padding: 18px; }
    .rv-story-extras--footer { padding: 18px 21px; }
}
@media (max-width: 991.98px) {
    /* Cover, synopsis, then auxiliary details: useful reading order on mobile. */
    .rv-story-layout { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; grid-template-areas: "visual" "content" "sidebar"; row-gap: 20px; }
    .rv-story-visual { width: min(100%, 470px); justify-self: center; }
    .rv-story-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
    .rv-story-saga { min-width: 0; }
}
@media (max-width: 767.98px) {
    .rv-story { --rv-story-header: 80px; padding-top: calc(var(--rv-story-header) + 24px); padding-bottom: 35px; }
    .rv-story-hero { padding: 22px 24px; }
    .rv-story .rv-story-hero h1 { font-size: clamp(1.7rem, 5.2vw, 2rem); }
    .rv-story-jump { margin: 16px 0 20px; }
    .rv-story-panel { padding: 18px; }
}
@media (max-width: 575.98px) {
    .rv-story-hero { padding: 21px 20px; }
    .rv-story .rv-story-hero h1 { font-size: 1.8rem; }
    .rv-story-cover__empty { min-height: 310px; }
    .rv-story-sidebar { grid-template-columns: 1fr; }
    .rv-story-panel { padding: 16px; }
    .rv-story-cast-item { gap: 10px; }
    .rv-story-morality { max-width: 72px; }
    .rv-story-extras--footer { padding: 18px; }
    .rv-story-extras__content { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
    .rv-story * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
