:root{--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--primary-light:#667eea;--primary-dark:#764ba2;--secondary-gradient:linear-gradient(135deg,#f093fb,#f5576c);--secondary-light:#f093fb;--secondary-dark:#f5576c;--success-gradient:linear-gradient(135deg,#4facfe,#00f2fe);--success-color:#10b981;--warning-gradient:linear-gradient(135deg,#ffd89b,#19547b);--warning-color:#f59e0b;--info-gradient:linear-gradient(135deg,#a8edea,#fed6e3);--level-very-easy:#10b981;--level-easy:#3b82f6;--level-normal:#8b5cf6;--level-hard:#f59e0b;--level-very-hard:#ef4444;--bg-gradient:#fff;--bg-color:#fff;--card-bg:#fff;--text-primary:#2d3748;--text-secondary:#718096;--text-light:#a0aec0;--shadow-sm:0 2px 8px #667eea1a;--shadow-md:0 4px 16px #667eea26;--shadow-lg:0 8px 32px #667eea33;--shadow-xl:0 12px 48px #667eea40;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;background-attachment:fixed;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{padding:20px}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;transition:all .3s ease}.card:hover{border-color:#667eea;border-color:var(--primary-light);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.btn{border-radius:8px;font-size:16px;font-weight:500;gap:8px;padding:12px 24px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea1a;box-shadow:var(--shadow-sm)}.btn-primary:hover:before{left:100%}.btn-primary:hover{box-shadow:0 8px 32px #667eea33;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background:#f8f9fa;border:1px solid #dee2e6;color:#495057}.btn-secondary:hover{background:#e9ecef}.btn-danger{background:#dc3545;border:1px solid #dc3545}.btn-danger:hover{background:#c82333;border-color:#bd2130;box-shadow:0 4px 12px #dc354566;transform:translateY(-2px)}.form-group{margin-bottom:20px}.form-label{color:#333;font-weight:500;margin-bottom:8px}.form-input{border:2px solid #e9ecef;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .2s ease}.page-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.page-header h1{color:#2d3748;margin:0}.books-grid,.students-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:24px}.difficulty-buttons{display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;margin-top:10px}.difficulty-buttons .btn{background-color:#f8f9fa!important;border:1px solid #dee2e6!important;color:#333!important;flex:1 1;font-size:13px;font-weight:500;min-width:60px;overflow:visible;padding:10px 8px;text-overflow:clip;white-space:nowrap}.delete-button{border-top:1px solid #e9ecef;margin-top:20px;padding-top:20px;text-align:right}.btn-delete-small{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#dc3545;display:inline-flex;font-size:16px;gap:6px;justify-content:center;padding:12px 16px;transition:all .2s ease}.btn-delete-small:hover{background:#dc3545;border-color:#dc3545;box-shadow:0 4px 12px #dc354566;color:#fff;transform:translateY(-2px)}.btn-group{gap:10px;margin-top:10px}.student-info{margin-bottom:20px}.student-actions{gap:10px;justify-content:space-between}.student-actions .btn{flex:1 1;max-width:48%;min-width:120px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.student-actions .btn-delete-small{flex:0 0 auto;max-width:50%;min-width:80px}.quiz-selector{background:#fff;border:2px solid #0077be;border-radius:12px;box-shadow:0 8px 32px #00000026;left:0;margin-top:10px;padding:20px;position:absolute;right:0;top:100%;z-index:10}.quiz-selector h4{color:#2d3748;font-size:18px;margin:0 0 15px}.book-quiz-options{border-bottom:1px solid #e9ecef;margin-bottom:20px;padding-bottom:15px}.book-quiz-options:last-of-type{border-bottom:none}.book-quiz-options h5{color:#495057;font-size:16px;margin:0 0 10px}.difficulty-options{display:flex;flex-wrap:wrap;gap:8px}.quiz-difficulty{font-size:14px;padding:8px 16px}.no-books{color:#718096;font-style:italic;margin:10px 0}.empty-state{color:#718096;padding:60px 20px}.empty-icon{font-size:64px;margin-bottom:20px}.empty-state h3{margin-bottom:10px}.loading-center{gap:20px;min-height:50vh}.quiz-header{margin-bottom:30px}.progress-bar{background:#e9ecef}.progress-fill{background:linear-gradient(135deg,#0077be,#003f7f)}.progress-text{color:#718096}.quiz-history-list{display:flex;flex-direction:column;gap:16px}.quiz-history-item{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .2s ease}.quiz-history-item:hover{border-color:#0077be;box-shadow:0 4px 12px #667eea1a;transform:translateY(-2px)}.quiz-info{flex:1 1}.quiz-info .book-title{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 8px}.quiz-details{align-items:center;display:flex;gap:12px}.difficulty-badge{background:#f7fafc;color:#4a5568;font-size:12px;font-weight:500;padding:4px 8px}.quiz-date{color:#718096;font-size:14px}.quiz-score{margin:0 20px}.score-circle{border:3px solid;flex-direction:column;font-weight:600;height:70px;width:70px}.score-circle.excellent{background:#f0fff4;border-color:#38a169;color:#38a169}.score-circle.good{background:ivory;border-color:#d69e2e;color:#d69e2e}.score-circle.needs-improvement{background:#fff5f5;border-color:#e53e3e;color:#e53e3e}.score-text{font-size:16px;line-height:1}.score-detail{font-size:10px;opacity:.8}.quiz-actions{align-items:center}.status-badge{border-radius:16px;font-size:12px;font-weight:500;padding:6px 12px}.status-badge.incomplete{background:#fed7d7;color:#c53030}@media (max-width:768px){.quiz-history-item{align-items:flex-start;flex-direction:column;gap:16px}.quiz-score{align-self:center;margin:0}.quiz-actions{align-self:stretch}.quiz-actions .btn{width:100%}}.question-card{margin:0 auto;max-width:800px}.question-type-badge{display:inline-block;font-size:14px;margin-bottom:20px;padding:8px 16px}.question-text{font-size:24px;line-height:1.4;margin-bottom:30px}.option-label{background:#f8f9fa;border-radius:12px;display:block;margin-bottom:12px;padding:16px 20px}.option-label:hover{background:#f0f4ff;border-color:#0077be}.option-label input[type=radio]:checked+.option-text{color:#0077be;font-weight:600}.results-header{margin-bottom:40px;text-align:center}.score-card{margin:0 auto 30px;max-width:400px;text-align:center}.guest-info{padding:20px;text-align:center}.guest-info p{color:#495057;margin-bottom:15px}.analysis-features{margin-top:20px;text-align:left}.analysis-features h4{color:#2d3748;margin-bottom:10px}.analysis-features ul{list-style:none;padding:0}.analysis-features li{color:#495057;padding:5px 0}.guest-analysis-notice{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-bottom:20px;padding:12px;text-align:center}.guest-analysis-notice p{color:#856404;font-size:14px;margin:0}.guest-upgrade-notice{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:20px}.guest-upgrade-notice h4{color:#2d3748;margin-bottom:10px}.guest-upgrade-notice p{color:#495057;margin-bottom:10px}.guest-upgrade-notice ul{list-style:none;margin:0;padding:0}.guest-upgrade-notice li{color:#495057;padding:5px 0}.quiz-section{margin-top:0;padding-top:2px}.book-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.book-header h3{flex:1 1;margin:0}.toggle-description-btn{align-items:center;background:#6c757d;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:30px;justify-content:center;transition:background-color .2s;width:30px}.toggle-description-btn:hover{background:#5a6268}.quiz-section h4{color:#2d3748;margin-bottom:15px}.info-section{margin-top:30px}.info-section ul{list-style:none;padding:0}.info-section li{border-bottom:1px solid #f8f9fa;color:#495057;padding:0}.info-section li:last-child{border-bottom:none}.score-circle{height:200px;margin:0 auto 20px;position:relative;width:200px}.score-circle,.score-inner{align-items:center;border-radius:50%;display:flex;justify-content:center}.score-inner{background:#fff;box-shadow:0 4px 20px #0000001a;flex-direction:column;height:160px;width:160px}.score-emoji{font-size:32px;margin-bottom:8px}.score-text{align-items:baseline;display:flex;gap:4px}.score-number{color:#2d3748;font-size:36px;font-weight:700}.score-total{color:#718096;font-size:18px}.score-percentage{color:#0077be;font-size:14px;font-weight:600}.personality-card{margin:0 auto 30px;max-width:600px}.mbti-result{background:#f8f9fa;border-radius:12px;justify-content:space-between;margin-bottom:30px;padding:20px}.mbti-result,.mbti-type{align-items:center;display:flex}.mbti-type{gap:12px}.mbti-character{font-size:32px}.mbti-text{color:#0077be;font-size:24px;font-weight:700}.confidence-score{background:#0077be;border-radius:20px;color:#fff;font-size:14px;font-weight:500;padding:8px 16px}.analysis-sections{grid-gap:20px;display:grid;gap:20px}.analysis-section{background:#f8f9fa;border-left:4px solid #0077be;border-radius:12px;padding:20px}.analysis-section h4{color:#2d3748;font-size:18px;margin:0 0 12px}.analysis-section p{color:#4a5568;line-height:1.6;margin:0}.actions-card{margin:0 auto;max-width:500px;text-align:center}.action-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}@media (max-width:768px){.container{padding:16px}.card{padding:20px}.page-header{flex-direction:column;gap:16px;text-align:center}.books-grid,.students-grid{grid-template-columns:1fr}.btn-group{flex-direction:column}.student-actions{flex-direction:row;gap:8px}.student-actions .btn{flex:1 1;font-size:14px;max-width:48%;min-width:100px;padding:10px 8px}.student-actions .btn-delete-small{flex:0 0 auto;font-size:14px;max-width:48%;min-width:80px;padding:10px 8px}.mbti-result{gap:16px;text-align:center}.action-buttons,.mbti-result{flex-direction:column}.difficulty-buttons{flex-wrap:nowrap;gap:4px;justify-content:space-between}.difficulty-buttons .btn{background-color:#f8f9fa!important;border:1px solid #dee2e6!important;color:#333!important;flex:1 1;font-size:13px;line-height:1.2;min-width:0;overflow:visible;padding:10px 6px;text-overflow:clip;white-space:nowrap}.toggle-description-btn{font-size:14px;height:28px;width:28px}}.btn-large{font-weight:600}.book-item.more-coming{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #6c757d;color:#6c757d;display:flex;flex-direction:column;justify-content:center;min-height:120px;transition:all .3s ease}.book-item.more-coming:hover{border-color:#495057;color:#495057;transform:translateY(-2px)}.more-coming-icon{font-size:24px;margin-bottom:8px}.more-coming-text{font-weight:500;line-height:1.4}.tab-container{margin:0 auto;max-width:800px}.tab-buttons{border-bottom:2px solid #e9ecef;display:flex;gap:8px;margin-bottom:24px}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.tab-btn.active,.tab-btn:hover{background-color:#f8f9fa;color:#007bff}.tab-btn.active{border-bottom-color:#007bff}.alert{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:12px;margin-bottom:24px;padding:16px 20px}.alert-icon{flex-shrink:0;font-size:18px}.alert-error{background-color:#f8d7da;border:1px solid #f5c2c7;color:#842029}.alert-success{background-color:#d1e7dd;border:1px solid #badbcc;color:#0f5132}.form-help{color:#6c757d;display:block;font-size:14px;margin-top:4px}.form-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}@media (max-width:768px){.tab-buttons{flex-direction:column;gap:0}.tab-btn{border-bottom:1px solid #e9ecef;border-radius:0;padding:16px 20px;text-align:left}.tab-btn.active{background-color:#007bff;color:#fff}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.header{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff2;border-bottom:1px solid #fff3;box-shadow:0 4px 20px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem;position:relative}.logo{border-radius:8px;color:#2d3748;font-size:1.4rem;font-weight:700;padding:.5rem;text-decoration:none;transition:all .3s ease}.logo:active{background:#677eea1a;transform:scale(.98)}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0077be,#003f7f);-webkit-background-clip:text;background-clip:text}.header-right{align-items:center;display:flex;gap:0}.auth-buttons,.desktop-nav,.language-selector,.user-dropdown-container{display:none}.mobile-lang-toggle-btn{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;height:48px;justify-content:center;margin-right:0;padding:.9rem .25rem .75rem;position:relative;transition:all .3s ease;width:48px}.mobile-lang-toggle-btn .lang-globe{font-size:1.5rem;line-height:1;opacity:.8}.mobile-lang-toggle-btn:active{background:#677eea1a;transform:scale(.95)}.mobile-lang-dropdown{animation:dropdownSlide .2s ease;background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 30px #00000026;min-width:140px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.mobile-lang-dropdown button{align-items:center;background:none;border:none;color:#4a5568;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;min-height:48px;padding:.75rem 1rem;text-align:left;transition:all .3s ease;white-space:nowrap;width:100%}.mobile-lang-dropdown button:active{background:#677eea1a;color:#0077be}.mobile-lang-dropdown button.active{background:#0077be26;color:#0077be;font-weight:600}.mobile-menu-container{position:relative}.hamburger-button{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:48px;min-width:48px;padding:.75rem;transition:all .3s ease}.hamburger-button:active{background:#677eea1a;transform:scale(.95)}.hamburger-line{background:#4a5568;border-radius:2px;height:3px;transform-origin:center;transition:all .3s ease;width:22px}.hamburger-line.open:first-child{transform:rotate(45deg) translate(6px,6px)}.hamburger-line.open:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.mobile-menu{animation:fadeIn .3s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.mobile-menu-content{animation:slideInRight .3s ease;background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:absolute;right:0;top:0;width:280px}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.mobile-nav{border-bottom:1px solid #e2e8f0;flex:1 1;padding:2rem 1.5rem 1rem}.mobile-nav .nav-link{align-items:center;border-radius:12px;color:#4a5568;display:block;display:flex;font-size:1rem;font-weight:600;justify-content:center;margin-bottom:.5rem;min-height:48px;padding:1rem;text-align:center;text-decoration:none;transition:all .3s ease}.mobile-nav .nav-link:active{background:#677eea1a;color:#0077be;transform:scale(.98)}.mobile-nav .nav-link.active{background:linear-gradient(135deg,#0077be,#003f7f);box-shadow:0 4px 15px #677eea4d;color:#fff}.mobile-user-section{background:#f7fafc;border-top:1px solid #e2e8f0;padding:1.5rem}.mobile-user-info{display:flex;flex-direction:column;gap:1rem}.mobile-user-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:1rem;padding:1rem}.mobile-user-icon{align-items:center;background:linear-gradient(135deg,#0077be,#003f7f);border-radius:50%;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;width:40px}.mobile-user-name{color:#2d3748;flex:1 1;font-size:1rem;font-weight:600}.mobile-menu-button{background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#4a5568;cursor:pointer;font-size:.95rem;font-weight:600;min-height:48px;padding:1rem;transition:all .3s ease;width:100%}.mobile-menu-button:active{background:#677eea1a;border-color:#0077be;color:#0077be;transform:scale(.98)}.mobile-menu-button.logout{background:#fed7d7;border-color:#feb2b2;color:#c53030}.mobile-menu-button.logout:active{background:#fca5a5;border-color:#f56565}.mobile-auth-buttons{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.mobile-btn{align-items:center;border-radius:12px;display:block;display:flex;font-weight:600;justify-content:center;min-height:48px;padding:1rem;text-align:center;text-decoration:none;transition:all .3s ease}.mobile-btn-primary{background:linear-gradient(135deg,#0077be,#003f7f);box-shadow:0 4px 15px #677eea4d;color:#fff}.mobile-btn-primary:active{box-shadow:0 6px 20px #677eea66;transform:scale(.98)}.mobile-btn-secondary{background:#fff;border:2px solid #e2e8f0;color:#4a5568}.mobile-btn-secondary:active{background:#677eea1a;border-color:#0077be;color:#0077be;transform:scale(.98)}@media (min-width:768px){.header-content{padding:1rem 1.5rem}.logo{font-size:1.6rem}.desktop-nav{align-items:center;display:flex;gap:2rem}.nav-link{border-radius:8px;color:#4a5568;font-size:.95rem;font-weight:600;padding:.75rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.nav-link:hover{background:#677eea1a;color:#0077be}.nav-link.active{background:#677eea26;color:#0077be}.nav-link.active:after{background:linear-gradient(90deg,#0077be,#003f7f);border-radius:1px;bottom:-4px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:80%}.user-dropdown-container{display:block;position:relative}.user-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#4a5568;cursor:pointer;display:flex;font-weight:600;gap:.75rem;padding:.75rem 1rem;transition:all .3s ease}.user-button:hover{background:#677eea0d;border-color:#0077be;color:#0077be}.user-icon{font-size:1.2rem}.dropdown-arrow{font-size:.8rem;transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown{animation:dropdownSlide .2s ease;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 30px #00000026;margin-top:.5rem;min-width:200px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{border-bottom:1px solid #f7fafc;color:#4a5568;display:block;font-weight:500;padding:1rem 1.25rem;text-decoration:none;transition:all .3s ease}.dropdown-item:hover{background:#677eea1a;color:#0077be}.dropdown-item:last-child{border-bottom:none}.dropdown-item.logout{color:#e53e3e}.dropdown-item.logout:hover{background:#fed7d7;color:#c53030}.language-selector{display:block;position:relative}.language-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#4a5568;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem;transition:all .3s ease}.language-button:hover{background:#677eea0d;border-color:#0077be}.language-dropdown{animation:dropdownSlide .2s ease;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 30px #00000026;margin-top:.5rem;min-width:150px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.language-option{align-items:center;background:none;border:none;color:#4a5568;cursor:pointer;display:flex;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .3s ease;width:100%}.language-option:hover{background:#677eea1a;color:#0077be}.language-option.active{background:#677eea26;color:#0077be;font-weight:600}.flag{font-size:1.1rem}.auth-buttons{align-items:center;display:flex;gap:1rem}.auth-link{border-radius:12px;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.auth-link.login{background:#fff;border:2px solid #e2e8f0;color:#4a5568}.auth-link.login:hover{background:#677eea0d;border-color:#0077be;color:#0077be}.auth-link.register{background:linear-gradient(135deg,#0077be,#003f7f);box-shadow:0 4px 15px #677eea4d;color:#fff}.auth-link.register:hover{box-shadow:0 6px 20px #677eea66;transform:translateY(-2px)}.mobile-lang-toggle-btn,.mobile-menu-container{display:none}}@media (min-width:1024px){.header-content{padding:1rem 2rem}.logo{font-size:1.8rem}.desktop-nav{gap:2.5rem}.nav-link{font-size:1rem;padding:.875rem 1.25rem}}@media (prefers-contrast:high){.header{border-bottom:2px solid #2d3748}.language-button,.mobile-menu-button,.nav-link,.user-button{border:2px solid #2d3748}}@media (hover:none) and (pointer:coarse){.auth-link:hover,.language-button:hover,.nav-link:hover,.user-button:hover{box-shadow:none;transform:none}.auth-link.register:hover{transform:none}}@media (prefers-color-scheme:dark){.header{background:#1a202cf2;border-bottom-color:#ffffff1a}.logo{color:#f7fafc}.mobile-menu-content{background:#2d3748}.mobile-nav .nav-link{color:#e2e8f0}.mobile-user-section{background:#1a202c}.mobile-user-header{background:#4a5568}.mobile-lang-toggle-btn,.mobile-user-name{color:#e2e8f0}.mobile-lang-toggle-btn .lang-globe{opacity:.7}.lang-toggle-btn{color:#e2e8f0}.lang-toggle-btn .lang-globe{opacity:.7}.mobile-lang-dropdown{background:#4a5568;border-color:#2d3748}.mobile-lang-dropdown button{color:#e2e8f0}.lang-dropdown button.active,.mobile-lang-dropdown button.active{background:#0077be4d;color:#60a5fa;font-weight:600}}.desktop-user-menu{display:none}@media (min-width:768px){.desktop-user-menu,.user-section{align-items:center;display:flex}.user-section{gap:.75rem}.user-profile{position:relative}.user-profile-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;gap:.75rem;min-height:44px;padding:.5rem .75rem;transition:all .2s ease}.user-profile-btn:hover{border-color:#d1d5db;box-shadow:0 4px 6px #0000000d;transform:translateY(-1px)}.user-avatar{align-items:center;background:linear-gradient(135deg,#0077be,#003f7f);border-radius:50%;display:flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;width:32px}.user-info{align-items:flex-start;display:flex;flex-direction:column;min-width:0}.user-name{color:#111827;font-size:.875rem;font-weight:600;line-height:1.2;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-type{color:#6b7280;font-size:.75rem;font-weight:500;line-height:1}.chevron-icon{color:#9ca3af;flex-shrink:0;transition:transform .2s ease}.chevron-icon.open{transform:rotate(180deg)}.user-dropdown-menu{animation:dropdownAppear .2s ease;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #0000001a;min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes dropdownAppear{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-item{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .15s ease;width:100%}.dropdown-item:hover{background:#f9fafb;color:#111827}.dropdown-item.logout-item{color:#dc2626}.dropdown-item.logout-item:hover{background:#fef2f2;color:#b91c1c}.item-icon{align-items:center;display:flex;font-size:1rem;justify-content:center;width:20px}.dropdown-divider{background:#e5e7eb;height:1px;margin:.25rem 0}.lang-toggle-btn{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;height:44px;justify-content:center;padding:.75rem;position:relative;transition:all .2s ease;width:48px}.lang-toggle-btn .lang-globe{font-size:1.3rem;line-height:1;opacity:.8}.lang-toggle-btn:hover{background:#677eea1a;transform:translateY(-1px)}.lang-dropdown{animation:dropdownAppear .2s ease;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #0000001a;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.lang-dropdown button{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:all .15s ease;white-space:nowrap;width:100%}.lang-dropdown button:hover{background:#f9fafb;color:#111827}.lang-dropdown button.active{background:#0077be26;color:#0077be;font-weight:600}.auth-section{gap:.75rem}.auth-btn,.auth-section{align-items:center;display:flex}.auth-btn{border:1px solid #0000;border-radius:10px;font-size:.875rem;font-weight:600;justify-content:center;min-height:44px;padding:.625rem 1.25rem;text-decoration:none;transition:all .2s ease}.login-btn{background:#fff;border-color:#e5e7eb;box-shadow:0 1px 3px #0000001a;color:#374151}.login-btn:hover{border-color:#d1d5db;box-shadow:0 4px 6px #0000000d;transform:translateY(-1px)}.register-btn{background:linear-gradient(135deg,#0077be,#003f7f);box-shadow:0 4px 14px #667eea4d;color:#fff}.register-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-1px)}}.auth-buttons,.language-selector,.user-dropdown-container{display:none!important}.custom-alert-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:fixed;right:0;top:0;transition:all .3s ease;visibility:hidden;z-index:10000}.custom-alert-overlay.visible{opacity:1;visibility:visible}.custom-alert{background:#fff;border:1px solid #fff3;border-radius:16px;box-shadow:0 20px 60px #0003;max-height:80vh;max-width:400px;overflow:hidden;transform:scale(.8) translateY(20px);transition:all .3s cubic-bezier(.34,1.56,.64,1);width:90%}.custom-alert.show{transform:scale(1) translateY(0)}.custom-alert.success{border-left:5px solid #10b981}.custom-alert.error{border-left:5px solid #ef4444}.custom-alert.warning{border-left:5px solid #f59e0b}.custom-alert.info{border-left:5px solid #3b82f6}.alert-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:20px 24px 16px}.alert-icon{animation:bounce .6s ease;font-size:24px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.alert-close{align-items:center;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:4px;transition:all .2s ease;width:32px}.alert-close:hover{background:#f3f4f6;color:#4b5563;transform:scale(1.1)}.alert-content{padding:16px 24px 20px}.alert-title{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 8px}.alert-message{color:#4b5563;font-size:16px;line-height:1.6;margin:0;white-space:pre-wrap}.alert-actions{border-top:1px solid #f3f4f6;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.alert-actions .btn{border-radius:8px;font-size:14px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s ease}.custom-alert.success .alert-icon{filter:drop-shadow(0 0 8px rgba(16,185,129,.3))}.custom-alert.error .alert-icon{filter:drop-shadow(0 0 8px rgba(239,68,68,.3))}.custom-alert.warning .alert-icon{filter:drop-shadow(0 0 8px rgba(245,158,11,.3))}.custom-alert.info .alert-icon{filter:drop-shadow(0 0 8px rgba(59,130,246,.3))}@media (max-width:768px){.custom-alert{margin:20px;max-width:95%}.alert-header{padding:16px 20px 12px}.alert-content{padding:12px 20px 16px}.alert-title{font-size:16px}.alert-message{font-size:14px}.alert-actions{flex-direction:column;padding:12px 20px 20px}.alert-actions .btn{width:100%}}.footer{background-color:#f8f9fa;border-top:1px solid #e9ecef;margin-top:auto;padding:40px 0 20px}.footer-content{margin:0 auto;max-width:1200px;padding:0 20px}.footer-links{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin-bottom:30px}.footer-links a{border-radius:6px;color:#6c757d;font-size:14px;font-weight:500;padding:8px 16px;text-decoration:none;transition:color .2s ease;transition:all .2s ease}.footer-links a:hover{background-color:#f8f9fa;color:#007bff;text-decoration:none}.footer-bottom{border-top:1px solid #e9ecef;padding-top:20px;text-align:center}.footer-bottom p{align-items:center;color:#6c757d;display:flex;font-size:.9em;gap:8px;justify-content:center;margin:0}.logo-img{vertical-align:middle}@media (max-width:768px){.footer{padding:30px 0 15px}.footer-content{padding:0 15px}.footer-links{gap:20px;justify-content:center}.footer-links a{font-size:13px;padding:6px 12px}.footer-bottom p{font-size:.85em;gap:6px}}.hero,.home-page{min-height:auto}.hero{align-items:center;display:flex;gap:60px;margin-bottom:0;padding:60px 0}.hero-content{flex:1 1}.hero-title{color:#2d3748;font-size:48px;font-weight:800;line-height:1.2;margin-bottom:24px}.hero-title .title{display:block;margin-bottom:10px}.highlight{-webkit-text-fill-color:#0000;animation:shimmer 3s ease-in-out infinite;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text}.hero-description{color:#718096;font-size:20px;line-height:1.6;margin-bottom:40px}.hero-buttons{display:flex;gap:20px}.btn-large{font-size:22px;padding:18px 48px}.play-btn{font-size:28px!important;padding:12px 54px!important}.hero-illustration{align-items:center;display:flex;flex:1 1;justify-content:center;position:relative}.floating-books{height:300px;position:relative;width:300px}.book{animation:float 6s ease-in-out infinite;font-size:48px;position:absolute}.book-1{animation-delay:0s;left:20%;top:20%}.book-2{animation-delay:1s;right:20%;top:10%}.book-3{animation-delay:2s;bottom:30%;left:10%}.book-4{animation-delay:3s;bottom:20%;right:10%}.book-5{animation-delay:4s;left:45%;top:40%}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}.available-books{margin-bottom:30px}.books-showcase{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;margin-top:48px}.book-item{cursor:pointer;display:flex;flex-direction:column;height:280px;max-width:320px;min-width:280px;overflow:visible;position:relative;text-align:center;text-decoration:none;transition:all var(--transition-normal)}.book-item:hover{box-shadow:var(--shadow-xl);transform:translateY(-12px) scale(1.02)}.book-item:active{transform:translateY(-8px) scale(1.01)}.book-title{font-size:16px;font-weight:700;margin-bottom:4px;text-align:center}.book-subtitle{color:#4a5568;font-size:13px;text-align:center}.available-books .book-item:active .book-info,.available-books .book-item:focus .book-info,.available-books .book-item:hover .book-info{opacity:1;transform:translateY(0)}@media (hover:none) and (pointer:coarse){.available-books .book-item:active .book-info{opacity:1;transform:translateY(0)}}.language-badge{background:var(--primary-gradient);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:#fff;font-size:12px;line-height:1;padding:6px 12px;position:absolute;right:4px;top:4px;transition:all var(--transition-normal);z-index:15}.book-item:hover .language-badge{background:var(--secondary-gradient);box-shadow:var(--shadow-md);transform:scale(1.1)}.book-cover{border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex:1 1;margin-bottom:6px;min-height:180px;min-width:160px;position:relative;transition:all var(--transition-normal);width:160px}.book-item:hover .book-cover{box-shadow:var(--shadow-lg)}.book-cover img{border-radius:6px;max-height:100%;max-width:100%}.book-cover-placeholder{color:#667eea80;font-size:14px;font-weight:500;text-align:center}.book-item:hover .book-cover:before{background:#0000004d;border-radius:8px;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.book-item:hover .book-cover-placeholder{color:#fffc}.available-books .book-info{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(0deg,#000c,#0006);border-radius:0 0 6px 6px;bottom:0;color:#fff;left:0;opacity:0;padding:12px 8px;position:absolute;right:0;text-align:center;transform:translateY(100%);transition:all .3s ease;z-index:10}.available-books .book-title{font-size:14px;font-weight:600;margin-bottom:2px;text-shadow:0 1px 2px #000c}.available-books .book-subtitle{color:#ffffffe6;font-size:12px;opacity:1;text-shadow:0 1px 2px #000c}.available-books .book-info .more-coming-text{color:#fff;font-size:14px;font-weight:600;line-height:1.3;text-align:center;text-shadow:0 1px 2px #000c}.book-info{background:#ffffffe6;border-radius:8px;box-sizing:border-box;margin-top:6px;text-align:center;width:100%}.more-coming .book-cover{align-items:center;background:#0000;border:none;display:flex;justify-content:center;overflow:hidden;position:relative}.more-coming-icon{color:#667eea99;font-size:48px;font-weight:700;transition:all .3s ease}.more-coming:hover .more-coming-icon{color:#ffffffe6;transform:scale(1.1)}.more-coming-text{color:#718096;font-size:14px;font-weight:600;line-height:1.3;text-align:center;transition:color .3s ease}.more-coming:hover .more-coming-text{color:#ffffffe6}.book-cover.alchemist,.book-cover.alice-in-wonderland,.book-cover.around-the-world,.book-cover.frankenstein,.book-cover.great-gatsby,.book-cover.invisible-man,.book-cover.jungle-book,.book-cover.little-prince,.book-cover.old-man-sea,.book-cover.peter-pan,.book-cover.young-werther{background-repeat:no-repeat;background-size:100% 100%}.features,.section-title{margin-bottom:30px}.section-title{color:#2d3748;font-size:36px;font-weight:700;text-align:center}.features-container{display:flex;justify-content:center}.feature-card-unified{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-xl);box-shadow:0 2px 8px #00000014;max-width:800px;overflow:hidden;padding:40px;position:relative;transition:all var(--transition-normal);width:100%}.feature-card-unified:before{background:var(--primary-gradient);content:"";height:3px;left:0;position:absolute;right:0;top:0}.feature-card-unified:hover{border-color:var(--primary-light);box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.feature-item{margin-bottom:32px;text-align:center}.feature-item:last-child{margin-bottom:0}.features-grid{grid-gap:32px;gap:32px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feature-card{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:32px;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:0 8px 40px #0000001f;transform:translateY(-8px)}.feature-icon{animation:pulse 2s infinite,rotate 10s linear infinite;filter:drop-shadow(0 4px 12px rgba(102,126,234,.3));font-size:64px;margin-bottom:24px}.feature-item h3{color:#2d3748;font-size:24px;font-weight:600;margin-bottom:16px}.feature-item p{color:#718096;font-size:16px;line-height:1.6}.feature-card h3{font-size:24px;margin-bottom:16px}.feature-card p{line-height:1.6}.how-it-works{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000f;margin-bottom:80px;margin-left:auto;margin-right:auto;max-width:100%;overflow:hidden;padding:40px 30px;position:relative;text-align:center}.how-it-works:before{background:var(--primary-gradient);content:"";height:3px;left:0;position:absolute;right:0;top:0}.how-it-works .section-title{-webkit-text-fill-color:#0000;animation:shimmer 3s ease-in-out infinite;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;margin-bottom:16px}.how-it-works>p{color:#4a5568;font-size:16px;font-weight:500;line-height:1.5;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:500px;position:relative}.how-it-works>p:after{display:block;font-size:24px;margin-top:16px;opacity:.8}.steps{align-items:flex-start;display:flex;flex-wrap:wrap;gap:32px;justify-content:center}.step{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);box-shadow:0 2px 8px #00000014;display:flex;gap:16px;max-width:300px;padding:10px 16px;position:relative;transition:all var(--transition-normal)}.step:hover{border-color:var(--primary-light);box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.step:not(:last-child):after{color:#0077be;content:"→";font-size:24px;font-weight:700;position:absolute;right:-32px;text-shadow:0 2px 4px #667eea4d;top:50%;transform:translateY(-50%);z-index:10}.step-number{align-items:center;background:var(--primary-gradient);border-radius:var(--radius-full);box-shadow:var(--shadow-md);color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:50px;justify-content:center;overflow:hidden;position:relative;transition:all var(--transition-normal);width:50px}.step-number:before{background:var(--secondary-gradient);border-radius:var(--radius-full);content:"";inset:-3px;opacity:0;position:absolute;transition:opacity var(--transition-normal);z-index:-1}.step:hover .step-number:before{opacity:1}.step:hover .step-number{box-shadow:var(--shadow-lg);transform:scale(1.15) rotate(5deg)}.step h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2d3748,#4a5568);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:16px;font-weight:700}.step h3,.step p{margin:0;text-align:left}.step p{color:#718096;font-size:14px;line-height:1.5}.cta{background:var(--primary-gradient);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);color:#fff;margin-bottom:40px;overflow:hidden;padding:80px 40px;position:relative;text-align:center}.cta:before{animation:rotate 20s linear infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:200%}.cta-main-title{color:#fff;font-size:48px;font-weight:700;letter-spacing:1px;margin-bottom:16px}.cta-subtitle{color:#ffffffe6;font-size:28px;font-weight:600;line-height:1.3;margin-bottom:32px}.cta-description-en{color:#ffffffe6;font-size:18px;line-height:1.6;margin-bottom:20px}.cta-description-ko{color:#fffffff2;font-size:18px;font-weight:500;line-height:1.6;margin-bottom:48px}.cta-buttons{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.btn-quest{align-items:center;background:#fffffff2;color:#0077be;display:flex;font-weight:600;gap:8px;transition:all .3s ease}.btn-quest:hover{background:#fff;box-shadow:0 8px 30px #ffffff4d;color:#0077be;transform:translateY(-3px)}.btn-trial{background:#0000;border:2px solid #fffc;color:#fff;font-weight:600;transition:all .3s ease}.btn-trial:hover{background:#ffffff1a;border-color:#fff;box-shadow:0 8px 30px #fff3;color:#fff;transform:translateY(-3px)}.btn-icon{font-size:18px}@media (max-width:1024px){.hero{flex-direction:column;gap:40px;text-align:center}.hero-title{font-size:40px}.how-it-works{padding:32px 20px}.how-it-works>p{font-size:15px}.steps{align-items:center;flex-direction:column;gap:24px}.step{max-width:400px;width:100%}.step:not(:last-child):after{bottom:-24px;content:"↓";font-size:28px;left:50%;right:auto;top:auto;transform:translateX(-50%)}}@media (max-width:768px){.hero{margin-bottom:0;margin-top:0;min-height:auto;padding:0}.hero-title{font-size:24px}.hero-description{font-size:18px}.hero-buttons{align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:center}.btn-large{font-size:20px;padding:16px 40px}.floating-books{height:200px;width:200px}.book{font-size:32px}.section-title{font-size:28px}.how-it-works{border-radius:16px;margin-bottom:50px;margin-left:0;margin-right:0;padding:24px 16px}.how-it-works>p{font-size:14px;margin-bottom:24px}.how-it-works>p:after{font-size:18px;margin-top:10px}.step{gap:12px;margin:0 auto;max-width:none;padding:8px 12px;width:calc(100% - 24px)}.step-number{font-size:16px;height:40px;width:40px}.step h3{font-size:14px}.step p{font-size:12px}.step:not(:last-child):after{bottom:-20px;font-size:24px}.features-grid{grid-template-columns:1fr}.feature-card-unified{margin:0 16px;padding:32px 24px}.feature-item{margin-bottom:28px}.feature-item h3{font-size:22px}.feature-item p{font-size:15px}.cta{padding:60px 20px}.cta-main-title{font-size:36px;margin-bottom:12px}.cta-subtitle{font-size:22px;margin-bottom:24px}.cta-description-en{font-size:16px;margin-bottom:16px}.cta-description-ko{font-size:16px;margin-bottom:36px}.cta-buttons{align-items:center;flex-direction:column;gap:16px}.btn-quest,.btn-trial{max-width:280px;width:100%}.books-showcase{gap:8px;justify-content:flex-start;margin-top:32px}.book-item{height:250px;max-width:calc(50% - 4px);min-width:150px;overflow:visible;padding:8px 4px;width:calc(50% - 4px)}.book-cover{margin-bottom:6px;min-height:180px}.book-title{color:#2d3748;font-size:14px;font-weight:700;margin-bottom:3px;text-align:center}.book-subtitle{color:#4a5568;font-size:12px;text-align:center}.language-badge{font-size:11px;padding:3px 6px;right:3px;top:3px}.book-info{background:#ffffffe6;border-radius:8px;box-sizing:border-box;margin:4px 0;padding:4px;text-align:center;width:100%}.nexpa-map{background:#f8f9fa;padding:32px 0 0}.nexpa-map-content{margin:0 auto;max-width:100%;padding:0 16px}.nexpa-map-title{color:#2d3748;font-size:28px;font-weight:700;letter-spacing:2px;margin-bottom:32px;text-align:center}.nexpa-map-images{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;padding-bottom:32px}.map-image-container{display:flex;justify-content:center;padding:0 8px}.nexpa-map-image{border-radius:12px;box-shadow:0 4px 12px #0000001a;height:auto;max-width:350px;transition:transform .3s ease;width:100%}.nexpa-map-image:hover{transform:translateY(-2px)}.nexpa-branding{background:#2d3748;color:#fff;margin:0 -16px;padding:24px 16px}.nexpa-logo-section{margin:0 auto;max-width:400px;text-align:center}.nexpa-brand-title{font-size:24px;font-weight:700;letter-spacing:1px;margin-bottom:8px}.nexpa-brand-subtitle{color:#a0aec0;font-size:14px;line-height:1.4;margin-bottom:4px}.nexpa-brand-subtitle-ko{color:#718096;font-size:13px;line-height:1.4;margin-bottom:16px}.nexpa-brand-footer{border-top:1px solid #4a5568;padding-top:8px}.nexpa-brand-link{color:#63b3ed;cursor:pointer;font-size:14px;text-decoration:underline}}@media (min-width:769px){.nexpa-map{margin-top:80px;padding:64px 0 0}.nexpa-map-content{max-width:1200px;padding:0 32px}.nexpa-map-title{font-size:48px;letter-spacing:3px;margin-bottom:48px}.nexpa-map-images{gap:32px;margin-bottom:48px}.map-image-container{padding:0 16px}.nexpa-map-image{border-radius:16px;box-shadow:0 8px 24px #00000026;max-width:600px}.nexpa-branding{margin:0 -32px;padding:48px 32px}.nexpa-logo-section{max-width:600px}.nexpa-brand-title{font-size:36px;letter-spacing:2px;margin-bottom:12px}.nexpa-brand-subtitle{font-size:18px;margin-bottom:6px}.nexpa-brand-subtitle-ko{font-size:16px;margin-bottom:24px}.nexpa-brand-footer{padding-top:16px}.nexpa-brand-link{font-size:16px}}.about-page{background:#f5f7fa;color:#2d3748;padding:10px 0}.about-container{margin:0 auto;max-width:700px;padding:10px 20px;position:relative;text-align:center}.about-content,.about-header{margin-bottom:15px}.about-content{text-align:left}.content-section p{color:#4a5568;font-size:16px;line-height:1.6;margin:0}.about-cta{margin-top:15px;padding:15px 20px;position:relative;text-align:center}@media (max-width:768px){.about-container{padding:10px 16px}.content-grid{gap:10px;grid-template-columns:1fr}.main-title{font-size:28px}.description{font-size:16px}.content-section h3{font-size:18px}.content-section li,.content-section p{font-size:15px}.about-cta{padding:10px 20px}.cta-text{font-size:16px}}@media (max-width:480px){.about-container{padding:8px 12px}.content-grid{gap:8px}.main-title{font-size:24px}.description{font-size:15px}.content-section h3{font-size:16px}.content-section li,.content-section p{font-size:14px}.about-cta{padding:8px 16px}.cta-text{font-size:15px}}.container{background:#f8f9fa;min-height:100vh}.page-header{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000f;margin-bottom:2rem;overflow:hidden;padding:1.5rem;position:relative}.page-header:before{background:var(--primary-gradient);content:"";height:3px;left:0;position:absolute;right:0;top:0}.page-header h1{-webkit-text-fill-color:#0000;animation:shimmer 3s ease-in-out infinite;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:1.8rem;font-weight:700;margin:0 0 .5rem}.page-header p{color:#718096;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.btn{font-size:.95rem;gap:.5rem;min-height:48px;overflow:hidden;padding:1rem 1.5rem;position:relative;transition:all .3s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary-gradient);box-shadow:var(--shadow-md);overflow:hidden;position:relative}.btn-primary:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn-primary:active:before{left:100%}.btn-primary:active{box-shadow:var(--shadow-lg);transform:scale(.98)}.btn-secondary{border:2px solid #e2e8f0;color:#4a5568}.btn-secondary:active{background:#677eea1a;border-color:#0077be;color:#0077be}.btn-outline{background:#0000;border:2px solid #0077be;color:#0077be}.btn-outline:active{background:#0077be;color:#fff}.btn.generating{opacity:.7}.btn.generating:active{transform:none}.mini-spinner{border:2px solid #0000;border-top-color:currentcolor;margin-left:.5rem}.features{margin-bottom:2rem}.features-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f;padding:1.5rem;text-align:center;transition:all var(--transition-normal)}.feature-card:active{border-color:var(--primary-light);box-shadow:0 4px 12px #0000001a;transform:scale(.98)}.feature-card h3{color:#2d3748;font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.feature-card p{color:#718096;font-size:.9rem;line-height:1.4;margin:0}.card{border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000f;overflow:hidden;position:relative;transition:all var(--transition-normal)}.card:before{background:var(--primary-gradient);content:"";height:3px;left:0;position:absolute;right:0;top:0}.card:active{border-color:var(--primary-light);box-shadow:0 4px 12px #0000001a;transform:scale(.99)}.form-group{margin-bottom:1.5rem}.form-label{color:#2d3748;font-size:.95rem}.form-input{background:#fff;border:2px solid #e2e8f0;box-sizing:border-box;color:#2d3748;font-size:1rem;min-height:48px;padding:1rem;transition:all .3s ease}.form-input:focus{border-color:#0077be;box-shadow:0 0 0 3px #677eea1a}.form-textarea{font-family:inherit}.character-count{font-size:.85rem;margin-top:.5rem}.character-count span{color:#718096}.character-count span.warning{color:#ed8936;font-weight:600}.character-count span.over-limit{color:#e53e3e;font-weight:600}.limit-message{color:#718096}.limit-message,.warning-message{display:block;font-size:.8rem;margin-top:.25rem}.warning-message{color:#ed8936;font-weight:600}.card h3{color:#2d3748;font-size:1.3rem;line-height:1.3;margin:0 0 .5rem}.card h4{color:#718096;font-size:1rem;font-weight:500;margin:0 0 1rem}.card p{color:#4a5568;font-size:.95rem;line-height:1.5;margin:0 0 1.5rem}.book-quality-info{background:#f7fafc;border-left:4px solid #0077be;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.book-quality-info h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 .75rem}.book-quality-info ul{color:#4a5568;font-size:.9rem;line-height:1.5;margin:0;padding-left:1.25rem}.book-quality-info li{margin-bottom:.5rem}.difficulty-buttons h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1rem;text-align:center}.btn-group{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.btn-group .btn{font-size:.9rem;padding:.875rem 1rem;position:relative}.test-generation{border-top:1px solid #e2e8f0;padding-top:1.5rem}.test-generation h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1rem;text-align:center}.test-btn{margin-bottom:.75rem;width:100%}.delete-button{border-top:1px solid #e2e8f0;padding-top:1.5rem;text-align:center}.btn-delete-small{background:#fed7d7;border:2px solid #feb2b2;border-radius:12px;color:#c53030;cursor:pointer;font-size:.9rem;font-weight:600;min-height:48px;padding:.75rem 1.5rem;transition:all .3s ease}.btn-delete-small:active{background:#fca5a5;border-color:#f56565;transform:scale(.98)}.modal-overlay{animation:fadeIn .3s ease;z-index:9999}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e2e8f0}.modal-header h3{font-size:1.3rem;font-weight:600}.modal-close{color:#a0aec0;min-height:40px;min-width:40px}.modal-close:active{background:#677eea1a;color:#0077be;transform:scale(.95)}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid #e2e8f0;padding:1rem 1.5rem;text-align:center}.test-result-section{margin-bottom:1.5rem}.test-result-section h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.test-result-section p{color:#4a5568;line-height:1.5;margin:0 0 .5rem}.sample-question{background:#f7fafc;border-left:4px solid #0077be;border-radius:12px;margin-bottom:1rem;padding:1rem}.sample-question h5{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 .75rem}.options{gap:.5rem}.options div{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;font-size:.9rem;padding:.75rem}.loading-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;z-index:9999}.loading-message{color:#4a5568;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.generating-details{color:#718096;font-size:.9rem;line-height:1.5;max-width:300px;text-align:center}.generating-item{background:#677eea1a;color:#0077be;display:inline-block;font-size:.8rem;font-weight:500;margin:.25rem;padding:.5rem 1rem}@media (min-width:768px){.container{padding:1.5rem}.page-header h1{font-size:2.2rem}.page-header p{font-size:1.1rem}.features-grid{gap:1.5rem;grid-template-columns:1fr 1fr}.books-grid{gap:2rem;grid-template-columns:repeat(2,1fr)}.btn-group{grid-template-columns:repeat(4,1fr)}.test-generation .btn-group{grid-template-columns:repeat(3,1fr)}.modal-content{max-width:600px}}@media (min-width:1024px){.container{padding:2rem}.page-header h1{font-size:2.5rem}.books-grid,.features-grid{grid-template-columns:repeat(3,1fr)}.card:hover,.feature-card:hover{border-color:#0077be;box-shadow:0 12px 35px #00000026;transform:translateY(-3px)}.btn:hover{transform:translateY(-2px)}.btn-primary:hover{box-shadow:0 6px 20px #677eea66}}@media (prefers-contrast:high){.btn,.card,.feature-card,.form-input{border:2px solid #2d3748}}@media (hover:none) and (pointer:coarse){.btn:hover,.card:hover,.feature-card:hover{box-shadow:0 6px 20px #00000014;transform:none}}.quiz-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-size:16px;min-height:100vh;padding:1rem;width:100%}.book-title-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #fff3;border-radius:16px;box-shadow:0 4px 20px #1f268726;margin:0 auto 1.5rem;max-width:800px;padding:1rem 1.5rem;text-align:center}.current-book-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e3a8a,#3b82f6);-webkit-background-clip:text;background-clip:text;color:#1e3a8a;font-size:1.3rem;font-weight:700;line-height:1.3;margin:0}.quiz-header{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff2;border:1px solid #ffffff2e;border-radius:20px;box-shadow:0 8px 32px #1f268733;margin:0 auto 1.5rem;max-width:800px;padding:1.5rem}.progress-bar{background-color:#e2e8f0;border-radius:6px;box-shadow:inset 0 2px 4px #0000001a;height:12px;margin-bottom:1.5rem;width:100%}.progress-fill{background:linear-gradient(90deg,#48bb78,#38a169);border-radius:6px;box-shadow:0 0 10px #48bb7880;transition:width .6s ease}.quiz-meta{align-items:center;display:flex;flex-direction:row;justify-content:space-between;text-align:center}.quiz-meta .difficulty-badge{margin-left:10px}.progress-text{color:#2d3748;font-size:.8rem;font-weight:700;order:1}.quiz-meta-badges{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;order:2}.difficulty-badge{border-radius:25px;box-shadow:0 4px 15px #0000001a;font-size:.9rem;font-weight:700;padding:.75rem 1.25rem;white-space:nowrap}.difficulty-easy{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);color:#22543d}.difficulty-normal{background:linear-gradient(135deg,#fef5e7,#fed7aa);color:#c05621}.difficulty-hard{background:linear-gradient(135deg,#fed7d7,#fca5a5);color:#c53030}.difficulty-demo{background:linear-gradient(135deg,#bee3f8,#90cdf4);color:#1a365d}.timer{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #e2e8f0;border-radius:25px;box-shadow:0 4px 15px #0000001a;color:#2d3748;font-size:1rem;font-weight:700;padding:.75rem 1.25rem}.question-card{background:#fff;border:3px solid #0000;border-radius:24px;box-shadow:0 12px 40px #00000026;margin-bottom:2rem;padding:2rem 1.5rem}.question-card:before{background:linear-gradient(90deg,#0077be,#003f7f);content:"";height:6px;left:0;position:absolute;right:0;top:0}.question-header{border-bottom:2px solid #f7fafc;display:flex;flex-direction:column;gap:1rem;text-align:center}.question-type-badge{align-self:center;background:linear-gradient(135deg,#0077be,#003f7f);border-radius:25px;box-shadow:0 6px 20px #677eea66;font-size:1rem;font-weight:700;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase}.question-text{background:#677eea0d;border-radius:16px;font-size:1.4rem;font-weight:600;line-height:1.7;margin-bottom:2.5rem;padding:1rem;text-align:center}.hints-section{background:linear-gradient(135deg,#f0f4ff,#e0e9ff);border:2px solid #8b9cff;border-radius:12px;box-shadow:0 4px 12px #8b9cff2e;margin:1rem 0;padding:.7rem .7rem .5rem}.hints-header h4{color:#1e3a8a;font-size:1.1rem;font-weight:700;letter-spacing:.5px;margin:0 0 .7rem;text-align:center;text-transform:uppercase}.hints-buttons{flex-direction:row;gap:.5rem;margin-bottom:1rem}.hint-button,.hints-buttons{align-items:center;display:flex;justify-content:center}.hint-button{background:#fff;border:2px solid #0077be;border-radius:8px;box-shadow:0 2px 6px #677eea1f;color:#1e3a8a;cursor:pointer;font-size:.9rem;font-weight:700;min-height:36px;min-width:50px;padding:.5rem .8rem;transition:all .3s ease}.hints-content-area{display:flex;flex-direction:column;gap:.8rem;margin-top:.5rem}.hint-button:active{background:#0077be;box-shadow:0 6px 20px #677eea66;color:#fff;transform:scale(.98)}.hint-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.hint-content{align-items:center;animation:slideDown .4s ease;background:#fff;border:1.5px solid #0077be;border-radius:10px;box-shadow:0 2px 8px #677eea1f;color:#1e3a8a;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;line-height:1.4;padding:.8rem 1rem;width:100%}.hint-label{color:#0077be;flex-shrink:0;font-weight:700;margin-right:.3rem}.hint-text{flex:1 1}.hint-icon{font-size:1.1em;margin-right:.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.options{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.option{align-items:center;background:#fff;border:3px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 15px #00000014;color:#4a5568;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;min-height:64px;overflow:hidden;padding:1.5rem;position:relative;text-align:left}.option,.option:before{transition:all .3s ease}.option:before{background:#0000;bottom:0;content:"";left:0;position:absolute;top:0;width:6px}.option:active{box-shadow:0 6px 20px #0000001f;transform:scale(.98)}.option.selected{background:#677eea1a;border-color:#0077be;box-shadow:0 8px 25px #677eea4d;color:#0077be;transform:scale(1.02)}.option.selected:before{background:#0077be}.option.correct{background:#48bb781a;border-color:#48bb78;color:#22543d}.option.correct:before{background:#48bb78}.option.incorrect{background:#f565651a;border-color:#f56565;color:#c53030}.option.incorrect:before{background:#f56565}.answer-buttons{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.next-question,.submit-answer{align-items:center;border:none;border-radius:16px;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:.75rem;justify-content:center;letter-spacing:.5px;min-height:56px;padding:1.25rem 2rem;text-transform:uppercase;transition:all .3s ease}.submit-answer{background:linear-gradient(135deg,#0077be,#003f7f);box-shadow:0 6px 20px #677eea66;color:#fff}.submit-answer:active{box-shadow:0 8px 25px #677eea80;transform:scale(.98)}.submit-answer:disabled{cursor:not-allowed;opacity:.6;transform:none}.next-question{background:linear-gradient(135deg,#48bb78,#38a169);box-shadow:0 6px 20px #48bb7866;color:#fff}.next-question:active{box-shadow:0 8px 25px #48bb7880;transform:scale(.98)}.feedback-section{animation:fadeInUp .5s ease;border-radius:20px;box-shadow:0 8px 25px #0000001a;margin-top:2rem;padding:2rem;text-align:center}.feedback-section.correct{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);border:3px solid #48bb78;color:#22543d}.feedback-section.incorrect{background:linear-gradient(135deg,#fed7d7,#fca5a5);border:3px solid #f56565;color:#c53030}.feedback-section h3{font-size:1.5rem;font-weight:700;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.feedback-section p{font-size:1.1rem;font-weight:600;line-height:1.5;margin:0}.essay-input{background:#fff;border:3px solid #e2e8f0;border-radius:16px;box-sizing:border-box;color:#2d3748;font-family:inherit;font-size:1.1rem;line-height:1.6;margin-bottom:1rem;min-height:150px;padding:1.5rem;resize:vertical;transition:all .3s ease;width:100%}.essay-input:focus{border-color:#0077be;box-shadow:0 0 0 4px #677eea33;outline:none}.essay-input::placeholder{color:#a0aec0;font-style:italic}.character-count{color:#718096;font-size:.9rem;font-weight:600;margin-bottom:1rem;text-align:right}.quiz-complete{background:#fff;border-radius:24px;box-shadow:0 12px 40px #00000026;margin-bottom:2rem;padding:3rem 2rem;text-align:center}.quiz-complete h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0077be,#003f7f);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:2rem;font-weight:700;margin:0 0 1rem}.score-display{color:#48bb78;font-size:3rem;font-weight:700;margin:1.5rem 0;text-shadow:0 2px 4px #48bb784d}.quiz-actions{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.quiz-actions button{border:none;border-radius:16px;cursor:pointer;font-size:1.1rem;font-weight:700;min-height:56px;padding:1.25rem 2rem;transition:all .3s ease}.primary-action{background:linear-gradient(135deg,#0077be,#003f7f);box-shadow:0 6px 20px #677eea66;color:#fff}.primary-action:active{box-shadow:0 8px 25px #677eea80;transform:scale(.98)}.secondary-action{background:#fff;border:3px solid #e2e8f0;box-shadow:0 4px 15px #00000014;color:#4a5568}.secondary-action:active{background:#677eea1a;border-color:#0077be;color:#0077be;transform:scale(.98)}.quiz-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:2rem;text-align:center}.loading-spinner{height:60px;margin-bottom:2rem;width:60px}.loading-text{color:#4a5568;font-size:1.3rem;font-weight:600;margin-bottom:1rem}.loading-subtitle{color:#718096;font-size:1rem;line-height:1.6}.quiz-error{background:#fff;border-radius:24px;box-shadow:0 12px 40px #00000026;margin-bottom:2rem;padding:3rem 2rem;text-align:center}.quiz-error h2{color:#e53e3e;font-size:1.5rem;margin-bottom:1rem}.quiz-error p{color:#718096;line-height:1.6;margin-bottom:2rem}@media (min-width:768px){.quiz-container{margin:0 auto;max-width:900px;padding:2rem}.quiz-header{padding:2rem}.book-title-container{margin-bottom:1.5rem;padding:1.25rem 2rem}.current-book-title{font-size:1.5rem}.quiz-meta{align-items:center;flex-direction:row;justify-content:space-between;text-align:left}.quiz-meta-badges{justify-content:flex-end}.question-card{padding:2.5rem}.question-header{align-items:center;flex-direction:row;justify-content:space-between;text-align:left}.question-text{font-size:1.5rem;text-align:left}.hints-buttons{flex-direction:row;gap:1rem;justify-content:center;margin-bottom:1.2rem}.hint-button{min-width:60px;padding:.6rem 1rem}.options{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.answer-buttons{flex-direction:row;justify-content:center}.answer-buttons button{flex:0 0 auto;min-width:200px}.quiz-actions{flex-direction:row;justify-content:center}.quiz-actions button{flex:0 0 auto;min-width:200px}}@media (min-width:1024px){.quiz-container{max-width:1000px;padding:2.5rem}.book-title-container{margin-bottom:2rem;padding:1.5rem 2.5rem}.current-book-title{font-size:1.7rem}.question-text{font-size:1.6rem}.option{font-size:1.2rem}.option:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.hint-button:hover{box-shadow:0 6px 20px #ed89364d}.hint-button:hover,.next-question:hover,.primary-action:hover,.secondary-action:hover,.submit-answer:hover{transform:translateY(-2px)}.secondary-action:hover{box-shadow:0 6px 20px #0000001f}}@media (prefers-contrast:high){.hint-button,.option,.question-card{border:3px solid #2d3748}}@media (hover:none) and (pointer:coarse){.hint-button:hover,.next-question:hover,.option:hover,.primary-action:hover,.secondary-action:hover,.submit-answer:hover{box-shadow:0 6px 20px #00000014;transform:none}}.essay-input:focus,.hint-button:focus,.next-question:focus,.option:focus,.submit-answer:focus{outline:3px solid #0077be;outline-offset:2px}@media (prefers-color-scheme:dark){.quiz-container{background:linear-gradient(135deg,#1a202c,#2d3748)}.question-card,.quiz-complete,.quiz-error,.quiz-header{background:#2d3748;color:#f7fafc}.question-text{color:#f7fafc}}.container{margin:0 auto;max-width:1200px;padding:1rem}.admin-header{border-bottom:1px solid #e5e7eb;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;text-align:center}.admin-header h1{color:#111827;font-size:1.75rem;font-weight:700}.admin-actions{flex-direction:column;gap:.75rem;width:100%}.admin-actions .btn{font-size:.875rem;font-weight:600;min-height:48px;padding:.875rem 1.5rem}.admin-tabs{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.tab-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:12px;box-shadow:0 1px 3px #0000001a;color:#374151;display:flex;font-size:.875rem;font-weight:600;justify-content:center;min-height:48px;padding:1rem;text-align:center;width:100%}.tab-button:active,.tab-button:hover{background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px)}.tab-button.active{background:linear-gradient(135deg,#0077be,#003f7f);border-color:#0077be;box-shadow:0 4px 14px #667eea4d;color:#fff}.card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.card h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.form-input,.form-select{background:#fff;border:1px solid #d1d5db;border-radius:12px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;font-size:1rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus{border-color:#0077be;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;justify-content:center;min-height:44px;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#0077be,#003f7f);box-shadow:0 4px 14px #667eea4d;color:#fff}.btn-primary:active,.btn-primary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-1px)}.btn-secondary{background:#fff;border:1px solid #d1d5db;box-shadow:0 1px 3px #0000001a;color:#374151}.btn-secondary:active,.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}.btn-sm{min-height:36px;padding:.5rem 1rem}@media (min-width:768px){.container{padding:1.5rem}.admin-header{align-items:center;flex-direction:row;justify-content:space-between;text-align:left}.admin-header h1{font-size:2rem}.admin-actions{flex-direction:row;max-width:300px;width:auto}.admin-tabs{flex-direction:row;flex-wrap:wrap;justify-content:center}.tab-button{flex:1 1;max-width:200px;min-width:140px}.card{padding:2rem}}@media (min-width:1024px){.container{padding:2rem}.admin-header h1{font-size:2.25rem}.admin-tabs{flex-wrap:nowrap}}.books-management{width:100%}.page-header{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffffe6;border-radius:20px;box-shadow:0 8px 32px #1f268733;margin-bottom:0;padding:.5rem;text-align:center}.page-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0077be,#003f7f);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:1.8rem;font-weight:700;margin:0 0 .5rem}.page-description{color:#718096;font-size:1rem;line-height:1.5;margin:0}.books-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:1fr}.book-header{border-bottom:2px solid #f7fafc}.book-header h3{color:#2d3748;font-size:1.3rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.book-header p{color:#718096;font-size:1rem;margin:0}.book-info{background:#f7fafc;border-left:4px solid #0077be;border-radius:12px;padding:4px}.book-info p{color:#4a5568;font-size:.9rem;line-height:1.4;margin:0 0 .5rem}.book-info p:last-child{margin-bottom:0}.admin-actions{margin-top:1.5rem}.admin-actions h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.admin-actions .btn-group{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1rem}.admin-actions .btn{border:none;border-radius:12px;cursor:pointer;font-size:.95rem;font-weight:500;padding:1rem;text-align:center;transition:all .3s ease;width:100%}.admin-actions .btn:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.admin-actions .btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.admin-actions .btn.btn-info{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff}.admin-actions .btn.btn-warning{background:linear-gradient(135deg,#ed8936,#dd6b20);color:#fff}.admin-actions .btn.btn-secondary{background:linear-gradient(135deg,#718096,#4a5568);color:#fff}.admin-info{background:#edf2f7;border-left:4px solid #48bb78;border-radius:12px;margin-top:1rem;padding:1rem}.admin-info .info-text{color:#4a5568;font-size:.9rem;line-height:1.4;margin:0}.empty-state{background:#ffffffe6;border-radius:20px;box-shadow:0 8px 32px #1f268733;padding:3rem 1rem;text-align:center}.empty-state h3{color:#2d3748;font-size:1.3rem;font-weight:600;margin:0 0 .5rem}.empty-state p{color:#718096;font-size:1rem;margin:0}@media (min-width:768px){.books-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.admin-actions .btn-group{flex-direction:row;gap:1rem}.admin-actions .btn{flex:1 1;width:auto}}@media (min-width:1024px){.books-grid{grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}}.loading-center{min-height:60vh;padding:2rem}.loading-spinner{border:4px solid #f3f4f6;height:40px;width:40px}.loading-spinner.large{border-width:5px;height:60px;margin-bottom:2rem;width:60px}.question-bank-loading{margin:0 auto;max-width:500px}.question-bank-loading h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0077be,#003f7f);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:1.5rem;font-weight:700;margin:0 0 1rem}.question-bank-loading>p{color:#718096;font-size:1.1rem;line-height:1.5;margin:0 0 2rem}.loading-steps{background:#667eea0d;border:1px solid #667eea1a;border-radius:16px;display:flex;flex-direction:column;gap:.75rem;margin:2rem 0;padding:1.5rem}.loading-steps .step{align-items:center;animation:stepPulse 3s ease-in-out infinite;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;color:#4a5568;display:flex;font-size:.95rem;font-weight:500;justify-content:center;padding:.75rem 1rem}.loading-steps .step:first-child{animation-delay:0s}.loading-steps .step:nth-child(2){animation-delay:.5s}.loading-steps .step:nth-child(3){animation-delay:1s}.loading-steps .step:nth-child(4){animation-delay:1.5s}@keyframes stepPulse{0%,70%,to{opacity:.7;transform:scale(1)}35%{opacity:1;transform:scale(1.02)}}.question-bank-loading small{color:#a0aec0;display:block;font-size:.9rem;font-style:italic;margin-top:1.5rem}@media (max-width:768px){.question-bank-loading{max-width:100%;padding:0 1rem}.question-bank-loading h3{font-size:1.3rem}.loading-steps{gap:.5rem;padding:1rem}.loading-steps .step{font-size:.9rem;padding:.6rem .8rem}}.modal-overlay{background:#0009;overflow-y:auto}.modal{animation:modalSlideIn .3s ease;box-shadow:0 20px 60px #0000004d;max-width:600px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.book-form-modal{max-width:700px}.modal-header{border-bottom:1px solid #e5e7eb}.modal-header h3{color:#111827;font-size:1.5rem;font-weight:700}.modal-close{border-radius:8px;color:#6b7280;font-size:1.75rem;line-height:1;min-height:auto;padding:.25rem .5rem;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#111827}.modal-actions{border-top:1px solid #e5e7eb;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem}.modal-actions .btn{border-radius:12px;flex:1 1;font-size:.875rem;font-weight:600;min-height:48px;padding:.875rem 1.5rem}.form-group{margin-bottom:1.25rem}.form-label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-input{border:2px solid #e5e7eb;border-radius:12px;font-family:inherit;font-size:.875rem;padding:.75rem 1rem;resize:vertical;transition:all .2s;width:100%}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input::placeholder{color:#9ca3af}.form-input[type=textarea]{min-height:100px}@media (min-width:768px){.modal{max-height:85vh}.modal-actions .btn{flex:initial;min-width:120px}}.dashboard-container{background:#f8f9fa;font-size:16px;min-height:100vh;padding:1rem;width:100%}.dashboard-header{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000f;margin-bottom:1.5rem;overflow:hidden;padding:1.5rem;position:relative}.dashboard-header:before{background:var(--primary-gradient);content:"";height:3px;left:0;position:absolute;right:0;top:0}.header-title h1{-webkit-text-fill-color:#0000;animation:shimmer 3s ease-in-out infinite;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:1.8rem;font-weight:700;line-height:1.2;margin:0 0 .5rem;text-align:center}.header-title p{color:#718096;font-size:1rem;line-height:1.4;margin:0;text-align:center}.dashboard-nav{grid-gap:.75rem;background:#677eea1a;border-radius:16px;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-top:1.5rem;padding:.75rem}.nav-tab{align-items:center;background:#0000;border:none;border-radius:12px;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;justify-content:center;min-height:48px;padding:1rem;text-align:center;transition:all .3s ease;white-space:nowrap}.nav-tab:active,.nav-tab:hover{background:#677eea26;color:#0077be;transform:scale(1.02)}.nav-tab.active{background:var(--primary-gradient)!important;box-shadow:var(--shadow-md)!important;color:#fff!important;transform:scale(1.02)!important}.dashboard-content{animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.dashboard-main{display:flex;flex-direction:column;gap:1.5rem}.profile-card{background:var(--primary-gradient);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);color:#fff;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center}.profile-card:before{animation:rotate 20s linear infinite;background:radial-gradient(circle,#ffffff26 0,#0000 70%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:200%}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.profile-info{align-items:center;display:flex;flex-direction:row;gap:1rem;justify-content:center;margin-bottom:1.5rem}.profile-details{display:flex;flex-direction:column;text-align:left}.profile-avatar{align-items:center;background:#fff3;border:3px solid #ffffff4d;border-radius:50%;display:flex;font-size:1.8rem;height:70px;justify-content:center;width:70px}.profile-avatar,.profile-name{font-weight:700;position:relative;z-index:1}.profile-name{font-size:1.6rem;margin:0}.profile-email{font-size:.95rem;margin:0;opacity:.9}.level-info,.profile-email{position:relative;z-index:1}.level-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff40;border-radius:25px;display:inline-block;font-size:1.1rem;font-weight:700;margin-bottom:1rem;padding:.75rem 1.5rem}.xp-progress{align-items:center;display:flex;flex-direction:column;gap:.5rem}.xp-bar{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;height:10px;overflow:hidden;width:200px}.xp-bar,.xp-fill{border-radius:5px}.xp-fill{background:#ffffffe6;box-shadow:0 0 10px #ffffff80;height:100%;transition:width .8s ease}.xp-text{font-size:.95rem;font-weight:600}.stats-grid{grid-gap:1rem;gap:1rem;grid-template-columns:1fr 1fr}.stat-card{border-radius:var(--radius-xl);overflow:hidden;position:relative}.stat-card:before{background:var(--primary-gradient);content:"";height:3px;left:0;position:absolute;right:0;top:0}.stat-card:active{box-shadow:0 4px 15px #0000001a;transform:scale(.98)}.stat-icon{display:block;font-size:2.5rem;margin-bottom:.75rem}.stat-number{font-size:2rem}.stat-label{font-size:.85rem;font-weight:500}.recent-books-section h3{color:#2d3748;font-size:1.4rem;font-weight:600;margin-bottom:1rem;text-align:center}.recent-books-grid{display:flex;flex-direction:column;gap:1rem}.recent-book-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 6px 20px #00000014;display:flex;gap:1rem;padding:1.25rem;transition:all .3s ease}.recent-book-card:active{box-shadow:0 8px 25px #0000001f;transform:scale(.98)}.book-cover{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);background-position:top;background-repeat:no-repeat;background-size:cover;border-radius:8px;display:flex;flex-shrink:0;font-size:1.5rem;height:75px;justify-content:center;overflow:hidden;width:60px}.book-cover.little-prince{background-image:url(https://prodimage.images-bn.com/pimages/9798765532645_p0_v1_s1200x630.jpg)}.book-cover.old-man-sea{background-image:url(https://m.media-amazon.com/images/I/61ykXyGLK5L.jpg)}.book-cover.frankenstein{background-image:url(https://m.media-amazon.com/images/I/710p9SUfZtL._UF1000,1000_QL80_.jpg)}.book-cover.great-gatsby{background-image:url(https://m.media-amazon.com/images/I/81QuEGw8VPL.jpg)}.book-cover.peter-pan{background-image:url(https://m.media-amazon.com/images/I/A1Y40KXiL6L._UF1000,1000_QL80_.jpg)}.book-cover.alice-in-wonderland{background-image:url(https://www.gutenberg.org/cache/epub/11/images/cover.jpg)}.book-cover.around-the-world{background-image:url(https://www.gutenberg.org/cache/epub/103/images/cover.jpg)}.book-cover.jungle-book{background-image:url(https://m.media-amazon.com/images/I/71-YH+USyAL._SY385_.jpg)}.book-cover.young-werther{background-image:url(https://m.media-amazon.com/images/I/818akfw22tL._SL1500_.jpg)}.book-cover.invisible-man{background-image:url(https://www.gutenberg.org/cache/epub/5230/images/cover.jpg)}.book-cover.alchemist{background-image:url(https://m.media-amazon.com/images/I/71+2-t7M35L._SL1500_.jpg)}.book-cover.default-book{background:linear-gradient(135deg,#0077be,#003f7f)}.book-cover img{height:100%;object-fit:cover;width:100%}.book-placeholder{color:#fff;font-size:1.5rem}.book-info{flex:1 1;min-width:0}.book-title{font-size:1rem;line-height:1.3;margin:0 0 .25rem}.book-author,.book-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-author{color:#718096;font-size:.85rem;margin:0 0 .75rem}.recent-books-section .progress-info{align-items:center!important;display:flex!important;gap:.75rem!important;margin-bottom:.75rem!important}.recent-books-section .progress-bar{background:#e2e8f0!important;border-radius:3px!important;flex:1 1!important;height:6px!important;margin-bottom:2px!important;margin-top:6px!important;overflow:hidden!important}.recent-books-section .progress-fill{background:linear-gradient(90deg,#48bb78,#38a169)!important;border-radius:3px!important;height:100%!important;transition:width .6s ease!important}.recent-books-section .progress-text{align-items:center!important;color:#4a5568!important;display:flex!important;font-size:.75rem!important;font-weight:600!important;justify-content:flex-end!important;line-height:1!important;min-width:35px!important;text-align:right!important}.difficulty-badges{display:flex;gap:.4rem}.difficulty-badge{align-items:center;border-radius:50%;display:flex;font-size:.7rem;height:20px;justify-content:center;opacity:.3;transition:all .3s ease;width:20px}.difficulty-badge.completed{opacity:1;transform:scale(1.15)}.no-books-message{background:#fff;border-radius:16px;box-shadow:0 4px 15px #0000000d;color:#718096;font-style:italic;padding:2rem 1rem;text-align:center}.recommendations h3{color:#2d3748;font-size:1.4rem;font-weight:600;margin-bottom:1rem;text-align:center}.recommendation-cards{display:flex;flex-direction:column;gap:1rem}.recommendation-card{background:#fff;border-radius:16px;box-shadow:0 6px 20px #00000014;padding:1.5rem;text-align:center;transition:all .3s ease}.recommendation-card:active{box-shadow:0 8px 25px #0000001f;transform:scale(.98)}.rec-icon{font-size:3rem;margin-bottom:1rem}.rec-content h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.rec-content p{color:#718096;font-size:.9rem;line-height:1.4;margin:0 0 1.25rem}.rec-button{background:var(--primary-gradient);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;min-height:48px;overflow:hidden;padding:1rem 2rem;position:relative;transition:all var(--transition-normal);width:100%}.rec-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.rec-button:active:before{left:100%}.rec-button:active{box-shadow:var(--shadow-lg);transform:scale(.98)}.books-progress{animation:fadeInUp .6s ease-out}.section-header{margin-bottom:2rem;padding:0 1rem;text-align:center}.section-header h3{color:#2d3748;font-size:1.6rem;font-weight:700;margin:0 0 .5rem}.section-header p{color:#718096;font-size:1rem;line-height:1.4;margin:0}.books-grid{display:flex;flex-direction:column;gap:1.25rem}.book-card{background:#fff;border:2px solid #0000;border-radius:18px;box-shadow:0 6px 20px #00000014;cursor:pointer;margin:0 auto;max-width:400px;padding:1.5rem;position:relative;transition:all .3s ease;width:100%}.book-card:active{border-color:#0077be;box-shadow:0 8px 25px #0000001f;transform:scale(.98)}.book-card.locked{cursor:not-allowed;opacity:.6}.book-card.locked:active{border-color:#0000;transform:none}.book-card-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.book-cover-small{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:6px;display:flex;flex-shrink:0;font-size:1.2rem;height:65px;justify-content:center;overflow:hidden;width:50px}.book-cover-small.little-prince{background-image:url(https://prodimage.images-bn.com/pimages/9798765532645_p0_v1_s1200x630.jpg)}.book-cover-small.old-man-sea{background-image:url(https://m.media-amazon.com/images/I/61ykXyGLK5L.jpg)}.book-cover-small.frankenstein{background-image:url(https://m.media-amazon.com/images/I/710p9SUfZtL._UF1000,1000_QL80_.jpg)}.book-cover-small.great-gatsby{background-image:url(https://m.media-amazon.com/images/I/81QuEGw8VPL.jpg)}.book-cover-small.peter-pan{background-image:url(https://m.media-amazon.com/images/I/A1Y40KXiL6L._UF1000,1000_QL80_.jpg)}.book-cover-small.alice-in-wonderland{background-image:url(https://www.gutenberg.org/cache/epub/11/images/cover.jpg)}.book-cover-small.around-the-world{background-image:url(https://www.gutenberg.org/cache/epub/103/images/cover.jpg)}.book-cover-small.jungle-book{background-image:url(https://m.media-amazon.com/images/I/71-YH+USyAL._SY385_.jpg)}.book-cover-small.young-werther{background-image:url(https://m.media-amazon.com/images/I/818akfw22tL._SL1500_.jpg)}.book-cover-small.invisible-man{background-image:url(https://www.gutenberg.org/cache/epub/5230/images/cover.jpg)}.book-cover-small.alchemist{background-image:url(https://m.media-amazon.com/images/I/71+2-t7M35L._SL1500_.jpg)}.book-cover-small.default-book{background:linear-gradient(135deg,#0077be,#003f7f)}.book-cover-small img{height:100%;object-fit:cover;width:100%}.book-status{display:none}.lock-icon{color:#a0aec0}.complete-icon{color:#48bb78}.progress-icon{color:#ed8936}.book-title-section{flex:1 1;max-width:250px;min-width:0}.book-card-title{color:#2d3748;font-size:1.2rem;font-weight:600;line-height:1.3;margin:0 0 .25rem}.book-card-author,.book-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-card-author{color:#718096;font-size:.9rem;margin:0}.books-progress .completion-status{align-items:center!important;display:flex!important;gap:.75rem!important;margin-bottom:1rem!important}.books-progress .completion-bar{background:#e2e8f0!important;border-radius:4px!important;flex:1 1!important;height:8px!important;overflow:hidden!important}.books-progress .completion-fill{background:linear-gradient(90deg,#48bb78,#38a169)!important;border-radius:4px!important;height:100%!important;transition:width .6s ease!important}.books-progress .completion-text{align-items:center!important;color:#2d3748!important;display:flex!important;font-size:1rem!important;font-weight:700!important;justify-content:flex-end!important;line-height:1rem!important;min-width:60px!important;text-align:right!important}.difficulty-status{display:flex;flex-direction:row;flex-wrap:wrap;gap:.3rem;justify-content:space-between;margin-bottom:1rem}.diff-status{align-items:center;background:#f7fafc;border-radius:6px;display:flex;flex:1 1;flex-direction:column;gap:.3rem;justify-content:center;min-width:0;padding:.4rem .2rem;text-align:center}.diff-status.completed{background:#f0fff4;border-bottom:2px solid #48bb78;box-shadow:0 2px 4px #48bb7833}.diff-status.completed .diff-icon{transform:scale(1.1)}.diff-status.pending{opacity:.6}.diff-icon{font-size:.9rem;line-height:1}.diff-label{color:#4a5568;font-size:.75rem;font-weight:500;line-height:1.1;white-space:nowrap}.avg-score{background:#f7fafc;border-radius:8px;color:#4a5568;font-size:.9rem;margin-bottom:.5rem;padding:.5rem;text-align:center}.score-value{color:#2d3748;font-weight:600}.score-badge{font-size:1.1rem;margin-left:.5rem}.result-final-score{color:#007bff;font-size:.85rem;font-weight:600;margin-top:.25rem}.unlock-condition{background:#fef5e7;border-radius:8px;color:#c05621;font-size:.9rem;font-weight:500;padding:.75rem;text-align:center}.book-report{animation:fadeInUp .6s ease-out}.report-header{background:#fff;border-radius:18px;box-shadow:0 6px 20px #00000014;margin-bottom:1.5rem;padding:1.5rem;text-align:center}.back-button{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;color:#4a5568;cursor:pointer;font-weight:600;margin-bottom:1rem;min-height:48px;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.back-button:active{background:#0077be;border-color:#0077be;color:#fff;transform:scale(.98)}.book-title-section h2{color:#2d3748;font-size:1.5rem;font-weight:700;line-height:1.3;margin:0 0 .5rem}.book-title-section .book-author{color:#718096;margin:0 0 1rem}.overall-score .score-circle{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:50%;color:#fff;display:flex;flex-direction:column;font-weight:700;height:80px;justify-content:center;margin:0 auto;width:80px}.score-number{font-size:1.3rem;line-height:1}.score-label{font-size:.7rem;opacity:.9}.report-content{display:flex;flex-direction:column;gap:1.5rem}.difficulty-results h3{color:#2d3748;font-size:1.4rem;font-weight:600;margin-bottom:1rem;text-align:center}.difficulty-grid{display:flex;flex-direction:column;gap:1rem}.difficulty-result-card{background:#fff;border-radius:16px;box-shadow:0 6px 20px #00000014;padding:1.5rem;transition:all .3s ease}.difficulty-result-card:active{box-shadow:0 8px 25px #0000001f;transform:scale(.98)}.diff-header{align-items:center;display:flex;gap:.75rem;justify-content:center;margin-bottom:1rem}.diff-icon{font-size:1.3rem}.diff-name{color:#2d3748;font-size:1.1rem;font-weight:600}.result-stats{text-align:center}.result-score{color:#2d3748;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.result-detail{color:#718096;font-size:1rem;margin-bottom:.5rem}.result-date{color:#a0aec0;font-size:.9rem}.memorable-section h3{color:#2d3748;font-size:1.4rem;font-weight:600;margin-bottom:1rem;text-align:center}.quote-card{background:#fff;border-left:4px solid #0077be;border-radius:16px;box-shadow:0 6px 20px #00000014;padding:1.5rem}.quote-card blockquote{color:#4a5568;font-size:1.1rem;font-style:italic;line-height:1.6;margin:0;text-align:center}.recommendations-section h3{color:#2d3748;font-size:1.4rem;font-weight:600;margin-bottom:1rem;text-align:center}.recommendation-list{background:#fff;border-radius:16px;box-shadow:0 6px 20px #00000014;padding:1.5rem}.recommendation-item{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;padding:1rem 0}.recommendation-item:last-child{border-bottom:none}.rec-bullet{color:#0077be;font-size:1.1rem;font-weight:700}.rec-text{color:#4a5568;flex:1 1;line-height:1.5}.certificates-badges{animation:fadeInUp .6s ease-out}.badges-section,.certificates-section{margin-bottom:2rem}.badges-section h4,.certificates-section h4{color:#2d3748;font-size:1.4rem;font-weight:600;margin-bottom:1rem;text-align:center}.certificates-grid{display:flex;flex-direction:column;gap:1rem}.certificate-card{background:#fff;border-radius:16px;box-shadow:0 6px 20px #00000014;padding:1.5rem;text-align:center;transition:all .3s ease}.certificate-card:active{box-shadow:0 8px 25px #0000001f;transform:scale(.98)}.cert-icon{font-size:3rem;margin-bottom:1rem}.cert-title{color:#2d3748;font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.cert-desc{color:#718096;margin:0 0 .5rem}.cert-score{color:#4a5568;font-weight:600;margin-bottom:1rem}.cert-download{background:var(--primary-gradient);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-weight:600;min-height:48px;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all var(--transition-normal);width:100%}.cert-download:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.cert-download:active:before{left:100%}.cert-download:active{box-shadow:var(--shadow-lg);transform:scale(.98)}.badges-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.badge-card{background:#fff;border-radius:16px;box-shadow:0 6px 20px #00000014;display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:1.5rem 1rem;text-align:center;transition:all .3s ease}.badge-card:active{box-shadow:0 8px 25px #0000001f;transform:scale(.98)}.badge-icon{font-size:2.5rem;margin-bottom:.75rem}.badge-name{color:#2d3748;font-size:.9rem;font-weight:600;line-height:1.3;margin-bottom:.5rem}.badge-type{color:#718096;font-size:.8rem}.empty-badges,.empty-certificates{background:#fff;border-radius:16px;box-shadow:0 6px 20px #00000014;padding:2rem 1.5rem;text-align:center}.empty-icon{font-size:3rem;opacity:.5}.empty-badges p,.empty-certificates p{color:#718096;line-height:1.4;margin:.5rem 0}.personality-analysis{animation:fadeInUp .6s ease-out}.analysis-placeholder{background:#fff;border-radius:16px;box-shadow:0 6px 20px #00000014;padding:2rem 1.5rem;text-align:center}.placeholder-icon{font-size:3.5rem;margin-bottom:1rem;opacity:.7}.analysis-placeholder h4{color:#2d3748;font-size:1.4rem;font-weight:600;line-height:1.3;margin:0 0 1rem}.analysis-placeholder p{color:#718096;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.analysis-button{background:linear-gradient(135deg,#0077be,#003f7f);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;padding:1rem 2rem;transition:all .3s ease;width:100%}.analysis-button:active{box-shadow:0 6px 20px #677eea66;transform:scale(.98)}.loading-center{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;padding:3rem 1.5rem;text-align:center}.loading-spinner{animation:spin 1.2s linear infinite;border:4px solid #e2e8f0;border-top-color:#0077be}.loading-center p{color:#718096;font-size:1rem;margin:0}.error-message{background:#fff;border-radius:16px;box-shadow:0 6px 20px #00000014;padding:2rem 1.5rem;text-align:center}.error-message h3{color:#e53e3e;font-size:1.3rem;margin-bottom:1rem}.error-message p{color:#718096;line-height:1.4;margin-bottom:1.5rem}.error-message button{background:#0077be;border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;min-height:48px;padding:1rem 2rem;transition:all .3s ease;width:100%}.error-message button:active{background:#5a67d8;transform:scale(.98)}@media (min-width:768px){.dashboard-container{margin:0 auto;max-width:1200px;padding:1.5rem}.dashboard-header{padding:2rem}.header-title h1{font-size:2rem}.dashboard-nav{display:flex;flex-direction:row;gap:1rem;grid-template-columns:none}.nav-tab{padding:.875rem 1.5rem;width:auto}.profile-card{align-items:center;display:flex;justify-content:space-between;padding:2rem;text-align:left}.profile-info{flex-direction:row;margin-bottom:0}.level-info{text-align:right}.stats-grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}.recent-books-grid,.recommendation-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.recommendation-card{text-align:center}.books-grid,.certificates-grid,.difficulty-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.certificate-card{align-items:center;display:flex;gap:1.5rem;text-align:left}.cert-icon{margin-bottom:0}.badges-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.dashboard-container{padding:2rem}.header-title h1{font-size:2.2rem}.profile-avatar{font-size:2rem;height:80px;width:80px}.profile-name{font-size:1.8rem}.stats-grid{grid-template-columns:repeat(4,1fr)}.books-grid,.recent-books-grid{grid-template-columns:repeat(3,1fr)}.books-grid{gap:2rem}.difficulty-grid{grid-template-columns:repeat(3,1fr)}.report-header{align-items:center;display:flex;justify-content:space-between;text-align:left}.back-button{margin-bottom:0;width:auto}.certificates-grid{grid-template-columns:repeat(2,1fr)}.badges-grid{grid-template-columns:repeat(4,1fr)}}@media (hover:none) and (pointer:coarse){.nav-tab:hover:not(.active){background:#0000;color:#4a5568;transform:none}.nav-tab.active{background:linear-gradient(135deg,#0077be,#003f7f)!important;box-shadow:0 4px 15px #677eea66!important;color:#fff!important;transform:scale(1.02)!important}.badge-card:hover,.book-card:hover,.certificate-card:hover,.difficulty-result-card:hover,.recent-book-card:hover,.recommendation-card:hover,.stat-card:hover{box-shadow:0 6px 20px #00000014;transform:none}}@media (prefers-contrast:high){.dashboard-header{border:2px solid #2d3748}.badge-card,.book-card,.certificate-card,.recent-book-card,.recommendation-card,.stat-card{border:1px solid #2d3748}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme:dark){.dashboard-container{background:linear-gradient(135deg,#1a202c,#2d3748)}.dashboard-header{background:#2d3748f2;border:1px solid #ffffff1a}.header-title h1{color:#f7fafc}.header-title p{color:#a0aec0}}.question-management{margin:0 auto;max-width:1200px;padding:1rem}.filters-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:1.5rem;padding:1rem}.filters-grid{gap:1rem;margin-bottom:1.5rem}.filter-group,.filters-grid{display:flex;flex-direction:column}.filter-group{gap:.5rem}.filter-group label{color:#374151;font-size:.875rem;font-weight:600;margin-left:.25rem}.filter-group input,.filter-group select{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #d1d5db;border-radius:12px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;font-size:1rem;max-width:100%;padding:.875rem 1rem;transition:all .2s ease;width:100%}.filter-group input:focus,.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.filter-group select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.filter-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.filter-actions .btn{border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;padding:.875rem 1.5rem;transition:all .2s ease;width:100%}.filter-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 14px #667eea4d;color:#fff}.filter-actions .btn-primary:active,.filter-actions .btn-primary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-1px)}.filter-actions .btn-secondary{background:#fff;border:1px solid #d1d5db;box-shadow:0 1px 3px #0000001a;color:#374151}.filter-actions .btn-secondary:active,.filter-actions .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}@media (min-width:768px){.filters-card,.question-management{padding:1.5rem}.filters-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}.filter-actions{flex-direction:row;justify-content:center;margin:1.5rem auto 0;max-width:400px}.filter-actions .btn{flex:1 1;max-width:180px}}@media (min-width:1024px){.question-management{padding:2rem}.filters-grid{gap:1.5rem;grid-template-columns:repeat(3,1fr)}.filter-group input,.filter-group select{max-width:300px}}.statistics-card{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;margin-bottom:2rem}.statistics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.statistics-header h3{color:#fff;margin:0}.statistics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:8px;padding:1rem}.stat-card h4{font-size:1rem;margin:0 0 1rem;opacity:.9}.stat-details{display:flex;gap:1rem;justify-content:space-around}.stat-number{display:block;font-size:1.5rem;margin-bottom:.25rem}.stat-label{display:block;font-size:.8rem;opacity:.8}.bulk-actions-card{background:linear-gradient(135deg,#fef5e7,#fed7d7);border:2px solid #f6ad55;margin-bottom:2rem}.bulk-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.questions-card{background:#fff}.questions-header{border-bottom:2px solid #f7fafc;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.questions-header,.select-all{align-items:center;display:flex}.select-all{color:#4a5568;cursor:pointer;font-weight:600;gap:.5rem}.select-all input{transform:scale(1.2)}.questions-list{display:flex;flex-direction:column;gap:1rem}.question-item{grid-gap:1rem;align-items:start;background:#fff;border:2px solid #e2e8f0;border-radius:12px;display:grid;gap:1rem;grid-template-columns:auto 1fr auto;padding:1.5rem;transition:all .3s ease}.question-item:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.question-select input{cursor:pointer;transform:scale(1.3)}.question-info{display:flex;flex-direction:column;gap:.75rem}.question-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.book-title{background:#e2e8f0;color:#2d3748}.book-title,.difficulty-badge,.status-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.status-badge.active{background:#c6f6d5;color:#22543d}.status-badge.inactive{background:#fed7d7;color:#c53030}.review-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.review-badge.reviewed{background:#bee3f8;color:#1a365d}.review-badge.pending{background:#fef5e7;color:#c05621}.language-badge{background:#e9d5ff;border-radius:12px;color:#6b21a8;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.question-text{color:#2d3748;font-size:1rem;font-weight:500}.correct-answer{color:#48bb78;font-size:.9rem;font-weight:600}.question-date{color:#718096;font-size:.8rem}.question-actions{display:flex;flex-direction:column;gap:.5rem}.btn-sm{font-size:.8rem;min-width:40px;padding:.5rem .75rem}.btn-sm,.modal-overlay{align-items:center;display:flex;justify-content:center}.modal-overlay{background:#000000b3;bottom:0;left:0;min-height:100vh;min-height:100dvh;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.question-edit-modal{max-width:800px}.modal-header{align-items:center;border-bottom:2px solid #f7fafc;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#2d3748;margin:0}.modal-close{background:none;border:none;border-radius:50%;color:#718096;cursor:pointer;font-size:1.5rem;padding:.5rem;transition:all .3s ease}.modal-close:hover{background:#f7fafc;color:#4a5568}.modal-content{padding:1.5rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{margin-bottom:1rem}.form-group label{color:#4a5568;display:block;font-weight:600;margin-bottom:.5rem}.form-group input[type=checkbox]{margin-right:.5rem;transform:scale(1.2)}.modal-actions{border-top:2px solid #f7fafc;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.btn-success{background:#48bb78}.btn-success:hover{background:#38a169;box-shadow:0 4px 12px #48bb7866;transform:translateY(-2px)}.btn-warning{background:#ed8936}.btn-warning:hover{background:#dd6b20;box-shadow:0 4px 12px #ed893666;transform:translateY(-2px)}.btn-info{background:#4299e1;border:none;color:#fff}.btn-info:hover{background:#3182ce;box-shadow:0 4px 12px #4299e166;transform:translateY(-2px)}@media (max-width:768px){.filters-grid{grid-template-columns:1fr}.filter-actions{align-items:stretch;flex-direction:column}.statistics-grid{grid-template-columns:1fr}.stat-details{justify-content:space-between}.bulk-actions{flex-direction:column;justify-content:stretch}.questions-header{align-items:stretch;flex-direction:column;gap:1rem}.question-item{gap:1rem;grid-template-columns:auto 1fr;grid-template-rows:auto auto}.question-actions{flex-direction:row;grid-column:1/-1;justify-content:center}.question-meta{justify-content:center;text-align:center}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}}@media (max-width:480px){.question-management{padding:.5rem}.modal{margin:.5rem;max-width:calc(100% - 1rem)}.modal-actions,.modal-content,.modal-header,.question-item{padding:1rem}.question-meta{flex-direction:column;gap:.5rem}}.statistics-modal{max-height:90vh;max-width:800px;width:95vw}.statistics-modal .modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0;color:#fff}.statistics-modal .modal-header h3{color:#fff}.statistics-modal .modal-close{background:#fff3;color:#fff}.statistics-modal .modal-close:hover{background:#ffffff4d}.statistics-modal .statistics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1rem}.statistics-modal .stat-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem}.statistics-modal .stat-card h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1rem;opacity:1;text-align:center}.statistics-modal .stat-details{display:flex;gap:.5rem;justify-content:space-around}.statistics-modal .stat-item{flex:1 1;text-align:center}.statistics-modal .stat-number{color:#667eea;display:block;font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.statistics-modal .stat-label{color:#4a5568;display:block;font-size:.85rem;font-weight:500;opacity:1}.stat-summary{background:linear-gradient(135deg,#fef5e7,#fed7aa);border:2px solid #f6ad55;border-radius:12px;grid-column:1/-1;padding:1.5rem;text-align:center}.stat-summary h4{color:#c05621;font-size:1.1rem;margin:0 0 .5rem}.stat-summary p{color:#744210;font-size:1rem;margin:0}@media (max-width:768px){.modal-overlay{align-items:center;display:flex;height:100vh;height:100dvh;justify-content:center;left:0;overflow:hidden;padding:.5rem;position:fixed;top:0;width:100vw}.modal{margin:auto;max-height:95vh;max-height:95dvh;position:relative;transform:translateZ(0)}.modal,.statistics-modal{max-width:95vw;width:100%}.statistics-modal .statistics-grid{gap:1rem;grid-template-columns:1fr}.statistics-modal .stat-details{gap:.25rem}.statistics-modal .stat-number{font-size:1.5rem}.statistics-modal .stat-label{font-size:.75rem}.stat-summary{padding:1rem}}.reviewer-page{background:#f5f7fa;color:#2d3748;padding:10px 0}.reviewer-container{margin:0 auto;max-width:600px;padding:10px 20px;position:relative;text-align:center}.reviewer-header{margin-bottom:15px}.main-title{color:#1e40af;font-size:36px;font-weight:700;letter-spacing:1px;margin:0 0 6px}.sub-title{color:#2d3748;font-size:32px;font-weight:700;line-height:1.2;margin:0 0 10px}.description{color:#4a5568;font-size:18px;font-weight:400;line-height:1.6;margin:0 0 15px}.reviewer-content{margin-bottom:15px;text-align:left}.content-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:10px}.content-section{margin-bottom:0}.content-section.single{margin-top:6px}.content-section h3{align-items:center;color:#2d3748;display:flex;font-size:20px;font-weight:600;margin:0 0 6px}.check-icon{color:#4ade80;font-size:22px;font-weight:700;margin-right:12px}.content-section ul{list-style:none;margin:0;padding:0}.content-section li{color:#4a5568;font-size:16px;line-height:1.6;margin-bottom:3px;padding-left:20px;position:relative}.content-section li:before{color:#4ade80;content:"•";font-size:18px;left:0;position:absolute;top:0}.content-section li:last-child{margin-bottom:0}.reviewer-cta{margin-top:30px;padding:30px 20px;position:relative;text-align:center}.cta-content{position:relative;z-index:1}.cta-text{color:#4a5568;font-size:18px;font-weight:500;line-height:1.6;margin:0}@media (max-width:768px){.reviewer-container{padding:20px 16px}.content-grid{gap:20px;grid-template-columns:1fr}.main-title{font-size:28px}.sub-title{font-size:24px}.description{font-size:16px}.content-section h3{font-size:18px}.content-section li{font-size:15px}.reviewer-cta{padding:20px}.cta-text{font-size:16px}}@media (max-width:480px){.reviewer-container{padding:16px 12px}.content-grid{gap:16px}.main-title{font-size:24px}.sub-title{font-size:20px}.description{font-size:15px}.content-section h3{font-size:16px}.content-section li{font-size:14px}.reviewer-cta{padding:16px}.cta-text{font-size:15px}}.rankings-page{background:#f8f9fa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:2rem 1rem}.rankings-header{background:var(--primary-gradient);border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000001a;color:#fff;margin-bottom:2rem;padding:2rem;text-align:center}.rankings-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:2px 2px 4px #0000004d}.rankings-header p{font-size:1.1rem;margin:0;opacity:.9}.summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{align-items:center;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f;display:flex;gap:1rem;padding:1.5rem;transition:all var(--transition-normal)}.stat-card:hover{border-color:var(--primary-light);box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.stat-icon{align-items:center;background:var(--secondary-gradient);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.stat-content{flex:1 1}.stat-number{color:#2d3748;font-size:1.8rem;line-height:1}.stat-label{color:#718096;font-size:.9rem;margin-top:.25rem}.ranking-tabs{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.ranking-tab{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:.75rem;padding:1rem;text-align:left;transition:all var(--transition-normal)}.ranking-tab:hover{border-color:var(--primary-light);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.ranking-tab.active{background:var(--secondary-gradient);box-shadow:var(--shadow-md);color:#fff;overflow:hidden;position:relative}.ranking-tab.active:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.tab-icon{font-size:1.5rem}.tab-content{flex:1 1}.tab-name{font-size:1rem;font-weight:600;line-height:1.2}.tab-description{font-size:.8rem;margin-top:.25rem;opacity:.8}.period-filter{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}.period-btn{background:#ffffffe6;border:none;border-radius:25px;color:#4a5568;cursor:pointer;font-weight:500;padding:.5rem 1.5rem;transition:all .3s ease}.period-btn:hover{background:#fff;transform:translateY(-1px)}.period-btn.active{background:var(--secondary-gradient);box-shadow:var(--shadow-md);color:#fff}.rankings-container{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000f;padding:2rem}.ranking-header h2{align-items:center;color:#2d3748;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin-bottom:1.5rem}.period-label{color:#718096;font-size:.9rem;font-weight:400}.empty-rankings,.loading-container{color:#718096;padding:3rem 1rem;text-align:center}.loading-spinner{animation:spin 2s linear infinite;font-size:3rem;margin-bottom:1rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-rankings h3{color:#4a5568;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.rankings-list{display:flex;flex-direction:column;gap:.75rem}.ranking-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:all var(--transition-normal)}.ranking-item:hover{border-color:var(--primary-light);box-shadow:0 4px 12px #00000014;transform:translateX(4px)}.ranking-item.top-three{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #fbbf24;box-shadow:0 4px 12px #fbbf2433;overflow:hidden;position:relative}.ranking-item.top-three:before{background:linear-gradient(90deg,#fbbf24,#f59e0b);content:"";height:3px;left:0;position:absolute;right:0;top:0}.rank-info{align-items:center;display:flex;gap:1rem}.rank-number{font-size:1.5rem;font-weight:700;min-width:60px;text-align:center}.user-info{display:flex;flex-direction:column}.user-name{color:#2d3748;font-size:1.1rem;font-weight:600;line-height:1.2}.user-grade{background:#7180961a;border-radius:12px;color:#718096;font-size:.85rem;margin-top:.25rem;padding:.2rem .6rem;width:-webkit-fit-content;width:fit-content}.stats-info{align-items:center;display:flex;gap:2rem}.primary-stat{min-width:80px;text-align:center}.primary-stat .stat-value{color:#2d3748;display:block;font-size:1.5rem;font-weight:700;line-height:1}.primary-stat .stat-label{color:#718096;font-size:.8rem;margin-top:.25rem}.secondary-stats{display:flex;gap:1.5rem}.stat-item{min-width:50px;text-align:center}.stat-item .stat-value{color:#4a5568;display:block;font-size:1rem;font-weight:600;line-height:1}.stat-item .stat-label{color:#a0aec0;font-size:.75rem;margin-top:.2rem}@media (max-width:768px){.rankings-page{padding:1rem .5rem}.rankings-header h1{font-size:2rem}.summary-stats{gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.stat-icon{font-size:1.5rem;height:50px;width:50px}.ranking-tabs{gap:.75rem;grid-template-columns:1fr}.ranking-tab{padding:.75rem}.rankings-container{padding:1rem}.ranking-item{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.stats-info{gap:1rem;justify-content:space-between;width:100%}.secondary-stats{gap:1rem}.period-filter{gap:.25rem}.period-btn{font-size:.9rem;padding:.4rem 1rem}}.App{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1;padding-top:80px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out}.loading-spinner{border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:50px;width:50px}.loading-spinner,.mini-spinner{animation:spin 1s linear infinite}.mini-spinner{border:2px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;display:inline-block;height:16px;margin-right:8px;vertical-align:middle;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.toast{animation:slideIn .3s ease-out;background:#28a745;border-radius:8px;box-shadow:0 4px 12px #00000026;color:#fff;padding:16px 24px;position:fixed;right:20px;top:20px;z-index:1000}.toast.error{background:#dc3545}.toast.warning{background:#ffc107;color:#212529}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.book-quality-info{background-color:#f8f9fa;border-radius:4px;font-size:.9em;margin:10px 0;padding:10px}.loading-overlay{align-items:center;background-color:#000c;bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-overlay p{font-size:1.1em;margin-top:20px}.loading-message{margin-top:30px;text-align:center}.loading-message h3{color:#fff;font-size:1.5em;margin:0 0 15px}.loading-message p{color:#e9ecef;font-size:1.1em;margin:10px 0}.generating-details{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#ffffff1a;border-radius:8px;margin-top:20px;padding:15px}.generating-item{align-items:center;animation:pulse 2s infinite;background-color:#ffffff26;border-radius:20px;color:#fff;display:flex;font-size:.95em;justify-content:center;margin:8px 0;padding:8px 15px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.btn.generating{background-color:#e9ecef;color:#6c757d;cursor:not-allowed;overflow:hidden;position:relative}.btn.generating:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:disabled:hover{background-color:inherit;transform:none}.btn-group{display:flex;flex-wrap:wrap;gap:8px}.btn-group .btn{flex:1 1;min-width:100px}.character-count{align-items:center;display:flex;font-size:.9em;justify-content:space-between;margin-top:5px}.character-count span:first-child{color:#666;font-weight:500}.character-count .warning{color:#ff9800;font-weight:600}.character-count .over-limit{color:#f44336;font-weight:600}.limit-message{background-color:#ffebee;color:#f44336}.limit-message,.warning-message{border-radius:4px;font-size:.85em;margin-left:10px;padding:4px 8px}.warning-message{background-color:#fff3e0;color:#ff9800}@media (max-width:600px){main{padding-top:0}.btn-group{flex-direction:column}.btn-group .btn{width:100%}.character-count{align-items:flex-start;flex-direction:column}.limit-message,.warning-message{margin-left:0;margin-top:5px}}.feedback-section{background-color:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-top:20px;padding:20px}.feedback-header{border-radius:6px;margin-bottom:20px;padding:15px;text-align:center}.feedback-header.correct{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.feedback-header.incorrect{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.feedback-header h3{font-size:1.5em;font-weight:700;margin:0}.answer-details{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;margin-bottom:20px;padding:15px}.answer-details p{font-size:1.1em;margin:8px 0}.additional-info,.explanation,.hint{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;margin-bottom:20px;padding:15px}.additional-info h4,.explanation h4,.hint h4{color:#495057;font-size:1.1em;font-weight:600;margin:0 0 10px}.additional-info p,.explanation p,.hint p{color:#495057;line-height:1.6;margin:0}.explanation{border-left:4px solid #28a745}.hint{border-left:4px solid #ffc107}.additional-info{border-left:4px solid #17a2b8}.quiz-header{margin-bottom:0}.progress-bar{background-color:#e9ecef;border-radius:4px;height:8px;margin-bottom:10px;overflow:hidden}.progress-fill{background-color:#007bff;height:100%;transition:width .3s ease}.progress-text{color:#6c757d;font-weight:500;margin:0;text-align:center}.question-card{overflow:hidden;position:relative}.question-type-badge{background-color:#007bff;border-radius:20px;color:#fff;font-size:.85em;font-weight:500;padding:6px 12px;position:absolute;right:15px;top:15px}.question-text{color:#333;font-size:1.2em;line-height:1.5;margin:20px 0 30px}.options{margin-bottom:30px}.option-label{align-items:center;background-color:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;margin-bottom:10px;padding:12px 15px;transition:all .2s ease}.option-label:hover{background-color:#f8f9fa;border-color:#007bff}.option-label input[type=radio]{margin-right:12px;transform:scale(1.2)}.option-text{color:#495057;flex:1 1;font-size:1.1em}.essay-input{margin-bottom:30px}.form-textarea{font-size:1.1em;line-height:1.5;min-height:120px;resize:vertical}.quiz-actions{margin-top:30px;text-align:center}.quiz-actions .btn{border-radius:8px;font-size:1.1em;font-weight:500;padding:12px 30px;transition:all .2s ease}.quiz-actions .btn:hover{box-shadow:0 4px 12px #1e40af4d;transform:translateY(-2px)}.btn,.btn-primary,.btn-secondary,button{text-decoration:none!important}.login-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 160px);padding:20px}.login-card{max-width:400px;padding:40px;text-align:center;width:100%}.login-card h2{color:#1e40af;font-size:1.8em;margin-bottom:10px}.login-card p{color:#666;margin-bottom:30px}.error-message{background:#fee;border:1px solid #fed7d7;border-radius:8px;color:#c53030;margin-bottom:20px;padding:12px}.login-links{margin-top:30px;text-align:center}.login-links p{color:#666;margin-bottom:10px}.btn-link{background:none;border:none;color:#1e40af;cursor:pointer;font-size:inherit;text-decoration:underline}.btn-link:hover{color:#1e3a8a}.admin-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.admin-header h1{color:#1e40af;margin:0}.admin-actions{display:flex;gap:10px}.admin-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:5px;margin-bottom:30px}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-weight:500;padding:12px 20px;transition:all .2s ease}.tab-button.active,.tab-button:hover{background:#f8fafc;color:#1e40af}.tab-button.active{border-bottom-color:#1e40af}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:20px;text-align:center}.stat-card h3{color:#666;font-size:14px;font-weight:500;margin:0 0 10px}.stat-number{color:#1e40af;font-size:2.5em;font-weight:700;margin:0}.students-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.student-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.btn-sm{border-radius:6px;font-size:12px;padding:6px 12px}.btn-success{background:#10b981;border:none;color:#fff}.btn-success:hover{background:#059669}.btn-warning{background:#f59e0b;border:none;color:#fff}.btn-warning:hover{background:#d97706}.btn-danger{background:#ef4444;border:none;color:#fff}.btn-danger:hover{background:#dc2626}.status-active{color:#10b981;font-weight:500}.status-inactive{color:#ef4444;font-weight:500}.sessions-list{grid-gap:15px;display:grid;gap:15px}.session-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:15px}.session-item p{font-size:14px;margin:5px 0}.books-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.book-actions{margin-top:15px}@media (max-width:768px){.login-card{padding:30px 20px}.admin-header{flex-direction:column;gap:15px;text-align:center}.admin-tabs{overflow-x:auto;white-space:nowrap}.tab-button{min-width:-webkit-max-content;min-width:max-content}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.books-grid,.students-grid{grid-template-columns:1fr}.student-actions{justify-content:center}}
/*# sourceMappingURL=main.9cc26a4f.css.map*/