.lesson-modal .modal-content {    max-width: 750px;    width: 95%;    max-height: 90vh;    overflow-y: auto;    padding: 0;    border-radius: 25px;    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);    border: 3px solid #4facfe;    box-shadow: 0 0 50px rgba(79, 172, 254, 0.3);}.lesson-modal .modal-close {    position: absolute;    top: 15px;    left: 15px;    z-index: 100;    background: rgba(255, 255, 255, 0.2);    color: white;    border: none;    width: 40px;    height: 40px;    border-radius: 50%;    font-size: 1.5rem;    cursor: pointer;    transition: all 0.3s ease;}.lesson-modal .modal-close:hover {    background: rgba(255, 0, 0, 0.8);    transform: scale(1.1);}.lesson-header {    padding: 25px;    text-align: center;    border-radius: 22px 22px 0 0;    position: relative;}.lesson-header h2 {    color: white;    font-size: 1.8rem;    margin-bottom: 15px;    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);}.lesson-progress {    display: flex;    align-items: center;    justify-content: center;    gap: 15px;}.lesson-progress .progress-bar {    width: 200px;    height: 10px;    background: rgba(255, 255, 255, 0.2);    border-radius: 5px;    overflow: hidden;}.lesson-progress .progress-fill {    height: 100%;    background: white;    border-radius: 5px;    transition: width 0.5s ease;}.lesson-progress span {    color: white;    font-size: 0.9rem;    opacity: 0.9;}.lesson-content {    padding: 30px;    min-height: 350px;}.slide-intro,.slide-info,.slide-quiz,.slide-complete {    text-align: center;    animation: slideIn 0.5s ease-out;}@keyframes slideIn {    from {        opacity: 0;        transform: translateX(30px);    }    to {        opacity: 1;        transform: translateX(0);    }}.slide-intro .intro-image {    font-size: 6rem;    margin-bottom: 20px;    animation: float 3s ease-in-out infinite;}.slide-intro h3 {    font-size: 2rem;    color: #ffd700;    margin-bottom: 15px;}.slide-intro p {    font-size: 1.2rem;    color: rgba(255, 255, 255, 0.8);    margin-bottom: 30px;}.slide-info h3 {    font-size: 1.8rem;    color: #ffd700;    margin-bottom: 20px;}.slide-info .info-content {    font-size: 1.1rem;    color: white;    line-height: 1.8;    margin-bottom: 25px;    background: rgba(255, 255, 255, 0.05);    padding: 20px;    border-radius: 15px;    border: 1px solid rgba(255, 255, 255, 0.1);}.facts-list {    display: flex;    flex-direction: column;    gap: 12px;    margin-bottom: 30px;}.fact-item {    display: flex;    align-items: center;    gap: 12px;    background: rgba(0, 255, 136, 0.1);    padding: 12px 20px;    border-radius: 12px;    border: 1px solid rgba(0, 255, 136, 0.2);    text-align: right;}.fact-icon {    width: 30px;    height: 30px;    background: #00ff88;    color: #1a1a2e;    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    font-weight: bold;    flex-shrink: 0;}.fact-item span:last-child {    color: white;    font-size: 1rem;}.slide-quiz .quiz-icon {    font-size: 4rem;    margin-bottom: 20px;    animation: bounce 1s ease infinite;}@keyframes bounce {    0%,    100% {        transform: translateY(0);    }    50% {        transform: translateY(-10px);    }}.slide-quiz h3 {    font-size: 1.5rem;    color: white;    margin-bottom: 30px;    line-height: 1.6;}.quiz-options {    display: flex;    flex-direction: column;    gap: 12px;    max-width: 500px;    margin: 0 auto;}.quiz-option {    display: flex;    align-items: center;    gap: 15px;    padding: 15px 20px;    background: rgba(255, 255, 255, 0.1);    border: 2px solid rgba(255, 255, 255, 0.2);    border-radius: 15px;    color: white;    font-size: 1.1rem;    cursor: pointer;    transition: all 0.3s ease;    text-align: right;}.quiz-option:hover:not(:disabled) {    background: rgba(255, 255, 255, 0.2);    border-color: #4facfe;    transform: translateX(-5px);}.quiz-option:disabled {    cursor: not-allowed;}.quiz-option.correct {    background: rgba(0, 255, 136, 0.3) !important;    border-color: #00ff88 !important;    animation: correctPulse 0.5s ease;}.quiz-option.wrong {    background: rgba(255, 68, 68, 0.3) !important;    border-color: #ff4444 !important;    animation: wrongShake 0.5s ease;}.quiz-option .option-letter {    width: 35px;    height: 35px;    background: rgba(255, 215, 0, 0.3);    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    font-weight: 700;    flex-shrink: 0;}.slide-complete .complete-icon {    font-size: 5rem;    margin-bottom: 20px;    animation: celebrate 1s ease infinite;}@keyframes celebrate {    0%,    100% {        transform: scale(1) rotate(0deg);    }    25% {        transform: scale(1.1) rotate(-5deg);    }    50% {        transform: scale(1) rotate(0deg);    }    75% {        transform: scale(1.1) rotate(5deg);    }}.slide-complete h3 {    font-size: 2rem;    color: #ffd700;    margin-bottom: 15px;}.slide-complete p {    font-size: 1.2rem;    color: rgba(255, 255, 255, 0.8);    margin-bottom: 25px;}.lesson-results {    background: rgba(255, 215, 0, 0.1);    border: 2px solid rgba(255, 215, 0, 0.3);    border-radius: 20px;    padding: 25px;    margin-bottom: 25px;}.lesson-results .stars-display {    font-size: 2.5rem;    margin-bottom: 15px;    letter-spacing: 8px;}.score-details {    margin-bottom: 15px;}.score-details p {    font-size: 1rem;    color: white;    margin: 5px 0;}.points-earned {    display: flex;    align-items: center;    justify-content: center;    gap: 10px;}.points-earned .big-points {    font-size: 3rem;    font-weight: 800;    color: #00ff88;    text-shadow: 0 0 20px rgba(0, 255, 136, 0.5);}.points-earned span:last-child {    font-size: 1.2rem;    color: rgba(255, 255, 255, 0.7);}.complete-buttons {    display: flex;    gap: 15px;    justify-content: center;    flex-wrap: wrap;}.lesson-btn {    padding: 15px 35px;    font-size: 1.1rem;    font-weight: 700;    background: linear-gradient(135deg, #4facfe, #00f2fe);    color: white;    border: none;    border-radius: 15px;    cursor: pointer;    transition: all 0.3s ease;    font-family: inherit;    box-shadow: 0 5px 20px rgba(79, 172, 254, 0.4);}.lesson-btn:hover {    transform: translateY(-3px);    box-shadow: 0 8px 30px rgba(79, 172, 254, 0.6);}.lesson-btn.primary {    background: linear-gradient(135deg, #00ff88, #00cc66);    box-shadow: 0 5px 20px rgba(0, 255, 136, 0.4);}.lesson-btn.secondary {    background: linear-gradient(135deg, #667eea, #764ba2);    box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4);}@media (max-width: 768px) {    .lesson-modal .modal-content {        max-width: 100%;        margin: 10px;        border-radius: 20px;    }    .lesson-header h2 {        font-size: 1.4rem;    }    .slide-intro .intro-image {        font-size: 4rem;    }    .slide-intro h3,    .slide-complete h3 {        font-size: 1.5rem;    }    .slide-quiz h3 {        font-size: 1.2rem;    }    .quiz-option {        font-size: 1rem;        padding: 12px 15px;    }    .lesson-btn {        padding: 12px 25px;        font-size: 1rem;    }    .points-earned .big-points {        font-size: 2.5rem;    }}@media (max-width: 480px) {    .lesson-content {        padding: 20px;    }    .slide-info .info-content {        padding: 15px;        font-size: 1rem;    }    .fact-item {        padding: 10px 15px;        font-size: 0.9rem;    }    .complete-buttons {        flex-direction: column;    }}.library-body {    background-color: #f0f4f8;    background-image:        radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.4) 0%, transparent 20%),        radial-gradient(circle at 90% 80%, rgba(255, 255, 255, 0.4) 0%, transparent 20%);    min-height: 100vh;}.library-main-header {    text-align: center;    padding: 40px 20px;    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);    color: white;    margin-bottom: 30px;    border-radius: 0 0 30px 30px;    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);    position: relative;    overflow: hidden;}.library-main-header h1 {    font-size: 3rem;    font-weight: 800;    margin-bottom: 10px;    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);}.library-main-header p {    font-size: 1.2rem;    opacity: 0.9;    margin-bottom: 20px;}.library-quote {    display: inline-block;    background: rgba(255, 255, 255, 0.2);    padding: 10px 30px;    border-radius: 50px;    font-size: 1.3rem;    font-weight: 700;    color: white;    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);    backdrop-filter: blur(5px);    border: 1px solid rgba(255, 255, 255, 0.3);    animation: pulse-light 3s infinite;}@keyframes pulse-light {    0%,    100% {        transform: scale(1);        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);    }    50% {        transform: scale(1.05);        box-shadow: 0 10px 25px rgba(255, 255, 255, 0.2);    }}.nav-back-container {    padding: 20px;}.back-home-btn {    display: inline-flex;    align-items: center;    gap: 10px;    background: white;    color: #667eea;    padding: 10px 20px;    border-radius: 25px;    text-decoration: none;    font-weight: 700;    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);    transition: all 0.3s ease;}.back-home-btn:hover {    transform: translateX(5px);    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);}.category-filters {    display: flex;    justify-content: center;    flex-wrap: wrap;    gap: 10px;    margin-bottom: 40px;    padding: 0 20px;}.filter-btn {    padding: 10px 25px;    border: none;    background: white;    color: #555;    border-radius: 20px;    font-family: inherit;    font-weight: 600;    cursor: pointer;    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);    transition: all 0.3s ease;}.filter-btn:hover,.filter-btn.active {    background: #ffd700;    color: #1a1a2e;    transform: translateY(-2px);    box-shadow: 0 6px 15px rgba(255, 215, 0, 0.3);}.books-full-grid {    display: grid;    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));    gap: 30px;    padding: 20px;    max-width: 1400px;    margin: 0 auto 60px;}.book-card-full {    background: white;    border-radius: 20px;    overflow: hidden;    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);    transition: all 0.4s ease;    display: flex;    flex-direction: column;}.book-card-full:hover {    transform: translateY(-10px);    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);}.book-cover {    height: 380px;    position: relative;    overflow: hidden;    background: #f9f9f9;}.book-cover img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.5s ease;}.book-card-full:hover .book-cover img {    transform: scale(1.1);}.book-overlay {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    background: rgba(0, 0, 0, 0.4);    display: flex;    align-items: center;    justify-content: center;    opacity: 0;    transition: opacity 0.3s ease;}.book-card-full:hover .book-overlay {    opacity: 1;}.miki-badge {    position: absolute;    top: 15px;    right: 15px;    background: linear-gradient(135deg, #ffd700, #ff9a00);    color: #1a1a2e;    padding: 6px 15px;    border-radius: 20px;    font-size: 0.85rem;    font-weight: 800;    z-index: 10;    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);    border: 2px solid white;    animation: badge-pop 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);}@keyframes badge-pop {    from {        transform: scale(0);        opacity: 0;    }    to {        transform: scale(1);        opacity: 1;    }}.read-btn {    background: #ffd700;    color: #1a1a2e;    padding: 12px 30px;    border-radius: 25px;    text-decoration: none;    font-weight: 800;    transform: translateY(20px);    transition: all 0.3s ease;}.book-card-full:hover .read-btn {    transform: translateY(0);}.book-details {    padding: 20px;    text-align: center;    flex-grow: 1;    display: flex;    flex-direction: column;    justify-content: space-between;}.book-title-full {    font-size: 1.2rem;    color: #2c3e50;    margin-bottom: 20px;    line-height: 1.5;}.book-actions {    display: flex;    gap: 10px;    justify-content: center;}.action-btn {    flex: 1;    padding: 10px;    border-radius: 12px;    text-decoration: none;    font-weight: 700;    font-size: 0.9rem;    transition: all 0.3s ease;    display: flex;    align-items: center;    justify-content: center;    gap: 5px;}.action-btn.read {    background: #e0f7fa;    color: #006064;}.action-btn.read:hover {    background: #b2ebf2;}.action-btn.download {    background: #f3e5f5;    color: #4a148c;}.action-btn.download:hover {    background: #e1bee7;}.scroll-top-btn {    position: fixed;    bottom: 30px;    left: 30px;        width: 50px;    height: 50px;    background: #667eea;    color: white;    border-radius: 50%;    border: none;    cursor: pointer;    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);    display: flex;    align-items: center;    justify-content: center;    font-size: 1.2rem;    opacity: 0;    visibility: hidden;    transition: all 0.3s ease;    z-index: 1000;}.scroll-top-btn.visible {    opacity: 1;    visibility: visible;}.scroll-top-btn:hover {    transform: translateY(-5px);    background: #5a67d8;}@keyframes fadeIn {    from {        opacity: 0;        transform: translateY(20px);    }    to {        opacity: 1;        transform: translateY(0);    }}.fade-in {    animation: fadeIn 0.5s ease-out forwards;}