*{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:"Noto Color Emoji";font-style:normal;font-weight:400;src:url(/static/fonts/NotoColorEmoji.ttf) format("truetype")}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji";background:linear-gradient(135deg,#f0f4ff,#fef6fb);color:#2d3748;min-height:100vh;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column}nav{background:#fff;border-bottom:1px solid #e2e8f0}.nav-container{max-width:1300px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:20px 60px;min-height:80px}.logo{font-size:22px;font-weight:700;color:#2d3748;text-decoration:none;display:flex;align-items:center;gap:10px}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px}.nav-links{display:flex;align-items:center;gap:12px}.nav-link{padding:10px 24px;font-size:14px;font-weight:600;text-decoration:none;border-radius:20px;transition:all .3s;display:inline-block;line-height:1.5;color:#2d3748}.nav-link:hover{background:#f7fafc}.nav-link.current-page{background:#f7fafc;color:#667eea}.login-btn{color:#2d3748;background:transparent}.login-btn:hover,.login-btn.current-page{background:#f7fafc}.signup-btn{color:#fff;background:#667eea}.signup-btn:hover{background:#5a67d8;color:#fff;transform:translateY(-1px)}.logout-form{display:inline;margin:0}.logout-form button{padding:10px 24px;font-size:14px;font-weight:600;border-radius:20px;transition:all .3s;color:#fff;background:#667eea;border:none;cursor:pointer;font-family:inherit;line-height:1.5}.logout-form button:hover{background:#5a67d8;transform:translateY(-1px)}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:0;z-index:10}.hamburger span{display:block;width:25px;height:3px;margin:5px 0;position:relative;background:#333;border-radius:3px;z-index:1;transition:transform .5s cubic-bezier(.77,.2,.05,1),background .5s cubic-bezier(.77,.2,.05,1),opacity .55s ease}.hamburger.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:last-child{transform:rotate(-45deg) translate(7px,-6px)}.loader-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;background:#fffc;display:none;justify-content:center;align-items:center;z-index:9999;opacity:0;transition:opacity .3s ease-in-out}.loader{border:5px solid #f3f3f3;border-top:5px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.flash{position:fixed;top:20px;right:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 8px 24px #667eea4d;font-size:14px;font-weight:600;z-index:1000;animation:slideIn .3s ease-out}.flash-message{padding:16px 20px;border-radius:12px;margin-bottom:24px;font-size:15px;font-weight:500}.flash-message.success{background:#f0fdf4;color:#166534;border:2px solid #bbf7d0}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{font-size:14px;font-weight:600;color:#2d3748}.form-group input{padding:14px 18px;font-size:15px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;color:#2d3748;transition:all .3s;font-family:inherit}.form-group textarea{padding:14px 18px;font-size:15px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;color:#2d3748;transition:all .3s;font-family:inherit;min-height:160px;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#a0aec0}.form-group input.error-input{border-color:#fc8181}.form-group select{padding:14px 48px 14px 18px;font-size:15px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;color:#2d3748;transition:all .3s;font-family:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232d3748' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group select.error-input{border-color:#fc8181}.form-group select:disabled{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.form-group select option{padding:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox-group{display:flex;flex-direction:column;gap:16px;margin-top:8px}.checkbox-item{display:flex;align-items:flex-start;gap:12px}.checkbox-item input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:2px;cursor:pointer;accent-color:#667eea}.checkbox-item label{font-size:14px;line-height:1.6;color:#2d3748;cursor:pointer;font-weight:400}.checkbox-item label a{color:#667eea;text-decoration:none;font-weight:600;transition:all .2s}.checkbox-item label a:hover{color:#5a67d8}.error{color:#e53e3e;font-size:13px;font-weight:600;margin-top:-6px}.non-field-error{background:#fff5f5;border:2px solid #fc8181;border-radius:12px;padding:14px 18px;color:#c53030;font-size:14px;font-weight:600;margin-bottom:16px}.forgot-password{text-align:right;margin-top:-12px}.forgot-password a{font-size:14px;color:#667eea;text-decoration:none;font-weight:600;transition:all .2s}.forgot-password a:hover{color:#5a67d8}.divider{display:flex;align-items:center;gap:16px;margin:32px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.divider span{font-size:13px;color:#a0aec0;font-weight:600}.login-button,.send-button{padding:16px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px #667eea4d;margin-top:8px}.login-button:hover,.send-button:hover{transform:translateY(-2px);box-shadow:0 6px 24px #667eea66}.login-button:active,.send-button:active{transform:translateY(0)}.secondary-button{padding:16px 32px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:12px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s;text-decoration:none;display:inline-block;text-align:center}.secondary-button:hover{background:#f7fafc;transform:translateY(-2px)}.secondary-button:active{transform:translateY(0)}.button-group{display:flex;flex-direction:column;gap:12px;margin-top:8px}.login-section{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 30px}.login-container{background:#fff;border:2px solid #e2e8f0;border-radius:24px;padding:56px 48px;width:100%;max-width:480px;box-shadow:0 16px 48px #0000000f}.login-header{text-align:center;margin-bottom:48px}.login-header h1{font-size:36px;font-weight:700;line-height:1.2;margin-bottom:12px;letter-spacing:-.02em;color:#1a202c}.login-header p{font-size:16px;line-height:1.6;color:#718096}.login-form{display:flex;flex-direction:column;gap:24px}.signup-prompt{text-align:center;font-size:15px;color:#718096}.signup-prompt a{color:#667eea;text-decoration:none;font-weight:600;transition:all .2s}.signup-prompt a:hover{color:#5a67d8}.profile-container{background:#fff;border:2px solid #e2e8f0;border-radius:24px;padding:56px 48px;width:100%;max-width:580px;box-shadow:0 16px 48px #0000000f}.section-title{font-size:18px;font-weight:700;color:#1a202c;margin-bottom:24px}.section-divider{border:none;height:2px;background:#e2e8f0;margin:32px 0}.disabled-input{background:#f7fafc!important;color:#718096!important;cursor:not-allowed!important}.disabled-input:focus{border-color:#e2e8f0!important;box-shadow:none!important}.contact-section{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 30px}.contact-container{background:#fff;border:2px solid #e2e8f0;border-radius:24px;padding:56px 48px;width:100%;max-width:580px;box-shadow:0 16px 48px #0000000f}.contact-header{text-align:center;margin-bottom:48px}.contact-header h1{font-size:36px;font-weight:700;line-height:1.2;margin-bottom:12px;letter-spacing:-.02em;color:#1a202c}.contact-header h1 .accent{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-header p{font-size:16px;line-height:1.6;color:#718096}.contact-form{display:flex;flex-direction:column;gap:24px}.page-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:60px;display:flex;justify-content:center}.page-header-content{max-width:1100px;width:100%;margin:0 auto;text-align:center}.page-header h1{font-size:48px;font-weight:700;line-height:1.2;margin-bottom:16px;letter-spacing:-.02em;color:#1a202c}.page-header p{font-size:18px;line-height:1.7;color:#718096}.content-section{padding:80px 60px;display:flex;justify-content:center;align-items:flex-start}.content-container{max-width:1100px;width:100%;margin:0 auto;background:#fff;border:2px solid #e2e8f0;border-radius:24px;padding:64px;box-shadow:0 4px 16px #0000000a}.content{font-size:16px;line-height:1.8;color:#2d3748}.content h1{font-size:36px;font-weight:700;line-height:1.3;margin-top:48px;margin-bottom:24px;letter-spacing:-.02em;color:#1a202c}.content h1:first-child{margin-top:0}.content h2{font-size:28px;font-weight:700;line-height:1.3;margin-top:40px;margin-bottom:20px;letter-spacing:-.01em;color:#1a202c}.content h3{font-size:22px;font-weight:700;line-height:1.4;margin-top:32px;margin-bottom:16px;color:#1a202c}.content h4{font-size:18px;font-weight:700;line-height:1.4;margin-top:28px;margin-bottom:12px;color:#1a202c}.content h5{font-size:16px;font-weight:700;line-height:1.4;margin-top:24px;margin-bottom:10px;color:#2d3748}.content h6{font-size:15px;font-weight:700;line-height:1.4;margin-top:20px;margin-bottom:8px;color:#2d3748}.content p{margin-bottom:20px}.content a{color:#667eea;text-decoration:none;transition:all .2s;border-bottom:1px solid rgba(102,126,234,.3)}.content a:hover{color:#5a67d8;border-bottom-color:#5a67d8}.content ul,.content ol{margin-bottom:20px;padding-left:28px}.content ul li,.content ol li{margin-bottom:10px;line-height:1.8}.content ul{list-style-type:disc}.content ol{list-style-type:decimal}.content blockquote{margin:32px 0;padding:20px 28px;background:#f7fafc;border-left:4px solid #667eea;border-radius:8px;font-style:italic;color:#4a5568}.content blockquote p:last-child{margin-bottom:0}.content strong{font-weight:700;color:#1a202c}.content em{font-style:italic}.content code{background:#f7fafc;padding:3px 8px;border-radius:4px;font-family:Monaco,Courier New,monospace;font-size:14px;color:#667eea}.content pre{background:#1a202c;color:#f7fafc;padding:24px;border-radius:12px;overflow-x:auto;margin:28px 0;font-family:Monaco,Courier New,monospace;font-size:14px;line-height:1.6}.content pre code{background:none;padding:0;color:inherit}.content hr{border:none;height:2px;background:#e2e8f0;margin:40px 0}.content img{max-width:100%;height:auto;border-radius:12px;margin:28px 0}.content table{width:100%;border-collapse:collapse;margin:28px 0;font-size:15px}.content table th,.content table td{padding:12px 16px;text-align:left;border:1px solid #e2e8f0}.content table th{background:#f7fafc;font-weight:700;color:#1a202c}.content table tr:nth-child(2n){background:#fafbfc}footer{background:#fff;padding:80px 60px 50px;border-top:1px solid #e2e8f0}.footer-container{max-width:1300px;margin:0 auto 60px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:80px}.footer-section h4{font-size:14px;font-weight:700;margin-bottom:24px;text-transform:uppercase;letter-spacing:.05em;color:#2d3748}.footer-links{list-style:none}.footer-links li{margin-bottom:14px}.footer-links a{color:#718096;text-decoration:none;font-size:15px;transition:all .2s}.footer-links a:hover{color:#667eea}.footer-section p{line-height:1.7;font-size:15px;color:#718096}.footer-bottom{max-width:1300px;margin:0 auto;padding-top:40px;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#a0aec0}.hero{padding:120px 60px 100px;background:linear-gradient(135deg,#f0f4ff,#fef6fb)}.hero-content{max-width:1300px;margin:0 auto;text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#fff;border-radius:24px;font-size:13px;font-weight:600;color:#667eea;margin-bottom:32px;box-shadow:0 2px 8px #667eea1a}.hero-badge .badge-icon{font-size:16px}.hero-content h1{font-size:64px;font-weight:700;line-height:1.2;margin-bottom:28px;letter-spacing:-.02em;color:#1a202c}.hero-content h1 span{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-content p{font-size:20px;line-height:1.7;color:#718096;margin-bottom:48px;max-width:800px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.hero-cta{padding:16px 40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:24px;font-weight:600;font-size:16px;transition:all .3s;box-shadow:0 4px 16px #667eea4d}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 6px 24px #667eea66;color:#fff}.hero-secondary{padding:16px 40px;background:#fff;color:#667eea;text-decoration:none;border-radius:24px;font-weight:600;font-size:16px;transition:all .3s;box-shadow:0 2px 8px #0000000f}.hero-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a;color:#667eea}.feature-section{background:linear-gradient(135deg,#667eea,#764ba2);padding:100px 60px;color:#fff}.feature-content{max-width:1300px;margin:0 auto;text-align:center}.feature-emoji{font-size:80px;margin-bottom:32px}.feature-content h3{font-size:48px;font-weight:700;line-height:1.3;margin-bottom:24px;letter-spacing:-.02em}.feature-content p{font-size:20px;line-height:1.7;color:#ffffffe6;margin-bottom:48px;max-width:700px;margin-left:auto;margin-right:auto}.feature-link{display:inline-block;padding:16px 40px;background:#fff;color:#667eea;text-decoration:none;border-radius:24px;font-weight:600;font-size:16px;transition:all .3s}.feature-link:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003;color:#667eea}.stats-section{background:#f8fafe;padding:80px 60px}.stats-container{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.stat-item{text-align:center;padding:36px 24px;background:#fff;border-radius:20px;border:2px solid #e2e8f0;transition:all .3s}.stat-item:hover{transform:translateY(-4px);border-color:#cbd5e0;box-shadow:0 8px 24px #0000000f}.stat-number{font-size:48px;font-weight:700;color:#1a202c;margin-bottom:12px;letter-spacing:-.02em}.stat-label{font-size:14px;color:#718096;font-weight:600}.subjects-section{background:#fff;padding:100px 0}.subjects-container{max-width:1300px;margin:0 auto;padding:0 60px}.subjects-header{text-align:center;margin-bottom:70px}.subjects-header h2{font-size:48px;font-weight:700;line-height:1.2;margin-bottom:20px;letter-spacing:-.02em;color:#1a202c}.subjects-header p{font-size:18px;line-height:1.7;color:#718096;max-width:600px;margin:0 auto}.subjects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.subject-card{background:linear-gradient(135deg,#f7fafc,#fff);border:2px solid #e2e8f0;border-radius:24px;padding:48px 36px;display:flex;flex-direction:column;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;text-decoration:none;color:inherit}.subject-card:hover{transform:translateY(-8px);border-color:var(--card-color);box-shadow:0 16px 48px #00000014}.subject-icon{width:72px;height:72px;background:var(--card-color, #667eea);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:36px;margin-bottom:28px;box-shadow:0 4px 16px #00000014;color:#fff;font-weight:700}.subject-card h3{font-size:28px;font-weight:700;margin-bottom:14px;letter-spacing:-.01em;color:#1a202c}.subject-card p{font-size:16px;line-height:1.7;color:#718096;flex:1;margin-bottom:28px}.learn-button{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--card-color, #667eea);color:#fff;border-radius:20px;font-weight:600;font-size:15px;transition:all .3s;align-self:flex-start;box-shadow:0 4px 12px color-mix(in srgb,var(--card-color, #667eea) 30%,transparent)}.subject-card:hover .learn-button{transform:translate(4px)}.subject-page-header{background:linear-gradient(135deg,#f0f4ff,#fef6fb);padding:60px 0 80px}.subject-header-content{max-width:1300px;margin:0 auto;padding:0 60px}.subject-page-header .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#718096;margin-bottom:24px}.subject-page-header .breadcrumb a{color:#667eea;text-decoration:none;transition:all .2s}.subject-page-header .breadcrumb a:hover{color:#5a67d8}.subject-page-header .breadcrumb span{color:#a0aec0}.subject-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#fff;border-radius:24px;font-size:13px;font-weight:600;margin-bottom:20px}.subject-header-content h1{font-size:48px;font-weight:700;line-height:1.2;margin-bottom:16px;letter-spacing:-.02em;color:#1a202c}.subject-header-content>p{font-size:18px;line-height:1.7;color:#718096;max-width:700px}.subject-textbooks-section{background:#f8fafe;padding:80px 0;flex:1}.subject-textbooks-container{max-width:1300px;margin:0 auto;padding:0 60px}.coming-soon{text-align:center;color:#718096;font-size:18px;padding:60px 0}.grade-group{margin-bottom:80px}.grade-group:last-child{margin-bottom:0}.grade-header{margin-bottom:40px}.grade-header h2{font-size:32px;font-weight:700;margin-bottom:12px;letter-spacing:-.01em;color:#1a202c}.grade-header p{font-size:16px;color:#718096}.textbooks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:32px}.textbook-card{background:#fff;border:2px solid #e2e8f0;border-radius:20px;overflow:hidden;transition:all .4s cubic-bezier(.34,1.56,.64,1);cursor:pointer;text-decoration:none;color:inherit;display:flex;flex-direction:column}.textbook-card:hover{transform:translateY(-8px);border-color:var(--accent, #667eea);box-shadow:0 16px 48px color-mix(in srgb,var(--accent, #667eea) 15%,transparent)}.textbook-thumbnail{width:100%;height:220px;background:linear-gradient(135deg,var(--tint, #fef5f0) 0%,color-mix(in srgb,var(--tint, #fef5f0) 90%,white) 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.textbook-thumbnail:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent, #ed8936) 10%,transparent),color-mix(in srgb,var(--accent, #ed8936) 5%,transparent))}.textbook-thumbnail.has-image{background:none}.textbook-thumbnail.has-image:before{display:none}.thumbnail-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.textbook-icon{font-size:72px;position:relative;z-index:1}.textbook-icon img{width:72px;height:72px;object-fit:contain}.textbook-icon .icon-number{font-size:72px;font-weight:700;color:var(--accent, #667eea)}.grade-badge{position:absolute;top:16px;right:16px;background:#fff;color:var(--accent, #ed8936);font-weight:700;font-size:14px;padding:6px 14px;border-radius:12px;box-shadow:0 2px 8px #0000001a;z-index:2}.textbook-content{padding:28px;flex:1;display:flex;flex-direction:column}.textbook-content h3{font-size:20px;font-weight:700;margin-bottom:12px;color:#1a202c;letter-spacing:-.01em}.textbook-content p{font-size:15px;line-height:1.6;color:#718096;flex:1}.textbook-meta{display:flex;gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.meta-item{display:flex;align-items:baseline;gap:8px;font-size:14px;color:#a0aec0}.meta-icon{font-size:16px}.textbook-page-header{background:linear-gradient(135deg,#f0f4ff,#fef6fb);padding:60px 0 80px}.textbook-header-content{max-width:1300px;margin:0 auto;padding:0 60px}.textbook-page-header .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#718096;margin-bottom:24px}.textbook-page-header .breadcrumb a{color:#667eea;text-decoration:none;transition:all .2s}.textbook-page-header .breadcrumb a:hover{color:#5a67d8}.textbook-page-header .breadcrumb span{color:#a0aec0}.textbook-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#fff;border-radius:24px;font-size:13px;font-weight:600;margin-bottom:20px}.textbook-header-content h1{font-size:48px;font-weight:700;line-height:1.2;margin-bottom:16px;letter-spacing:-.02em;color:#1a202c}.textbook-header-content>p{font-size:18px;line-height:1.7;color:#718096;max-width:700px}.textbook-chapters-section{background:#f8fafe;padding:80px 0;flex:1}.textbook-chapters-container{max-width:1300px;margin:0 auto;padding:0 60px}.locked-header{text-align:center}.locked-header .textbook-header-content{display:flex;flex-direction:column;align-items:center}.locked-icon{font-size:64px;margin-bottom:24px}.locked-info-section{background:#f8fafe;padding:80px 0;flex:1}.locked-info-container{max-width:600px;margin:0 auto;padding:0 60px}.locked-card{background:#fff;border-radius:16px;padding:40px;text-align:center;box-shadow:0 4px 16px #00000014}.locked-card h2{font-size:24px;font-weight:700;margin-bottom:16px;color:#1a202c}.locked-card p{color:#718096;margin-bottom:24px}.locked-meta{display:flex;justify-content:center;gap:24px;margin-bottom:32px;color:#718096;font-size:14px}.section-header{margin-bottom:48px}.section-header h2{font-size:32px;font-weight:700;margin-bottom:12px;letter-spacing:-.01em;color:#1a202c}.section-header p{font-size:16px;color:#718096}.chapters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px}.chapter-card{background:#fff;border:2px solid #e2e8f0;border-radius:20px;overflow:hidden;transition:all .4s cubic-bezier(.34,1.56,.64,1);cursor:pointer;text-decoration:none;color:inherit;display:flex;flex-direction:column}.chapter-card:hover{transform:translateY(-8px);border-color:var(--accent, #667eea);box-shadow:0 16px 48px color-mix(in srgb,var(--accent, #667eea) 15%,transparent)}.chapter-thumbnail{width:100%;height:200px;background:linear-gradient(135deg,var(--tint, #fef5f0) 0%,color-mix(in srgb,var(--tint, #fef5f0) 90%,white) 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.chapter-thumbnail:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent, #667eea) 10%,transparent),color-mix(in srgb,var(--accent, #667eea) 5%,transparent))}.chapter-thumbnail.has-image{background:none}.chapter-thumbnail.has-image:before{display:none}.chapter-thumbnail .thumbnail-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.chapter-icon{font-size:72px;position:relative;z-index:1}.chapter-number{position:absolute;top:16px;left:16px;background:#fff;color:var(--accent, #667eea);font-weight:700;font-size:14px;padding:6px 14px;border-radius:12px;box-shadow:0 2px 8px #0000001a;z-index:2}.chapter-content{padding:28px;flex:1;display:flex;flex-direction:column}.chapter-content h3{font-size:20px;font-weight:700;margin-bottom:12px;color:#1a202c;letter-spacing:-.01em}.chapter-content p{font-size:15px;line-height:1.6;color:#718096;flex:1}.chapter-meta{display:flex;gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.chapters-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:64px}.chapters-pagination a,.chapters-pagination span{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:15px;font-weight:600;text-decoration:none;transition:all .3s}.chapters-pagination a{background:#fff;color:#2d3748;border:2px solid #e2e8f0}.chapters-pagination a:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px)}.chapters-pagination .current{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid transparent;box-shadow:0 4px 12px #667eea4d}.chapters-pagination .prev,.chapters-pagination .next{font-size:25px;min-width:44px;padding:0;line-height:1px}.chapters-pagination .disabled{background:#fff;border:2px solid #e2e8f0;opacity:.4;cursor:not-allowed;pointer-events:none}.chapter-page-header{background:linear-gradient(135deg,#f0f4ff,#fef6fb);padding:60px 0 80px}.chapter-header-content{max-width:1300px;margin:0 auto;padding:0 60px}.chapter-page-header .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#718096;margin-bottom:24px}.chapter-page-header .breadcrumb a{color:#667eea;text-decoration:none;transition:all .2s}.chapter-page-header .breadcrumb a:hover{color:#5a67d8}.chapter-page-header .breadcrumb span{color:#a0aec0}.chapter-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#fff;border-radius:24px;font-size:13px;font-weight:600;margin-bottom:20px}.chapter-header-content h1{font-size:48px;font-weight:700;line-height:1.2;margin-bottom:16px;letter-spacing:-.02em;color:#1a202c}.chapter-header-content>p{font-size:18px;line-height:1.7;color:#718096;max-width:700px}.lessons-section{background:#f8fafe;padding:80px 0;flex:1}.lessons-container{max-width:1300px;margin:0 auto;padding:0 60px}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.lesson-card{background:#fff;border:2px solid #e2e8f0;border-radius:20px;overflow:hidden;transition:all .4s cubic-bezier(.34,1.56,.64,1);cursor:pointer;text-decoration:none;color:inherit;display:flex;min-height:160px}.lesson-card:hover{transform:translateY(-8px);border-color:var(--accent, #667eea);box-shadow:0 16px 48px color-mix(in srgb,var(--accent, #667eea) 15%,transparent)}.lesson-thumbnail{width:160px;min-width:160px;background:linear-gradient(135deg,var(--tint, #f0f4ff) 0%,color-mix(in srgb,var(--tint, #f0f4ff) 90%,white) 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.lesson-thumbnail.has-image{background:none}.lesson-thumbnail .thumbnail-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.lesson-number{position:absolute;top:12px;left:12px;background:#fff;color:var(--accent, #667eea);font-weight:700;font-size:12px;padding:4px 10px;border-radius:8px;box-shadow:0 2px 6px #0000001a;z-index:2}.lesson-icon{font-size:48px;display:flex;align-items:center;justify-content:center}.lesson-content{flex:1;padding:24px;display:flex;flex-direction:column;justify-content:space-between}.lesson-content h3{font-size:18px;font-weight:700;color:#1a202c;margin-bottom:8px;line-height:1.3;letter-spacing:-.01em}.lesson-content p{font-size:14px;color:#718096;line-height:1.5}.lesson-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-badge.completed{background:#c6f6d5;color:#22543d}.status-badge.in-progress{background:#fef3c7;color:#92400e}.status-badge.failed{background:#fed7d7;color:#822727}.lessons-section .empty-state{text-align:center;padding:80px 40px;background:#fff;border:2px dashed #e2e8f0;border-radius:20px}.lessons-section .empty-state .empty-icon{font-size:64px;margin-bottom:24px}.lessons-section .empty-state p{font-size:18px;color:#718096}html:has(.lesson-header),html:has(.lesson-header) body{height:100%!important;max-height:100vh!important;overflow:hidden!important;margin:0;padding:0}body:has(.lesson-header) nav{display:none}body:has(.lesson-header) main{position:fixed;inset:0;display:flex;flex-direction:column}body:has(.lesson-header) footer{display:none}.lesson-header{background:#fff;border-bottom:2px solid #e2e8f0;padding:20px 40px;display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:24px}.header-left{display:flex;align-items:center;gap:20px;flex:1;min-width:0}.lesson-nav-btn{width:40px;height:40px;border-radius:12px;border:2px solid #e2e8f0;background:#fff;color:#2d3748;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;text-decoration:none;flex-shrink:0}.lesson-nav-btn:hover:not(.disabled){border-color:#667eea;color:#667eea;transform:translateY(-2px)}.lesson-nav-btn.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.nav-arrow{width:10px;height:10px;border-style:solid;border-width:0 2px 2px 0;border-color:currentColor;display:inline-block}.nav-arrow.prev{transform:rotate(135deg);margin-left:2px}.nav-arrow.next{transform:rotate(-45deg);margin-right:2px}.lesson-info{flex:1;min-width:0}.lesson-header .breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:#718096;margin-bottom:6px;flex-wrap:wrap}.lesson-header .breadcrumb a{color:#667eea;text-decoration:none;transition:all .2s}.lesson-header .breadcrumb a:hover{color:#5a67d8}.lesson-header .breadcrumb span{color:#a0aec0}.breadcrumb-ellipsis{display:none;color:#a0aec0}.lesson-title{font-size:18px;font-weight:700;color:#1a202c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-center{display:flex;align-items:center;gap:16px;flex-shrink:0}.lesson-progress{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f7fafc;border-radius:12px;font-size:13px;font-weight:600;color:#718096}.progress-icon{font-size:16px}.dropdown-btn{padding:8px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:13px;font-weight:600;color:#2d3748;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.dropdown-btn:hover{border-color:#667eea;color:#667eea}.header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.complete-btn{padding:10px 24px;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #48bb784d;display:flex;align-items:center;gap:6px}.complete-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #48bb7866}.complete-btn.completed{background:#edf2f7;color:#48bb78;box-shadow:none}.content-area{flex:1;min-height:0;background:#fff;position:relative;overflow:hidden}.scorm-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.no-content{display:flex;align-items:center;justify-content:center;height:100%;font-size:18px;color:#718096}.lessons-menu-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999}.lessons-menu-overlay.open{display:block}.lessons-menu{position:fixed;top:0;right:-320px;bottom:0;width:320px;background:#fff;z-index:1000;overflow-y:auto;box-shadow:-4px 0 16px #0000001a;padding:24px;transition:right .3s ease}.lessons-menu.open{right:0}.lessons-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.lessons-menu-title{font-size:18px;font-weight:700;color:#1a202c}.close-menu-btn{width:32px;height:32px;border-radius:8px;border:none;background:#f7fafc;color:#2d3748;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px}.close-menu-btn:hover{background:#edf2f7}.lesson-list{display:flex;flex-direction:column;gap:8px}.lesson-item{padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#2d3748;display:flex;align-items:center;gap:12px;transition:all .3s}.lesson-item:hover{border-color:#667eea;background:#f7fafc}.lesson-item.active{border-color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.lesson-item-number{width:28px;height:28px;border-radius:8px;background:#f7fafc;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#718096;flex-shrink:0}.lesson-item.active .lesson-item-number{background:#667eea;color:#fff}.lesson-item-title{flex:1;font-size:14px;font-weight:600}.lesson-item-status{font-size:14px;color:#667eea}.classroom-students-table{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #0000000f}.data-table{width:100%;border-collapse:collapse}.data-table th{background:#f7fafc;padding:16px 24px;text-align:left;font-size:13px;font-weight:700;color:#718096;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e2e8f0}.data-table td{padding:20px 24px;border-bottom:1px solid #e2e8f0;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background:#f7fafc}.student-name{font-weight:600;color:#1a202c;font-size:15px}.progress-cell{display:flex;align-items:center;gap:12px}.progress-bar-container{width:120px;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;transition:width .3s ease}.progress-text{font-size:14px;color:#718096;font-weight:600;min-width:60px}.score-badge{display:inline-block;padding:6px 14px;background:#c6f6d5;color:#22543d;border-radius:8px;font-size:14px;font-weight:700}.score-badge.empty{background:#e2e8f0;color:#718096}.student-textbook-section{margin-bottom:48px}.student-chapter-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:16px}.chapter-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.chapter-header-row h3{font-size:18px;font-weight:700;color:#1a202c;margin:0}.chapter-progress{font-size:14px;color:#718096;font-weight:600}.lesson-progress-list{display:flex;flex-direction:column;gap:8px}.lesson-progress-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f7fafc;border-radius:8px;transition:all .2s}.lesson-progress-item.completed{background:#f0fff4}.lesson-status-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;background:#e2e8f0;color:#718096}.lesson-progress-item.completed .lesson-status-icon{background:#c6f6d5;color:#22543d}.lesson-title{flex:1;font-size:14px;color:#2d3748;font-weight:500}.lesson-score{font-size:14px;font-weight:700;color:#667eea;background:#e0e7ff;padding:4px 10px;border-radius:6px}@media(max-width:1024px){.subjects-grid{grid-template-columns:1fr}.stats-container{grid-template-columns:repeat(2,1fr)}.lessons-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.header-center{display:none}.lesson-title{font-size:16px}}@media(max-width:768px){.nav-container{padding:20px 30px}.logo{font-size:18px}.logo-icon{width:28px;height:28px}.hamburger{display:block;z-index:112}.nav-links{position:fixed;right:-100%;top:0;flex-direction:column;background-color:#fff;width:70%;max-width:300px;height:100vh;transition:right .3s ease-in-out;box-shadow:-5px 0 15px #0003;padding:80px 30px 20px;overflow-y:auto;align-items:flex-start;gap:0}.nav-links.active{right:0;z-index:111}.nav-link,.logout-form button{width:100%;text-align:left;margin:10px 0;padding:12px 20px;font-size:16px;border-radius:8px}.logout-form{width:100%}.flash{top:10px;right:10px;left:10px;text-align:center}.form-row{grid-template-columns:1fr}.form-group select{background-position:right 14px center;padding-right:44px}.login-container{padding:40px 32px}.login-header h1{font-size:28px}.login-section{padding:40px 20px}.profile-container,.contact-container{padding:40px 32px}.contact-header h1{font-size:28px}.contact-section{padding:40px 20px}.page-header{padding:40px 30px}.page-header h1{font-size:36px}.content-section{padding:60px 30px}.content-container{padding:40px 32px}.content h1{font-size:28px}.content h2{font-size:24px}.content h3{font-size:20px}footer{padding:60px 30px 30px}.footer-container{grid-template-columns:1fr;gap:40px;margin-bottom:40px}.footer-bottom{flex-direction:column;gap:16px;text-align:center}.hero{padding:80px 30px 60px}.hero-content h1{font-size:42px}.hero-content p{font-size:18px}.hero-buttons{flex-direction:column}.hero-cta,.hero-secondary{width:100%;text-align:center}.subjects-section{padding:80px 0}.subjects-container{padding:0 30px}.subjects-header{margin-bottom:50px}.subjects-header h2{font-size:36px}.subject-card{padding:36px 28px}.subject-icon{width:60px;height:60px;font-size:28px}.subject-card h3{font-size:24px}.feature-section{padding:80px 30px}.feature-emoji{font-size:60px}.feature-content h3{font-size:36px}.feature-content p{font-size:18px}.stats-section{padding:60px 30px}.stats-container{grid-template-columns:1fr;gap:24px}.stat-number{font-size:40px}.subject-page-header{padding:40px 0 60px}.subject-header-content{padding:0 30px}.subject-header-content h1{font-size:36px}.subject-textbooks-section{padding:60px 0}.subject-textbooks-container{padding:0 30px}.grade-group{margin-bottom:60px}.textbooks-grid{grid-template-columns:1fr}.textbook-page-header{padding:40px 0 60px}.textbook-header-content{padding:0 30px}.textbook-header-content h1{font-size:36px}.textbook-chapters-section{padding:60px 0}.textbook-chapters-container,.locked-info-container{padding:0 30px}.locked-card{padding:30px 20px}.locked-meta{flex-direction:column;gap:8px}.chapters-grid{grid-template-columns:1fr}.section-header h2{font-size:28px}.chapter-page-header{padding:40px 0 60px}.chapter-header-content{padding:0 30px}.chapter-header-content h1{font-size:36px}.lessons-section{padding:60px 0}.lessons-container{padding:0 30px}.lessons-grid{grid-template-columns:1fr;gap:16px}.lesson-card{flex-direction:column;min-height:auto}.lesson-thumbnail{width:100%;min-width:100%;height:120px}.lesson-header{padding:16px 20px}.lesson-header .breadcrumb{display:flex}.lesson-header .breadcrumb .breadcrumb-mobile-hide{display:none}.lesson-header .breadcrumb .breadcrumb-ellipsis{display:inline}.lesson-title{font-size:15px}.complete-btn{padding:8px 16px;font-size:13px}.complete-btn span:last-child{display:none}.header-right{gap:8px}}.students-table-container{background:#fff;border:2px solid #e2e8f0;border-radius:16px;overflow:hidden}.students-table{width:100%;border-collapse:collapse}.students-table th,.students-table td{padding:16px 20px;text-align:left;border-bottom:1px solid #e2e8f0}.students-table th{background:#f7fafc;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#718096}.students-table tr:last-child td{border-bottom:none}.students-table tr:hover{background:#f7fafc}.student-info{display:flex;align-items:center;gap:12px}.student-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;text-transform:uppercase}.student-avatar.large{width:64px;height:64px;font-size:24px}.student-name{font-weight:600;color:#1a202c}.student-email{font-size:13px;color:#718096}.lessons-count{font-weight:600;color:#2d3748}.progress-bar-container{width:100px;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px}.progress-bar{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;transition:width .3s}.progress-percent{font-size:13px;font-weight:600;color:#718096}.average-score{font-weight:700;color:#48bb78}.no-score{color:#a0aec0}.detail-link{color:#667eea;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s}.detail-link:hover{color:#5a67d8}.student-header-info{display:flex;align-items:center;gap:20px;margin-top:24px}.student-header-info h1{margin-bottom:4px}.student-header-info p{font-size:16px;color:#718096}.textbook-progress-section{margin-bottom:48px}.textbook-progress-section:last-child{margin-bottom:0}.chapter-progress-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;margin-bottom:16px;overflow:hidden}.chapter-progress-header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#f7fafc;border-bottom:1px solid #e2e8f0}.chapter-position{width:32px;height:32px;border-radius:8px;background:#667eea;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.chapter-progress-header h3{font-size:18px;font-weight:600;color:#1a202c;margin:0}.lessons-progress-list{padding:8px 0}.lesson-progress-item{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid #f0f4f8;transition:background .2s}.lesson-progress-item:last-child{border-bottom:none}.lesson-progress-item:hover{background:#f7fafc}.lesson-progress-item .lesson-position{width:24px;height:24px;border-radius:6px;background:#e2e8f0;color:#718096;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0}.lesson-progress-item .lesson-title{flex:1;font-size:15px;color:#2d3748}.lesson-progress-item .lesson-status{width:24px;text-align:center}.lesson-progress-item .lesson-score{width:48px;text-align:right;font-weight:600;font-size:14px;color:#718096}.status-icon{font-size:14px}.status-icon.completed{color:#48bb78}.status-icon.failed{color:#f56565}.status-icon.in-progress{color:#ecc94b}.status-icon.not-attempted{color:#cbd5e0}.lesson-progress-item.completed .lesson-position{background:#c6f6d5;color:#22543d}.lesson-progress-item.failed .lesson-position{background:#fed7d7;color:#742a2a}.lesson-progress-item.in-progress .lesson-position{background:#fef3c7;color:#744210}.empty-state{text-align:center;padding:80px 40px;background:#fff;border:2px dashed #e2e8f0;border-radius:20px}.empty-state .empty-icon{font-size:64px;margin-bottom:24px}.empty-state p{font-size:18px;color:#718096}@media(max-width:768px){.students-table-container{overflow-x:auto}.students-table th,.students-table td{padding:12px 16px}.progress-bar-container{width:60px}.student-header-info{flex-direction:column;text-align:center}.lesson-progress-item{padding:12px 16px;gap:12px}}.lesson-progress-item{display:flex;align-items:center;gap:.5rem}.lesson-progress-item .lesson-title{flex:1}.lesson-progress-item .lesson-meta{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.lesson-progress-item .lesson-time{color:#6b7280}.lesson-progress-item .lesson-score{font-weight:600;color:#059669}.subject-card-content{display:flex;flex-direction:column;flex:1;min-width:0}.subject-card.has-promo-image{flex-direction:row;align-items:stretch;gap:24px}.subject-card.has-promo-image .subject-card-content{flex:1}.subject-card-image{flex:0 0 auto;width:200px;display:flex;align-items:center;justify-content:center}.subject-card-image img{width:100%;height:100%;max-height:100%;object-fit:cover;border-radius:12px;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.subject-card.has-promo-image:hover .subject-card-image img{transform:scale(1.03)}@media(max-width:1024px){.subject-card-image{width:160px}}@media(max-width:768px){.subject-card.has-promo-image{flex-direction:column;gap:20px}.subject-card-image{width:100%;max-width:200px;align-self:center;order:-1}}
