/* Shared with the entry and the wallet; isolate native-dialog sizing from creator CSS. */
#rv-sheet {
    --rv-accent: #c33967;
    --rv-soft: color-mix(in srgb, var(--rv-accent) 6%, white);
    --rv-ink: #292529;
    --rv-muted: #756e72;
    box-sizing: border-box;
    position: fixed;
    inset: auto 0 0;
    width: min(100%, 510px);
    max-width: 100%;
    max-height: 90dvh;
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 30px 30px 0 0;
    background: #fff;
    color: var(--rv-ink);
    font: 14px/1.5 AtPoppins, Poppins, sans-serif;
    text-align: left;
    overflow: hidden;
    box-shadow: 0 -8px 48px #21102024;
}
#rv-sheet[open] { display: flex; flex-direction: column; animation: rv-rise .22s ease-out; }
#rv-sheet:not([open]), #rv-sheet [hidden] { display: none !important; }
#rv-sheet *, #rv-sheet *::before, #rv-sheet *::after { box-sizing: border-box; }
#rv-sheet::backdrop { background: #25202a55; backdrop-filter: blur(6px); }
/* Stripe's own authentication overlays must remain above the payment sheet. */
.rv-payment-backdrop { position:fixed; inset:0; z-index:1000000; background:#25202a55; backdrop-filter:blur(6px); }
#rv-sheet[data-payment-overlay=true] { z-index:1000001; animation:none; }
.rv-handle { flex: none; width: 34px; height: 4px; border-radius: 9px; background: #dfdadd; margin: 12px auto 6px; }
.rv-head { flex: none; display: flex; align-items: center; gap: 10px; padding: 14px 20px 12px; }
.rv-head h2 { font: 700 23px/1.25 AtPoppins, Poppins, sans-serif; letter-spacing: -.65px; margin: 0; flex: 1; min-width: 0; outline: none; }
#rv-sheet[data-panel=video] .rv-head h2, #rv-sheet[data-panel=idea] .rv-head h2, #rv-sheet[data-panel=reminders] .rv-head h2 { font-size: 20px; }
#rv-sheet[data-panel=idea] { --rv-accent: #926007; }
#rv-sheet[data-panel=reminders] { --rv-accent: #245bc2; }
/* The body alone scrolls, including on touch devices and with long checker results. */
.rv-scroll { min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; padding: 6px 20px max(28px, env(safe-area-inset-bottom)); scrollbar-width: thin; scrollbar-color: #d8d1d5 transparent; scroll-padding: 18px; }
#rv-sheet button, #rv-sheet input, #rv-sheet select, #rv-sheet textarea { font: inherit; }
#rv-sheet button, #rv-sheet a, #rv-sheet summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
#rv-sheet img { display: block; flex: none; object-fit: contain; }
.rv-icon { display: grid; place-items: center; flex: none; border: 0; border-radius: 50%; background: #f5f3f4; width: 44px; height: 44px; color: inherit; padding: 0; cursor: pointer; }
.rv-intro { margin: 0 0 22px; color: var(--rv-muted); font-size: 12px; line-height: 1.65; }
#rv-sheet h3 { font-size: 16px; line-height: 1.4; margin: 24px 0 12px; }
#rv-sheet .rv-section-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 15px; margin: 0 0 14px; }
.rv-packs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-bottom: 28px; }
.rv-pack { --pack-color: #a33860; --pack-soft: #ffedf3; display: flex; align-items: center; flex-direction: column; gap: 7px; background: var(--pack-soft); border: 1px solid color-mix(in srgb,var(--pack-color) 13%,white); border-radius: 18px; padding: 13px 6px 10px; text-decoration: none; color: var(--rv-ink); transition: transform .16s ease, box-shadow .16s ease; }
.rv-pack:nth-child(2) { --pack-color: #6746af; --pack-soft: #f1ebff; }
.rv-pack:nth-child(3) { --pack-color: #9a6309; --pack-soft: #fff3d8; }
.rv-pack img { width: 40px; height: 40px; }
.rv-pack strong { font-size: 25px; font-weight: 700; line-height: 1.2; }
.rv-pack span { width: 100%; background: #ffffffc9; padding: 7px 5px; margin-top: 4px; text-align: center; border-radius: 30px; color: var(--pack-color); font-size: 12px; font-weight: 600; }
#rv-sheet [data-tone=pink] { --task-color: #b92c5a; --task-soft: #ffe3ee; --task-paper: #fff8fb; }
#rv-sheet [data-tone=amber] { --task-color: #966006; --task-soft: #ffedb4; --task-paper: #fffbef; }
#rv-sheet [data-tone=blue] { --task-color: #245bc2; --task-soft: #dfeaff; --task-paper: #f4f8ff; }
#rv-sheet [data-tone=mint] { --task-color: #227b63; --task-soft: #dff5e9; --task-paper: #f8fcfa; }
#rv-sheet [data-tone=purple] { --task-color: #7854b4; --task-soft: #eee4ff; --task-paper: #fbf9ff; }
#rv-sheet [data-tone=peach] { --task-color: #b75930; --task-soft: #ffe7d7; --task-paper: #fffaf6; }
.rv-tasks { display: grid; gap: 10px; }
.rv-affiliate-disclosure { margin: 14px 0 0; }
.rv-payment-summary { display:flex; align-items:center; gap:12px; padding:18px; border-radius:20px; background:#f5f0ff; margin:4px 0 20px; }
.rv-payment-summary > div { display:grid; gap:3px; flex:1; }
.rv-payment-summary > div > span { color:var(--rv-muted); font-size:12px; }
.rv-payment-summary > strong { white-space:nowrap; font-size:20px; }
.rv-payment-loading { display:flex; align-items:center; gap:10px; padding:14px 0; }
.rv-payment-loading .rv-spinner { border-color:#e2d9f5; border-top-color:#7715ef; }
.rv-payment-divider { text-align:center; color:var(--rv-muted); margin:18px 0; font-size:12px; }
.rv-payment-secure { text-align:center; margin:14px 0 0; }
.rv-payment-email { display:grid; gap:6px; margin:0 0 16px; font-size:14px; color:var(--rv-ink,#292529); }
.rv-payment-email input { width:100%; box-sizing:border-box; padding:13px; border:1px solid #d8d3df; border-radius:14px; background:white; color:#292529; font:inherit; }
#rv-checkout-pay { margin-top:18px; }
#rv-sheet[data-panel=checkout] { --rv-accent:#7715ef; }
.rv-affiliate-terms { padding: 16px; border-radius: 16px; background: #f5f3fa; white-space: pre-line; overflow-wrap: anywhere; }
#rv-sheet .rv-affiliate-consent { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; cursor: pointer; }
#rv-sheet .rv-affiliate-consent input { flex: none; width: 20px; height: 20px; min-height: 0; margin: 0; accent-color: var(--rv-accent); }
#rv-affiliate-reward { justify-content: space-between; }
.rv-task { width: 100%; display: grid; grid-template-columns: 48px minmax(0,1fr) auto 12px; align-items: center; text-align: left; gap: 8px; padding: 15px 12px; border: 1px solid color-mix(in srgb,var(--task-color) 16%,white); border-radius: 18px; background: var(--task-paper); cursor: pointer; color: var(--rv-ink); list-style: none; text-decoration: none; transition: box-shadow .16s ease, border-color .16s ease; }
.rv-task-body { flex: 1; min-width: 0; }
.rv-task strong, .rv-task small { display: block; }
.rv-task strong { font-size: 13px; font-weight: 600; line-height: 1.4; }
.rv-task small { color: #6f6770; font-size: 11px; line-height: 1.5; margin: 4px 0; }
.rv-task-condition { display: block; color: var(--task-color); font-size: 10px; line-height: 1.5; }
.rv-task-icon { display: grid; place-items: center; width: 38px; height: 42px; flex: none; background: var(--task-soft,var(--rv-soft)); color: var(--task-color,var(--rv-accent)); border-radius: 13px; }
.rv-task-icon::before { content: ''; width: 23px; height: 23px; background: currentColor; -webkit-mask: var(--rv-icon) center / contain no-repeat; mask: var(--rv-icon) center / contain no-repeat; }
.rv-task-art { width: 48px; height: 48px; }
.rv-reward { display: inline-flex; align-items: center; justify-content: center; gap: 3px; padding: 7px; border-radius: 30px; background: var(--task-soft); font-size: 14px; font-weight: 700; color: var(--task-color); white-space: nowrap; }
.rv-chevron { width: 12px; opacity: .5; }
.rv-coin-amount { display: inline-flex; align-items: center; gap: 3px; }
.rv-inline-reward .rv-task-body { grid-column: span 2; }
.rv-task small .rv-coin-amount { vertical-align: middle; color: var(--task-color); font-weight: 700; }
.rv-readers-progress { display: grid; gap: 8px; border-radius: 18px; padding: 20px; background: #dff5e9; color: #227b63; text-align: center; margin-bottom: 16px; }
.rv-readers-progress > strong { font-size: 32px; }
.rv-readers-progress progress { width: 100%; height: 10px; accent-color: #227b63; }
.rv-reader-gift { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid #dff5e9; border-radius: 14px; }
.rv-reader-gift span { min-width: 0; overflow-wrap: anywhere; }
.rv-reader-gift button { border: 0; border-radius: 20px; padding: 10px 14px; min-height: 44px; background: #dff5e9; color: #227b63; cursor: pointer; }
#rv-sheet .rv-coming-title { margin: 26px 0 12px; font-size: 13px; }
.rv-coming-task { border: 1px solid #eeeaec; border-radius: 18px; background: var(--task-paper); }
.rv-coming-task .rv-task { grid-template-columns: 38px minmax(0,1fr) 16px; border: 0; background: transparent; }
.rv-coming-task .rv-chevron { width: 16px; height: 18px; }
.rv-coming-task summary::-webkit-details-marker { display: none; }
.rv-coming-task p { margin: 0; padding: 0 16px 18px; color: var(--rv-muted); font-size: 12px; line-height: 1.65; }
.rv-coming-task[open] { border-color: var(--task-color); }
.rv-upcoming small { margin-bottom: 0; }
.rv-upcoming .rv-task strong { color: #5f5761; }
.rv-tiers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.rv-tiers > div { border: 1px solid #f5d9e4; border-radius: 16px; background: #fff0f5; display: flex; align-items: center; flex-direction: column; gap: 7px; padding: 14px 5px; text-align: center; }
.rv-tiers > div:nth-child(2) { background: #f3edff; border-color: #e5daf9; }
.rv-tiers > div:nth-child(3) { background: #fff5da; border-color: #f5e5b6; }
.rv-tiers span { font-size: 10px; }
.rv-tiers strong { color: var(--rv-accent); display: flex; align-items: center; gap: 4px; font-size: 17px; }
.rv-publication-tiers progress { width: 85%; height: 6px; accent-color: var(--rv-accent); }
.rv-publication-tiers b { font-size: 11px; color: var(--rv-muted); }
.rv-publication-tiers > [data-state=complete] { border-color: #238364; }
.rv-publication-tiers > [data-state=complete] b { color: #237654; }
.rv-views-extra { border-block: 1px solid #eee7ec; padding: 12px 0; margin: 18px 0; }
.rv-views-extra summary { cursor: pointer; font-size: 12px; font-weight: 600; padding: 4px 0; }
.rv-views-extra[open] summary { margin-bottom: 14px; }
.rv-refresh { border: 1px solid #e4d7de; border-radius: 24px; padding: 10px 16px; min-height: 44px; background: #fff; color: var(--rv-accent); cursor: pointer; }
.rv-small { color: var(--rv-muted); font-size: 11px; line-height: 1.65; margin: 9px 0 20px; }
.rv-section-title + .rv-small { margin-top: -7px; }
.rv-steps { counter-reset: rv-step; list-style: none; margin: 24px 0; padding: 0; display: grid; gap: 16px; }
.rv-steps li { counter-increment: rv-step; display: block; position: relative; padding: 4px 0 4px 43px; min-height: 32px; font-size: 12px; line-height: 1.6; }
.rv-steps li::before { content: counter(rv-step); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: var(--rv-soft); color: var(--rv-accent); font-weight: 700; font-size: 14px; }
.rv-reminder-events { display: grid; gap: 8px; padding: 0; list-style: none; font-size: 12px; }
.rv-reminder-events li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #e9eef7; }
.rv-reminder-events time { color: var(--rv-muted); white-space: nowrap; }
.rv-reminder-events li:last-child { color: var(--rv-muted); border-bottom: 0; }
#rv-reminders-download img { filter: brightness(0) invert(1); }
#rv-sheet .rv-confirm { background: #e5efff; color: #245bc2 !important; }
#rv-sheet label { display: block; font-size: 12px; font-weight: 600; margin: 18px 0 9px; }
#rv-sheet input, #rv-sheet select, #rv-sheet textarea { display: block; width: 100%; min-height: 49px; border: 1px solid #dcd6da; border-radius: 16px; padding: 13px; background: #fff; color: var(--rv-ink); font-size: 16px; }
#rv-sheet select { font-size: 12px; }
#rv-sheet textarea { resize: vertical; min-height: 150px; max-height: 40dvh; }
#rv-sheet input::placeholder, #rv-sheet textarea::placeholder { font-size: 12px; color: #91878d; }
.rv-primary { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; min-height: 50px; padding: 13px 16px; margin-top: 16px; border: 0; border-radius: 28px; background: var(--rv-accent); color: #fff !important; font-weight: 600 !important; font-size: 13px !important; text-decoration: none; text-align: center; cursor: pointer; }
#rv-sheet button:disabled { opacity: .6; cursor: default; }
#rv-sheet :focus-visible { outline: 2px solid var(--rv-accent); outline-offset: 3px; }
#rv-sheet .rv-scroll:focus-visible { outline-offset: -3px; }
.rv-status { font-size: 12px; color: var(--rv-muted); margin: 14px 0; overflow-wrap: anywhere; }
.rv-status:empty { display: none; }
.rv-status[data-error=true] { color: #af2145; }
.rv-video-card { padding: 16px; background: var(--rv-soft); border: 1px solid #eeeaec; border-radius: 18px; overflow-wrap: anywhere; }
.rv-platform { color: var(--rv-accent); font-size: 11px; font-weight: 600; }
#rv-sheet .rv-video-card h3 { margin: 6px 0; font-size: 15px; }
.rv-video-card p, .rv-video-card a { font-size: 12px; color: var(--rv-muted); margin: 4px 0; }
.rv-checks { list-style: none; padding: 0; margin: 22px 0; }
.rv-checks li { display: grid; grid-template-columns: 24px 1fr; gap: 8px; margin: 15px 0; }
.rv-checks li > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; font-size: 13px; background: #f3f0f2; color: #8a7481; }
.rv-checks li[data-state=ok] > span { background: #e5f3ea; color: #257148; }
.rv-checks strong { font-size: 12px; font-weight: 600; }
.rv-checks p { font-size: 11px; color: var(--rv-muted); margin: 3px 0; line-height: 1.65; }
.rv-proof { padding: 16px; border: 1px dashed #d5cdd2; border-radius: 18px; background: #faf9fa; font-size: 12px; }
.rv-proof p { font-size: 11px; color: var(--rv-muted); }
.rv-proof > div { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.rv-proof code { font-size: 12px; user-select: all; overflow-wrap: anywhere; }
.rv-proof button { border: 1px solid #e5dfe3; border-radius: 20px; background: white; color: var(--rv-accent); padding: 8px 12px; min-height: 40px; font-size: 11px !important; cursor: pointer; }
.rv-history { border-top: 1px solid #eeeaec; margin-top: 26px; }
.rv-history button, .rv-history-item { display: block; width: 100%; text-align: left; padding: 14px; border: 1px solid #eeeaec; border-radius: 15px; background: #fff; color: inherit; margin: 8px 0; }
.rv-history button { cursor: pointer; }
.rv-history strong { display: block; font-size: 12px; }
.rv-history span { display: block; font-size: 11px; color: var(--rv-muted); margin-top: 5px; overflow-wrap: anywhere; }
.rv-idea-reward { display: flex; gap: 12px; align-items: center; padding: 15px; background: var(--rv-soft); border-radius: 18px; }
.rv-idea-reward strong { font-size: 12px; }
.rv-idea-reward p { font-size: 11px; color: var(--rv-muted); margin: 5px 0 0; }
.at-entry-meta { display: flex; justify-content: center; width: 100%; margin: 14px auto 22px; }
.at-page .rv-entry-button, .final-price .rv-entry-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 19px !important;
    border: none;
    border-radius: 99px;
    background: #ffffffe0 !important;
    color: var(--ink, #655057);
    font: 500 14px/1.4 AtPoppins, Poppins, sans-serif;
    cursor: pointer;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: 1px 4px 5px 0px #0000000a !important;
}
.rv-entry-button img { width: 22px; height: 22px; }
.rv-spinner { width: 18px; height: 18px; border: 2px solid #ffffff65; border-top-color: #fff; border-radius: 50%; animation: rv-spin .7s linear infinite; }
#rv-sheet[aria-busy=true] #rv-check .rv-spinner { display: block !important; }
@keyframes rv-spin { to { transform: rotate(360deg); } }
@keyframes rv-rise { from { transform: translateY(22px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@media (hover:hover) { .rv-task:hover { border-color: var(--task-color); box-shadow: 0 3px 12px #23152a0a; } .rv-pack:hover { transform: translateY(-2px); box-shadow: 0 4px 12px #23152a0b; } .rv-icon:hover { background: #ebe7ea; } }
@media (min-width:700px) { #rv-sheet { inset: 0; margin: auto; border-radius: 28px; max-height: min(88dvh,820px); } }
@media (max-width:350px) { .rv-head { padding-inline: 14px; } .rv-scroll { padding-inline: 14px; } .rv-head h2 { font-size: 20px; } .rv-task { padding-inline: 10px; grid-template-columns: 40px minmax(0,1fr) auto; gap: 7px; } .rv-task > .rv-chevron { display: none; } .rv-task-icon { width: 32px; } .rv-task-art { width: 40px; height: 40px; } .rv-coming-task .rv-task { grid-template-columns: 32px minmax(0,1fr) 12px; } .rv-coming-task .rv-chevron { display: block; } .rv-reward { padding: 6px; font-size: 13px; } }
@media (prefers-reduced-motion:reduce) { #rv-sheet[open] { animation: none; } .rv-spinner { animation-duration: 1.8s; } .rv-task, .rv-pack { transition: none; } }
