
    :root {
      --ink: #20213b;
      --muted: #747694;
      --primary: #7a63e4;
      --primary-dark: #5f4bc2;
      --cyan: #52d8e2;
      --pink: #f39bc8;
      --surface: rgba(255, 255, 255, .74);
      --line: rgba(109, 92, 184, .12);
      --shadow: 0 22px 70px rgba(70, 55, 135, .11);
      --shadow-soft: 0 12px 36px rgba(70, 55, 135, .08);
      --radius-xl: 30px;
      --radius-lg: 22px;
      --container: 1160px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      min-height: 100vh;
      margin: 0;
      color: var(--ink);
      background:
        radial-gradient(circle at 10% 10%, rgba(82,216,226,.16), transparent 28rem),
        radial-gradient(circle at 88% 18%, rgba(243,155,200,.16), transparent 25rem),
        radial-gradient(circle at 48% 70%, rgba(122,99,228,.1), transparent 34rem),
        #f7f5ff;
      font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-size: 16px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
    }
    body::before, body::after {
      position: fixed;
      z-index: -1;
      width: 18rem;
      height: 18rem;
      border-radius: 50%;
      content: "";
      filter: blur(10px);
      opacity: .38;
      pointer-events: none;
    }
    body::before {
      top: 12rem; right: -8rem;
      background: linear-gradient(135deg, var(--cyan), var(--primary));
    }
    body::after {
      bottom: 5rem; left: -10rem;
      background: linear-gradient(135deg, var(--pink), #fff0bd);
    }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    img { display: block; max-width: 100%; }
    h1, h2, h3, p { margin-top: 0; }
    .shell { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
    .site-header { position: sticky; z-index: 50; top: 12px; padding-top: 12px; }
    .nav-shell {
      display: flex;
      min-height: 68px;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      padding: 10px 14px 10px 12px;
      border: 1px solid rgba(255,255,255,.86);
      border-radius: 20px;
      background: rgba(255,255,255,.72);
      box-shadow: 0 14px 44px rgba(67,56,120,.09);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }
    .brand { display: inline-flex; min-width: max-content; align-items: center; gap: 11px; }
    .brand-mark {
      display: grid;
      width: 44px;
      height: 44px;
      place-items: center;
      border-radius: 14px;
      color: #fff;
      background: linear-gradient(135deg, var(--primary), var(--cyan));
      box-shadow: 0 10px 25px rgba(122,99,228,.28);
    }
    .brand-mark svg { width: 23px; height: 23px; }
    .brand-copy { display: grid; line-height: 1.1; }
    .brand-copy strong { font-size: 14px; letter-spacing: -.02em; }
    .brand-copy small {
      margin-top: 5px;
      color: var(--muted);
      font-size: 9px;
      font-weight: 750;
      letter-spacing: .17em;
    }
    .main-nav { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
    .main-nav a {
      padding: 10px 13px;
      border-radius: 12px;
      color: #555873;
      font-size: 13px;
      font-weight: 650;
      transition: 180ms ease;
    }
    .main-nav a:hover, .main-nav a[aria-current="page"] {
      color: var(--primary-dark);
      background: rgba(122,99,228,.1);
    }
    main { min-height: calc(100vh - 300px); padding: 72px 0 80px; }
    .view[hidden] { display: none !important; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 18px;
      color: var(--primary-dark);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .eyebrow::before { width: 20px; height: 1px; background: currentColor; content: ""; }
    .hero {
      position: relative;
      display: grid;
      min-height: 440px;
      grid-template-columns: minmax(0,1.2fr) minmax(290px,.8fr);
      align-items: center;
      gap: 54px;
      overflow: hidden;
      padding: clamp(36px,6vw,72px);
      border: 1px solid rgba(255,255,255,.9);
      border-radius: var(--radius-xl);
      background:
        linear-gradient(120deg, rgba(255,255,255,.84), rgba(255,255,255,.5)),
        linear-gradient(135deg, rgba(82,216,226,.14), rgba(243,155,200,.16));
      box-shadow: var(--shadow);
    }
    .hero::after {
      position: absolute;
      right: -80px;
      bottom: -110px;
      width: 360px;
      height: 360px;
      border: 1px solid rgba(122,99,228,.12);
      border-radius: 50%;
      box-shadow: 0 0 0 34px rgba(82,216,226,.05), 0 0 0 68px rgba(243,155,200,.04);
      content: "";
    }
    .hero-copy, .hero-art { position: relative; z-index: 1; }
    .hero h1 {
      max-width: 700px;
      margin-bottom: 20px;
      font-size: clamp(42px,6vw,72px);
      line-height: .98;
      letter-spacing: -.065em;
    }
    .gradient-text {
      color: transparent;
      background: linear-gradient(90deg,#53cbd6 5%,#7860df 55%,#dd84b7);
      -webkit-background-clip: text;
      background-clip: text;
    }
    .hero-copy > p { max-width: 610px; margin-bottom: 26px; color: #5d607f; font-size: 17px; }
    .button-row { display: flex; flex-wrap: wrap; gap: 10px; }
    .button {
      display: inline-flex;
      min-height: 46px;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 11px 18px;
      border: 0;
      border-radius: 14px;
      cursor: pointer;
      font-size: 13px;
      font-weight: 750;
      transition: transform 180ms ease, box-shadow 180ms ease;
    }
    .button:hover { transform: translateY(-2px); }
    .button-primary {
      color: #fff;
      background: linear-gradient(135deg,var(--primary),#8e72ee);
      box-shadow: 0 12px 26px rgba(122,99,228,.25);
    }
    .button-soft {
      color: var(--primary-dark);
      background: rgba(255,255,255,.72);
      box-shadow: inset 0 0 0 1px rgba(122,99,228,.12);
    }
    .hero-art { min-height: 280px; }
    .book-stack { position: absolute; inset: 0; display: grid; place-items: center; }
    .book-card {
      position: absolute;
      display: grid;
      width: min(230px,70%);
      aspect-ratio: .76;
      place-items: center;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.88);
      border-radius: 25px;
      color: #fff;
      box-shadow: 0 26px 60px rgba(62,48,126,.22);
    }
    .book-card::before {
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 28% 25%,rgba(255,255,255,.82),transparent 22%),
        linear-gradient(145deg,rgba(82,216,226,.9),rgba(122,99,228,.87) 52%,rgba(243,155,200,.9));
      content: "";
    }
    .book-card svg { position: relative; width: 84px; filter: drop-shadow(0 10px 20px rgba(72,46,137,.2)); }
    .book-back { transform: translate(-58px,8px) rotate(-12deg); opacity: .58; }
    .book-front { transform: translate(42px,-10px) rotate(7deg); }
    .sparkle {
      position: absolute;
      width: 28px;
      height: 28px;
      border-radius: 10px;
      background: rgba(255,255,255,.86);
      box-shadow: 0 10px 30px rgba(122,99,228,.2);
      transform: rotate(22deg);
    }
    .sparkle-one { top: 6%; right: 4%; }
    .sparkle-two { bottom: 4%; left: 2%; width: 18px; height: 18px; background: rgba(82,216,226,.72); }
    .stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 16px 0 68px; }
    .stat {
      padding: 18px 22px;
      border: 1px solid rgba(255,255,255,.85);
      border-radius: 18px;
      background: rgba(255,255,255,.66);
      box-shadow: var(--shadow-soft);
    }
    .stat strong { display: block; color: var(--primary-dark); font-size: 22px; letter-spacing: -.04em; }
    .stat span { color: var(--muted); font-size: 12px; }
    .section-heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 24px;
    }
    .section-heading h2 { margin-bottom: 4px; font-size: clamp(30px,4vw,46px); line-height: 1.08; letter-spacing: -.045em; }
    .section-heading p { max-width: 520px; margin-bottom: 0; color: var(--muted); }
    .story-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
    .story-card {
      display: grid;
      min-height: 265px;
      grid-template-columns: 38% 1fr;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.94);
      border-radius: var(--radius-lg);
      background: var(--surface);
      box-shadow: var(--shadow-soft);
      transition: transform 200ms ease, box-shadow 200ms ease;
    }
    .story-card:hover { transform: translateY(-5px); box-shadow: 0 24px 55px rgba(70,55,135,.15); }
    .story-cover {
      position: relative;
      min-height: 265px;
      overflow: hidden;
      background: linear-gradient(145deg,#d4f7f7,#ded4ff 55%,#f8cee2);
    }
    .story-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; }
    .story-card:hover .story-cover img { transform: scale(1.04); }
    .story-cover::after { position: absolute; inset: 0; background: linear-gradient(to top,rgba(50,40,103,.22),transparent 50%); content: ""; }
    .story-info {
      display: flex;
      min-width: 0;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      padding: clamp(22px,3vw,34px);
    }
    .pill {
      display: inline-flex;
      padding: 5px 9px;
      border-radius: 999px;
      color: var(--primary-dark);
      background: rgba(122,99,228,.1);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .story-info h3 { margin: 12px 0 8px; font-size: clamp(20px,2.3vw,27px); line-height: 1.13; letter-spacing: -.035em; }
    .story-info p {
      display: -webkit-box;
      margin-bottom: 18px;
      overflow: hidden;
      color: var(--muted);
      font-size: 13px;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
    }
    .text-link { margin-top: auto; color: var(--primary-dark); font-size: 12px; font-weight: 800; }
    .loading-card {
      min-height: 265px;
      border-radius: var(--radius-lg);
      background: linear-gradient(100deg,rgba(255,255,255,.45) 25%,rgba(255,255,255,.85) 45%,rgba(255,255,255,.45) 65%);
      background-size: 250% 100%;
      animation: shimmer 1.35s infinite linear;
    }
    .catalog-loader {
      display: flex;
      grid-column: 1 / -1;
      align-items: center;
      justify-content: center;
      gap: 12px;
      min-height: 58px;
      color: var(--primary-dark);
      font-size: 12px;
      font-weight: 750;
      letter-spacing: .04em;
    }
    .catalog-spinner {
      position: relative;
      width: 30px;
      height: 30px;
      flex: 0 0 auto;
      border: 3px solid rgba(122,99,228,.13);
      border-top-color: var(--primary);
      border-radius: 50%;
      animation: spin .78s linear infinite;
      filter: drop-shadow(0 5px 8px rgba(122,99,228,.2));
    }
    .catalog-spinner::after {
      position: absolute;
      inset: 4px;
      border: 2px solid transparent;
      border-right-color: var(--cyan);
      border-radius: inherit;
      content: "";
      animation: spin .56s linear infinite reverse;
    }
    @keyframes shimmer { to { background-position: -250% 0; } }
    @keyframes spin { to { transform: rotate(1turn); } }
    @media (prefers-reduced-motion: reduce) {
      .loading-card, .catalog-spinner, .catalog-spinner::after { animation-duration: 2s; }
    }
    .back-link {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      margin-bottom: 20px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
    }
    .back-link:hover { color: var(--primary-dark); }
    .story-hero {
      display: grid;
      grid-template-columns: minmax(220px,300px) minmax(0,1fr);
      gap: clamp(28px,5vw,64px);
      padding: clamp(24px,5vw,52px);
      border: 1px solid rgba(255,255,255,.9);
      border-radius: var(--radius-xl);
      background: var(--surface);
      box-shadow: var(--shadow);
    }
    .story-poster {
      overflow: hidden;
      aspect-ratio: .78;
      border-radius: 22px;
      background: linear-gradient(145deg,#d4f7f7,#ded4ff,#f8cee2);
      box-shadow: 0 24px 55px rgba(70,55,135,.2);
    }
    .story-poster img { width: 100%; height: 100%; object-fit: cover; }
    .story-detail { align-self: center; }
    .story-detail h1 { margin: 15px 0; font-size: clamp(36px,5vw,62px); line-height: 1; letter-spacing: -.055em; }
    .author-line { margin-bottom: 22px; color: var(--primary-dark); font-size: 13px; font-weight: 750; }
    .story-summary { max-width: 690px; color: #555873; font-size: 15px; }
    .story-summary p:last-child { margin-bottom: 0; }
    .chapter-section { margin-top: 54px; }
    .chapter-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
    .chapter-toolbar h2 { margin: 0; font-size: clamp(28px,4vw,40px); letter-spacing: -.045em; }
    .search-wrap { position: relative; width: min(100%,330px); }
    .search-wrap svg {
      position: absolute;
      top: 50%;
      left: 15px;
      width: 17px;
      color: var(--muted);
      transform: translateY(-50%);
      pointer-events: none;
    }
    .chapter-search {
      width: 100%;
      height: 46px;
      padding: 0 15px 0 43px;
      border: 1px solid rgba(122,99,228,.12);
      border-radius: 14px;
      outline: none;
      color: var(--ink);
      background: rgba(255,255,255,.76);
    }
    .chapter-search:focus { border-color: rgba(122,99,228,.4); box-shadow: 0 0 0 4px rgba(122,99,228,.08); }
    .chapter-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
    .chapter-list a {
      display: flex;
      min-height: 58px;
      align-items: center;
      gap: 12px;
      padding: 12px 15px;
      border: 1px solid rgba(255,255,255,.9);
      border-radius: 15px;
      background: rgba(255,255,255,.68);
      box-shadow: 0 7px 20px rgba(70,55,135,.05);
      font-size: 13px;
      font-weight: 650;
      transition: 180ms ease;
    }
    .chapter-list a:hover {
      color: var(--primary-dark);
      border-color: rgba(122,99,228,.2);
      background: rgba(255,255,255,.92);
      transform: translateY(-2px);
    }
    .chapter-number {
      display: grid;
      min-width: 32px;
      height: 32px;
      place-items: center;
      border-radius: 10px;
      color: var(--primary-dark);
      background: rgba(122,99,228,.1);
      font-size: 10px;
      font-weight: 800;
    }
    .empty-search {
      grid-column: 1/-1;
      padding: 30px;
      border-radius: 18px;
      color: var(--muted);
      background: rgba(255,255,255,.65);
      text-align: center;
    }
    .reader-shell { width: min(calc(100% - 40px),920px); margin-inline: auto; }
    .reader-header { margin-bottom: 26px; text-align: center; }
    .reader-story {
      display: inline-block;
      margin-bottom: 10px;
      color: var(--primary-dark);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .09em;
      text-transform: uppercase;
    }
    .reader-header h1 {
      margin-bottom: 0;
      font-family: Georgia,"Times New Roman",serif;
      font-size: clamp(30px,5vw,48px);
      line-height: 1.16;
      letter-spacing: -.035em;
    }
    .reader-tools {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-bottom: 16px;
      padding: 10px;
      border: 1px solid rgba(255,255,255,.9);
      border-radius: 17px;
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow-soft);
      backdrop-filter: blur(14px);
    }
    .reader-tools > span { padding-left: 7px; color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
    .tool-buttons { display: flex; gap: 6px; }
    .tool-button {
      display: grid;
      min-width: 38px;
      height: 38px;
      place-items: center;
      border: 0;
      border-radius: 11px;
      color: var(--primary-dark);
      background: rgba(122,99,228,.09);
      cursor: pointer;
      font-weight: 800;
    }
    .tool-button:hover { background: rgba(122,99,228,.15); }
    .chapter-nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin: 16px 0; }
    .chapter-nav .button:first-child { justify-self: start; }
    .chapter-nav .button:last-child { justify-self: end; }
    .chapter-nav .disabled { visibility: hidden; pointer-events: none; }
    .chapter-home { color: var(--muted); font-size: 12px; font-weight: 750; }
    .reader-card {
      padding: clamp(28px,6vw,68px);
      border: 1px solid rgba(255,255,255,.96);
      border-radius: var(--radius-xl);
      color: #292b42;
      background: rgba(255,255,255,.84);
      box-shadow: var(--shadow);
      font-family: Georgia,"Times New Roman",serif;
      font-size: var(--reader-size,20px);
      line-height: 1.9;
    }
    .reader-card p { margin-bottom: 1.35em; }
    body.focus-mode { background: #efece3; }
    body.focus-mode::before, body.focus-mode::after { display: none; }
    body.focus-mode .reader-card {
      border-color: rgba(83,68,40,.08);
      color: #2f2b23;
      background: #fbf8ef;
      box-shadow: 0 20px 60px rgba(73,62,43,.1);
    }
    .notice {
      padding: 42px;
      border: 1px solid rgba(255,255,255,.9);
      border-radius: var(--radius-lg);
      background: var(--surface);
      box-shadow: var(--shadow-soft);
      text-align: center;
    }
    .notice h2 { margin-bottom: 8px; font-size: 28px; }
    .notice p { color: var(--muted); }
    .site-footer { padding: 0 0 30px; }
    .footer-card {
      display: grid;
      grid-template-columns: 1.3fr repeat(3,1fr);
      gap: 32px;
      padding: 38px;
      border: 1px solid rgba(255,255,255,.86);
      border-radius: 24px;
      background: rgba(255,255,255,.56);
      box-shadow: var(--shadow-soft);
    }
    .footer-intro p { max-width: 390px; margin: 14px 0 0; color: var(--muted); font-size: 12px; }
    .footer-column strong { display: block; margin-bottom: 11px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
    .footer-column a { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; }
    .footer-column a:hover { color: var(--primary-dark); }
    .copyright { margin: 18px 0 0; color: #8a8ba3; font-size: 11px; text-align: center; }
    @media (max-width: 900px) {
      .hero { grid-template-columns: 1fr; }
      .hero-art { min-height: 250px; }
      .story-grid { grid-template-columns: 1fr; }
      .footer-card { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 680px) {
      .shell, .reader-shell { width: min(calc(100% - 24px),var(--container)); }
      .site-header { top: 6px; padding-top: 6px; }
      .nav-shell { min-height: 60px; padding: 8px; }
      .brand-copy small, .main-nav a:not([aria-current="page"]) { display: none; }
      .main-nav a { padding: 9px 11px; }
      main { padding: 42px 0 58px; }
      .hero { min-height: auto; gap: 24px; padding: 34px 25px; border-radius: 24px; }
      .hero h1 { font-size: clamp(42px,13vw,58px); }
      .hero-art { min-height: 230px; }
      .book-card { width: 150px; }
      .stats { grid-template-columns: 1fr; margin-bottom: 48px; }
      .section-heading, .chapter-toolbar { align-items: flex-start; flex-direction: column; }
      .story-card { grid-template-columns: 120px 1fr; min-height: 210px; }
      .story-cover { min-height: 210px; }
      .story-info { padding: 20px; }
      .story-hero { grid-template-columns: 1fr; padding: 20px; }
      .story-poster { width: min(100%,300px); margin-inline: auto; }
      .chapter-list { grid-template-columns: 1fr; }
      .search-wrap { width: 100%; }
      .reader-tools > span, .chapter-home { display: none; }
      .reader-tools { justify-content: flex-end; }
      .chapter-nav { grid-template-columns: 1fr 1fr; }
      .reader-card { padding: 28px 22px; border-radius: 22px; font-size: var(--reader-size-mobile,18px); line-height: 1.85; }
      .footer-card { grid-template-columns: 1fr; padding: 28px; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }
    }
  
    a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #5f4bc2; outline-offset: 4px; }
    .skip-link { position: absolute; top: -100px; left: 16px; z-index: 100; padding: 12px; border-radius: 12px; background: #fff; }
    .skip-link:focus { top: 12px; }
    .reader-card { overflow-wrap: anywhere; }
    .reader-card blockquote { margin-inline: 0; padding-left: 1em; border-left: 3px solid #d0c5f6; }
    .reader-tools[hidden], .search-wrap[hidden], [hidden] { display: none !important; }
    .chapter-status { margin: 12px 0; color: #555873; }
    @media (max-width: 680px) { .chapter-home { display: inline; grid-column: 1 / -1; grid-row: 2; text-align: center; } }
  
.legacy-pending #main-content { visibility: hidden; }
