/* view.html — startpaste design language (functionality unchanged) */

.sp-page.sp-view {
    --sp-bg: #040405;
    --sp-surface: #09090b;
    --sp-surface-2: #0d0d10;
    --sp-border: rgba(255, 255, 255, 0.06);
    --sp-border-strong: rgba(255, 255, 255, 0.1);
    --sp-text: #f4f4f5;
    --sp-text-muted: #9ca3af;
    --sp-text-subtle: #6b7280;
    --sp-accent: #22c55e;
    --sp-accent-hover: #16a34a;
    --sp-accent-soft: rgba(34, 197, 94, 0.14);
    --sp-accent-text: #4ade80;
    --sp-premium: #fbbf24;
    --sp-premium-soft: rgba(251, 191, 36, 0.12);
    --sp-radius: 12px;
    --sp-font: "Plus Jakarta Sans", Inter, system-ui, -apple-system, sans-serif;
    --sp-mono: "IBM Plex Mono", ui-monospace, monospace;
    font-family: var(--sp-font);
    color: var(--sp-text);
    background: var(--sp-bg);
    background-image:
        radial-gradient(ellipse 120% 80% at 50% -30%, rgba(34, 197, 94, 0.05), transparent 55%),
        linear-gradient(180deg, var(--sp-bg) 0%, #060608 100%);
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased;
}

.sp-page.sp-view.premium-black-gradient {
    background: var(--sp-bg);
    background-image:
        radial-gradient(ellipse 120% 80% at 50% -30%, rgba(34, 197, 94, 0.05), transparent 55%),
        linear-gradient(180deg, var(--sp-bg) 0%, #060608 100%);
}

/* ── Loading screen ── */
#loading-spinner.loading-spinner {
    background: var(--sp-bg) !important;
    background-image: none !important;
}

#loading-spinner .sp-loader {
    width: min(100%, 22rem);
    padding: 2rem;
    text-align: center;
}

#loading-spinner .sp-loader__logo {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--sp-text);
}

#loading-spinner .sp-loader__tagline {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8125rem;
    color: var(--sp-text-subtle);
}

#loading-spinner .sp-loader__track {
    display: block;
    width: 100%;
    height: 4px;
    min-height: 4px;
    margin: 1.75rem 0 1rem;
    border-radius: 999px;
    background: var(--sp-surface-2);
    border: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
    position: relative;
}

#loading-spinner #loading-progress,
#loading-spinner .sp-loader__fill {
    display: block;
    height: 100%;
    min-height: 4px;
    width: 0%;
    max-width: 100%;
    border-radius: inherit;
    background: var(--sp-accent) !important;
    box-shadow: none !important;
    transition: width 0.5s ease;
}

#loading-spinner .sp-loader__panel {
    margin-top: 1.25rem;
    padding-top: 0;
    border-top: none;
}

#loading-spinner .sp-loader__panel:has(#captcha-container:not([style*="display: none"])) {
    padding-top: 1.25rem;
    border-top: 1px solid var(--sp-border);
}

#loading-spinner .sp-loader__status {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--sp-text);
}

#loading-spinner .sp-loader__detail {
    margin-top: 0.35rem;
    font-size: 0.8125rem;
    color: var(--sp-text-muted);
}

#loading-spinner #captcha-status {
    background: var(--sp-surface-2) !important;
    border: 1px solid var(--sp-border) !important;
    color: var(--sp-text-muted) !important;
    border-radius: 8px;
}

/* ── Shared view screens (timer, premium-only) ── */
.sp-view-screen {
    max-width: 56rem;
}

.sp-view-screen .relative.overflow-hidden.rounded-3xl,
.sp-view-screen .relative.overflow-hidden.rounded-2xl.rounded-3xl {
    background: var(--sp-surface) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: var(--sp-radius) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: none !important;
}

/* Hide glass / gradient decoration layers */
.sp-view-screen .absolute.top-0.left-0.right-0.h-px,
.sp-view-screen .absolute.bottom-0.left-0.right-0.h-px,
.sp-view-screen .absolute.top-0.left-0.right-0.h-1,
.sp-view-screen .absolute.inset-0.bg-gradient-to-br,
.sp-view-screen .absolute.inset-0.bg-green-500\/10,
.sp-view-screen .absolute.inset-0.bg-gradient-to-br.from-emerald-600,
.sp-view-screen .absolute.inset-0.bg-gradient-to-br.from-purple-600,
.sp-view-screen .absolute.inset-0.bg-gradient-to-br.from-indigo-600,
.sp-view-screen .absolute.inset-0.bg-gradient-to-br.from-blue-600,
.sp-view-screen .absolute.inset-0.scale-x-0,
.sp-view-screen .absolute.-inset-2,
.sp-view-screen .absolute.-inset-3,
.sp-view-screen .absolute.bottom-0.left-1\/4 {
    display: none !important;
}

