:root {
      --netflix-red: #E50914;
      --netflix-black: #141414;
      --netflix-dark: #181818;
      --netflix-card: #202020;
      --reader-bg: #F8FAFC;
      --reader-card: #FFFFFF;
      --reader-text: #0F172A;
      --reader-subtext: #475569;
      --reader-border: #E2E8F0;
    }
    body {
      font-family: 'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-size: 15px;
      line-height: 1.6;
      color: #E5E5E5;
      background-color: #141414;
      caret-color: #E50914;
    }
    .font-netflix {
      font-family: 'Oswald', 'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, sans-serif;
      letter-spacing: 0.03em;
      font-weight: 700;
    }
    .font-story-title {
      font-family: 'Roboto Condensed', 'Segoe UI', sans-serif !important;
      font-weight: 500 !important;
      letter-spacing: -0.01em;
    }
    .font-condensed {
      font-family: 'Roboto Condensed', 'Segoe UI', sans-serif;
      font-weight: 500;
      letter-spacing: -0.01em;
    }
    .font-display {
      font-family: 'Inter Tight', 'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, sans-serif;
      letter-spacing: -0.015em;
    }
    :where(.font-display) {
      font-weight: 700;
    }
    .netflix-number {
      font-family: 'Oswald', 'Be Vietnam Pro', sans-serif;
      font-size: 4.8rem;
      line-height: 0.85;
      color: #141414;
      -webkit-text-stroke: 2.8px #808080;
      text-shadow: 2px 2px 6px rgba(0,0,0,0.9);
      user-select: none;
    }
    @media (min-width: 480px) {
      .netflix-number {
        font-size: 6.2rem;
        -webkit-text-stroke: 3.2px #808080;
      }
    }
    @media (min-width: 640px) {
      .netflix-number {
        font-size: 7.8rem;
        -webkit-text-stroke: 3.8px #808080;
      }
    }
    @media (min-width: 768px) {
      .netflix-number {
        font-size: 9.5rem;
        -webkit-text-stroke: 4px #808080;
      }
    }
    .netflix-card {
      transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s ease, border-color 0.28s ease;
    }
    @media (hover: hover) and (pointer: fine) {
      .netflix-card:hover {
        transform: scale(1.035);
        z-index: 30;
        box-shadow: 0 14px 30px -6px rgba(0, 0, 0, 0.9);
      }
    }
    .discovery-rail {
      scroll-snap-type: x mandatory;
      scroll-padding-inline: 0.25rem;
      overscroll-behavior-x: contain;
    }
    .discovery-rail > * {
      scroll-snap-align: start;
    }
    .focus-ring:focus-visible,
    .story-card:focus-visible,
    button:focus-visible,
    a:focus-visible,
    input:focus-visible {
      outline: 2px solid #FFFFFF;
      outline-offset: 3px;
    }
    .story-card:focus-visible {
      border-color: #E50914;
      box-shadow: 0 0 0 4px rgba(229, 9, 20, 0.28), 0 14px 30px -6px rgba(0, 0, 0, 0.9);
    }
    @media (hover: hover) and (pointer: fine) {
      .story-card:focus-visible .story-card-actions,
      .story-card:focus-within .story-card-actions,
      .story-card:hover .story-card-actions {
        opacity: 1;
      }
    }
    @media (hover: none), (pointer: coarse) {
      .story-card-actions {
        display: none !important;
        opacity: 0 !important;
        pointer-events: none !important;
      }
      .netflix-card {
        transform: none !important;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
      }
    }
    .scrollbar-none::-webkit-scrollbar {
      display: none;
    }
    .scrollbar-none {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    .font-novel {
      font-family: 'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.75;
      letter-spacing: -0.005em;
    }
    /* Explicit Type Hierarchy (>= 1.25x scale steps) */
    h1, .type-h1 {
      font-size: 2rem;
      line-height: 2.5rem;
      letter-spacing: -0.025em;
    }
    h2, .type-h2 {
      font-size: 1.45rem;
      line-height: 2rem;
      letter-spacing: -0.015em;
    }
    h3, .type-h3 {
      font-size: 1.1rem;
      line-height: 1.55rem;
    }
    /* Netflix Styled Scrollbars */
    ::-webkit-scrollbar {
      width: 8px;
      height: 8px;
    }
    ::-webkit-scrollbar-track {
      background: #141414;
    }
    ::-webkit-scrollbar-thumb {
      background: #333333;
      border-radius: 9999px;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: #4F4F4F;
    }
    /* Editorial Content Surfaces */
    .novel-box {
      background: #181818;
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 0.75rem;
      padding: 1.25rem;
    }
    /* Reading Paper Themes */
    .theme-white {
      --reader-bg: #F8FAFC;
      --reader-text: #0F172A;
      --reader-subtext: #64748B;
      --reader-header-bg: rgba(255, 255, 255, 0.95);
      --reader-header-border: #E2E8F0;
      --reader-card-bg: #FFFFFF;
      --reader-card-border: #E2E8F0;
      --reader-card-hover-border: #E50914;
      --reader-card-text: #0F172A;
      --reader-btn-bg: #F1F5F9;
      --reader-btn-border: #CBD5E1;
      --reader-btn-text: #334155;
      --reader-btn-hover: #E2E8F0;
      --reader-drawer-bg: #FFFFFF;
      --reader-drawer-border: #E2E8F0;
      --reader-choice-pill-bg: #FEF2F2;
      --reader-choice-pill-border: #FECACA;
      --reader-choice-pill-text: #991B1B;
      background-color: #F8FAFC !important;
      color: #0F172A !important;
    }
    .theme-white .reader-surface {
      background-color: #FFFFFF !important;
      border-color: #E2E8F0 !important;
      color: #0F172A !important;
    }
    .theme-white .reader-dialogue {
      background-color: #FFFFFF !important;
      border-color: #E2E8F0 !important;
      color: #0F172A !important;
    }
    .theme-white .reader-text {
      color: #0F172A !important;
    }
    .theme-white .reader-subtext {
      color: #64748B !important;
    }
    .theme-white .reader-card-content {
      color: #0F172A !important;
    }
    .theme-white .reader-choice-pill {
      background-color: #FEF2F2 !important;
      border-color: #FECACA !important;
      color: #991B1B !important;
    }
    .theme-white .reader-header {
      background-color: rgba(255, 255, 255, 0.95) !important;
      border-color: #E2E8F0 !important;
      color: #0F172A !important;
    }
    .theme-white .reader-btn {
      background-color: #F1F5F9 !important;
      border-color: #CBD5E1 !important;
      color: #334155 !important;
    }
    .theme-white .reader-btn:hover {
      background-color: #E2E8F0 !important;
    }
    .theme-white .reader-drawer {
      background-color: #FFFFFF !important;
      border-color: #E2E8F0 !important;
      color: #0F172A !important;
    }

    .theme-sepia {
      --reader-bg: #F4EBD9;
      --reader-text: #292116;
      --reader-subtext: #78644E;
      --reader-header-bg: rgba(244, 235, 217, 0.95);
      --reader-header-border: #E4D6BE;
      --reader-card-bg: #FDF7EA;
      --reader-card-border: #E4D6BE;
      --reader-card-hover-border: #B45309;
      --reader-card-text: #292116;
      --reader-btn-bg: #EAE0CD;
      --reader-btn-border: #D8C7A8;
      --reader-btn-text: #453725;
      --reader-btn-hover: #DFD2BD;
      --reader-drawer-bg: #F4EBD9;
      --reader-drawer-border: #E4D6BE;
      --reader-choice-pill-bg: #EFE2CB;
      --reader-choice-pill-border: #DFCFAF;
      --reader-choice-pill-text: #78350F;
      background-color: #F4EBD9 !important;
      color: #292116 !important;
    }
    .theme-sepia .reader-surface {
      background-color: #FDF7EA !important;
      border-color: #E4D6BE !important;
      color: #292116 !important;
    }
    .theme-sepia .reader-dialogue {
      background-color: #F6ECDA !important;
      border-color: #E4D6BE !important;
      color: #231C13 !important;
    }
    .theme-sepia .reader-text {
      color: #2D2419 !important;
    }
    .theme-sepia .reader-subtext {
      color: #79664E !important;
    }
    .theme-sepia .reader-card-content {
      color: #292116 !important;
    }
    .theme-sepia .reader-choice-pill {
      background-color: #EFE2CB !important;
      border-color: #DFCFAF !important;
      color: #78350F !important;
    }
    .theme-sepia .reader-header {
      background-color: rgba(244, 235, 217, 0.95) !important;
      border-color: #E4D6BE !important;
      color: #292116 !important;
    }
    .theme-sepia .reader-btn {
      background-color: #EAE0CD !important;
      border-color: #D8C7A8 !important;
      color: #453725 !important;
    }
    .theme-sepia .reader-btn:hover {
      background-color: #DFD2BD !important;
    }
    .theme-sepia .reader-drawer {
      background-color: #F4EBD9 !important;
      border-color: #E4D6BE !important;
      color: #292116 !important;
    }

    .theme-dark {
      --reader-bg: #0F131D;
      --reader-text: #E2E8F0;
      --reader-subtext: #94A3B8;
      --reader-header-bg: rgba(15, 19, 29, 0.95);
      --reader-header-border: rgba(255, 255, 255, 0.1);
      --reader-card-bg: #182032;
      --reader-card-border: rgba(255, 255, 255, 0.12);
      --reader-card-hover-border: #E50914;
      --reader-card-text: #F1F5F9;
      --reader-btn-bg: #1E293B;
      --reader-btn-border: rgba(255, 255, 255, 0.15);
      --reader-btn-text: #E2E8F0;
      --reader-btn-hover: #334155;
      --reader-drawer-bg: #131A29;
      --reader-drawer-border: rgba(255, 255, 255, 0.12);
      --reader-choice-pill-bg: #2B181A;
      --reader-choice-pill-border: rgba(229, 9, 20, 0.35);
      --reader-choice-pill-text: #FCA5A5;
      background-color: #0F131D !important;
      color: #E2E8F0 !important;
    }
    .theme-dark .reader-surface {
      background-color: #182032 !important;
      border-color: rgba(255, 255, 255, 0.12) !important;
      color: #F1F5F9 !important;
    }
    .theme-dark .reader-dialogue {
      background-color: #131620 !important;
      border-color: rgba(255, 255, 255, 0.06) !important;
      color: #F1F5F9 !important;
    }
    .theme-dark .reader-text {
      color: #E2E8F0 !important;
    }
    .theme-dark .reader-subtext {
      color: #94A3B8 !important;
    }
    .theme-dark .reader-card-content {
      color: #F1F5F9 !important;
    }
    .theme-dark .reader-choice-pill {
      background-color: #2B181A !important;
      border-color: rgba(229, 9, 20, 0.35) !important;
      color: #FCA5A5 !important;
    }
    .theme-dark .reader-header {
      background-color: rgba(15, 19, 29, 0.95) !important;
      border-color: rgba(255, 255, 255, 0.1) !important;
      color: #F1F5F9 !important;
    }
    .theme-dark .reader-btn {
      background-color: #1E293B !important;
      border-color: rgba(255, 255, 255, 0.15) !important;
      color: #E2E8F0 !important;
    }
    .theme-dark .reader-btn:hover {
      background-color: #334155 !important;
    }
    .theme-dark .reader-drawer {
      background-color: #131A29 !important;
      border-color: rgba(255, 255, 255, 0.12) !important;
      color: #F1F5F9 !important;
    }

    /* Line reveal animation */
    @keyframes lineFadeIn {
      from { opacity: 0; transform: translateY(6px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .animate-line-reveal {
      animation: lineFadeIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
    @keyframes pulseFadeHint {
      0%, 100% { opacity: 0.82; transform: translateY(0); }
      50% { opacity: 1; transform: translateY(3px); }
    }
    .animate-prompt-hint {
      animation: pulseFadeHint 1.8s cubic-bezier(0.16, 1, 0.3, 1) infinite;
    }