          body, html {
            margin: 0; padding: 0; width: 100%; background-color: #f4f7f9;
            font-family: 'Poppins', sans-serif; overflow-x: hidden;
            -webkit-tap-highlight-color: transparent;
        }

        #library-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr); 
            gap: 15px;
            padding: 15px;
            width: 100%;
            box-sizing: border-box;
        }

        .book-item {
            position: relative;
            background: #fff;
            border-radius: 12px;
            padding: 8px;
            display: flex;
            flex-direction: column;
            box-shadow: 0 8px 20px rgba(0,0,0,0.06);
            transition: transform 0.2s ease;
            border: 1px solid rgba(0,0,0,0.02);
            overflow: hidden;
           box-shadow: 
    0 15px 10px -10px rgba(0, 0, 0, 0.4),
    0 0 7px rgba(255, 255, 255, 0.7);

        }

        .free-tag {
            position: absolute;
            top: 8px;
            right: -28px;
            background: rgba(255, 204, 0, 0.85); 
            backdrop-filter: blur(2px); 
            color: #000;
            padding: 2px 30px;
            font-size: 9px;
            font-weight: 800;
            transform: rotate(45deg);
            z-index: 10;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }

        .book-img {
            width: 100%;
            aspect-ratio: 2/3; 
            object-fit: cover;
            border-radius: 8px;
            display: block;
            margin-bottom: 8px;
        }

        .btn-dl {
            color: #fff;
            border: none;
            width: 100%;
            padding: 10px 0;
            font-size: 13px;
            font-weight: 700;
            border-radius: 8px;
            cursor: pointer;
            text-transform: uppercase;
            box-shadow: 0 4px 10px rgba(0, 123, 255, 0.25);
            transition: 0.2s;
          background: linear-gradient(0deg,#007bff,#0056b3 49.5%,#0056b3 60%,#0056b3 95%,#0056b3);
	border-radius: 10px/50%;    border-right: 1px solid #ffffff29;
 box-shadow: 
    0 15px 10px -10px rgba(0, 0, 0, 0.4),
    0 0 7px rgba(255, 255, 255, 0.7);
  animation: glow-rotate 3s linear infinite;

        }

        .btn-dl:active { transform: scale(0.96); }

        #loading-ui { display: none; width: 90%; max-width: 400px; margin: 60px auto; text-align: center; }
        .p-container { width: 100%; height: 8px; background: #e0e0e0; border-radius: 10px; overflow: hidden; margin-top: 15px; }
        .p-bar { width: 0%; height: 100%; background: #007bff; transition: width 0.1s linear; }

        #locker-ui { display: none; width: 100%; animation: fadeIn 0.4s ease; background: #fff; }
        .instruction-text { padding: 25px 20px; font-size: 14px; line-height: 1.6; color: #333; }
        #offerContainer { padding: 0 15px 50px 15px; display: flex; flex-direction: column; gap: 15px; }

        .offer-card {
            background: linear-gradient(0deg,#0066cc,#0066cc 45%,#0066cc 75%,#0066cc 100%);
            display:flex; align-items: center; padding: 12px; border-radius: 50px; 
            border: 1px solid #ffcc00; animation: glow-rotate 3s linear infinite;
            text-decoration: none; box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        }
        .offer-link { display:flex; align-items:center; gap:12px; color: #fff; width: 100%; }
        .offer-icon { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #fff; }
        .offer-anchor { font-size: 14px; font-weight: 600; text-align: left; }

        @keyframes glow-rotate { 0% { border-color: #ffcc00; } 50% { border-color: #fff; } 100% { border-color: #ffcc00; } }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
        .hidden { display: none !important; }

        @media (min-width: 768px) {
            #library-grid { grid-template-columns: repeat(4, 1fr); gap: 25px; padding: 40px; }
        }