.sp-view-screen .group.relative.overflow-hidden.rounded-2xl {
    background: var(--sp-surface) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: 10px !important;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.sp-view-screen .group.relative.overflow-hidden.rounded-2xl:hover {
    border-color: rgba(34, 197, 94, 0.22) !important;
    background: rgba(34, 197, 94, 0.03) !important;
}

/* Subtle per-plan differentiation (timer + premium-only grids) */
.sp-view-screen .group.relative.overflow-hidden.rounded-2xl:has([onclick*="428589f6"]) {
    border-color: rgba(52, 211, 153, 0.16) !important;
    background: linear-gradient(165deg, rgba(52, 211, 153, 0.05) 0%, var(--sp-surface) 42%) !important;
}

.sp-view-screen .group.relative.overflow-hidden.rounded-2xl:has([onclick*="aa175ee4"]) {
    border-color: rgba(167, 139, 250, 0.24) !important;
    background: linear-gradient(165deg, rgba(167, 139, 250, 0.07) 0%, var(--sp-surface) 45%) !important;
    box-shadow: inset 0 1px 0 rgba(167, 139, 250, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

.sp-view-screen .group.relative.overflow-hidden.rounded-2xl:has([onclick*="d582e0f5"]) {
    border-color: rgba(129, 140, 248, 0.18) !important;
    background: linear-gradient(165deg, rgba(129, 140, 248, 0.05) 0%, var(--sp-surface) 42%) !important;
}

.sp-view-screen .group.relative.overflow-hidden.rounded-2xl:has([onclick*="13ced48c"]) {
    border-color: rgba(96, 165, 250, 0.16) !important;
    background: linear-gradient(165deg, rgba(96, 165, 250, 0.04) 0%, var(--sp-surface) 42%) !important;
}

.sp-view-screen .group.relative.overflow-hidden.rounded-2xl::after {
    content: "";
    position: absolute;
    top: 0;
    left: 12%;
    right: 12%;
    height: 2px;
    border-radius: 999px;
    opacity: 0.85;
    pointer-events: none;
    z-index: 2;
}

.sp-view-screen .group.relative.overflow-hidden.rounded-2xl:has([onclick*="428589f6"])::after {
    background: linear-gradient(90deg, transparent, rgba(52, 211, 153, 0.45), transparent);
}

.sp-view-screen .group.relative.overflow-hidden.rounded-2xl:has([onclick*="aa175ee4"])::after {
    background: linear-gradient(90deg, transparent, rgba(167, 139, 250, 0.55), transparent);
}

.sp-view-screen .group.relative.overflow-hidden.rounded-2xl:has([onclick*="d582e0f5"])::after {
    background: linear-gradient(90deg, transparent, rgba(129, 140, 248, 0.48), transparent);
}

.sp-view-screen .group.relative.overflow-hidden.rounded-2xl:has([onclick*="13ced48c"])::after {
    background: linear-gradient(90deg, transparent, rgba(96, 165, 250, 0.42), transparent);
}

/* Plan labels / save badges */
.vp-plan-tag {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(110, 231, 183, 0.95);
    background: rgba(52, 211, 153, 0.1);
    border: 1px solid rgba(52, 211, 153, 0.18);
}

.vp-plan-save {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--sp-text-subtle);
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.vp-plan-save--best {
    color: rgba(216, 180, 254, 0.95);
    background: rgba(167, 139, 250, 0.1);
    border-color: rgba(167, 139, 250, 0.22);
}

.vp-plan-save--top {
    color: rgba(165, 180, 252, 0.95);
    background: rgba(129, 140, 248, 0.1);
    border-color: rgba(129, 140, 248, 0.22);
}

.sp-view-screen .group:has([onclick*="aa175ee4"]) .text-lg,
.sp-view-screen .group:has([onclick*="aa175ee4"]) .text-base {
    color: rgba(233, 213, 255, 0.92) !important;
}

/* Timer panel */
.sp-view-screen #timer-title-desktop {
    color: var(--sp-text-subtle) !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase;
    text-align: center;
    width: 100%;
    max-width: 15rem;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.45;
}

.sp-view-screen #timer-title-desktop .vp-timer-title__paste {
    font-weight: 700;
    color: #86efac !important;
    -webkit-text-fill-color: #86efac !important;
}

.sp-view-screen #timer-title-desktop .vp-timer-title__suffix {
    color: var(--sp-text-subtle) !important;
    -webkit-text-fill-color: currentColor !important;
    font-weight: 500;
}

/* Mobile timer title — glow on paste name only */
.sp-view-screen #timer-title-mobile {
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: var(--sp-text-subtle) !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.35;
    margin-bottom: 0 !important;
    max-width: min(100%, 20rem);
    word-break: break-word;
    overflow-wrap: anywhere;
}

.sp-view-screen .vp-timer-title-mobile-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    padding: 0.25rem 1rem;
    text-align: center;
    box-sizing: border-box;
}

.sp-view-screen #timer-title-mobile .vp-timer-title__paste {
    font-weight: 700;
    background: linear-gradient(90deg, #86efac, #34d399);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    text-shadow:
        0 0 10px rgba(74, 222, 128, 0.35),
        0 0 20px rgba(74, 222, 128, 0.2),
        0 0 32px rgba(52, 211, 153, 0.12);
}

.sp-view-screen #timer-title-mobile .vp-timer-title__suffix {
    color: var(--sp-text-subtle) !important;
    -webkit-text-fill-color: currentColor !important;
    font-weight: 500;
    text-shadow: none !important;
}

.sp-view-screen .countdown {
    font-family: var(--sp-mono) !important;
    font-size: 2.75rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.03em;
    color: var(--sp-accent-text) !important;
    background: var(--sp-surface-2);
    border: 1px solid var(--sp-border);
    border-radius: var(--sp-radius);
    padding: 1rem 1.25rem !important;
    line-height: 1;
    min-width: 7rem;
    text-align: center;
}

@media (min-width: 768px) {
    .sp-view-screen .countdown {
        font-size: 3.25rem !important;
    }
}

.sp-view-screen .relative.group:has(.countdown) > .absolute {
    display: none !important;
}

/* Premium section headers */
.sp-view-screen h3.bg-clip-text,
.sp-view-screen .bg-clip-text.text-transparent:not(#timer-title-mobile) {
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    color: var(--sp-text) !important;
}

.sp-view-screen .text-yellow-300,
.sp-view-screen .text-yellow-400,
.sp-view-screen #premium-only-title,
.sp-view-screen #premium-only-title-mobile {
    color: var(--sp-premium) !important;
}

/* Plan card typography */
.sp-view-screen .group h3.text-emerald-300,
.sp-view-screen .group h3.text-purple-300,
.sp-view-screen .group h3.text-indigo-300,
.sp-view-screen .group h3.text-blue-300 {
    color: var(--sp-text-muted) !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
}

.sp-view-screen .group .text-2xl.font-bold,
.sp-view-screen .group .text-xl.font-bold {
    color: var(--sp-text) !important;
    font-family: var(--sp-mono);
    font-weight: 500 !important;
}

