/*
 * Sztori - a bright, playful creator-app theme for influencer, YouTuber,
 * TikToker, streamer and creator-economy news.
 *
 * Light scheme: a clean white feed floating on a soft candy gradient mesh.
 * Dark scheme: the night mode of a social app, with glowing gradients.
 *
 * Motifs: story rings (gradient rings around round thumbnails and initials),
 * a horizontal stories strip, vertical 9:16 reel cards, social post cards with
 * an author row (verified-style check, @handle), hashtag category chips, emoji
 * sticker section labels, rounded pill tabs, a pulsing LIVE badge for "Friss"
 * and creator-profile author pages. The logo sits in a dark capsule with a
 * story ring, so a white icon-pack logo stays readable in the light scheme.
 *
 * Customizer tokens (all optional, with defaults here):
 *   --theme-sz-grad        the three-stop gradient palette (comma separated)
 *   --theme-sz-rings       1 = gradient story rings, 0 = plain thin outline
 *   --theme-sz-post-ratio  aspect ratio of the home post cards (4 / 5, 1 / 1 ...)
 *   --theme-sz-radius      corner roundness of cards and pictures
 *   --theme-sz-stickers    1 = emoji sticker labels, 0 = clean labels
 * The brand colour still comes from the icon pack (--primary-*) and is used for
 * links and buttons; the gradient is the theme's own decorative accent.
 * Every rule is scoped under [data-theme="sztori"].
 */

/* =====================================================================
   Derived values
   ===================================================================== */
