    .ql-editor { min-height: 250px; }
    .truncate {
      max-width: 300px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    img.thumb {
      width: 80px;
      height: 60px;
      object-fit: cover;
      border-radius: 4px;
    }
    .ql-editor {
      min-height: 200px;
    }
    :root{
      --accent:#0d6efd;
      --muted:#6c757d;
      --card-radius:14px;
    }
    body { font-family: 'Segoe UI', sans-serif; background:#f7f8fb; color:#222; }
    .post-hero {
      position: relative;
      border-radius: var(--card-radius);
      overflow: hidden;
      margin-bottom: 28px;
      background-color:#111;
      color: white;
    }
    .post-hero .bg-image {
      width:100%;
      height:320px;
      background-position:center;
      background-size:cover;
      filter: brightness(0.65) saturate(1.05);
    }
    .post-hero .hero-content {
      position: absolute;
      left:0;
      right:0;
      top:0;
      bottom:0;
      display:flex;
      align-items:flex-end;
      padding: 26px;
      z-index:2;
    }
    .post-hero h1{font-size:1.9rem; margin:0; line-height:1.05}
    .post-meta { color: rgba(255,255,255,0.85); margin-top:6px; font-size:0.95rem }
    .post-body { background:white; padding:28px; border-radius:12px; box-shadow: 0 6px 22px rgba(10,15,30,0.06); }
    .post-content img{ max-width:100%; height:auto; display:block; margin: 1rem 0; border-radius:8px; }
    .post-content pre { background:#0b1220; color:#f6f8fa; padding:12px; border-radius:8px; overflow:auto; }
    .post-content code { background:#f1f3f5; padding:2px 6px; border-radius:6px; font-family:monospace; }
    .post-content table{ width:100%; border-collapse:collapse; margin:1rem 0; }
    .post-content table th, .post-content table td { border:1px solid #e9ecef; padding:8px; }
    .share-bar { position:fixed; left:18px; top:35%; z-index:1200; display:flex; flex-direction:column; gap:8px; }
    .share-bar .btn { width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:8px; box-shadow: 0 6px 10px rgba(10,15,30,0.04); }
    @media(max-width:991px){ .share-bar{ display:none; } .post-hero .bg-image { height: 220px; } }
    .sidebar .card { border-radius:12px; }
    .category-list .nav-link { color: #333; }
    .popular .position-absolute { background: linear-gradient(90deg,#0d6efd,#6610f2); opacity:0.08; }
    .zoom-controls button { width:38px; }
    .hero {
      background: linear-gradient(135deg, #00c9a7, #1a2a6c);
      color: white;
      padding: 100px 20px;
      text-align: center;
    }
    .hero h1 {
      font-size: 3rem;
      font-weight: 800;
    }
    .hero p {
      font-size: 1.25rem;
      margin-top: 15px;
    }
    .card {
      box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    }
    .footer {
      background-color: #f8f9fa;
      padding: 40px 20px;
      text-align: center;
    }
    html, body {
    height: 100%;
    }
    body {
        display: flex;
        flex-direction: column;
    }
    main {
        flex: 1 0 auto;
    }
    footer.footer {
        flex-shrink: 0;
    }
    img {
      max-width: 100%;
      height: auto;
    }