.sp-view-screen .group .text-emerald-300.text-xs:not(:has(.vp-plan-tag)),
.sp-view-screen .group .text-purple-300.text-xs:not(:has(.vp-plan-save)),
.sp-view-screen .group .text-indigo-300.text-xs:not(:has(.vp-plan-save)),
.sp-view-screen .group .text-blue-300.text-xs:not(:has(.vp-plan-save)) {
    color: var(--sp-text-subtle) !important;
}

/* Plan CTA buttons on timer / premium-only screens */
.sp-view-screen button[onclick*="checkAuthBeforePurchase"],
.sp-view-screen .signInToPurchase button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    margin-top: 0.75rem;
    padding: 0.5rem 0.875rem !important;
    border-radius: 8px !important;
    border: 1px solid rgba(34, 197, 94, 0.22) !important;
    background: rgba(34, 197, 94, 0.08) !important;
    color: var(--sp-accent-text) !important;
    font-family: var(--sp-font) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.sp-view-screen button[onclick*="checkAuthBeforePurchase"]:hover,
.sp-view-screen .signInToPurchase button:hover {
    background: rgba(34, 197, 94, 0.14) !important;
    border-color: rgba(34, 197, 94, 0.35) !important;
    color: #86efac !important;
}

.sp-view-screen .signInToPurchase button {
    width: 100%;
    margin-top: 0;
    min-height: 2.5rem;
    font-size: 0.875rem !important;
}

/* Premium lock icon circle */
.sp-view-screen .w-20.h-20.rounded-full {
    background: var(--sp-premium-soft) !important;
    border: 1px solid rgba(251, 191, 36, 0.25) !important;
}

/* ── Premium-only screen (gold lock + new plan cards) ── */
:is(#premium-only-screen, #premium-page-screen) .vp-premium-lock-card {
    border-color: rgba(251, 191, 36, 0.18) !important;
    background: linear-gradient(165deg, rgba(251, 191, 36, 0.06) 0%, var(--sp-surface) 44%) !important;
    box-shadow:
        inset 0 1px 0 rgba(251, 191, 36, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

:is(#premium-only-screen, #premium-page-screen) .vp-premium-lock-card::before,
:is(#premium-only-screen, #premium-page-screen) .vp-premium-plans-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    z-index: 2;
    pointer-events: none;
}

:is(#premium-only-screen, #premium-page-screen) .vp-premium-lock-card::before {
    background: linear-gradient(90deg, transparent, rgba(251, 191, 36, 0.5), transparent);
}

:is(#premium-only-screen, #premium-page-screen) .vp-premium-lock-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(251, 191, 36, 0.22), transparent);
    z-index: 2;
    pointer-events: none;
}

:is(#premium-only-screen, #premium-page-screen) .vp-premium-plans-card {
    border-color: var(--sp-border) !important;
    background: var(--sp-surface) !important;
}

:is(#premium-only-screen, #premium-page-screen) .vp-premium-plans-card::before {
    background: linear-gradient(90deg, transparent, rgba(251, 191, 36, 0.28), transparent);
}

:is(#premium-only-screen, #premium-page-screen) .vp-premium-lock-icon-wrap {
    position: relative;
    display: inline-flex;
}

:is(#premium-only-screen, #premium-page-screen) .vp-premium-lock-glow {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 140%;
    height: 140%;
    background: radial-gradient(
        circle,
        rgba(251, 191, 36, 0.3) 0%,
        rgba(245, 158, 11, 0.1) 52%,
        transparent 74%
    );
    filter: blur(12px);
    pointer-events: none;
    z-index: 0;
}

:is(#premium-only-screen, #premium-page-screen) .vp-premium-lock-icon {
    background: var(--sp-premium-soft) !important;
    border: 1px solid rgba(251, 191, 36, 0.3) !important;
}

:is(#premium-only-screen, #premium-page-screen) .vp-premium-lock-icon svg {
    color: #fbbf24 !important;
}

:is(#premium-only-screen, #premium-page-screen) h2.text-yellow-300 {
    color: #fde68a !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
}

:is(#premium-only-screen, #premium-page-screen) #premium-only-title,
:is(#premium-only-screen, #premium-page-screen) #premium-only-title-mobile {
    color: #fbbf24 !important;
    font-weight: 600 !important;
}

:is(#premium-only-screen, #premium-page-screen) .text-gray-400.font-light {
    color: var(--sp-text-muted) !important;
}

/* Gold gradient headers — override flat text reset */
:is(#premium-only-screen, #premium-page-screen) h3.bg-clip-text.text-transparent {
    background: linear-gradient(90deg, #fde68a, #fbbf24) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
}

:is(#premium-only-screen, #premium-page-screen) .vp-premium-only-header svg.text-yellow-300 {
    color: #fbbf24 !important;
    filter: drop-shadow(0 0 8px rgba(251, 191, 36, 0.28));
}

:is(#premium-only-screen, #premium-page-screen) .w-32.h-px,
:is(#premium-only-screen, #premium-page-screen) .w-24.h-px,
:is(#premium-only-screen, #premium-page-screen) .w-48.h-px {
    background: linear-gradient(90deg, transparent, rgba(251, 191, 36, 0.42), transparent) !important;
}

:is(#premium-only-screen, #premium-page-screen) .text-center.text-gray-300 {
    color: var(--sp-text-muted) !important;
}

:is(#premium-only-screen, #premium-page-screen) .text-yellow-300.font-semibold {
    color: #fbbf24 !important;
}

:is(#premium-only-screen, #premium-page-screen) .creator-profile-link-btn {
    background: rgba(251, 191, 36, 0.08);
    border-color: rgba(251, 191, 36, 0.22);
    color: #fcd34d;
}

:is(#premium-only-screen, #premium-page-screen) .creator-profile-link-btn:hover {
    background: rgba(251, 191, 36, 0.14);
    border-color: rgba(251, 191, 36, 0.35);
    color: #fde68a;
}

:is(#premium-only-screen, #premium-page-screen) .flex.items-center.justify-center.gap-2.text-gray-400\/80,
:is(#premium-only-screen, #premium-page-screen) .flex.items-center.justify-center.gap-1\.5.text-gray-400\/80 {
    color: var(--sp-text-subtle) !important;
    font-size: 0.6875rem !important;
}

:is(#premium-only-screen, #premium-page-screen) .flex.items-center.justify-center.gap-2.text-gray-400\/80 .text-indigo-400,
:is(#premium-only-screen, #premium-page-screen) .flex.items-center.justify-center.gap-1\.5.text-gray-400\/80 .text-indigo-400 {
    color: #818cf8 !important;
}

:is(#premium-only-screen, #premium-page-screen) .group .relative.z-10.p-4.flex button[onclick*="checkAuthBeforePurchase"] {
    margin-top: 0 !important;
    flex-shrink: 0;
    white-space: nowrap;
}

.sp-view-screen .relative.group.mb-4 > .absolute,
.sp-view-screen .relative.group.mb-2 > .absolute {
    display: none !important;
}

/* ── Final paste view ── */
#paste-content > div {
    background: var(--sp-surface) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: var(--sp-radius) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: none !important;
}

#paste-content > div > .absolute {
    display: none !important;
}

#paste-content .mx-4.sm\\:mx-8.h-px,
#paste-content .mx-4.h-px {
    background: var(--sp-border) !important;
}

#paste-content #content-display {
    color: var(--sp-text) !important;
    font-size: 0.9375rem;
    line-height: 1.7;
}

.paste-content-controls__copy.sp-btn {
    min-height: 2.5rem;
    font-size: 0.8125rem;
}

@media (max-width: 639px) {
    .paste-content-controls__copy.sp-btn {
        width: 100%;
    }
}

@media (min-width: 640px) {
    .paste-content-controls__copy.sp-btn {
        width: auto;
    }
}

.paste-content-controls__date,
.paste-content-controls__views {
    background: var(--sp-surface-2) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: 10px !important;
    backdrop-filter: none !important;
}

.paste-content-controls__meta {
    color: var(--sp-text-muted) !important;
}

.paste-content-controls__meta .text-green-400 {
    color: var(--sp-accent-text) !important;
    font-family: var(--sp-mono);
}

#premium-views-section {
    background: var(--sp-premium-soft) !important;
    border: 1px solid rgba(251, 191, 36, 0.22) !important;
    border-radius: 10px !important;
    backdrop-filter: none !important;
}

#premium-views-section .text-yellow-200,
#premium-views-section .text-yellow-300 {
    color: var(--sp-premium) !important;
}

/* Post-timer premium promo — open, no box */
#post-timer-premium {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}

.post-timer-premium-open {
    background: none;
    border: none;
    padding: 0.5rem 0 1.5rem;
}

.post-timer-premium-open__lead {
    margin: 0;
    color: var(--sp-text-muted) !important;
    font-size: 1rem !important;
    font-weight: 400;
    line-height: 1.4;
}

@media (min-width: 640px) {
    .post-timer-premium-open__lead {
        font-size: 1.125rem !important;
    }
}

.post-timer-premium-open__title {
    margin: 0;
    color: var(--sp-accent-text) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

@media (min-width: 640px) {
    .post-timer-premium-open__title {
        font-size: 1.5rem !important;
    }
}

#post-timer-premium a.sp-btn {
    margin-top: 0.25rem;
}

/* ── Purchase modal ── */
#purchaseModal.sp-modal-backdrop {
    background: rgba(0, 0, 0, 0.65) !important;
    backdrop-filter: blur(6px);
}

#purchaseModalContent.sp-modal-panel {
    background: var(--sp-surface) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: var(--sp-radius) !important;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.5) !important;
}

