    :root {
      --primary: #5a60ff;
      --primary-soft: #9a7bff;
      --bg-gradient: linear-gradient(135deg, #f5f7ff, #fdf3ff);
      --text-main: #222;
      --text-sub: #666;
      --card-bg: rgba(255, 255, 255, 0.85);
      --border-soft: rgba(0, 0, 0, 0.06);
      --shadow-soft: 0 18px 45px rgba(31, 38, 135, 0.11);
      --radius-lg: 18px;
      --radius-md: 12px;
      --transition-fast: 180ms ease-out;
    }
    * { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
      color: var(--text-main);
      background: radial-gradient(circle at top left, #fbe9ff 0, transparent 45%),
                  radial-gradient(circle at bottom right, #e3f0ff 0, transparent 45%),
                  var(--bg-gradient);
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }

    .site-shell {
      max-width: 1120px;
      margin: 0 auto;
      padding: 16px 16px 40px;
      width: 100%;
      flex: 1 0 auto;
    }
    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 12px 18px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.8);
      backdrop-filter: blur(18px);
      box-shadow: 0 12px 30px rgba(15, 23, 42, 0.09);
      position: sticky;
      top: 12px;
      z-index: 20;
      animation: float-in 420ms ease-out;
    }
    .nav-left { display:flex;align-items:center;gap:10px; }
    .nav-logo {
      width: 32px;height: 32px;border-radius: 12px;
      background: conic-gradient(from 210deg, #5a60ff, #ff92de, #ffc857, #5a60ff);
      display:flex;align-items:center;justify-content:center;
      position:relative;overflow:hidden;
    }
    .nav-logo::after {
      content:"";position:absolute;inset:2px;border-radius:10px;
      background: radial-gradient(circle at 20% 0, rgba(255,255,255,0.8), transparent 55%);
      mix-blend-mode:screen;
    }
    .nav-title-main { font-weight:700;letter-spacing:0.03em;font-size:15px; }
    .nav-title-sub { font-size:11px;color:var(--text-sub); }

    .nav-center {
      display:flex;align-items:center;gap:18px;font-size:14px;
    }
    .nav-link {
      position:relative;padding:4px 0;cursor:pointer;
    }
    .nav-link::after {
      content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
      border-radius:999px;
      background:linear-gradient(90deg,#ff92de,#5a60ff);
      opacity:0;transform:scaleX(0.5);
      transform-origin:center;
      transition:opacity var(--transition-fast),transform var(--transition-fast);
    }
    .nav-link:hover::after,.nav-link.active::after {
      opacity:1;transform:scaleX(1);
    }

    .nav-right { display:flex;align-items:center;gap:10px; }

    .lang-switch {
      display:flex;align-items:center;gap:4px;
      padding:4px 10px;
      background:rgba(248,250,252,0.9);
      border-radius:999px;
      border:1px solid rgba(148,163,184,0.4);
      font-size:12px;
      cursor:pointer;
      position:relative;
    }
    .lang-switch span.code { font-weight:600; }
    .lang-dropdown {
      position:absolute;right:0;top:110%;
      background:#fff;border-radius:12px;
      box-shadow:0 16px 36px rgba(15,23,42,0.16);
      padding:6px;display:none;min-width:140px;
    }
    .lang-option {
      padding:6px 10px;border-radius:8px;
      font-size:13px;cursor:pointer;
      display:flex;align-items:center;justify-content:space-between;
    }
    .lang-option:hover { background:rgba(148,163,184,0.08); }
    .lang-option small { color:var(--text-sub); }

    .btn-primary {
      padding:8px 14px;border-radius:999px;border:none;
      background:linear-gradient(120deg,#5a60ff,#ff92de);
      color:#fff;font-size:13px;cursor:pointer;
      box-shadow:0 14px 30px rgba(90,96,255,0.35);
      transform:translateY(0);
      transition:transform 160ms ease-out,box-shadow 160ms ease-out;
    }
    .btn-primary:hover {
      transform:translateY(-1px);
      box-shadow:0 18px 40px rgba(90,96,255,0.45);
    }

    .page {
      margin-top:22px;
      display:grid;
      grid-template-columns:minmax(0,3fr) minmax(260px,1.35fr);
      gap:22px;
      align-items:flex-start;
    }

    .card {
      background:var(--card-bg);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-soft);
      border:1px solid var(--border-soft);
      padding:18px 18px 18px;
      position:relative;
      overflow:hidden;
    }
    .card::before {
      content:"";position:absolute;inset:0;
      background:radial-gradient(circle at top right,rgba(90,96,255,0.1),transparent 55%);
      opacity:0;transition:opacity var(--transition-fast);
      pointer-events:none;
    }
    .card:hover::before { opacity:1; }

    .card-header {
      display:flex;justify-content:space-between;align-items:baseline;
      margin-bottom:10px;gap:8px;
    }
    .card-title { font-size:17px;font-weight:600; }
    .card-sub { font-size:12px;color:var(--text-sub); }

    .hero {
      display:grid;
      grid-template-columns:minmax(0,3fr) minmax(0,2.6fr);
      gap:18px;align-items:center;
      padding:18px 20px 16px;
      border-radius:22px;
      background:radial-gradient(circle at 0% 0%,rgba(255,255,255,0.9),transparent 60%),
                  linear-gradient(120deg,#191f6a,#632566,#f58b84);
      color:#f9fafb;position:relative;overflow:hidden;
    }
    .hero::after {
      content:"";position:absolute;width:220px;height:220px;border-radius:999px;
      background:radial-gradient(circle,rgba(255,255,255,0.12),transparent 60%);
      right:-40px;top:-50px;filter:blur(2px);opacity:0.75;
    }
    .hero-main { position:relative;z-index:1; }
    .hero-kicker {
      display:inline-flex;align-items:center;gap:6px;
      font-size:11px;padding:4px 10px;
      border-radius:999px;
      background:rgba(15,23,42,0.45);
      border:1px solid rgba(148,163,184,0.4);
      margin-bottom:8px;
    }
    .hero-title { font-size:24px;font-weight:700;letter-spacing:0.02em;margin-bottom:6px; }
    .hero-desc { font-size:13px;color:#e2e8f0;max-width:420px; }
    .hero-actions { margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:center; }
    .hero-stat { font-size:11px;color:#cbd5f5; }

    .hero-cover { position:relative;z-index:1;display:flex;justify-content:flex-end; }
    .hero-cover-inner {
      width:min(260px,100%);border-radius:18px;overflow:hidden;
      box-shadow:0 24px 60px rgba(15,23,42,0.65);
      transform:translateY(0);
      transition:transform 200ms ease-out;
    }
    .hero-cover-inner:hover { transform:translateY(-3px); }
    .hero-cover img {
      width:100%;height:100%;object-fit:cover;display:block;
      transform:scale(1.02);transition:transform 260ms ease-out;
    }
    .hero-cover-inner:hover img { transform:scale(1.05); }

    .book-list {
      display:grid;
      grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
      gap:14px;margin-top:10px;
    }
    .book-card {
      border-radius:var(--radius-md);
      background:rgba(248,250,252,0.95);
      border:1px solid var(--border-soft);
      padding:10px;
      display:flex;flex-direction:column;gap:6px;
      cursor:pointer;position:relative;overflow:hidden;
      transition:transform 160ms ease-out,box-shadow 160ms ease-out,border-color 160ms ease-out;
    }
    .book-card:hover {
      transform:translateY(-2px);
      border-color:rgba(90,96,255,0.35);
      box-shadow:0 16px 36px rgba(148,163,184,0.28);
    }
    .book-cover {
      width:100%;aspect-ratio:3/4;
      border-radius:12px;overflow:hidden;
      background:#e2e8f0;position:relative;
    }
    .book-cover img {
      width:100%;height:100%;object-fit:cover;
      transform:scale(1.03);
      transition:transform 220ms ease-out;
    }
    .book-card:hover .book-cover img { transform:scale(1.07); }
    .book-meta-title { font-size:13px;font-weight:600;line-height:1.3; }
    .book-meta-author { font-size:11px;color:var(--text-sub); }
    .book-meta-tags { display:flex;flex-wrap:wrap;gap:4px;margin-top:2px; }
    .tag {
      font-size:10px;padding:2px 6px;border-radius:999px;
      background:rgba(148,163,184,0.1);color:#475569;
    }

    .sidebar { display:flex;flex-direction:column;gap:16px; }

    .ad-block {
      border-radius:18px;padding:14px;
      background:radial-gradient(circle at 0 0,rgba(255,255,255,0.95),rgba(255,255,255,0.8) 30%,rgba(90,96,255,0.16) 100%);
      border:1px solid rgba(129,140,248,0.45);
      box-shadow:0 18px 40px rgba(79,70,229,0.38);
      position:sticky;top:80px;
      animation:soft-pulse 6s ease-in-out infinite;
    }
    .ad-label { font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(15,23,42,0.55);margin-bottom:6px; }
    .ad-title { font-size:15px;font-weight:600;margin-bottom:4px; }
    .ad-desc { font-size:12px;color:var(--text-sub);margin-bottom:10px; }

    .ad-bottom-mobile {
      position:fixed;left:0;right:0;bottom:14px;
      margin:0 auto;max-width:480px;
      padding:10px 14px;
      background:radial-gradient(circle at 0 0,rgba(255,255,255,0.96),rgba(255,255,255,0.9) 40%,rgba(244,114,182,0.16) 100%);
      border-radius:18px;
      box-shadow:0 18px 48px rgba(15,23,42,0.4);
      display:none;z-index:25;
      border:1px solid rgba(244,114,182,0.55);
    }
    .ad-bottom-row { display:flex;align-items:center;gap:10px; }
    .ad-bottom-thumb { width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#5a60ff,#ff92de);flex-shrink:0; }
    .ad-bottom-meta { flex:1; }
    .ad-bottom-title { font-size:13px;font-weight:600; }
    .ad-bottom-desc { font-size:11px;color:var(--text-sub); }
    .ad-close { background:transparent;border:none;font-size:18px;cursor:pointer;color:#64748b; }

    footer {
      border-top:1px solid rgba(148,163,184,0.25);
      background:rgba(248,250,252,0.9);
    }
    footer .footer-inner {
      max-width:1120px;
      margin:0 auto;
      padding:14px 16px;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
      justify-content:space-between;
      font-size:12px;
      color:#64748b;
    }
    footer .footer-links { display:flex;gap:12px;flex-wrap:wrap; }

    @keyframes float-in {
      from { opacity:0;transform:translateY(-4px) scale(0.98); }
      to { opacity:1;transform:translateY(0) scale(1); }
    }
    @keyframes soft-pulse {
      0%,100% { transform:translateY(0);box-shadow:0 18px 40px rgba(79,70,229,0.36); }
      50% { transform:translateY(-3px);box-shadow:0 24px 60px rgba(79,70,229,0.52); }
    }

    @media (max-width:880px) {
      .page { grid-template-columns:minmax(0,1fr); }
      .hero { grid-template-columns:minmax(0,1fr); }
      .hero-cover { justify-content:flex-start; }
      .sidebar { display:none; }
      .ad-bottom-mobile { display:block; }
      .nav-center { display:none; }
    }
    @media (max-width:600px) {
      .site-shell { padding:12px 10px 72px; }
      .book-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    }