html[data-theme="sztori"] {
    --sz-grad: var(--theme-sz-grad, #e8357f, #a03be6, #5a55ee);
    --sz-gradient: linear-gradient(120deg, var(--sz-grad));
    --sz-ring-grad: linear-gradient(35deg, var(--sz-grad));
    --sz-rings: var(--theme-sz-rings, 1);
    --sz-ratio: var(--theme-sz-post-ratio, 4 / 5);
    --sz-r: var(--theme-sz-radius, 22px);
    --sz-r-sm: calc(var(--sz-r) * 0.6);
    --sz-r-lg: calc(var(--sz-r) * 1.35);
    --sz-st: var(--theme-sz-stickers, 1);

    --sz-page: var(--theme-sz-page, #faf7fd);
    --sz-surface: var(--theme-sz-surface, #fff);
    --sz-surface-2: var(--theme-sz-surface-2, #f4eff9);
    --sz-surface-3: var(--theme-sz-surface-3, #e8e1f1);
    --sz-ink: var(--theme-sz-ink, #17121f);
    --sz-text: var(--theme-sz-text, #2d2638);
    --sz-muted: var(--theme-sz-muted, #655c72);
    --sz-line: var(--theme-sz-line, rgba(45, 25, 80, 0.12));
    --sz-line-soft: var(--theme-sz-line-soft, rgba(45, 25, 80, 0.06));
    --sz-shadow-c: var(--theme-sz-shadow, rgba(70, 35, 120, 0.16));
    --sz-shadow: 0 18px 40px -24px var(--sz-shadow-c), 0 2px 6px -2px var(--sz-shadow-c);
    --sz-capsule: var(--theme-sz-capsule, #17121f);
    --sz-mesh: var(--theme-sz-mesh, 0.17);
    --sz-lift: var(--theme-sz-lift, 0);
    /* Gradient text: lifted with a white veil in the dark scheme */
    --sz-text-grad: linear-gradient(rgba(255, 255, 255, var(--sz-lift)), rgba(255, 255, 255, var(--sz-lift))), linear-gradient(90deg, var(--sz-grad));

    --sz-live: #ff2d55;
    --sz-verified: #1d9bf0;
    --sz-night: #120e1a;

    --sz-font-display: ui-rounded, "SF Pro Rounded", "Nunito", "Quicksand", "Varela Round", "Arial Rounded MT Bold", "Inter Display", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --sz-font-body: system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, sans-serif;

    /* Core colour roles (style.css) on the theme palette, in both schemes */
    --surface: var(--sz-surface);
    --surface-2: var(--sz-surface-2);
    --surface-3: var(--sz-surface-3);
    --text: var(--sz-text);
    --text-strong: var(--sz-ink);
    --muted: var(--sz-muted);
    --muted-2: var(--sz-muted);
    --line: var(--sz-line);
    --line-soft: var(--sz-line-soft);
    --bs-body-bg: var(--sz-page);
    --bs-body-color: var(--sz-text);
    --bs-heading-color: var(--sz-ink);
    --bs-secondary-color: var(--sz-muted);
    --bs-border-color: var(--sz-line);
    --bs-tertiary-bg: var(--sz-surface-2);
    --bs-secondary-bg: var(--sz-surface-2);
    --bs-border-radius: var(--sz-r-sm);
}

html[data-theme="sztori"][data-bs-theme="dark"] {
    --page: var(--sz-page);
    --bs-body-bg-rgb: 14, 11, 21;
    --sz-verified: #4cb3ff;
}

/* =====================================================================
   Page: candy gradient mesh
   ===================================================================== */
[data-theme="sztori"] body {
    background-color: var(--sz-page);
    color: var(--sz-text);
    font-family: var(--sz-font-body);
}

[data-theme="sztori"] body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(125deg, var(--sz-grad));
    opacity: var(--sz-mesh);
    -webkit-mask:
        radial-gradient(42% 46% at 6% 4%, #000, transparent 72%),
        radial-gradient(38% 42% at 96% 18%, #000, transparent 72%),
        radial-gradient(44% 30% at 66% 70%, #000, transparent 72%);
    mask:
        radial-gradient(42% 46% at 6% 4%, #000, transparent 72%),
        radial-gradient(38% 42% at 96% 18%, #000, transparent 72%),
        radial-gradient(44% 30% at 66% 70%, #000, transparent 72%);
}

[data-theme="sztori"] h1,
[data-theme="sztori"] h2,
[data-theme="sztori"] h3,
[data-theme="sztori"] h4,
[data-theme="sztori"] h5,
[data-theme="sztori"] h6,
[data-theme="sztori"] .h1,
[data-theme="sztori"] .h2,
[data-theme="sztori"] .h3,
[data-theme="sztori"] .h4,
[data-theme="sztori"] .h5,
[data-theme="sztori"] .h6 {
    font-family: var(--sz-font-display);
    font-weight: 800;
    color: var(--sz-ink);
    letter-spacing: -0.015em;
}

[data-theme="sztori"] ::selection {
    background: color-mix(in srgb, #e8357f 30%, transparent);
}

[data-theme="sztori"] :focus-visible {
    outline: 3px solid color-mix(in srgb, var(--sz-verified) 70%, transparent);
    outline-offset: 2px;
}

[data-theme="sztori"] .text-muted,
[data-theme="sztori"] .text-secondary {
    color: var(--sz-muted) !important;
}

[data-theme="sztori"] .text-dark,
[data-theme="sztori"] .text-body {
    color: var(--sz-ink) !important;
}

[data-theme="sztori"] .bg-light,
[data-theme="sztori"] .bg-white {
    background-color: var(--sz-surface) !important;
}

[data-theme="sztori"] .text-primary {
    color: var(--accent-text, var(--primary-color)) !important;
}

/* =====================================================================
   Shared motif: story rings, avatars, verified check, LIVE badge
   ===================================================================== */
[data-theme="sztori"] .sz-ring {
    --sz-ring-w: calc(2px + var(--sz-rings) * 1.5px);
    position: relative;
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    width: var(--sz-ring-size, 76px);
    height: var(--sz-ring-size, 76px);
    padding: var(--sz-ring-w);
    border-radius: 50%;
    background: var(--sz-line);
    isolation: isolate;
}

[data-theme="sztori"] .sz-ring::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 50%;
    background: var(--sz-ring-grad);
    opacity: var(--sz-rings);
    transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-theme="sztori"] .sz-ring-inner {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 50%;
    border: calc(var(--sz-rings) * 3px) solid var(--sz-surface);
    background: linear-gradient(150deg, color-mix(in srgb, var(--cat-color, #a03be6) 70%, #fff), color-mix(in srgb, var(--cat-color, #a03be6) 85%, #000));
}

[data-theme="sztori"] .sz-ring-inner img {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

[data-theme="sztori"] .sz-story-initial {
    font-family: var(--sz-font-display);
    font-weight: 900;
    font-size: calc(var(--sz-ring-size, 76px) * 0.4);
    line-height: 1;
    color: #fff;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

[data-theme="sztori"] a:hover .sz-ring::before,
[data-theme="sztori"] a:focus-visible .sz-ring::before {
    transform: rotate(200deg);
}

/* Small avatar: an initial in a story ring */
[data-theme="sztori"] .sz-avatar {
    --sz-ring-w: calc(1.5px + var(--sz-rings) * 1px);
    position: relative;
    z-index: 2;
    display: inline-grid;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    padding: var(--sz-ring-w);
    border-radius: 50%;
    background: var(--sz-line);
    isolation: isolate;
    text-decoration: none;
}

[data-theme="sztori"] .sz-avatar::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 50%;
    background: var(--sz-ring-grad);
    opacity: var(--sz-rings);
}

[data-theme="sztori"] .sz-avatar-inner {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: calc(var(--sz-rings) * 2px) solid var(--sz-surface);
    background: linear-gradient(150deg, color-mix(in srgb, var(--cat-color, #a03be6) 22%, var(--sz-surface)), color-mix(in srgb, var(--cat-color, #a03be6) 40%, var(--sz-surface)));
    color: var(--sz-ink);
    font-family: var(--sz-font-display);
    font-weight: 800;
    font-size: 1rem;
    line-height: 1;
}

[data-theme="sztori"] .sz-avatar-sm {
    width: 26px;
    height: 26px;
}

[data-theme="sztori"] .sz-avatar-sm .sz-avatar-inner {
    font-size: 0.7rem;
    border-width: calc(var(--sz-rings) * 1.5px);
}

[data-theme="sztori"] .sz-verified {
    margin-left: 0.3em;
    color: var(--sz-verified);
    font-size: 0.85em;
    vertical-align: -0.04em;
}

[data-theme="sztori"] .sz-live {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    padding: 0.18em 0.6em 0.18em 0.5em;
    border-radius: 6px;
    background: var(--sz-live);
    color: #fff;
    font-family: var(--sz-font-body);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-transform: uppercase;
    box-shadow: 0 0 0 2px var(--sz-surface);
}

[data-theme="sztori"] .sz-live::before {
    content: "";
    width: 0.5em;
    height: 0.5em;
    border-radius: 50%;
    background: #fff;
    animation: sz-pulse 1.6s ease-in-out infinite;
}

@keyframes sz-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.35; transform: scale(0.7); }
}

/* Hashtag chip: the category colour, rounded like an app tag */
[data-theme="sztori"] .sz-chip,
[data-theme="sztori"] .category-chip {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    padding: 0.28em 0.75em;
    border-radius: 999px;
    background: color-mix(in srgb, var(--cat-color, var(--primary-color)) 14%, var(--sz-surface));
    color: color-mix(in srgb, var(--cat-color, var(--primary-color)) 62%, var(--sz-ink));
    border: 1px solid color-mix(in srgb, var(--cat-color, var(--primary-color)) 30%, transparent);
    font-size: 0.74rem;
    font-weight: 750;
    letter-spacing: 0.01em;
    line-height: 1.35;
    text-decoration: none;
    text-transform: none;
    transition: background 0.2s ease, color 0.2s ease;
}

[data-theme="sztori"] .sz-chip:hover,
[data-theme="sztori"] a.category-chip:hover {
    background: var(--cat-color, var(--primary-color));
    color: var(--cat-contrast, var(--primary-contrast));
}

/* Sticker section labels */
[data-theme="sztori"] .sz-label {
    display: inline-flex;
    align-items: center;
    margin: 0;
    font-family: var(--sz-font-display);
    font-size: clamp(1.35rem, 1.1rem + 0.7vw, 2.1rem);
    font-weight: 850;
    line-height: 1.15;
    color: var(--sz-ink);
}

[data-theme="sztori"] .sz-sticker {
    display: inline-grid;
    place-items: center;
    width: calc(var(--sz-st) * 1.75em);
    height: calc(var(--sz-st) * 1.75em);
    margin-right: calc(var(--sz-st) * 0.45em);
    border-radius: 0.5em;
    background: var(--sz-surface);
    box-shadow: 0 0 0 calc(var(--sz-st) * 2px) var(--sz-surface), 0 6px 14px -6px var(--sz-shadow-c), 0 0 0 calc(var(--sz-st) * 3.5px) var(--sz-line);
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-size: calc(var(--sz-st) * 0.72em);
    line-height: 1;
    opacity: var(--sz-st);
    overflow: hidden;
    transform: rotate(-7deg);
}

/* Core section titles get the same treatment: a sticker and gradient accent */
[data-theme="sztori"] .section-header {
    border: 0;
    padding: 0;
}

[data-theme="sztori"] .section-title {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 0.3em;
    margin: 0;
    font-family: var(--sz-font-display);
    font-weight: 850;
    font-size: clamp(1.3rem, 1.1rem + 0.6vw, 2rem);
    text-transform: none;
    letter-spacing: -0.015em;
    color: var(--sz-ink);
    border: 0;
    padding: 0;
}

[data-theme="sztori"] .section-title::before {
    content: "✨";
    display: inline-grid;
    place-items: center;
    width: calc(var(--sz-st) * 1.7em);
    height: calc(var(--sz-st) * 1.7em);
    margin-right: calc(var(--sz-st) * 0.15em);
    border-radius: 0.5em;
    background: var(--sz-surface);
    box-shadow: 0 6px 14px -6px var(--sz-shadow-c), 0 0 0 calc(var(--sz-st) * 1.5px) var(--sz-line);
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-size: calc(var(--sz-st) * 0.7em);
    opacity: var(--sz-st);
    overflow: hidden;
    transform: rotate(-7deg);
}

[data-theme="sztori"] .section-title::after {
    display: none;
}

[data-theme="sztori"] .section-title .text-primary,
[data-theme="sztori"] .art-related-title .text-primary {
    background: var(--sz-text-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
}

[data-theme="sztori"] .section-title > .bi {
    display: none;
}

[data-theme="sztori"] .section-divider {
    border: 0;
    height: 2px;
    opacity: 1;
    border-radius: 2px;
    background: linear-gradient(90deg, transparent, var(--sz-line) 12%, var(--sz-line) 88%, transparent);
}

/* =====================================================================
   Navbar: frosted white app bar, the logo in a ringed capsule
   ===================================================================== */
[data-theme="sztori"] .site-navbar {
    --bs-navbar-color: var(--sz-text);
    --bs-navbar-hover-color: var(--sz-ink);
    --bs-navbar-active-color: var(--sz-ink);
    --bs-navbar-brand-color: var(--sz-ink);
    --bs-navbar-brand-hover-color: var(--sz-ink);
    --bs-navbar-toggler-border-color: var(--sz-line);
    min-height: var(--navbar-height);
    border-bottom: 1px solid var(--sz-line);
    box-shadow: 0 10px 30px -24px var(--sz-shadow-c) !important;
    -webkit-backdrop-filter: saturate(1.6) blur(18px);
    backdrop-filter: saturate(1.6) blur(18px);
}

[data-theme="sztori"] .site-navbar .navbar-brand {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-right: 1.25rem;
    padding: 4px 16px;
    border-radius: 999px;
    background: var(--sz-capsule);
    isolation: isolate;
    box-shadow: 0 0 0 2px var(--sz-page);
}

[data-theme="sztori"] .site-navbar .navbar-brand::before {
    content: "";
    position: absolute;
    inset: -3px;
    z-index: -1;
    border-radius: inherit;
    background: var(--sz-ring-grad);
    opacity: calc(0.35 + 0.65 * var(--sz-rings));
}

[data-theme="sztori"] .site-navbar .navbar-brand::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--sz-capsule);
}

[data-theme="sztori"] .site-navbar .nav-link {
    margin: 0 0.1rem;
    padding: 0.5rem 1rem !important;
    border-radius: 999px;
    color: var(--sz-text);
    font-size: 0.93rem;
    font-weight: 650;
    letter-spacing: 0;
    text-transform: none;
    transition: background 0.2s ease, color 0.2s ease;
}

[data-theme="sztori"] .site-navbar .nav-link:hover,
[data-theme="sztori"] .site-navbar .nav-link:focus-visible,
[data-theme="sztori"] .site-navbar .nav-link.show {
    opacity: 1;
    background: var(--sz-surface-2);
    color: var(--sz-ink);
}

[data-theme="sztori"] .site-navbar .search-input-group {
    border-radius: 999px;
    background: var(--sz-surface-2);
    box-shadow: inset 0 0 0 1px var(--sz-line);
    overflow: hidden;
}

[data-theme="sztori"] .site-navbar .form-control {
    min-width: 220px;
    padding: 0.5rem 0.4rem 0.5rem 1.1rem;
    border: 0;
    border-radius: 999px 0 0 999px;
    background: transparent;
    color: var(--sz-ink);
    font-size: 0.9rem;
    box-shadow: none;
}

[data-theme="sztori"] .site-navbar .form-control::placeholder {
    color: var(--sz-muted);
}

[data-theme="sztori"] .site-navbar .btn-light {
    margin: 3px;
    padding: 0 0.85rem;
    border: 0;
    border-radius: 999px !important;
    background: var(--sz-gradient);
    color: #fff;
}

[data-theme="sztori"] .site-navbar .btn-light:hover {
    filter: saturate(1.25) brightness(1.06);
}

[data-theme="sztori"] .site-navbar .btn-outline-light,
[data-theme="sztori"] .reader-toggle {
    border: 1px solid var(--sz-line);
    border-radius: 999px;
    background: var(--sz-surface);
    color: var(--sz-ink);
    font-weight: 650;
}

[data-theme="sztori"] .site-navbar .btn-outline-light:hover,
[data-theme="sztori"] .reader-toggle:hover,
[data-theme="sztori"] .reader-toggle:focus-visible,
[data-theme="sztori"] .reader-toggle[aria-expanded="true"] {
    border-color: transparent;
    background: var(--sz-surface-2);
    color: var(--sz-ink);
}

[data-theme="sztori"]:not([data-bs-theme="dark"]) .site-navbar .navbar-toggler-icon {
    filter: invert(1) brightness(0.3);
}

[data-theme="sztori"] .site-navbar .navbar-toggler {
    border-radius: 999px;
}

[data-theme="sztori"] .user-nav-initials {
    background: var(--sz-gradient) !important;
    color: #fff !important;
}

[data-theme="sztori"] .user-nav-avatar {
    box-shadow: 0 0 0 2px var(--sz-surface), 0 0 0 4px #e8357f;
}

[data-theme="sztori"] .dropdown-menu {
    --bs-dropdown-bg: var(--sz-surface);
    --bs-dropdown-color: var(--sz-text);
    --bs-dropdown-border-color: var(--sz-line);
    --bs-dropdown-link-color: var(--sz-text);
    --bs-dropdown-link-hover-color: var(--sz-ink);
    --bs-dropdown-link-hover-bg: var(--sz-surface-2);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #a03be6;
    --bs-dropdown-divider-bg: var(--sz-line);
    --bs-dropdown-header-color: var(--sz-muted);
    padding: 0.45rem;
    border-radius: var(--sz-r-sm);
    box-shadow: 0 24px 48px -20px var(--sz-shadow-c);
}

[data-theme="sztori"] .dropdown-item {
    border-radius: calc(var(--sz-r-sm) * 0.6);
    font-weight: 550;
}

[data-theme="sztori"] .search-dropdown {
    border: 1px solid var(--sz-line);
    border-radius: var(--sz-r-sm);
    background: var(--sz-surface);
    color: var(--sz-text);
    box-shadow: 0 24px 48px -20px var(--sz-shadow-c);
    overflow: hidden;
}

@media (max-width: 991.98px) {
    [data-theme="sztori"] .site-navbar .navbar-collapse {
        margin-top: 0.5rem;
        padding: 0.75rem;
        border-radius: var(--sz-r);
        background: var(--sz-surface);
        box-shadow: 0 20px 40px -24px var(--sz-shadow-c);
    }

    [data-theme="sztori"] .site-navbar .search-wrap {
        margin: 0.5rem 0 !important;
    }

    [data-theme="sztori"] .site-navbar .form-control {
        min-width: 0;
    }
}

/* =====================================================================
   Home: stories strip
   ===================================================================== */
[data-theme="sztori"] .sz-stories-wrap {
    padding-top: 1.25rem;
}

[data-theme="sztori"] .sz-stories {
    position: relative;
    border-radius: var(--sz-r-lg);
    background: color-mix(in srgb, var(--sz-surface) 86%, transparent);
    border: 1px solid var(--sz-line-soft);
    box-shadow: var(--sz-shadow);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

[data-theme="sztori"] .sz-stories {
    display: flex;
    align-items: center;
}

[data-theme="sztori"] .sz-stories-list {
    flex: 0 1 auto;
    min-width: 0;
    display: flex;
    gap: clamp(0.75rem, 1.2vw, 2rem);
    margin: 0;
    padding: 1rem clamp(1rem, 1.6vw, 2.25rem) 0.9rem;
    list-style: none;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: var(--sz-surface-3) transparent;
}

[data-theme="sztori"] .sz-hello {
    display: none;
    flex: 1 0 clamp(20rem, 22vw, 34rem);
    align-items: center;
    gap: 1rem;
    align-self: stretch;
    margin: 0.75rem 0.75rem 0.75rem 0;
    padding: 1rem clamp(1rem, 1.6vw, 2.25rem);
    border-radius: calc(var(--sz-r-lg) - 0.6rem);
    background:
        radial-gradient(80% 140% at 100% 0%, color-mix(in srgb, #e8357f 14%, transparent), transparent 70%),
        var(--sz-surface-2);
}

@media (min-width: 1200px) {
    [data-theme="sztori"] .sz-hello {
        display: flex;
    }
}

[data-theme="sztori"] .sz-hello-sticker {
    flex-shrink: 0;
    font-size: 1.6rem;
}

[data-theme="sztori"] .sz-hello-text {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

[data-theme="sztori"] .sz-hello-title {
    color: var(--sz-ink);
    font-family: var(--sz-font-display);
    font-size: clamp(1rem, 0.9rem + 0.4vw, 1.6rem);
    font-weight: 850;
    line-height: 1.2;
}

[data-theme="sztori"] .sz-hello-sub {
    color: var(--sz-muted);
    font-size: 0.85rem;
}

[data-theme="sztori"] .sz-hello-cta {
    align-self: flex-start;
    margin-top: 0.45rem;
    padding: 0.35rem 0.9rem;
}

[data-theme="sztori"] .sz-story {
    --sz-ring-size: clamp(68px, 4.6vw, 180px);
    flex: 0 0 auto;
    width: calc(var(--sz-ring-size) + 22px);
    scroll-snap-align: start;
}

[data-theme="sztori"] .sz-story-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    color: var(--sz-text);
    text-align: center;
    text-decoration: none;
}

[data-theme="sztori"] .sz-story .sz-ring {
    margin-bottom: 0.45rem;
}

[data-theme="sztori"] .sz-story .sz-live {
    position: absolute;
    left: 50%;
    bottom: -0.6rem;
    z-index: 3;
    transform: translateX(-50%);
}

[data-theme="sztori"] .sz-story-cat {
    max-width: 100%;
    overflow: hidden;
    color: var(--sz-ink);
    font-size: 0.78rem;
    font-weight: 750;
    white-space: nowrap;
    text-overflow: ellipsis;
}

[data-theme="sztori"] .sz-story-title {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    color: var(--sz-muted);
    font-size: 0.68rem;
    line-height: 1.25;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

[data-theme="sztori"] .sz-story-link:hover .sz-story-cat {
    color: var(--sz-ink);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

/* =====================================================================
   Home: pill tabs and layout
   ===================================================================== */
[data-theme="sztori"] .sz-home {
    padding-top: 1.5rem;
    padding-bottom: 1rem;
}

[data-theme="sztori"] .sz-tabs {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    padding-bottom: 0.25rem;
    overflow-x: auto;
    scrollbar-width: none;
}

[data-theme="sztori"] .sz-tab {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.1rem;
    border-radius: 999px;
    border: 1px solid var(--sz-line);
    background: var(--sz-surface);
    color: var(--sz-text);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

[data-theme="sztori"] .sz-tab:hover {
    border-color: transparent;
    background: var(--sz-surface-2);
    color: var(--sz-ink);
    transform: translateY(-1px);
}

[data-theme="sztori"] .sz-tab-active,
[data-theme="sztori"] .sz-tab-active:hover {
    border-color: transparent;
    background: var(--sz-ink);
    color: var(--sz-page);
}

[data-theme="sztori"] .sz-tab-active .bi {
    color: #ff6fae;
}

[data-theme="sztori"] .sz-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem clamp(1.5rem, 2vw, 3.5rem);
    align-items: start;
}

@media (min-width: 1200px) {
    [data-theme="sztori"] .sz-layout {
        grid-template-columns: minmax(0, 1fr) clamp(300px, 24vw, 640px);
    }

    [data-theme="sztori"] .sz-layout-solo {
        grid-template-columns: minmax(0, 1fr);
    }

    [data-theme="sztori"] .sz-aside {
        position: sticky;
        top: calc(var(--navbar-height) + 1.25rem);
    }
}

[data-theme="sztori"] .sz-main {
    display: flex;
    flex-direction: column;
    gap: 2.75rem;
    min-width: 0;
}

[data-theme="sztori"] .sz-aside {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    min-width: 0;
}

[data-theme="sztori"] .sz-section {
    min-width: 0;
    scroll-margin-top: calc(var(--navbar-height) + 1rem);
}

[data-theme="sztori"] .sz-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.25rem 1rem;
    margin-bottom: 1.1rem;
}

[data-theme="sztori"] .sz-head-note {
    color: var(--sz-muted);
    font-size: 0.85rem;
    font-weight: 600;
}

/* =====================================================================
   Home: post cards (featured and grid)
   ===================================================================== */
[data-theme="sztori"] .sz-post {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-radius: var(--sz-r);
    background: var(--sz-surface);
    border: 1px solid var(--sz-line-soft);
    box-shadow: var(--sz-shadow);
    overflow: hidden;
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease;
}

[data-theme="sztori"] .sz-post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 50px -26px var(--sz-shadow-c), 0 2px 6px -2px var(--sz-shadow-c);
}

[data-theme="sztori"] .sz-post-head {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.85rem 1rem;
}

[data-theme="sztori"] .sz-post-who {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}

[data-theme="sztori"] .sz-post-author {
    position: relative;
    z-index: 2;
    overflow: hidden;
    color: var(--sz-ink);
    font-size: 0.9rem;
    font-weight: 750;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-theme="sztori"] .sz-post-author:hover {
    text-decoration: underline;
}

[data-theme="sztori"] .sz-post-handle {
    overflow: hidden;
    color: var(--sz-muted);
    font-size: 0.76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-theme="sztori"] .sz-live-inline {
    margin-left: auto;
}

[data-theme="sztori"] .sz-post-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: var(--sz-ratio);
    max-height: 82vh;
    margin: 0 0.6rem;
    border-radius: var(--sz-r-sm);
    background: linear-gradient(150deg, color-mix(in srgb, var(--cat-color, #a03be6) 55%, #fff), color-mix(in srgb, var(--cat-color, #a03be6) 70%, #1a1025)), var(--sz-gradient);
}

[data-theme="sztori"] .sz-post-media img {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-theme="sztori"] .sz-post:hover .sz-post-media img {
    transform: scale(1.04);
}

[data-theme="sztori"] .sz-post-media-fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, 0.9);
    font-size: 2.6rem;
}

[data-theme="sztori"] .sz-post-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.95rem 1.1rem 1rem;
}

[data-theme="sztori"] .sz-post-title {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.28;
}

[data-theme="sztori"] .sz-post-title a {
    color: var(--sz-ink);
    text-decoration: none;
}

[data-theme="sztori"] .sz-post-title a:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

[data-theme="sztori"] .sz-post-caption {
    margin: 0;
    color: var(--sz-text);
    font-size: 0.95rem;
    line-height: 1.6;
}

[data-theme="sztori"] .sz-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    margin-top: auto;
    padding-top: 0.35rem;
}

[data-theme="sztori"] .sz-action {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.42rem 0.85rem;
    border-radius: 999px;
    background: var(--sz-surface-2);
    color: var(--sz-text);
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

[data-theme="sztori"] a.sz-action:hover {
    background: var(--sz-surface-3);
    color: var(--sz-ink);
}

[data-theme="sztori"] .sz-action-main {
    background: var(--sz-gradient);
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

[data-theme="sztori"] a.sz-action-main:hover {
    background: var(--sz-gradient);
    color: #fff;
    filter: saturate(1.2) brightness(1.06);
}

[data-theme="sztori"] .sz-actions-sm {
    gap: 0.15rem;
    padding-top: 0.15rem;
    color: var(--sz-muted);
}

[data-theme="sztori"] .sz-actions-sm .sz-action {
    z-index: auto;
    padding: 0.25rem 0.4rem;
    background: transparent;
    color: var(--sz-muted);
    font-size: 1.1rem;
}

[data-theme="sztori"] .sz-actions-sm .sz-action-end {
    margin-left: auto;
}

[data-theme="sztori"] .sz-post-card:hover .sz-actions-sm .sz-action:first-child {
    color: #e8357f;
}

/* Featured post: the lead story, horizontal on wide screens */
[data-theme="sztori"] .sz-post-featured .sz-post-title {
    font-size: clamp(1.5rem, 1.1rem + 1.4vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

[data-theme="sztori"] .sz-post-featured .sz-post-handle {
    white-space: normal;
}

[data-theme="sztori"] .sz-post-featured .sz-post-media {
    aspect-ratio: 16 / 10;
    max-height: 72vh;
}

[data-theme="sztori"] .sz-post-featured .sz-post-body {
    gap: 0.75rem;
    padding: 1.2rem 1.4rem 1.4rem;
}

@media (min-width: 768px) {
    [data-theme="sztori"] .sz-post-featured {
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
        grid-template-rows: auto 1fr;
        grid-template-areas: "media head" "media body";
    }

    [data-theme="sztori"] .sz-post-featured .sz-post-head {
        grid-area: head;
        padding: 1.3rem 1.4rem 0.2rem;
    }

    [data-theme="sztori"] .sz-post-featured .sz-post-media {
        grid-area: media;
        aspect-ratio: auto;
        min-height: clamp(320px, 46vh, 900px);
        max-height: none;
        margin: 0.6rem 0 0.6rem 0.6rem;
    }

    [data-theme="sztori"] .sz-post-featured .sz-post-body {
        grid-area: body;
        justify-content: center;
    }
}

[data-theme="sztori"] .sz-post-featured .sz-actions {
    margin-top: 0.4rem;
}

@media (min-width: 2000px) {
    [data-theme="sztori"] .sz-main:not(.sz-main-paged) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 3rem clamp(1.5rem, 2vw, 3.5rem);
        align-items: start;
    }

    [data-theme="sztori"] .sz-main > .sz-post-featured,
    [data-theme="sztori"] .sz-main > #szPopular,
    [data-theme="sztori"] .sz-main > .sz-pager {
        grid-column: 1 / -1;
    }

    [data-theme="sztori"] .sz-main > #szReels:last-child,
    [data-theme="sztori"] .sz-main > #szReels:nth-last-child(2):has(+ .sz-pager) {
        grid-column: 1 / -1;
    }

    [data-theme="sztori"] #szPopular .sz-reel {
        aspect-ratio: 3 / 4;
    }

    [data-theme="sztori"] .sz-post-featured .sz-post-caption {
        font-size: 1.15rem;
    }
}

[data-theme="sztori"] .sz-posts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, clamp(220px, 15vw, 420px)), 1fr));
    gap: clamp(1rem, 1.3vw, 2rem);
}

/* =====================================================================
   Home: reels
   ===================================================================== */
[data-theme="sztori"] .sz-reels {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(148px, 1fr);
    gap: clamp(0.75rem, 1vw, 1.5rem);
    padding-bottom: 0.4rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: var(--sz-surface-3) transparent;
}

[data-theme="sztori"] .sz-reel {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    aspect-ratio: 9 / 16;
    min-width: 0;
    overflow: hidden;
    border-radius: var(--sz-r);
    background: linear-gradient(165deg, color-mix(in srgb, var(--cat-color, #a03be6) 75%, #fff), color-mix(in srgb, var(--cat-color, #a03be6) 60%, #120e1a) 70%);
    box-shadow: var(--sz-shadow);
    scroll-snap-align: start;
    isolation: isolate;
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-theme="sztori"] .sz-reel:hover {
    transform: translateY(-4px) rotate(-0.4deg);
}

[data-theme="sztori"] .sz-reel-media {
    position: absolute;
    inset: 0;
    z-index: -2;
}

[data-theme="sztori"] .sz-reel-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-theme="sztori"] .sz-reel:hover .sz-reel-media img {
    transform: scale(1.05);
}

[data-theme="sztori"] .sz-reel::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(10, 6, 18, 0.35) 0%, transparent 22%, transparent 42%, rgba(10, 6, 18, 0.88) 100%);
}

[data-theme="sztori"] .sz-reel::before {
    /* story progress bars along the top edge */
    content: "";
    position: absolute;
    top: 10px;
    left: 12px;
    right: 12px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #fff 0 38%, rgba(255, 255, 255, 0.4) 38% 100%);
}

[data-theme="sztori"] .sz-reel-badge,
[data-theme="sztori"] .sz-reel-rank {
    position: absolute;
    top: 22px;
    right: 12px;
    display: grid;
    place-items: center;
    min-width: 2.1rem;
    height: 2.1rem;
    padding: 0 0.5rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
    font-size: 1.1rem;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

[data-theme="sztori"] .sz-reel-rank {
    left: 12px;
    right: auto;
    background: var(--sz-gradient);
    font-family: var(--sz-font-display);
    font-size: 0.95rem;
    font-weight: 900;
}

[data-theme="sztori"] .sz-reel-cap {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.9rem;
    color: #fff;
}

[data-theme="sztori"] .sz-reel-who {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    overflow: hidden;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

[data-theme="sztori"] .sz-reel-who .sz-avatar {
    z-index: auto;
}

[data-theme="sztori"] .sz-reel-who .sz-avatar-inner {
    border-color: rgba(10, 6, 18, 0.6);
}

[data-theme="sztori"] .sz-reel-who .sz-verified {
    color: #7cc8ff;
    margin-left: 0;
}

[data-theme="sztori"] .sz-reel-title {
    margin: 0;
    color: #fff;
    font-size: clamp(0.95rem, 0.85rem + 0.3vw, 1.35rem);
    font-weight: 800;
    line-height: 1.22;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

[data-theme="sztori"] .sz-reel-title a {
    color: inherit;
    text-decoration: none;
}

[data-theme="sztori"] .sz-reel-meta {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.72rem;
    font-weight: 600;
}

[data-theme="sztori"] .sz-reel-cat {
    color: #fff;
    font-weight: 800;
}

/* =====================================================================
   Home: aside panels (trending, highlights)
   ===================================================================== */
[data-theme="sztori"] .sz-panel {
    padding: 1.25rem 1.25rem 1rem;
    border-radius: var(--sz-r);
    background: var(--sz-surface);
    border: 1px solid var(--sz-line-soft);
    box-shadow: var(--sz-shadow);
    scroll-margin-top: calc(var(--navbar-height) + 1rem);
}

[data-theme="sztori"] .sz-panel .sz-label {
    margin-bottom: 0.9rem;
    font-size: clamp(1.15rem, 1rem + 0.4vw, 1.6rem);
}

[data-theme="sztori"] .sz-trend-list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}

[data-theme="sztori"] .sz-trend {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.7rem 0.4rem;
    border-radius: var(--sz-r-sm);
    transition: background 0.2s ease;
}

[data-theme="sztori"] .sz-trend + .sz-trend {
    border-top: 1px dashed var(--sz-line);
}

[data-theme="sztori"] .sz-trend:hover {
    background: var(--sz-surface-2);
}

[data-theme="sztori"] .sz-trend-no {
    flex: 0 0 auto;
    width: 2.1rem;
    font-family: var(--sz-font-display);
    font-size: 1.9rem;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    background: var(--sz-text-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

[data-theme="sztori"] .sz-trend-text {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

[data-theme="sztori"] .sz-trend-cat {
    color: color-mix(in srgb, var(--cat-color, var(--primary-color)) 62%, var(--sz-ink));
    font-size: 0.72rem;
    font-weight: 800;
}

[data-theme="sztori"] .sz-trend-title {
    color: var(--sz-ink);
    font-size: 0.95rem;
    font-weight: 750;
    line-height: 1.3;
    text-decoration: none;
}

[data-theme="sztori"] .sz-trend-meta {
    color: var(--sz-muted);
    font-size: 0.72rem;
}

[data-theme="sztori"] .sz-trend-img {
    flex: 0 0 auto;
    width: clamp(56px, 3.6vw, 96px);
    height: clamp(56px, 3.6vw, 96px);
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--sz-r-sm);
}

[data-theme="sztori"] .sz-highlights {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
    gap: 1rem 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

[data-theme="sztori"] .sz-highlight {
    --sz-ring-size: clamp(60px, 3.6vw, 104px);
}

[data-theme="sztori"] .sz-highlight a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    color: var(--sz-ink);
    text-align: center;
    text-decoration: none;
}

[data-theme="sztori"] .sz-highlight-name {
    max-width: 100%;
    overflow: hidden;
    font-size: 0.8rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-theme="sztori"] .sz-pager {
    margin-top: 0.5rem;
}

[data-theme="sztori"] .sz-empty {
    padding: 4rem 1rem;
    border-radius: var(--sz-r-lg);
    background: var(--sz-surface);
    text-align: center;
    box-shadow: var(--sz-shadow);
}

[data-theme="sztori"] .sz-empty-icon {
    display: inline-grid;
    place-items: center;
    width: 5rem;
    height: 5rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: var(--sz-gradient);
    color: #fff;
    font-size: 2.2rem;
}

/* Reader list preferences on the home feed */
html[data-theme="sztori"][data-reader-list="titles"] .sz-reel,
html[data-theme="sztori"][data-reader-saver="on"] .sz-reel {
    aspect-ratio: auto;
    min-height: 15rem;
}

html[data-theme="sztori"][data-reader-saver="on"] .sz-post-media,
html[data-theme="sztori"][data-reader-list="titles"] .sz-post-media,
html[data-theme="sztori"][data-reader-saver="on"] .sz-reel-media,
html[data-theme="sztori"][data-reader-list="titles"] .sz-reel-media {
    display: none !important;
}

html[data-theme="sztori"][data-reader-saver="on"] .sz-post-featured,
html[data-theme="sztori"][data-reader-list="titles"] .sz-post-featured {
    display: flex;
}

html[data-theme="sztori"][data-reader-saver="on"] .sz-post-head,
html[data-theme="sztori"][data-reader-list="titles"] .sz-post-head {
    padding-bottom: 0.2rem;
}

html[data-theme="sztori"][data-reader-list="titles"] .sz-trend-img {
    display: none;
}

html[data-theme="sztori"][data-reader-list="compact"] .sz-post-caption {
    display: none;
}

/* =====================================================================
   "Neked ajánljuk" (core partial)
   ===================================================================== */
[data-theme="sztori"] .for-you-block .section-title::before {
    content: "🫶";
}

[data-theme="sztori"] .for-you-more {
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    background: var(--sz-surface);
    border: 1px solid var(--sz-line);
    color: var(--sz-ink);
}

[data-theme="sztori"] .for-you-card.listing-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.85rem;
    height: 100%;
    padding: 0.7rem;
    border: 1px solid var(--sz-line-soft);
    border-radius: var(--sz-r);
    background: var(--sz-surface);
    box-shadow: var(--sz-shadow);
    transition: transform 0.25s ease;
}

[data-theme="sztori"] .for-you-card:hover {
    opacity: 1;
    transform: translateY(-3px);
}

[data-theme="sztori"] .for-you-img {
    width: 84px;
    height: 84px;
    aspect-ratio: 1;
    margin: 4px;
    flex-shrink: 0;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: 0 0 0 2px var(--sz-surface), 0 0 0 calc(2px + var(--sz-rings) * 2.5px) #e8357f;
}

[data-theme="sztori"] .for-you-card .for-you-body {
    padding: 0;
    background: transparent;
    border: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    min-width: 0;
}

[data-theme="sztori"] .for-you-title {
    color: var(--sz-ink);
    font-weight: 750;
    line-height: 1.3;
}

[data-theme="sztori"] .for-you-meta {
    color: var(--sz-muted);
    font-size: 0.75rem;
}

/* =====================================================================
   Listing heroes: a gradient profile cover
   ===================================================================== */
[data-theme="sztori"] .listing-hero {
    position: relative;
    margin: 1.25rem 1.5rem 0;
    padding: clamp(2rem, 3vw, 3.5rem) 0 clamp(1.75rem, 2.6vw, 3rem);
    border: 0;
    border-radius: var(--sz-r-lg);
    background: var(--sz-gradient);
    color: #fff;
    overflow: hidden;
    isolation: isolate;
    box-shadow: var(--sz-shadow);
}

[data-theme="sztori"] .listing-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 88% 20%, rgba(255, 255, 255, 0.32) 0 2px, transparent 3px),
        radial-gradient(circle at 76% 70%, rgba(255, 255, 255, 0.28) 0 3px, transparent 4px),
        radial-gradient(circle at 95% 82%, rgba(255, 255, 255, 0.22) 0 2px, transparent 3px),
        radial-gradient(circle at 64% 18%, rgba(255, 255, 255, 0.24) 0 1.5px, transparent 2.5px),
        radial-gradient(60% 120% at 100% 0%, rgba(255, 255, 255, 0.28), transparent 60%),
        radial-gradient(50% 90% at 0% 100%, rgba(0, 0, 0, 0.18), transparent 70%);
}

[data-theme="sztori"] .listing-hero::after {
    /* a big soft sticker bubble on the right */
    content: "";
    position: absolute;
    right: clamp(-6rem, -4vw, -2rem);
    top: 50%;
    z-index: -1;
    width: clamp(12rem, 22vw, 30rem);
    aspect-ratio: 1;
    border-radius: 50%;
    border: clamp(10px, 1.4vw, 26px) solid rgba(255, 255, 255, 0.16);
    transform: translateY(-50%);
}

@media (min-width: 992px) {
    [data-theme="sztori"] .listing-hero {
        margin-left: 3rem;
        margin-right: 3rem;
    }
}

[data-theme="sztori"] .listing-hero .listing-hero-inner {
    margin: 0;
    padding-left: clamp(1.5rem, 2.5vw, 3.5rem);
    padding-right: clamp(1.5rem, 2.5vw, 3.5rem);
    border: 0;
    background: transparent;
    box-shadow: none;
}

[data-theme="sztori"] .listing-hero .listing-hero-title,
[data-theme="sztori"] .listing-hero.listing-hero .listing-hero-title {
    margin: 0.3rem 0 0.4rem;
    color: #fff;
    font-family: var(--sz-font-display);
    font-size: clamp(1.9rem, 1.4rem + 2.2vw, 4.2rem);
    font-weight: 900;
    letter-spacing: -0.03em;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.18);
}

[data-theme="sztori"] .listing-hero .listing-hero-sub,
[data-theme="sztori"] .listing-hero .text-white-50 {
    max-width: 60rem;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 1rem;
    font-weight: 550;
}

[data-theme="sztori"] .listing-hero .art-breadcrumb,
[data-theme="sztori"] .listing-hero .art-breadcrumb a {
    color: rgba(255, 255, 255, 0.85);
}

[data-theme="sztori"] .listing-hero .art-breadcrumb a:hover {
    color: #fff;
}

[data-theme="sztori"] .art-breadcrumb {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.15rem;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

/* Category page follow / mute buttons */
[data-theme="sztori"] .category-follow-form .btn {
    border-radius: 999px;
    font-weight: 700;
    padding: 0.4rem 1rem;
}

/* =====================================================================
   Author page: creator profile
   ===================================================================== */
[data-theme="sztori"] .sz-profile.listing-hero {
    padding: 0;
    background: var(--sz-surface);
    color: var(--sz-text);
    border: 1px solid var(--sz-line-soft);
}

[data-theme="sztori"] .sz-profile.listing-hero::before {
    display: none;
}

[data-theme="sztori"] .sz-profile.listing-hero::after {
    top: clamp(1rem, 4vw, 5rem);
    border-color: rgba(255, 255, 255, 0.2);
}

[data-theme="sztori"] .sz-profile-cover {
    position: relative;
    height: clamp(120px, 14vw, 300px);
    background:
        radial-gradient(circle at 18% 30%, rgba(255, 255, 255, 0.35) 0 2px, transparent 3px),
        radial-gradient(circle at 42% 70%, rgba(255, 255, 255, 0.3) 0 3px, transparent 4px),
        radial-gradient(circle at 70% 26%, rgba(255, 255, 255, 0.3) 0 2px, transparent 3px),
        radial-gradient(70% 140% at 100% 0%, rgba(255, 255, 255, 0.3), transparent 60%),
        var(--sz-gradient);
}

[data-theme="sztori"] .sz-profile-inner {
    position: relative;
    padding-bottom: 1.75rem;
}

[data-theme="sztori"] .sz-profile-crumb {
    position: absolute;
    top: calc(clamp(120px, 14vw, 300px) * -1 + 1rem);
}

[data-theme="sztori"] .sz-profile.listing-hero .sz-profile-crumb,
[data-theme="sztori"] .sz-profile.listing-hero .sz-profile-crumb a {
    color: #fff;
}

[data-theme="sztori"] .sz-profile-card {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0 2rem;
}

[data-theme="sztori"] .sz-ring-xl {
    --sz-ring-size: clamp(120px, 9vw, 220px);
    margin-top: calc(var(--sz-ring-size) * -0.5);
    box-shadow: 0 0 0 6px var(--sz-surface);
}

[data-theme="sztori"] .sz-ring-xl .sz-ring-inner {
    border-width: calc(var(--sz-rings) * 5px);
}

[data-theme="sztori"] .sz-profile-text {
    flex: 1 1 22rem;
    min-width: 0;
    padding-top: 1rem;
}

[data-theme="sztori"] .sz-profile.listing-hero .sz-profile-name {
    margin: 0;
    color: var(--sz-ink);
    text-shadow: none;
    font-size: clamp(1.9rem, 1.4rem + 1.8vw, 3.6rem);
}

[data-theme="sztori"] .sz-profile-handle {
    margin: 0.1rem 0 0.6rem;
    color: var(--sz-muted);
    font-size: 1rem;
    font-weight: 650;
}

[data-theme="sztori"] .sz-profile.listing-hero .sz-profile-bio {
    max-width: 70rem;
    margin: 0 0 1rem;
    color: var(--sz-text) !important;
    font-size: 1.02rem;
    line-height: 1.6;
}

[data-theme="sztori"] .sz-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

[data-theme="sztori"] .sz-stat {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.95rem;
    border-radius: 999px;
    background: var(--sz-surface-2);
    color: var(--sz-text);
    font-size: 0.85rem;
}

[data-theme="sztori"] .sz-stat strong {
    color: var(--sz-ink);
}

[data-theme="sztori"] .sz-stat .bi {
    color: color-mix(in srgb, var(--cat-color, #a03be6) 70%, var(--sz-ink));
}

/* =====================================================================
   Listing rows (category, author, tag, search): post rows
   ===================================================================== */
[data-theme="sztori"] .listing-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 34rem), 1fr));
    gap: clamp(0.9rem, 1.1vw, 1.75rem);
}

[data-theme="sztori"] .listing-row:not(.for-you-card),
[data-theme="sztori"] .article-row {
    position: relative;
    display: flex;
    gap: 1.1rem;
    margin: 0;
    padding: 0.8rem;
    border: 1px solid var(--sz-line-soft);
    border-radius: var(--sz-r);
    background: var(--sz-surface);
    box-shadow: var(--sz-shadow);
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.25s ease;
}

[data-theme="sztori"] .listing-row:not(.for-you-card):first-child {
    padding-top: 0.8rem;
}

[data-theme="sztori"] .listing-row:not(.for-you-card):hover {
    opacity: 1;
    transform: translateY(-3px);
    box-shadow: 0 26px 50px -26px var(--sz-shadow-c), 0 2px 6px -2px var(--sz-shadow-c);
}

[data-theme="sztori"] .listing-thumb {
    width: clamp(110px, 26%, 210px);
    height: auto;
    aspect-ratio: 1;
    align-self: flex-start;
    border-radius: var(--sz-r-sm);
    background: linear-gradient(150deg, color-mix(in srgb, #a03be6 50%, #fff), #5a55ee);
}

[data-theme="sztori"] .listing-thumb-placeholder {
    background: var(--sz-gradient);
}

[data-theme="sztori"] .listing-text {
    justify-content: center;
    padding: 0.25rem 0.25rem 0.25rem 0;
}

[data-theme="sztori"] .listing-meta-top {
    gap: 0.6rem;
}

[data-theme="sztori"] .latest-badge,
[data-theme="sztori"] .hero-badge-cat {
    display: inline-flex;
    align-items: center;
    padding: 0.25em 0.75em;
    border-radius: 999px;
    background: var(--cat-color, var(--primary-color));
    color: var(--cat-contrast, var(--primary-contrast));
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    text-transform: none;
}

[data-theme="sztori"] .latest-badge::before,
[data-theme="sztori"] .hero-badge-cat::before {
    content: "#";
    margin-right: 0.08em;
    opacity: 0.75;
}

[data-theme="sztori"] .listing-date {
    color: var(--sz-muted);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

[data-theme="sztori"] .listing-title {
    margin-bottom: 0.35rem;
    color: var(--sz-ink);
    font-family: var(--sz-font-display);
    font-size: clamp(1.08rem, 1rem + 0.3vw, 1.45rem);
    font-weight: 800;
    line-height: 1.25;
}

[data-theme="sztori"] .listing-row:hover .listing-title {
    color: var(--sz-ink);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

[data-theme="sztori"] .listing-summary {
    color: var(--sz-text);
    font-size: 0.9rem;
}

[data-theme="sztori"] .latest-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    color: var(--sz-muted);
    font-size: 0.78rem;
    text-transform: none;
    letter-spacing: 0;
}

[data-theme="sztori"] .latest-meta-author {
    color: var(--sz-ink) !important;
    font-weight: 750;
    text-transform: none;
}

[data-theme="sztori"] .latest-meta-dot {
    color: var(--sz-line);
}

[data-theme="sztori"] .art-tag,
[data-theme="sztori"] .art-tag-xs {
    display: inline-flex;
    padding: 0.2em 0.7em;
    border-radius: 999px;
    background: var(--sz-surface-2);
    border: 0;
    color: var(--sz-text);
    font-size: 0.75rem;
    font-weight: 650;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
}

[data-theme="sztori"] .art-tag::before {
    content: "#";
    color: #e8357f;
    font-weight: 800;
    margin-right: 0.05em;
}

[data-theme="sztori"] .art-tag:hover {
    background: var(--sz-ink);
    color: var(--sz-page);
}

[data-theme="sztori"] .article-row-img img {
    width: 140px;
    height: 140px;
    object-fit: cover;
    border-radius: var(--sz-r-sm);
}

[data-theme="sztori"] .article-row-title a {
    color: var(--sz-ink);
    text-decoration: none;
}

[data-theme="sztori"] .listing-count {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    background: var(--sz-surface);
    border: 1px solid var(--sz-line);
    color: var(--sz-text);
}

[data-theme="sztori"] .listing-count-num {
    padding: 0.05rem 0.55rem;
    border-radius: 999px;
    background: var(--sz-gradient);
    color: #fff;
    font-weight: 800;
}

html[data-theme="sztori"][data-reader-list="compact"] .listing-thumb {
    width: 88px;
    min-width: 88px;
    aspect-ratio: 1;
    border-radius: 50%;
    align-self: center;
}

/* =====================================================================
   Search, personal and sub-page sidebars: pill lists
   ===================================================================== */
[data-theme="sztori"] .search-cat-list {
    gap: 0.3rem;
    padding: 0.5rem;
    border: 1px solid var(--sz-line-soft);
    border-radius: var(--sz-r);
    background: var(--sz-surface);
    box-shadow: var(--sz-shadow);
}

[data-theme="sztori"] .search-cat-item {
    border: 0;
    border-radius: 999px;
    color: var(--sz-text);
    font-weight: 650;
    transition: background 0.2s ease, color 0.2s ease;
}

[data-theme="sztori"] .search-cat-item:hover:not(:disabled) {
    background: var(--sz-surface-2);
    color: var(--sz-ink);
}

[data-theme="sztori"] .search-cat-item.search-cat-active {
    background: var(--sz-ink) !important;
    color: var(--sz-page) !important;
    border: 0;
}

[data-theme="sztori"] .search-cat-item.search-cat-active .bi {
    color: #ff6fae !important;
}

[data-theme="sztori"] .search-cat-count {
    padding: 0.05rem 0.55rem;
    border-radius: 999px;
    background: var(--sz-surface-2);
    color: var(--sz-text);
    font-size: 0.72rem;
    font-weight: 800;
}

[data-theme="sztori"] .search-cat-active .search-cat-count {
    background: var(--sz-gradient);
    color: #fff;
}

[data-theme="sztori"] .search-cat-disabled {
    opacity: 0.45;
}

[data-theme="sztori"] .search-sidebar .section-title {
    font-size: 1.1rem !important;
}

[data-theme="sztori"] .page-sidebar-nav,
[data-theme="sztori"] .page-sidebar-tree {
    border-radius: var(--sz-r);
}

[data-theme="sztori"] .page-sidebar-tree {
    padding: 0.5rem;
    border: 1px solid var(--sz-line-soft);
    background: var(--sz-surface);
    box-shadow: var(--sz-shadow);
}

[data-theme="sztori"] .page-sidebar-tree a {
    border-radius: 999px;
    color: var(--sz-text);
}

[data-theme="sztori"] .page-sidebar-current,
[data-theme="sztori"] .page-sidebar-tree a.page-sidebar-current {
    border: 0 !important;
    box-shadow: none !important;
    background: var(--sz-ink) !important;
    color: var(--sz-page) !important;
}

[data-theme="sztori"] .page-sidebar-current .bi {
    color: #ff6fae !important;
}

[data-theme="sztori"] .page-sidebar-mobile-trigger {
    border-radius: 999px;
}

/* =====================================================================
   Article: hero, meta, body
   ===================================================================== */
[data-theme="sztori"] .art-hero {
    width: auto;
    height: clamp(420px, 66vh, 1200px);
    margin: 1.25rem 1.5rem 0;
    border-radius: var(--sz-r-lg);
    box-shadow: var(--sz-shadow);
    isolation: isolate;
    background: var(--sz-gradient);
}

@media (min-width: 992px) {
    [data-theme="sztori"] .art-hero {
        margin-left: 3rem;
        margin-right: 3rem;
    }
}

[data-theme="sztori"] .art-hero::before {
    /* story progress bars */
    content: "";
    position: absolute;
    top: 16px;
    left: clamp(16px, 2vw, 40px);
    right: clamp(16px, 2vw, 40px);
    z-index: 3;
    height: 4px;
    border-radius: 4px;
    background:
        linear-gradient(90deg, #fff 0 32.6%, transparent 32.6% 33.7%, rgba(255, 255, 255, 0.85) 33.7% 52%, rgba(255, 255, 255, 0.38) 52% 66.3%, transparent 66.3% 67.4%, rgba(255, 255, 255, 0.38) 67.4% 100%);
}

[data-theme="sztori"] .art-hero-placeholder {
    background: var(--sz-gradient);
}

[data-theme="sztori"] .art-hero-overlay {
    background:
        linear-gradient(0deg, rgba(10, 6, 18, 0.9) 0%, rgba(10, 6, 18, 0.55) 38%, rgba(10, 6, 18, 0.05) 70%, rgba(10, 6, 18, 0.32) 100%);
}

[data-theme="sztori"] .art-hero-content {
    max-width: min(100%, 72rem);
    padding: 2rem clamp(1.5rem, 3vw, 4rem) clamp(1.75rem, 3vw, 3.5rem);
}

[data-theme="sztori"] .art-hero .art-breadcrumb {
    background: rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.85);
}

[data-theme="sztori"] .art-hero .art-breadcrumb a {
    color: rgba(255, 255, 255, 0.85);
}

[data-theme="sztori"] .art-hero .art-breadcrumb > span:last-child {
    max-width: 28ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-theme="sztori"] .art-hero-badges .hero-badge-cat {
    padding: 0.4em 1em;
    font-size: 0.8rem;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}

[data-theme="sztori"] .art-hero .art-hero-title {
    color: #fff;
}

[data-theme="sztori"] .art-hero-title {
    font-family: var(--sz-font-display);
    font-size: clamp(1.9rem, 1.2rem + 2.6vw, 4.6rem);
    font-weight: 900;
    line-height: 1.06;
    letter-spacing: -0.03em;
    text-shadow: 0 2px 22px rgba(0, 0, 0, 0.3);
}

[data-theme="sztori"] .art-hero-deck {
    max-width: 52rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.3rem);
}

[data-theme="sztori"] .art-hero-meta {
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    width: fit-content;
    max-width: 100%;
    padding: 0.35rem 1rem 0.35rem 0.35rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

[data-theme="sztori"] .art-hero-avatar {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 2px;
    border-radius: 50%;
    background: var(--sz-ring-grad);
    font-size: 1.6rem;
}

[data-theme="sztori"] .art-hero-avatar img {
    width: 100% !important;
    height: 100% !important;
    border: 2px solid rgba(10, 6, 18, 0.6);
}

[data-theme="sztori"] .art-hero-avatar .bi {
    line-height: 1;
}

[data-theme="sztori"] .art-hero-author {
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

[data-theme="sztori"] .art-hero-author::after {
    content: "\F4B5";
    font-family: "bootstrap-icons";
    margin-left: 0.3em;
    color: #7cc8ff;
    font-weight: 400;
    font-size: 0.9em;
    vertical-align: -0.05em;
}

[data-theme="sztori"] .art-hero-dot {
    color: rgba(255, 255, 255, 0.45);
}

[data-theme="sztori"] .art-personal-action {
    border-radius: 999px;
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.12);
    font-weight: 650;
}

[data-theme="sztori"] .art-body-wrap {
    gap: clamp(2rem, 3vw, 4rem);
    padding: 2.5rem 1.5rem 3rem;
}

@media (min-width: 992px) {
    [data-theme="sztori"] .art-body-wrap {
        padding-left: 3rem;
        padding-right: 3rem;
    }
}

[data-theme="sztori"] .art-sidebar {
    width: clamp(300px, 20vw, 420px);
}

[data-theme="sztori"] .art-main {
    padding: clamp(1.25rem, 2.5vw, 3.5rem);
    border-radius: var(--sz-r-lg);
    background: var(--sz-surface);
    border: 1px solid var(--sz-line-soft);
    box-shadow: var(--sz-shadow);
}

[data-theme="sztori"] .article-content {
    color: var(--sz-text);
    font-size: 1.08rem;
    line-height: 1.75;
}

[data-theme="sztori"] .article-content > p.lead,
[data-theme="sztori"] .article-content > p:first-child {
    color: var(--sz-ink);
    font-size: 1.25rem;
    font-weight: 550;
    line-height: 1.6;
}

[data-theme="sztori"] .article-content h2,
[data-theme="sztori"] .article-content h3,
[data-theme="sztori"] .article-content h4 {
    margin-top: 2.2rem;
    font-weight: 850;
    letter-spacing: -0.02em;
}

[data-theme="sztori"] .article-content h2 {
    display: inline-block;
    padding-bottom: 0.15rem;
    background: linear-gradient(90deg, var(--sz-grad)) left bottom / 100% 0.28em no-repeat;
    background-position: 0 88%;
    background-size: 100% 0.32em;
    background-image: linear-gradient(90deg, color-mix(in srgb, #e8357f 26%, transparent), color-mix(in srgb, #5a55ee 22%, transparent));
}

[data-theme="sztori"] .article-content a {
    color: var(--accent-text, var(--primary-color));
    font-weight: 600;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

[data-theme="sztori"] .article-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--sz-r);
}

[data-theme="sztori"] .article-content blockquote {
    position: relative;
    margin: 2rem 0;
    padding: 1.1rem 1.4rem 1.1rem 1.4rem;
    border: 0;
    border-radius: var(--sz-r) var(--sz-r) var(--sz-r) 6px;
    background: var(--sz-surface-2);
    color: var(--sz-ink);
    font-size: 1.15rem;
    font-weight: 600;
}

[data-theme="sztori"] .article-content blockquote::before {
    content: "💬";
    position: absolute;
    top: -0.9rem;
    left: 1rem;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-size: 1.4rem;
    transform: rotate(-8deg);
}

[data-theme="sztori"] .article-content blockquote p:last-child {
    margin-bottom: 0;
}

[data-theme="sztori"] .article-content ul {
    padding-left: 1.4rem;
}

[data-theme="sztori"] .article-content ul > li::marker {
    color: #e8357f;
    font-size: 1.15em;
}

[data-theme="sztori"] .article-content ol > li::marker {
    color: #a03be6;
    font-weight: 800;
}

[data-theme="sztori"] .article-content code {
    padding: 0.1em 0.4em;
    border-radius: 6px;
    background: var(--sz-surface-2);
    color: var(--sz-ink);
}

[data-theme="sztori"] .article-content pre {
    padding: 1rem 1.25rem;
    border-radius: var(--sz-r-sm);
    background: var(--sz-night);
    color: #f1ecf8;
}

[data-theme="sztori"] .article-content table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--sz-line);
    border-radius: var(--sz-r-sm);
    overflow: hidden;
}

[data-theme="sztori"] .article-content th,
[data-theme="sztori"] .article-content td {
    padding: 0.55rem 0.8rem;
    border-bottom: 1px solid var(--sz-line);
}

[data-theme="sztori"] .article-content th {
    background: var(--sz-surface-2);
}

/* Table of contents: a pill card */
[data-theme="sztori"] .art-toc {
    padding: 1rem 1.2rem;
    border: 1px solid var(--sz-line);
    border-radius: var(--sz-r);
    background: var(--sz-surface-2);
}

[data-theme="sztori"] .art-toc-title {
    color: var(--sz-ink);
    font-family: var(--sz-font-display);
    font-weight: 850;
    text-transform: none;
    letter-spacing: 0;
}

[data-theme="sztori"] .art-toc-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.6rem;
}

[data-theme="sztori"] .art-toc-link {
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    background: var(--sz-surface);
    border: 1px solid var(--sz-line);
    color: var(--sz-text);
    font-size: 0.85rem;
    font-weight: 650;
    text-decoration: none;
}

[data-theme="sztori"] .art-toc-link:hover {
    background: var(--sz-ink);
    color: var(--sz-page);
}

/* Tags and share */
[data-theme="sztori"] .art-tags,
[data-theme="sztori"] .art-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    border: 0;
    padding: 0;
}

[data-theme="sztori"] .art-tags-label,
[data-theme="sztori"] .art-share-label,
[data-theme="sztori"] .art-pn-label,
[data-theme="sztori"] .art-banner-label {
    color: var(--sz-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

[data-theme="sztori"] .art-share-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

[data-theme="sztori"] .art-share-btn {
    display: inline-grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    border: 0;
    border-radius: 50%;
    background: var(--sz-surface-2);
    color: var(--sz-ink);
    font-size: 1.1rem;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

[data-theme="sztori"] .art-share-btn:hover {
    background: var(--sz-gradient);
    color: #fff;
    transform: translateY(-2px) rotate(-6deg);
}

/* Prev / next as two pill cards */
[data-theme="sztori"] .art-prevnext {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
    gap: 0.75rem;
    border: 0;
    padding: 0;
}

[data-theme="sztori"] .art-prev,
[data-theme="sztori"] .art-next {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    max-width: none;
}

[data-theme="sztori"] .art-next {
    align-items: flex-end;
    text-align: right;
}

[data-theme="sztori"] .art-pn-link {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 0.9rem;
    border-radius: var(--sz-r);
    background: var(--sz-surface-2);
    color: var(--sz-ink);
    font-weight: 750;
    text-decoration: none;
}

[data-theme="sztori"] .art-pn-link:hover {
    background: var(--sz-surface-3);
    color: var(--sz-ink);
}

[data-theme="sztori"] .art-pn-arrow {
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 50%;
    background: var(--sz-gradient);
    color: #fff;
}

/* Banners */
[data-theme="sztori"] .art-banner,
[data-theme="sztori"] .art-banner-horizontal {
    border: 1px dashed var(--sz-line);
    border-radius: var(--sz-r);
    background: color-mix(in srgb, var(--sz-surface) 70%, transparent);
}

[data-theme="sztori"] .art-banner-inner,
[data-theme="sztori"] .art-banner-horizontal-inner {
    background: transparent;
    border: 0;
}

/* Comments: chat bubbles */
[data-theme="sztori"] .comments-section {
    margin-top: 2.5rem;
    padding: clamp(1rem, 2vw, 1.75rem);
    border-radius: var(--sz-r);
    background: var(--sz-surface-2);
}

[data-theme="sztori"] .comments-section h2 {
    font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.7rem);
    font-weight: 850;
}

[data-theme="sztori"] .comments-section h2 .bi {
    background: var(--sz-text-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

[data-theme="sztori"] .comment-form-wrap {
    padding: 0.8rem;
    border: 0;
    border-radius: var(--sz-r);
    background: var(--sz-surface);
}

[data-theme="sztori"] .comment-form-wrap textarea,
[data-theme="sztori"] .comment-edit-textarea {
    border: 1px solid var(--sz-line);
    border-radius: var(--sz-r-sm);
    background: var(--sz-surface-2);
    color: var(--sz-ink);
}

[data-theme="sztori"] .comment-form-actions .btn {
    border-radius: 999px;
    font-weight: 700;
}

[data-theme="sztori"] .comment-item {
    gap: 0.75rem;
    padding: 0.6rem 0;
    border: 0;
}

[data-theme="sztori"] .comment-avatar,
[data-theme="sztori"] .comment-avatar-fallback {
    border-radius: 50%;
    box-shadow: 0 0 0 2px var(--sz-surface-2), 0 0 0 calc(2px + var(--sz-rings) * 2px) #e8357f;
}

[data-theme="sztori"] .comment-avatar-fallback {
    background: var(--sz-gradient);
    color: #fff;
    font-weight: 800;
}

[data-theme="sztori"] .comment-body {
    padding: 0.65rem 0.95rem;
    border-radius: 6px var(--sz-r) var(--sz-r) var(--sz-r);
    background: var(--sz-surface);
}

[data-theme="sztori"] .comment-author {
    color: var(--sz-ink);
    font-weight: 800;
}

[data-theme="sztori"] .comment-time,
[data-theme="sztori"] .comment-edited {
    color: var(--sz-muted);
}

[data-theme="sztori"] .comment-content {
    color: var(--sz-text);
}

[data-theme="sztori"] .comment-login-hint {
    padding: 0.75rem 1rem;
    border-radius: 999px;
    background: var(--sz-surface);
    color: var(--sz-text);
}

/* Related: reel cards */
[data-theme="sztori"] .art-related {
    border-top: 0 !important;
}

[data-theme="sztori"] .art-related-title {
    font-family: var(--sz-font-display);
    font-size: clamp(1.3rem, 1.1rem + 0.6vw, 2rem);
    font-weight: 850;
}

[data-theme="sztori"] .art-related-title::before {
    content: "👀";
    display: inline-grid;
    place-items: center;
    width: calc(var(--sz-st) * 1.7em);
    height: calc(var(--sz-st) * 1.7em);
    margin-right: calc(var(--sz-st) * 0.4em);
    border-radius: 0.5em;
    background: var(--sz-surface);
    box-shadow: 0 6px 14px -6px var(--sz-shadow-c), 0 0 0 calc(var(--sz-st) * 1.5px) var(--sz-line);
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-size: calc(var(--sz-st) * 0.7em);
    vertical-align: middle;
    opacity: var(--sz-st);
    overflow: hidden;
    transform: rotate(-7deg);
}

@media (min-width: 992px) {
    [data-theme="sztori"] .art-related .row > .col-lg-4 {
        width: 25%;
    }
}

[data-theme="sztori"] .art-rel-card {
    position: relative;
    height: auto;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: var(--sz-r);
    background: var(--sz-gradient);
    box-shadow: var(--sz-shadow);
}

@media (min-width: 1800px) {
    [data-theme="sztori"] .art-rel-card {
        aspect-ratio: 4 / 3;
    }

    [data-theme="sztori"] .art-rel-card-title {
        font-size: 1.25rem;
    }
}

[data-theme="sztori"] .art-rel-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

[data-theme="sztori"] .art-rel-overlay {
    background: linear-gradient(180deg, transparent 35%, rgba(10, 6, 18, 0.88));
}

[data-theme="sztori"] .art-rel-card-title {
    color: #fff;
    font-weight: 800;
}

[data-theme="sztori"] .art-rel-meta {
    color: rgba(255, 255, 255, 0.8);
    text-transform: none;
}

/* =====================================================================
   Sub-pages, personal, editorial office, 404, cards
   ===================================================================== */
[data-theme="sztori"] .page-article {
    padding: clamp(1.25rem, 2.5vw, 3.5rem);
    border-radius: var(--sz-r-lg);
    background: var(--sz-surface);
    border: 1px solid var(--sz-line-soft);
    box-shadow: var(--sz-shadow);
}

[data-theme="sztori"] .page-article-content {
    color: var(--sz-text);
}

[data-theme="sztori"] .page-breadcrumb-plain {
    background: var(--sz-surface-2);
    color: var(--sz-muted);
}

[data-theme="sztori"] .page-breadcrumb-plain a {
    color: var(--sz-text);
}

[data-theme="sztori"] .card {
    --bs-card-bg: var(--sz-surface);
    --bs-card-color: var(--sz-text);
    --bs-card-border-color: var(--sz-line-soft);
    --bs-card-border-radius: var(--sz-r);
    --bs-card-inner-border-radius: var(--sz-r);
    border-radius: var(--sz-r);
}

[data-theme="sztori"] .card.shadow-sm,
[data-theme="sztori"] .page-child-card {
    box-shadow: var(--sz-shadow) !important;
}

[data-theme="sztori"] a.card {
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-theme="sztori"] a.card:hover {
    transform: translateY(-3px);
}

/* Category cards (404, author, category pages): story highlights */
[data-theme="sztori"] .category-card {
    border: 1px solid var(--sz-line-soft) !important;
    box-shadow: var(--sz-shadow);
}

[data-theme="sztori"] .category-card .card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
}

[data-theme="sztori"] .category-card .bi {
    display: inline-grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    margin: 0 !important;
    border-radius: 50%;
    background: var(--sz-gradient);
    color: #fff !important;
    font-size: 1.4rem !important;
    box-shadow: 0 0 0 3px var(--sz-surface), 0 0 0 calc(3px + var(--sz-rings) * 2.5px) color-mix(in srgb, #e8357f 55%, var(--sz-line));
}

[data-theme="sztori"] .category-card .card-title {
    font-weight: 800;
}

[data-theme="sztori"] .editorial-office.container,
[data-theme="sztori"] main > .container.py-5 {
    max-width: none;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

@media (min-width: 992px) {
    [data-theme="sztori"] .editorial-office.container,
    [data-theme="sztori"] main > .container.py-5 {
        padding-left: 3rem;
        padding-right: 3rem;
    }
}

[data-theme="sztori"] .editorial-author-avatar,
[data-theme="sztori"] .editorial-author-placeholder {
    border-radius: 50%;
    box-shadow: 0 0 0 4px var(--sz-surface), 0 0 0 calc(4px + var(--sz-rings) * 3.5px) #e8357f;
}

[data-theme="sztori"] .editorial-author-placeholder {
    background: var(--sz-gradient);
    color: #fff;
}

[data-theme="sztori"] .editorial-office .card-body .h5 {
    font-weight: 850;
}

[data-theme="sztori"] .editorial-office .card-body .h5::after {
    content: "\F4B5";
    font-family: "bootstrap-icons";
    margin-left: 0.3em;
    color: var(--sz-verified);
    font-weight: 400;
    font-size: 0.85em;
}

[data-theme="sztori"] .list-group {
    --bs-list-group-bg: var(--sz-surface);
    --bs-list-group-color: var(--sz-text);
    --bs-list-group-border-color: var(--sz-line);
    --bs-list-group-action-hover-bg: var(--sz-surface-2);
    --bs-list-group-action-hover-color: var(--sz-ink);
    --bs-list-group-border-radius: var(--sz-r);
}

[data-theme="sztori"] .list-group-flush {
    --bs-list-group-bg: transparent;
}

[data-theme="sztori"] .alert-primary {
    --bs-alert-bg: color-mix(in srgb, #a03be6 10%, var(--sz-surface));
    --bs-alert-color: var(--sz-ink);
    --bs-alert-border-color: color-mix(in srgb, #a03be6 30%, transparent);
    border-radius: var(--sz-r);
}

[data-theme="sztori"] .alert-light {
    --bs-alert-bg: var(--sz-surface);
    --bs-alert-color: var(--sz-text);
    --bs-alert-border-color: var(--sz-line);
    border-radius: var(--sz-r);
}

[data-theme="sztori"] .badge.text-bg-light,
[data-theme="sztori"] .badge.text-bg-secondary,
[data-theme="sztori"] .badge.text-bg-primary {
    border: 0 !important;
    border-radius: 999px;
    background: var(--sz-surface-2) !important;
    color: var(--sz-ink) !important;
    font-weight: 700;
}

[data-theme="sztori"] .badge.text-bg-primary {
    background: var(--sz-gradient) !important;
    color: #fff !important;
}

/* 404: a "nothing here" sticker */
[data-theme="sztori"] main > .container.py-5 > .text-center > .bi-exclamation-triangle {
    display: inline-grid;
    place-items: center;
    width: 8.5rem;
    height: 8.5rem;
    border-radius: 2rem;
    background: var(--sz-surface);
    box-shadow: 0 0 0 6px var(--sz-surface), 0 0 0 9px var(--sz-line), 0 24px 40px -20px var(--sz-shadow-c);
    color: transparent !important;
    font-size: 0 !important;
    transform: rotate(-8deg);
}

[data-theme="sztori"] main > .container.py-5 > .text-center > .bi-exclamation-triangle::before {
    content: "🙈";
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-size: 4.4rem;
    color: initial;
}

[data-theme="sztori"] main > .container.py-5 .display-4 {
    font-family: var(--sz-font-display);
    font-size: clamp(4.5rem, 9vw, 10rem);
    font-weight: 900;
    letter-spacing: -0.05em;
    background: var(--sz-text-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

[data-theme="sztori"] main > .container.py-5 .border-top {
    border-top: 0 !important;
}

/* =====================================================================
   Buttons, pagination, forms
   ===================================================================== */
[data-theme="sztori"] .btn {
    border-radius: 999px;
    font-weight: 700;
}

[data-theme="sztori"] .btn-primary {
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-color: var(--primary-contrast);
    --bs-btn-hover-bg: var(--primary-strong);
    --bs-btn-hover-border-color: var(--primary-strong);
    --bs-btn-hover-color: var(--primary-contrast);
    --bs-btn-active-bg: var(--primary-strong);
    --bs-btn-active-border-color: var(--primary-strong);
    box-shadow: 0 10px 22px -12px rgba(var(--primary-rgb), 0.8);
}

[data-theme="sztori"] .btn-outline-primary {
    --bs-btn-color: var(--accent-text, var(--primary-color));
    --bs-btn-border-color: color-mix(in srgb, var(--primary-color) 55%, transparent);
    --bs-btn-hover-bg: var(--primary-color);
    --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-hover-color: var(--primary-contrast);
}

[data-theme="sztori"] .btn-outline-secondary {
    --bs-btn-color: var(--sz-text);
    --bs-btn-border-color: var(--sz-line);
    --bs-btn-hover-bg: var(--sz-surface-2);
    --bs-btn-hover-border-color: var(--sz-line);
    --bs-btn-hover-color: var(--sz-ink);
}

[data-theme="sztori"] .pagination {
    gap: 0.4rem;
    flex-wrap: wrap;
}

[data-theme="sztori"] .page-link {
    padding: 0.55rem 1.15rem;
    border: 1px solid var(--sz-line) !important;
    border-radius: 999px !important;
    background: var(--sz-surface);
    color: var(--sz-ink);
    font-weight: 700;
    box-shadow: none;
}

[data-theme="sztori"] .page-link:hover {
    background: var(--sz-surface-2);
    color: var(--sz-ink);
}

[data-theme="sztori"] .page-item.active .page-link {
    border-color: transparent !important;
    background: var(--sz-gradient);
    color: #fff;
}

[data-theme="sztori"] .page-item.disabled .page-link {
    background: transparent;
    color: var(--sz-muted);
    opacity: 0.6;
}

[data-theme="sztori"] .form-control,
[data-theme="sztori"] .form-select {
    border-color: var(--sz-line);
    border-radius: var(--sz-r-sm);
    background-color: var(--sz-surface);
    color: var(--sz-ink);
}

[data-theme="sztori"] .form-control:focus,
[data-theme="sztori"] .form-select:focus {
    border-color: #a03be6;
    box-shadow: 0 0 0 0.22rem color-mix(in srgb, #a03be6 22%, transparent);
}

[data-theme="sztori"] .form-check-input:checked {
    background-color: #a03be6;
    border-color: #a03be6;
}

[data-theme="sztori"] .module-hero,
[data-theme="sztori"] .module-searchbar {
    border-radius: var(--sz-r);
}

/* Cookie banner: a rounded app sheet */
[data-theme="sztori"] .cookie-consent-card {
    border: 1px solid var(--sz-line);
    border-radius: var(--sz-r-lg);
    background: var(--sz-surface);
    color: var(--sz-text);
    box-shadow: 0 30px 60px -24px var(--sz-shadow-c);
}

[data-theme="sztori"] .cookie-consent-card h2 {
    font-weight: 850;
}

[data-theme="sztori"] .cookie-provider-option {
    border-radius: var(--sz-r-sm);
    background: var(--sz-surface-2);
    border-color: var(--sz-line);
}

/* =====================================================================
   Footer: the night-mode app sheet (dark in both schemes)
   ===================================================================== */
[data-theme="sztori"] .site-footer {
    position: relative;
    margin-top: 4rem !important;
    border-radius: var(--sz-r-lg) var(--sz-r-lg) 0 0;
    background:
        radial-gradient(60% 120% at 0% 0%, color-mix(in srgb, #e8357f 22%, transparent), transparent 60%),
        radial-gradient(50% 120% at 100% 0%, color-mix(in srgb, #5a55ee 24%, transparent), transparent 60%),
        var(--sz-night);
    color: rgba(255, 255, 255, 0.75);
    overflow: hidden;
    isolation: isolate;
}

[data-theme="sztori"] .site-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--sz-gradient);
}

[data-theme="sztori"] .footer-inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

@media (min-width: 992px) {
    [data-theme="sztori"] .footer-inner {
        padding-left: 3rem;
        padding-right: 3rem;
    }
}

[data-theme="sztori"] .footer-top {
    padding: 2rem 0 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

[data-theme="sztori"] .footer-brand {
    font-family: var(--sz-font-display);
    font-size: 1.4rem;
    font-weight: 900;
    color: #fff;
}

[data-theme="sztori"] .footer-brand .bi {
    display: inline-grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background: var(--sz-gradient);
    color: #fff;
    font-size: 1rem;
    vertical-align: middle;
}

[data-theme="sztori"] .footer-social {
    gap: 0.5rem;
}

[data-theme="sztori"] .footer-social a {
    display: inline-grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    transition: background 0.2s ease, transform 0.2s ease;
}

[data-theme="sztori"] .footer-social a:hover {
    background: var(--sz-gradient);
    transform: translateY(-2px) rotate(-6deg);
}

[data-theme="sztori"] .footer-cats {
    padding: 1.1rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent;
}

[data-theme="sztori"] .footer-cats .footer-inner {
    gap: 0.45rem;
}

[data-theme="sztori"] .footer-cats-label {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
}

[data-theme="sztori"] .footer-cat-link {
    padding: 0.3rem 0.85rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.8rem;
    font-weight: 650;
    letter-spacing: 0;
    text-transform: none;
}

[data-theme="sztori"] .footer-cat-link::before {
    content: "#";
    color: #ff7ab6;
    font-weight: 800;
}

[data-theme="sztori"] .footer-cat-link:last-child {
    border: 0;
}

[data-theme="sztori"] .footer-cat-link:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

[data-theme="sztori"] .footer-bottom {
    padding: 1.2rem 0 1.4rem;
}

[data-theme="sztori"] .footer-copy,
[data-theme="sztori"] .footer-built {
    color: rgba(255, 255, 255, 0.6);
}

[data-theme="sztori"] .footer-contact,
[data-theme="sztori"] .footer-cookie-link {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.85);
}

[data-theme="sztori"] .footer-contact i {
    color: #ff7ab6;
}

/* =====================================================================
   Dark scheme details
   ===================================================================== */
[data-theme="sztori"][data-bs-theme="dark"] .sz-tab-active,
[data-theme="sztori"][data-bs-theme="dark"] .sz-tab-active:hover,
[data-theme="sztori"][data-bs-theme="dark"] .search-cat-item.search-cat-active,
[data-theme="sztori"][data-bs-theme="dark"] .page-sidebar-current {
    background: var(--sz-gradient) !important;
    color: #fff !important;
}

[data-theme="sztori"][data-bs-theme="dark"] .sz-tab-active .bi,
[data-theme="sztori"][data-bs-theme="dark"] .search-cat-item.search-cat-active .bi {
    color: #fff !important;
}

[data-theme="sztori"][data-bs-theme="dark"] .sz-chip,
[data-theme="sztori"][data-bs-theme="dark"] .category-chip {
    background: color-mix(in srgb, var(--cat-color, var(--primary-color)) 22%, var(--sz-surface));
    color: color-mix(in srgb, var(--cat-color, var(--primary-color)) 45%, #fff);
}

[data-theme="sztori"][data-bs-theme="dark"] .sz-trend-cat {
    color: color-mix(in srgb, var(--cat-color, var(--primary-color)) 45%, #fff);
}

[data-theme="sztori"][data-bs-theme="dark"] .sz-stories,
[data-theme="sztori"][data-bs-theme="dark"] .sz-post,
[data-theme="sztori"][data-bs-theme="dark"] .sz-panel,
[data-theme="sztori"][data-bs-theme="dark"] .art-main,
[data-theme="sztori"][data-bs-theme="dark"] .listing-row:not(.for-you-card),
[data-theme="sztori"][data-bs-theme="dark"] .page-article {
    border-color: var(--sz-line);
}

[data-theme="sztori"][data-bs-theme="dark"] .sz-profile-cover,
[data-theme="sztori"][data-bs-theme="dark"] .listing-hero:not(.sz-profile) {
    filter: saturate(0.92) brightness(0.86);
}

[data-theme="sztori"][data-bs-theme="dark"] .site-footer {
    border-top: 1px solid var(--sz-line);
}

[data-theme="sztori"][data-bs-theme="dark"] .article-content h2 {
    background-image: linear-gradient(90deg, color-mix(in srgb, #e8357f 40%, transparent), color-mix(in srgb, #5a55ee 36%, transparent));
}

[data-theme="sztori"][data-bs-theme="dark"] .navbar-brand {
    box-shadow: 0 0 0 2px var(--sz-page);
}

/* =====================================================================
   Motion
   ===================================================================== */
@media (prefers-reduced-motion: reduce) {
    [data-theme="sztori"] *,
    [data-theme="sztori"] *::before,
    [data-theme="sztori"] *::after {
        animation: none !important;
        transition: none !important;
    }

    [data-theme="sztori"] .sz-post-card:hover,
    [data-theme="sztori"] .sz-reel:hover,
    [data-theme="sztori"] .listing-row:hover,
    [data-theme="sztori"] a.card:hover,
    [data-theme="sztori"] .for-you-card:hover {
        transform: none;
    }

    [data-theme="sztori"] .sz-reel:hover .sz-reel-media img,
    [data-theme="sztori"] .sz-post:hover .sz-post-media img,
    [data-theme="sztori"] a:hover .sz-ring::before {
        transform: none;
    }
}

html[data-theme="sztori"][data-reader-motion="reduce"] *,
html[data-theme="sztori"][data-reader-motion="reduce"] *::before,
html[data-theme="sztori"][data-reader-motion="reduce"] *::after {
    animation: none !important;
    transition: none !important;
}

html[data-theme="sztori"][data-reader-motion="reduce"] .sz-post-card:hover,
html[data-theme="sztori"][data-reader-motion="reduce"] .sz-reel:hover,
html[data-theme="sztori"][data-reader-motion="reduce"] .listing-row:hover,
html[data-theme="sztori"][data-reader-motion="reduce"] a.card:hover,
html[data-theme="sztori"][data-reader-motion="reduce"] .for-you-card:hover,
html[data-theme="sztori"][data-reader-motion="reduce"] .sz-reel:hover .sz-reel-media img,
html[data-theme="sztori"][data-reader-motion="reduce"] .sz-post:hover .sz-post-media img,
html[data-theme="sztori"][data-reader-motion="reduce"] a:hover .sz-ring::before {
    transform: none;
}