#purchaseModalContent > .absolute {
    display: none !important;
}

#purchaseModalContent > button[onclick="hidePurchaseModal()"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--sp-text-muted);
}

#purchaseModalContent > button[onclick="hidePurchaseModal()"]:hover {
    background: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.18);
    color: var(--sp-accent-text);
}

#purchasePlanSingleView {
    background: var(--sp-surface-2) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: 10px !important;
    transform: none !important;
}

#purchasePlanSingleView > .absolute {
    display: none !important;
}

#purchasePlanSingleView #planName {
    color: var(--sp-text) !important;
    font-size: 1.125rem !important;
}

#purchasePlanSingleView #planPrice {
    color: var(--sp-text-muted) !important;
    font-family: var(--sp-mono);
}

#purchaseModalContent button[onclick="continuePurchaseFromModal()"] {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.6875rem 1rem !important;
    border-radius: 10px !important;
    border: 1px solid var(--sp-accent) !important;
    background: var(--sp-accent) !important;
    color: #fff !important;
    font-family: var(--sp-font) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transform: none !important;
}

#purchaseModalContent button[onclick="continuePurchaseFromModal()"]:hover {
    background: var(--sp-accent-hover) !important;
    border-color: var(--sp-accent-hover) !important;
}

#purchaseModalContent button[onclick="continuePurchaseFromModal()"] > .absolute {
    display: none !important;
}

#purchaseModalContent button[onclick="continuePurchaseFromModal()"] .vision-pro-text-dark {
    color: #fff !important;
}

/* Purchase plan tiles */
#purchaseModalContent #purchaseTileTwoDay,
#purchaseModalContent #purchaseTileMonthly,
#purchaseModalContent #purchaseTileThreeMonth,
#purchaseModalContent #purchaseTileOneMonthAlt {
    position: relative;
    width: 100%;
    text-align: left;
    background: var(--sp-surface-2) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: 10px !important;
    padding: 0.875rem 1rem !important;
    transition: border-color 0.15s ease, background 0.15s ease;
}

#purchaseModalContent #purchaseTileTwoDay:hover,
#purchaseModalContent #purchaseTileMonthly:hover,
#purchaseModalContent #purchaseTileThreeMonth:hover,
#purchaseModalContent #purchaseTileOneMonthAlt:hover {
    border-color: rgba(34, 197, 94, 0.28) !important;
}

#purchaseModalContent .purchase-tile-deco,
#purchaseModalContent [data-tile-hover],
#purchaseModalContent [data-tile-accent] {
    display: none !important;
}

#purchaseModalContent .purchase-dual-label {
    color: var(--sp-text-muted) !important;
}

#purchaseModalContent .purchase-dual-price {
    color: var(--sp-text) !important;
    font-family: var(--sp-mono);
}

#purchaseModalContent [data-tile-check]:not(.hidden) + .purchase-tile-deco,
#purchaseModalContent button.border-emerald-500,
#purchaseModalContent button[class*="border-emerald"] {
    border-color: rgba(34, 197, 94, 0.45) !important;
    background: rgba(34, 197, 94, 0.08) !important;
}

#purchaseError {
    background: rgba(239, 68, 68, 0.08) !important;
    border: 1px solid rgba(239, 68, 68, 0.25) !important;
    border-radius: 8px !important;
    color: #fca5a5 !important;
}

/* Popups */
#vpn-blocked-popup,
#timer-rejection-popup {
    background: rgba(0, 0, 0, 0.65) !important;
    backdrop-filter: blur(6px);
}

#vpn-blocked-popup > div,
#timer-rejection-popup > div {
    background: var(--sp-surface) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: var(--sp-radius) !important;
}

#vpn-blocked-popup button,
#timer-rejection-popup button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    padding: 0.625rem 1.25rem;
    border-radius: 10px;
    border: 1px solid var(--sp-accent);
    background: var(--sp-accent);
    color: #fff;
    font-weight: 600;
    font-family: var(--sp-font);
}

#vpn-blocked-popup button:hover,
#timer-rejection-popup button:hover {
    background: var(--sp-accent-hover);
}

/* Creator profile link — calmer on view page */
.sp-view .creator-profile-link-btn {
    animation: none;
    background: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.22);
    box-shadow: none;
}

.sp-view .creator-profile-link-btn::before {
    display: none;
}

#content-display #destination-url {
    color: var(--sp-accent-text) !important;
    font-family: var(--sp-mono);
}

#content-display #redirect-countdown {
    color: var(--sp-accent-text) !important;
    font-family: var(--sp-mono);
}

#content-display #redirect-now-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem !important;
    border-radius: 10px !important;
    border: 1px solid var(--sp-accent) !important;
    background: var(--sp-accent) !important;
    color: #fff !important;
    font-family: var(--sp-font) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

#content-display #redirect-now-btn:hover:not(:disabled) {
    background: var(--sp-accent-hover) !important;
}

#content-display .rounded-lg.p-2.max-w-sm {
    background: var(--sp-surface-2) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: 10px !important;
    backdrop-filter: none !important;
}

/* Purchase tile selected state (JS toggles Tailwind classes) */
#purchaseModalContent button.ring-2 {
    border-color: rgba(34, 197, 94, 0.45) !important;
    background: rgba(34, 197, 94, 0.08) !important;
    box-shadow: none !important;
}

#purchaseModalContent button.border-white\\/15 {
    background: var(--sp-surface-2) !important;
    border-color: var(--sp-border) !important;
}

#purchaseModalContent button.bg-gradient-to-br {
    background: var(--sp-surface-2) !important;
}

#paste-content .ql-container.ql-snow,
#paste-content .ql-editor {
    border: none !important;
    background: transparent !important;
}

#paste-content .ql-editor a {
    color: var(--sp-accent-text) !important;
}

.sp-btn-status {
    background: rgba(34, 197, 94, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.22);
    color: var(--sp-accent-text);
    font-weight: 600;
    text-decoration: none;
}

.sp-btn-status:hover {
    background: rgba(34, 197, 94, 0.14);
    border-color: rgba(34, 197, 94, 0.35);
    color: #86efac;
}

::selection {
    background-color: rgba(34, 197, 94, 0.35);
    color: #fafafa;
}

/* =============================================================================
   Timer screens — layout polish (wait + premium-only)
   ============================================================================= */

.sp-view .pt-3.px-1 {
    padding-left: max(0.5rem, env(safe-area-inset-left));
    padding-right: max(0.5rem, env(safe-area-inset-right));
}

.sp-view-screen {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 767px) {
    .sp-view-screen {
        margin-top: 0.5rem !important;
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }

    .vp-mobile-stack {
        gap: 0.75rem !important;
    }
}

.sp-view-screen .hidden.md\\:grid {
    align-items: stretch;
}

/* Panel cards */
.vp-timer-panel-card,
.vp-plans-panel-card,
.vp-mobile-combined-card {
    position: relative;
}

.vp-timer-panel-card::before,
.vp-mobile-combined-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(34, 197, 94, 0.38), transparent);
    z-index: 2;
    pointer-events: none;
}

.vp-plans-panel-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(34, 197, 94, 0.18), transparent);
    z-index: 2;
    pointer-events: none;
}

.vp-timer-panel-body {
    min-height: 18rem;
}

.vp-timer-panel-body .view-creator-profile,
.vp-timer-mobile-block .view-creator-profile {
    align-self: stretch;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-left: -0.375rem;
}

.vp-timer-mobile-block .view-creator-profile {
    padding-left: 0;
    padding-right: 0;
}

.vp-timer-helper {
    color: var(--sp-text-muted) !important;
    line-height: 1.5;
}

/* Countdown */
.vp-countdown-wrap {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.vp-countdown-wrap::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% + 2rem);
    height: calc(100% + 1rem);
    background: radial-gradient(ellipse at center, rgba(34, 197, 94, 0.12) 0%, transparent 72%);
    border-radius: 999px;
    pointer-events: none;
    z-index: 0;
}

.sp-view-screen .countdown {
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 767px) {
    .sp-view-screen .countdown {
        font-size: 2.5rem !important;
        padding: 0.875rem 1.125rem !important;
        min-width: 6.5rem;
    }
}

/* Mobile combined card sections */
.vp-timer-mobile-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 1.25rem 1rem 1rem;
    box-sizing: border-box;
}

.vp-screen-divider {
    width: 100%;
    padding: 0.5rem 1.25rem 0.75rem;
    box-sizing: border-box;
}

.vp-screen-divider__line {
    height: 1px;
    max-width: 14rem;
    margin: 0 auto;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.09), transparent);
}

.vp-plans-mobile-list {
    padding: 0 0.75rem;
    width: 100%;
    box-sizing: border-box;
}

/* Section headers */
.vp-plans-header {
    text-align: center;
    width: 100%;
}

.vp-plans-header > .flex,
.vp-plans-header.vp-premium-only-header {
    justify-content: center;
}

@media (max-width: 767px) {
    .vp-plans-header > .flex {
        row-gap: 0.35rem;
        column-gap: 0.45rem;
    }

    #wait-screen .vp-plans-header h3.bg-clip-text {
        font-size: 0.6875rem !important;
        letter-spacing: 0.06em !important;
    }
}

#wait-screen .vp-plans-header h3.bg-clip-text {
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: var(--sp-text) !important;
    font-weight: 700 !important;
    letter-spacing: 0.07em;
}

#wait-screen .vp-plans-header svg {
    color: var(--sp-accent-text) !important;
    filter: drop-shadow(0 0 6px rgba(74, 222, 128, 0.2));
}

.vp-plans-header__line {
    background: linear-gradient(90deg, transparent, rgba(34, 197, 94, 0.22), transparent) !important;
}

:is(#premium-only-screen, #premium-page-screen) .vp-plans-header__line {
    background: linear-gradient(90deg, transparent, rgba(251, 191, 36, 0.38), transparent) !important;
}

/* Plan rows */
.vp-plan-row {
    align-items: center;
    min-height: 5.25rem;
}

.vp-plan-row > .vp-plan-info,
.vp-plan-row > div:first-child:not(.vp-plan-info) {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.125rem;
}

.vp-plan-row .vp-plan-info__price,
.vp-plan-row > div:first-child > .flex.items-baseline,
.vp-plan-row > div:first-child > p.text-xl {
    margin-top: 0.125rem;
    margin-bottom: 0;
}

.vp-plan-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    margin-top: 0.5rem;
    width: 100%;
    line-height: 1;
}

.sp-view-screen .relative.z-10.p-5.text-center .vp-plan-badges {
    justify-content: center;
}

.vp-plan-row button[onclick*="checkAuthBeforePurchase"] {
    margin-top: 0 !important;
    flex-shrink: 0;
    white-space: nowrap;
    align-self: center;
}

@media (max-width: 767px) {
    .vp-plan-row > .vp-plan-info,
    .vp-plan-row > div:first-child:not(.vp-plan-info) {
        align-items: flex-start;
    }

    .vp-plan-badges {
        margin-top: 0.45rem;
    }
}

@media (max-width: 380px) {
    .vp-plan-row {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem !important;
        text-align: left;
        min-height: 0;
        padding-top: 0.875rem !important;
        padding-bottom: 0.875rem !important;
    }

    .vp-plan-row > .vp-plan-info,
    .vp-plan-row > div:first-child:not(.vp-plan-info) {
        align-items: flex-start;
        width: 100%;
    }

    .vp-plan-badges {
        justify-content: flex-start;
    }

    .vp-plan-row button[onclick*="checkAuthBeforePurchase"] {
        width: 100%;
        justify-content: center;
        align-self: stretch;
    }
}

/* Desktop plan grid — equal height + bottom-aligned CTAs */
.sp-view-screen .grid.md\\:grid-cols-4 .group {
    display: flex;
    flex-direction: column;
}

.sp-view-screen .grid.md\\:grid-cols-4 .relative.z-10.p-5 {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 11.5rem;
    height: 100%;
}

.sp-view-screen .grid.md\\:grid-cols-4 .relative.z-10.p-5 > div:first-child {
    flex: 1;
}

.sp-view-screen .grid.md\\:grid-cols-4 .relative.z-10.p-5 button[onclick*="checkAuthBeforePurchase"] {
    margin-top: auto !important;
    width: 100%;
    justify-content: center;
}

/* Secure badge + sign-in */
.vp-secure-badge {
    color: var(--sp-text-subtle) !important;
    text-align: center;
    flex-wrap: wrap;
    justify-content: center;
}

.vp-stripe-label {
    color: #818cf8;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.vp-mobile-combined-card .vp-secure-badge,
.vp-mobile-combined-card .signInToPurchase {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.sp-view-screen .signInToPurchase {
    width: 100%;
    max-width: 20rem;
    margin-left: auto;
    margin-right: auto;
}

.sp-view-screen .signInToPurchase button {
    width: 100%;
    min-height: 2.5rem;
}

.sp-view-screen .creator-profile-link-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    max-width: 100%;
}

:is(#premium-only-screen, #premium-page-screen) #premium-only-title,
:is(#premium-only-screen, #premium-page-screen) #premium-only-title-mobile {
    max-width: min(100%, 20rem);
    margin-left: auto;
    margin-right: auto;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.4;
}

:is(#premium-only-screen, #premium-page-screen) .vp-timer-mobile-block {
    padding: 1.125rem 1rem;
}

:is(#premium-only-screen, #premium-page-screen) .vp-plans-mobile-list {
    padding-bottom: 0.25rem;
}

/* Timer wait — unified profile + timer + feed (mobile) */
.vp-timer-profile-unified {
    padding: 1rem 1rem 0.75rem;
}

.vp-timer-profile-unified .view-creator-profile--timer-unified {
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.875rem;
    padding: 0;
}

.vp-timer-mobile-block--unified {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 0 0.75rem;
}

.vp-timer-reaction-mount {
    width: 100%;
    padding: 0 0.75rem 0.5rem;
    box-sizing: border-box;
}

.vp-timer-reactions {
    margin-top: 0;
    justify-content: flex-start;
    width: 100%;
}

.vp-timer-reaction-lead {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.vp-timer-reaction-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(212, 212, 216, 0.95);
    line-height: 1.2;
    white-space: nowrap;
}

.view-content-reaction-mount {
    width: 100%;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.view-content-engagement {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    min-height: 3.25rem;
    margin: 0 0 0.5rem;
    padding: 0;
    box-sizing: border-box;
}

.view-content-bookmark-mount {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    flex: 0 0 auto;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.view-content-bookmark-mount.hidden {
    display: none;
}

.view-content-reaction-tile {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1rem;
    border-radius: 1rem;
    background: rgba(13, 13, 20, 0.52);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    box-sizing: border-box;
}

.view-content-reaction-tile .view-content-reaction-mount {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.view-content-reaction-tile .vp-timer-reactions {
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
    margin-top: 0;
    gap: 0.5rem;
    overflow-x: auto;
    scrollbar-width: none;
}

.view-content-reaction-tile .vp-timer-reactions::-webkit-scrollbar {
    display: none;
}

.view-content-reaction-tile .vp-timer-reaction-lead {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-shrink: 0;
    white-space: nowrap;
}

.view-content-reaction-tile .vp-timer-reaction-label {
    text-align: center;
    white-space: nowrap;
}

.vp-countdown-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.vp-countdown-row .vp-countdown-wrap {
    flex: 0 1 auto;
    min-width: 0;
}

.vp-timer-bookmark-mount {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vp-countdown-row--mobile {
    margin-bottom: 0.125rem;
}

@media (min-width: 640px) {
    .view-content-engagement {
        margin-bottom: 0.625rem;
        gap: 0.75rem;
    }

    .view-content-reaction-tile {
        padding: 0.75rem 1.25rem;
        border-radius: 1.125rem;
    }
}

@media (min-width: 768px) {
    .vp-timer-panel-body .vp-countdown-row {
        justify-content: center;
    }
}

@media (min-width: 640px) {
    .view-content-reaction-mount {
        padding: 0;
    }
}

@media (min-width: 768px) {
    .vp-timer-panel-body .view-timer-reaction-mount {
        padding: 0 0 0.75rem;
    }

    .vp-timer-panel-body .vp-timer-reactions {
        justify-content: center;
    }
}

.vp-timer-feed-section {
    margin-top: 0.25rem;
    padding-top: 0.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.vp-timer-feed-tabs {
    margin-bottom: 0;
}

.vp-timer-feed-tabs .profile-tabs__tab {
    min-width: 0;
    padding: 0.75rem 0.375rem;
    overflow: hidden;
}

.vp-timer-feed-tabs__label {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
    font-size: clamp(0.625rem, 2.85vw, 0.875rem);
    line-height: 1.15;
    transform-origin: center center;
    transition: transform 0.12s ease;
}

.vp-timer-tab-panel {
    padding-top: 0.75rem;
}

.vp-timer-feed-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4375rem;
}

.vp-timer-feed-grid > * {
    min-width: 0;
    height: 100%;
}

.vp-timer-feed-section .profile-post-card--embed,
.vp-timer-feed-section .profile-paste-card--embed {
    min-height: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.vp-timer-feed-section .profile-post-card--embed {
    padding: 0.5rem 0.5625rem;
    border-radius: 0.75rem;
}

.vp-timer-feed-section .profile-post-card__text--one-line {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.35;
}

.vp-timer-feed-section .profile-post-card__view-more {
    display: inline-block;
    margin-top: 0.3125rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #86efac;
    text-decoration: none;
}

.vp-timer-feed-section .profile-paste-card--embed h3 {
    font-size: 0.8125rem;
    line-height: 1.3;
}

.vp-timer-feed-section .profile-paste-card--embed .profile-paste-card__views {
    font-size: 0.6875rem;
}

.vp-timer-feed-section .profile-paste-card--embed .profile-paste-card__action {
    font-size: 0.6875rem;
}

.vp-timer-feed-section .profile-paste-card--embed .profile-paste-card__action svg {
    width: 0.875rem;
    height: 0.875rem;
}

.vp-timer-following-preview {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.vp-timer-following-preview__item {
    border-radius: 0.875rem;
    background: rgba(10, 10, 15, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.vp-timer-feed-empty {
    margin: 0.5rem 0 0;
    text-align: center;
    font-size: 0.8125rem;
    color: rgba(161, 161, 170, 0.95);
}

.vp-timer-feed-more {
    display: block;
    margin: 0.75rem auto 0;
    width: fit-content;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #86efac;
    text-decoration: none;
}

.vp-timer-feed-more:hover {
    color: #bbf7d0;
}

.vp-timer-feed-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 0;
}

.vp-timer-feed-loading.hidden {
    display: none;
}

.vp-timer-feed-loading__spinner {
    width: 1.5rem;
    height: 1.5rem;
    border: 2px solid rgba(74, 222, 128, 0.2);
    border-top-color: #86efac;
    border-radius: 9999px;
    animation: vp-timer-feed-spin 0.7s linear infinite;
}

@keyframes vp-timer-feed-spin {
    to { transform: rotate(360deg); }
}

@media (min-width: 768px) {
    .vp-timer-panel-body .view-creator-profile--timer-unified {
        align-self: stretch;
        max-width: 100%;
        margin-bottom: 1rem;
    }
}

/* Standalone premium.html — feature highlight cards */
#premium-page-screen .vp-premium-feature-card {
    background: var(--sp-surface-2) !important;
    border: 1px solid var(--sp-border) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: none !important;
}

#premium-page-screen .vp-premium-feature-card__icon {
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--sp-premium-soft);
    border: 1px solid rgba(251, 191, 36, 0.22);
    color: var(--sp-premium);
}

#premium-page-screen .vp-premium-feature-card h4 {
    color: var(--sp-text);
}

#premium-page-screen .vp-premium-feature-card p {
    color: var(--sp-text-muted) !important;
}

/* View page — compact mobile plans + embedded premium promo */
.vp-plans-mobile-grid {
    width: 100%;
    box-sizing: border-box;
}

.vp-plans-mobile-grid .vp-plan-row {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.5rem;
    min-height: 0;
}

.vp-plans-mobile-grid .vp-plan-row > button,
.vp-plans-mobile-grid .vp-plan-row button {
    width: 100%;
    align-self: stretch;
    justify-content: center;
}

.vp-plans-mobile-grid .relative.z-10.p-4,
.vp-plans-mobile-grid .relative.z-10 {
    padding: 0.625rem !important;
    height: 100%;
}

.vp-plans-mobile-grid .vp-plan-info h3,
.vp-plans-mobile-grid h3.text-base {
    font-size: 0.75rem;
    margin-bottom: 0.125rem;
}

.vp-plans-mobile-grid .text-xl {
    font-size: 1rem;
    line-height: 1.2;
}

.vp-plans-mobile-grid .line-through {
    font-size: 0.625rem;
}

.vp-plans-mobile-grid button {
    font-size: 0.625rem;
    padding: 0.375rem 0.5rem;
}

.vp-plans-mobile-grid .vp-plan-badges {
    margin-top: 0.125rem;
}

.vp-plans-mobile-grid .flex.items-baseline {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-top: 0.125rem;
}

.vp-plans-mobile-grid .flex.items-baseline .ml-2 {
    margin-left: 0;
}

.vp-plans-mobile-scale-wrap {
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .vp-plans-mobile-scale-wrap {
        padding-inline: 0.125rem;
        transform: scale(0.92);
        transform-origin: top center;
        width: calc(100% / 0.92);
        margin-left: calc((100% - (100% / 0.92)) / 2);
        margin-bottom: calc(-1 * (1 - 0.92) * 6rem);
    }

    .vp-plans-mobile-grid {
        gap: 0.375rem;
    }

    .vp-plans-mobile-grid .vp-plan-row {
        min-height: 0 !important;
    }

    .vp-plans-mobile-grid .relative.z-10.p-4,
    .vp-plans-mobile-grid .relative.z-10 {
        padding: 0.5rem !important;
    }

    .vp-plans-mobile-grid .vp-plan-info h3,
    .vp-plans-mobile-grid h3.text-base {
        font-size: 0.6875rem;
    }

    .vp-plans-mobile-grid .text-xl {
        font-size: 0.875rem;
    }

    .sp-view-screen .vp-plans-mobile-scale-wrap button[onclick*="checkAuthBeforePurchase"] {
        font-size: 0.5625rem !important;
        padding: 0.3125rem 0.375rem !important;
        margin-top: 0 !important;
        min-height: unset !important;
        border-radius: 0.5rem !important;
        gap: 0.2rem !important;
        white-space: normal !important;
        line-height: 1.2 !important;
    }

    .sp-view-screen .vp-plans-mobile-scale-wrap button[onclick*="checkAuthBeforePurchase"] svg {
        width: 0.625rem !important;
        height: 0.625rem !important;
        flex-shrink: 0;
    }

    .vp-plans-mobile-grid .vp-plan-tag,
    .vp-plans-mobile-grid .vp-plan-save {
        font-size: 0.5rem;
        padding: 0.125rem 0.3125rem;
    }

    .vp-plans-mobile-grid .line-through {
        font-size: 0.5625rem;
    }

    :is(#wait-screen, #premium-only-screen) .signInToPurchase button {
        font-size: 0.6875rem !important;
        padding: 0.4375rem 0.625rem !important;
        min-height: 2rem !important;
    }
}

:is(#premium-only-screen) .vp-premium-only-mobile-block {
    padding-top: 0.25rem;
}

.vp-premium-promo-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0.75rem auto 0;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.vp-premium-promo-wrap .prem-promo-stage--embed {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.vp-premium-promo-wrap .prem-promo-dots {
    justify-content: center;
    width: 100%;
}

.vp-premium-promo-wrap .prem-promo-scene-content {
    padding: 0.625rem 0.5rem 0.5rem;
    align-items: center;
}

.vp-premium-promo-wrap .prem-promo-scene--buddy .prem-promo-scene-content {
    align-items: center;
}

.vp-premium-promo-wrap .prem-promo-buddy-wrap {
    width: 100%;
    max-width: 100%;
    align-items: center;
}

.vp-premium-promo-wrap .prem-promo-mini-hero {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
}

.vp-premium-promo-wrap .prem-promo-profile-hero.prem-promo-mini-hero__body {
    max-width: 16rem;
    margin-inline: auto;
    justify-content: center;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        radial-gradient(circle at 0% 0%, rgba(251, 191, 36, 0.12), transparent 45%),
        rgba(0, 0, 0, 0.32);
    box-shadow: none;
}

.vp-premium-promo-wrap .prem-promo-buddy-avatar-frame {
    --profile-avatar-size: 3rem;
    width: var(--profile-avatar-size);
    height: var(--profile-avatar-size);
    flex-shrink: 0;
}

.vp-premium-promo-wrap .prem-promo-buddy-avatar-frame .profile-hero__avatar,
.vp-premium-promo-wrap .prem-promo-profile-avatar {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #22c55e, #059669) !important;
    border: 3px solid #0a0a0f !important;
    border-radius: 9999px;
    box-sizing: border-box;
}

.vp-premium-promo-wrap .prem-promo-mini-hero__meta {
    align-items: center;
    text-align: center;
}

.vp-premium-promo-wrap .prem-promo-headline {
    font-size: 0.9375rem;
    text-align: center;
}

.vp-premium-promo-wrap .prem-promo-frame {
    padding-bottom: 1.5rem;
    width: 100%;
}

@media (max-width: 767px) {
    .vp-premium-promo-wrap .prem-promo-stage--embed {
        font-size: 0.8125rem;
        transform: scale(0.9);
        transform-origin: top center;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-inline: auto;
        margin-bottom: -1.25rem;
    }
}

@media (min-width: 768px) {
    .vp-premium-promo-wrap .prem-promo-stage--embed {
        transform: scale(0.93);
        transform-origin: top center;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-inline: auto;
        margin-bottom: -1rem;
    }
}

:is(#wait-screen, #premium-only-screen) .vp-secure-badge {
    margin-top: 0.125rem;
}
