@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap";:root{--color-magenta:#d81b60;--color-magenta-light:#fdf2f6;--color-blue:#1976d2;--color-blue-light:#eff6ff;--color-bg-light:#e0f2fe;--font-family-main:"Nunito", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}body{font-family:var(--font-family-main);background-color:var(--color-bg-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-main);margin:0;font-weight:800}p,span,div,button,input{font-family:var(--font-family-main)}@keyframes pulse{0%{opacity:.4}50%{opacity:.9}to{opacity:.4}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.login-page{background:var(--color-bg-light) url(https://images.unsplash.com/photo-1503676260728-1c00da094a0b?q=80&w=600&auto=format&fit=crop) center/cover;min-height:100vh;font-family:var(--font-family-main);flex-direction:column;display:flex;position:relative}.login-page:before{content:"";z-index:0;background:linear-gradient(135deg,#e0f2fecc 0%,#e0f2fef2 100%);position:absolute;inset:0}.login-phone{z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.login-content{flex-direction:column;flex:1;display:flex}.login-header{text-align:center;padding:60px 24px 40px;animation:.5s ease-out slideDown}.login-header img{object-fit:contain;height:60px;margin-bottom:24px}.login-header h1{color:#1e293b;margin:0 0 8px;font-size:28px;font-weight:900}.login-header p{color:#64748b;margin:0;font-size:15px;font-weight:600}.auth-bottom-sheet{background:#fff;border-top-left-radius:32px;border-top-right-radius:32px;flex-direction:column;flex:1;padding:40px 24px;animation:.6s cubic-bezier(.16,1,.3,1) slideUp;display:flex;box-shadow:0 -10px 30px #0000000d}.login-form-container{flex-direction:column;display:flex}.input-wrapper{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;align-items:center;height:56px;margin-bottom:16px;padding:0 16px;transition:border-color .2s,box-shadow .2s;display:flex}.input-wrapper:focus-within{border-color:var(--color-blue);box-shadow:0 0 0 3px var(--color-blue-light);background:#fff}.input-wrapper svg{fill:none;stroke:currentColor;stroke-width:2px;color:#94a3b8;flex-shrink:0;width:20px;height:20px;margin-right:12px}.input-wrapper input{color:#1e293b;font-size:15px;font-weight:600;font-family:var(--font-family-main);background:0 0;border:none;outline:none;flex:1;width:100%}.input-wrapper input::placeholder{color:#94a3b8;font-weight:500}.password-toggle{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;padding:8px;display:flex}.forgot-password{text-align:right;color:var(--color-blue);cursor:pointer;background:0 0;border:none;margin-bottom:24px;padding:0;font-size:13px;font-weight:700;text-decoration:none;display:block}.login-submit-btn{background:var(--color-magenta);color:#fff;cursor:pointer;width:100%;font-size:16px;font-weight:800;font-family:var(--font-family-main);border:none;border-radius:16px;margin-bottom:24px;padding:16px;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 24px #d81b6033}.login-submit-btn:active{transform:translateY(2px);box-shadow:0 4px 12px #d81b6033}.login-submit-btn:disabled{box-shadow:none;cursor:not-allowed;background:#cbd5e1;transform:none}.social-login{text-align:center;margin-bottom:24px;position:relative}.social-login:before{content:"";z-index:1;background:#e2e8f0;height:1px;position:absolute;top:50%;left:0;right:0}.social-login span{z-index:2;color:#64748b;background:#fff;padding:0 16px;font-size:13px;font-weight:600;position:relative}.google-btn{color:#1e293b;cursor:pointer;width:100%;font-size:15px;font-weight:700;font-family:var(--font-family-main);background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;gap:12px;margin-bottom:24px;padding:14px;display:flex}.register-link{text-align:center;color:#64748b;margin-bottom:24px;font-size:14px;font-weight:600}.register-link button{color:var(--color-blue);cursor:pointer;font-size:14px;font-weight:800;font-family:var(--font-family-main);background:0 0;border:none;margin-left:4px;padding:0}.error-message{color:#ef4444;text-align:center;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:12px;font-size:13px;font-weight:600}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.forgot-modal-backdrop{-webkit-backdrop-filter:blur(6px);z-index:1000;background-color:#0f172a99;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.forgot-modal-card{background:#fff;border-radius:24px;flex-direction:column;width:100%;max-width:420px;padding:28px 24px;animation:.25s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;position:relative;box-shadow:0 25px 50px -12px #00000040}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.forgot-modal-header{text-align:center;margin-bottom:20px}.forgot-modal-icon-badge{color:#db2777;background:#fdf2f8;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 14px;display:flex}.forgot-modal-icon-badge.success{color:#16a34a;background:#f0fdf4}.forgot-modal-title{color:#0f172a;margin:0 0 6px;font-size:20px;font-weight:800}.forgot-modal-desc{color:#64748b;margin:0;font-size:13.5px;line-height:1.5}.forgot-input-group{margin-bottom:14px;position:relative}.forgot-input-icon{color:#94a3b8;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.forgot-input-wrapper{align-items:center;display:flex;position:relative}.forgot-input-wrapper input{color:#1e293b;box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:14px;width:100%;height:50px;padding:0 42px;font-family:inherit;font-size:14.5px;transition:all .2s}.forgot-input-wrapper input:focus{background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.forgot-input-wrapper input.otp-code{letter-spacing:4px;text-align:center;padding:0 16px;font-size:18px;font-weight:700}.forgot-eye-toggle{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.forgot-eye-toggle:hover{color:#475569}.forgot-status-badge{text-align:center;border-radius:12px;margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.4}.forgot-status-badge.error{color:#dc2626;background:#fef2f2;border:1px solid #fee2e2}.forgot-status-badge.info{color:#0284c7;background:#f0f9ff;border:1px solid #e0f2fe}.forgot-status-badge.success{color:#16a34a;background:#f0fdf4;border:1px solid #dcfce7}.forgot-modal-actions{gap:12px;margin-top:10px;display:flex}.forgot-btn-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e11d48 0%,#be123c 100%);border:none;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;height:48px;font-size:14.5px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #e11d4847}.forgot-btn-submit:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.forgot-btn-submit:disabled{opacity:.6;cursor:not-allowed}.forgot-btn-cancel{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:14px;height:48px;padding:0 18px;font-size:14px;font-weight:600;transition:background .2s}.forgot-btn-cancel:hover{background:#e2e8f0}.reset-page{background:var(--color-bg-light,#f0f9ff) url(https://images.unsplash.com/photo-1503676260728-1c00da094a0b?q=80&w=600&auto=format&fit=crop) center/cover;min-height:100vh;font-family:var(--font-family-main,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:relative}.reset-page:before{content:"";z-index:0;background:linear-gradient(135deg,#e0f2fee0 0%,#e0f2fef5 100%);position:absolute;inset:0}.reset-card-container{z-index:1;width:100%;max-width:440px;position:relative}.reset-card{background:#fff;border-radius:28px;padding:36px 28px;animation:.35s cubic-bezier(.16,1,.3,1) cardSlideUp;box-shadow:0 20px 45px -10px #0f172a1f,0 0 1px 1px #0f172a0d}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reset-brand-header{text-align:center;margin-bottom:28px}.reset-brand-logo{object-fit:contain;height:48px;margin-bottom:16px}.reset-brand-header h1{color:#0f172a;letter-spacing:-.3px;margin:0 0 8px;font-size:24px;font-weight:800}.reset-brand-header p{color:#64748b;margin:0;font-size:14.5px;line-height:1.5}.reset-form{flex-direction:column;display:flex}.reset-input-group{margin-bottom:16px}.reset-input-label{color:#334155;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.reset-input-wrapper{align-items:center;display:flex;position:relative}.reset-input-icon{color:#94a3b8;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:14px}.reset-input-wrapper input{color:#0f172a;box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;width:100%;height:52px;padding:0 44px;font-family:inherit;font-size:15px;transition:all .2s}.reset-input-wrapper input:focus{background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb24}.reset-input-wrapper input.otp-input{text-align:center;letter-spacing:5px;padding:0 16px;font-size:18px;font-weight:800}.reset-eye-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:14px}.reset-eye-btn:hover{color:#475569}.reset-alert{text-align:center;border-radius:14px;margin-bottom:20px;padding:12px 16px;font-size:13.5px;font-weight:600;line-height:1.45}.reset-alert.error{color:#dc2626;background:#fef2f2;border:1px solid #fee2e2}.reset-alert.success{color:#16a34a;background:#f0fdf4;border:1px solid #dcfce7}.reset-alert.info{color:#0284c7;background:#f0f9ff;border:1px solid #e0f2fe}.reset-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e11d48 0%,#be123c 100%);border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;margin-top:8px;font-size:15.5px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 6px 18px #e11d4847}.reset-submit-btn:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.reset-submit-btn:disabled{opacity:.6;cursor:not-allowed}.reset-back-btn{color:#64748b;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:18px;font-size:14px;font-weight:600;transition:color .2s;display:flex}.reset-back-btn:hover{color:#0f172a}.thorton-page{background-color:var(--color-bg-light);min-height:100vh;font-family:var(--font-family-main);flex-direction:column;display:flex}.phone-frame{background:url(https://images.unsplash.com/photo-1503676260728-1c00da094a0b?q=80&w=600&auto=format&fit=crop) 50%/cover;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.phone-frame:before{content:"";z-index:0;background:linear-gradient(135deg,#e0f2fecc 0%,#e0f2fef2 100%);position:absolute;inset:0}.splash-content{z-index:2;flex-direction:column;flex:1;display:flex;position:relative}.splash-header{text-align:center;padding:60px 20px 20px;position:relative}.splash-header img{object-fit:contain;height:80px;margin-bottom:20px;animation:.5s ease-out slideDown}.splash-header h1{color:#1e293b;margin:0 0 8px;font-size:28px;font-weight:900;animation:.8s ease-out fadeIn}.splash-header p{color:#64748b;margin:0;font-size:16px;font-weight:700;animation:1s ease-out fadeIn}.splash-hero{flex:1;justify-content:center;align-items:center;padding:20px;display:flex;position:relative}.hero-circle{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:280px;height:280px;animation:.8s cubic-bezier(.16,1,.3,1) scaleIn;display:flex;position:relative;box-shadow:0 20px 40px #1976d226}.floating-icon{background:#fff;border-radius:50%;justify-content:center;align-items:center;animation:3s ease-in-out infinite float;display:flex;position:absolute;box-shadow:0 8px 20px #0000001a}.floating-icon.icon-1{width:56px;height:56px;color:var(--color-blue);animation-delay:0s;top:-10px;left:20px}.floating-icon.icon-2{width:48px;height:48px;animation-delay:1s;top:40px;right:-10px}.floating-icon.icon-3{width:64px;height:64px;animation-delay:.5s;bottom:20px;left:-10px}.splash-footer{background:#fff;border-top-left-radius:32px;border-top-right-radius:32px;padding:40px 24px;animation:.6s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 -10px 30px #0000000d}.splash-features{color:#64748b;justify-content:center;align-items:center;gap:16px;margin-bottom:32px;font-size:15px;font-weight:700;display:flex}.splash-dot{background:var(--color-magenta);border-radius:50%;width:6px;height:6px}.splash-button{background:var(--color-magenta);color:#fff;cursor:pointer;width:100%;font-size:18px;font-weight:800;font-family:var(--font-family-main);border:none;border-radius:16px;padding:16px;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 24px #d81b6040}.splash-button:active{transform:translateY(2px);box-shadow:0 4px 12px #d81b6033}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes float{0%{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(5deg)}to{transform:translateY(0)rotate(0)}}.student-home{background-color:var(--color-bg-light);min-height:100vh;font-family:var(--font-family-main);flex-direction:column;width:100%;max-width:100vw;display:flex;overflow-x:hidden}.student-top-area{padding:24px 20px 60px;position:relative;overflow:hidden}.student-top-area:before{content:"";opacity:.15;mix-blend-mode:multiply;pointer-events:none;background:url(https://images.unsplash.com/photo-1503676260728-1c00da094a0b?q=80&w=600&auto=format&fit=crop) 50%/cover;position:absolute;inset:0}.fun-element{pointer-events:none;opacity:.8;font-size:24px;animation:3s ease-in-out infinite float;position:absolute}.fun-element.star1{font-size:30px;animation-delay:0s;top:20px;right:20px}.fun-element.star2{font-size:20px;animation-delay:1s;top:60px;right:10px}.fun-element.sparkle{color:var(--color-magenta);font-size:20px;animation-delay:.5s;bottom:40px;left:20px}.student-header{z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative}.student-logo img{object-fit:contain;height:45px}.student-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;box-shadow:0 4px 12px #1976d233}.student-avatar{border:3px solid #fff;border-radius:50%;width:48px;height:48px}.greeting-area{z-index:2;margin-top:30px;position:relative}.greeting-area h1{color:#1e293b;letter-spacing:-.5px;margin:0;font-size:28px;font-weight:800;display:inline-block;position:relative}.greeting-area h1:after{content:"✨";font-size:20px;animation:2.5s ease-in-out infinite float;position:absolute;top:-15px;right:-25px}.greeting-area p{color:#64748b;margin:4px 0 0;font-size:15px;font-weight:600}.student-main-content{z-index:3;background-color:#fff;border-top-left-radius:32px;border-top-right-radius:32px;flex:1;margin-top:-30px;padding:24px 20px 100px;position:relative;box-shadow:0 -10px 30px #00000008}.section-header{justify-content:space-between;align-items:center;margin-top:24px;margin-bottom:16px;display:flex}.section-header:first-child{margin-top:0}.section-header h2{color:#1e293b;margin:0;font-size:19px;font-weight:800}.see-all-button{color:var(--color-magenta);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:14px;font-weight:700}.books-list{scrollbar-width:none;-ms-overflow-style:none;gap:16px;padding-bottom:12px;display:flex;overflow-x:auto}.books-list::-webkit-scrollbar{display:none}.book-card{background:#fff;border:1px solid #f1f5f9;border-radius:16px;flex:0 0 140px;padding:12px;transition:transform .2s,opacity .2s,filter .2s;position:relative;box-shadow:0 4px 20px #0000000f}.book-card.book-disabled{opacity:.55;filter:grayscale();box-shadow:none;background:#f8fafc;border-color:#e2e8f0;cursor:not-allowed!important}.book-card.book-disabled:hover{transform:none}.book-card.book-disabled .book-image-wrapper{filter:grayscale();background:#f1f5f9}.book-card.book-disabled .book-info h3{color:#94a3b8}.book-unavailable-badge{white-space:nowrap;color:#fff;letter-spacing:.4px;-webkit-backdrop-filter:blur(6px);z-index:2;text-transform:uppercase;pointer-events:none;background:#475569e6;border-radius:20px;justify-content:center;align-items:center;padding:4px 8px;font-size:9.5px;font-weight:800;display:inline-flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000002e}.book-image-wrapper{background:#f8fafc;border-radius:10px;width:100%;height:140px;margin-bottom:12px;overflow:hidden}.book-image{object-fit:contain;width:100%;height:100%}.book-info h3{color:#334155;white-space:nowrap;text-overflow:ellipsis;margin:0 0 8px;font-size:13px;font-weight:700;overflow:hidden}.progress-bar{background:#f1f5f9;border-radius:3px;width:100%;height:6px;margin-bottom:10px;overflow:hidden}.progress-fill{background:var(--color-magenta);border-radius:3px;height:100%}.resume-btn{background:var(--color-magenta);color:#fff;cursor:pointer;border:none;border-radius:20px;width:100%;padding:6px 0;font-size:12px;font-weight:700}.remove-book-btn{color:#64748b;cursor:pointer;z-index:15;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .15s,background-color .15s,color .15s;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 10px #0000001f}.remove-book-btn:hover,.remove-book-btn:active{color:#ef4444;background:#fee2e2;transform:scale(1.1)}.continue-hero-container{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.continue-hero-container::-webkit-scrollbar{display:none}.continue-hero-card{cursor:pointer;scroll-snap-align:start;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#fff;border:1px solid #f1f5f9;border-radius:16px;flex:0 0 min(340px,92vw);align-items:center;gap:12px;padding:10px 14px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 4px 16px #0000000a}.continue-hero-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000000f}.continue-hero-cover{background:#f8fafc;border-radius:8px;flex-shrink:0;width:54px;height:72px;display:flex;overflow:hidden;box-shadow:0 3px 10px #0000001f}.continue-hero-cover>*,.continue-hero-cover .continue-hero-image{object-fit:cover;width:100%;height:100%}.continue-hero-details{flex-direction:column;flex:1;min-width:0;display:flex}.continue-hero-tag{letter-spacing:.5px;color:var(--color-magenta,#d81b60);text-transform:uppercase;margin-bottom:2px;font-size:9px;font-weight:800}.continue-hero-title{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:13px;font-weight:700;line-height:1.3;overflow:hidden}.continue-hero-meta{color:#64748b;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:10px;display:flex}.continue-hero-page{color:#64748b;font-weight:600}.continue-hero-percent{color:var(--color-magenta,#d81b60);font-weight:800}.continue-hero-progress-track{background:#f1f5f9;border-radius:2px;width:100%;height:4px;overflow:hidden}.continue-hero-progress-fill{background:linear-gradient(90deg, var(--color-magenta,#d81b60) 0%, #f43f5e 100%);border-radius:2px;height:100%;transition:width .3s}.continue-hero-resume-btn{background:var(--color-magenta,#d81b60);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;align-items:center;gap:4px;padding:8px 12px;font-size:12px;font-weight:700;transition:transform .15s,background-color .15s;display:flex;box-shadow:0 2px 8px #d81b6040}.continue-hero-resume-btn:hover{background:#be1250;transform:scale(1.04)}.continue-hero-remove-btn{color:#94a3b8;cursor:pointer;z-index:10;touch-action:manipulation;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 8px #0000001a}.continue-hero-remove-btn:hover,.continue-hero-remove-btn:active{color:#ef4444;background:#fee2e2;transform:scale(1.15)}.quick-actions{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;display:grid}.quick-action{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:9px;padding:0;display:flex}.quick-action-icon{background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;display:flex;box-shadow:0 4px 12px #00000008}.quick-action-icon img{object-fit:contain;width:32px;height:32px}.quick-action span{color:#475569;text-align:center;font-size:12px;font-weight:700}.bottom-cards-row{gap:16px;margin-top:30px;display:flex;position:relative}.modern-card{cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:20px;flex:1;padding:16px;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000a}.modern-card.magenta-theme{background:var(--color-magenta-light);border-color:#fbcfe8}.modern-card.blue-theme{background:var(--color-blue-light);border-color:#bfdbfe}.modern-card h3{color:#1e293b;margin:0 0 4px;font-size:15px;font-weight:800}.modern-card p{color:#64748b;margin:0;font-size:12px;font-weight:600}.card-icon-bg{opacity:.1;pointer-events:none;font-size:60px;position:absolute;bottom:-10px;right:-10px}.card-icon{margin-top:12px;font-size:24px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bottom-navigation{--bottom-navigation-blue:#174c9c;--bottom-navigation-ink:#1f2d43;--bottom-navigation-muted:#758196;--bottom-navigation-border:#e9eef5;z-index:10;border-top:1px solid var(--bottom-navigation-border);background:#fff;width:100%;padding:10px 14px 8px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 18px #1f2d430f}.bottom-navigation__tabs{gap:6px;max-width:520px;margin:0 auto;padding:0 34px;display:grid}.bottom-navigation__tabs.no-scanner{padding:0 12px}.bottom-navigation__tab{min-width:0;min-height:58px;color:var(--bottom-navigation-muted);cursor:pointer;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:7px 4px 5px;transition:background-color .16s,color .16s,transform .16s;display:flex}.bottom-navigation__tab:hover{color:var(--bottom-navigation-ink);background:#f4f7fb}.bottom-navigation__tab:focus-visible{outline-offset:2px;outline:3px solid #174c9c3d}.bottom-navigation__tab.is-active{color:#fff;background:#d81b60;transform:translateY(-2px);box-shadow:0 5px 12px #174c9c33}.bottom-navigation__icon{height:22px;font-size:21px;line-height:1;display:block}.bottom-navigation__title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.bottom-navigation__scan{color:#fff;cursor:pointer;background:#d81b60;border:5px solid #fff;border-radius:50%;place-items:center;width:66px;height:66px;transition:background-color .16s,box-shadow .16s,transform .16s;display:grid;position:absolute;top:-35px;left:50%;transform:translate(-50%);box-shadow:0 7px 18px #174c9c47}.bottom-navigation__scan svg{width:28px;height:28px}.bottom-navigation__scan:hover{background:#123d7d;transform:translate(-50%)translateY(-2px);box-shadow:0 9px 22px #174c9c57}.bottom-navigation__scan:focus-visible{outline-offset:3px;outline:3px solid #174c9c4d}.bottom-navigation__home-indicator{background:#172235;border-radius:999px;width:112px;height:4px;margin:9px auto 0}@media (width>=600px){.bottom-navigation{border:1px solid var(--bottom-navigation-border);border-radius:20px 20px 0 0}}@media (prefers-reduced-motion:reduce){.bottom-navigation__tab,.bottom-navigation__scan{transition:none}}.qr-scanner-view{z-index:9999;-webkit-user-select:none;user-select:none;background-color:#030712;flex-direction:column;font-family:inherit;display:flex;position:fixed;inset:0;overflow:hidden}.qr-scanner-video{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}.qr-scanner-header{z-index:10;padding:max(16px, calc(env(safe-area-inset-top,0px) + 12px)) 20px 16px 20px;-webkit-backdrop-filter:blur(12px);background:linear-gradient(#030712d9 0%,#03071259 75%,#0000 100%);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.qr-header-title-cluster{flex-direction:column;align-items:center;display:flex}.qr-header-badge{color:#38bdf8;text-transform:uppercase;letter-spacing:.5px;background:#0ea5e92e;border:1px solid #0ea5e959;border-radius:999px;align-items:center;gap:4px;margin-bottom:2px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.qr-header-title{color:#fff;letter-spacing:-.2px;margin:0;font-size:17px;font-weight:700}.qr-header-actions{align-items:center;gap:8px;display:flex}.qr-header-btn{color:#fff;cursor:pointer;background:#0f172a8c;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #00000040}.qr-header-btn:hover{background:#1e293bd9;border-color:#ffffff4d;transform:scale(1.04)}.qr-header-btn:active{transform:scale(.95)}.qr-header-btn.is-active-torch{background:#eab30840;border-color:#facc1599;box-shadow:0 0 16px #facc1566}.qr-viewfinder-container{z-index:5;flex-direction:column;display:flex;position:absolute;inset:0}.qr-viewfinder-overlay{background:#0307129e;transition:background-color .2s}.qr-viewfinder-top{flex:1}.qr-viewfinder-middle{flex-direction:row;width:100%;height:min(290px,75vw);display:flex}.qr-viewfinder-side{flex:1}.qr-viewfinder-box{background:0 0;width:min(290px,75vw);height:min(290px,75vw);position:relative;box-shadow:0 0 0 1px #ffffff14}.qr-corner{filter:drop-shadow(0 0 8px #38bdf8b3);border-color:#38bdf8;width:38px;height:38px;position:absolute}.qr-corner-tl{border-top:4px solid #38bdf8;border-left:4px solid #38bdf8;border-top-left-radius:16px;top:0;left:0}.qr-corner-tr{border-top:4px solid #38bdf8;border-right:4px solid #38bdf8;border-top-right-radius:16px;top:0;right:0}.qr-corner-bl{border-bottom:4px solid #38bdf8;border-left:4px solid #38bdf8;border-bottom-left-radius:16px;bottom:0;left:0}.qr-corner-br{border-bottom:4px solid #38bdf8;border-right:4px solid #38bdf8;border-bottom-right-radius:16px;bottom:0;right:0}.qr-laser-line{background:linear-gradient(90deg,#0000 0%,#38bdf8 30%,#a855f7 50%,#38bdf8 70%,#0000 100%);border-radius:2px;height:3px;animation:2.4s ease-in-out infinite alternate qr-laser-sweep;position:absolute;left:4px;right:4px;box-shadow:0 0 14px 2px #38bdf8d9}@keyframes qr-laser-sweep{0%{opacity:.6;top:6px}15%{opacity:1}85%{opacity:1}to{opacity:.6;top:calc(100% - 9px)}}.qr-reticle-crosshair{pointer-events:none;opacity:.35;width:24px;height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.qr-reticle-crosshair:before,.qr-reticle-crosshair:after{content:"";background-color:#fff;position:absolute}.qr-reticle-crosshair:before{width:24px;height:2px;top:11px;left:0}.qr-reticle-crosshair:after{width:2px;height:24px;top:0;left:11px}.qr-viewfinder-bottom{justifyContent:flex-start;padding-top:28px;padding-bottom:max(32px, calc(env(safe-area-inset-bottom,0px) + 20px));flex-direction:column;flex:1.4;align-items:center;display:flex}.qr-instructions-card{text-align:center;flex-direction:column;align-items:center;max-width:340px;padding:0 16px;display:flex}.qr-instructions-main{color:#fff;text-shadow:0 2px 6px #0009;margin:0 0 6px;font-size:15px;font-weight:600}.qr-instructions-sub{color:#94a3b8;margin:0 0 20px;font-size:13px;line-height:1.4}.qr-upload-pill-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(16px);background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 22px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 8px 24px #00000059}.qr-upload-pill-btn:hover:not(:disabled){background:#ffffff38;border-color:#ffffff73;transform:translateY(-2px);box-shadow:0 12px 28px #00000073}.qr-upload-pill-btn:active:not(:disabled){transform:translateY(0)}.qr-upload-pill-btn:disabled{opacity:.6;cursor:not-allowed}.qr-scanner-toast{z-index:100;color:#fff;white-space:nowrap;pointer-events:none;background:#0f172aeb;border:1px solid #fff3;border-radius:20px;padding:8px 18px;font-size:13px;font-weight:500;animation:.22s ease-out qr-toast-fade;position:absolute;top:84px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000059}@keyframes qr-toast-fade{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.qr-error-pill{z-index:100;color:#fff;-webkit-backdrop-filter:blur(12px);background:#ef4444eb;border:1px solid #fecaca66;border-radius:14px;align-items:center;gap:10px;max-width:480px;margin:0 auto;padding:12px 18px;font-size:13.5px;font-weight:500;display:flex;position:absolute;bottom:24px;left:20px;right:20px;box-shadow:0 8px 24px #ef44444d}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background-color:#0f172a99;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-container{width:100%;max-width:400px;font-family:var(--font-family-main);background-color:#fff;border-radius:24px;flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #0000001a;border-radius:24px!important;font-family:Nunito,sans-serif!important}.modal-header{align-items:flex-start;gap:16px;padding:24px 24px 20px;display:flex}.modal-icon-wrapper{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.modal-icon-wrapper.danger{color:#ef4444;background-color:#fee2e2}.modal-icon-wrapper.info{color:var(--color-blue);background-color:#e0f2fe}.modal-icon-wrapper.warning{color:#f59e0b;background-color:#fef3c7}.modal-title-group{flex:1}.modal-title{color:#1e293b;margin:0 0 8px;font-size:20px;font-weight:800}.modal-description{color:#64748b;margin:0;font-size:15px;font-weight:600;line-height:1.5}.modal-footer{background-color:#fff;justify-content:flex-end;gap:12px;padding:16px 24px 24px;display:flex}.modal-btn{cursor:pointer;font-size:15px;font-weight:700;font-family:var(--font-family-main);border:none;border-radius:16px;padding:12px 20px;transition:all .2s;border-radius:16px!important;font-family:Nunito,sans-serif!important}.modal-btn-cancel{color:#64748b;background-color:#fff;border:2px solid #e2e8f0}.modal-btn-cancel:hover{color:#0f172a;background-color:#f8fafc}.modal-btn-confirm{background-color:var(--color-magenta);color:#fff;box-shadow:0 4px 12px #d81b6040}.modal-btn-confirm:hover{background-color:#be1250}.modal-btn-danger{color:#fff;background-color:#ef4444;box-shadow:0 4px 12px #ef444433}.modal-btn-danger:hover{background-color:#dc2626}.route-reader-loader{background:var(--color-bg-light);justify-content:center;align-items:center;min-height:100dvh;display:flex}.teacher-home{background:var(--color-bg-light);min-height:100vh;font-family:var(--font-family-main);flex-direction:column;display:flex}.teacher-top-area{background:linear-gradient(150deg,#edf8ff 0%,#fdf5fa 100%);padding:20px 20px 72px;position:relative;overflow:hidden}.teacher-top-area:before{content:"";background:#d81b6017;border-radius:50%;width:240px;height:240px;position:absolute;top:-130px;right:-70px}.teacher-header,.teacher-greeting{z-index:2;position:relative}.teacher-header{justify-content:space-between;align-items:center;display:flex}.teacher-logo{object-fit:contain;width:auto;height:38px}.teacher-header-actions{align-items:center;gap:10px;display:flex}.teacher-profile,.notification-button,.teacher-greeting{cursor:pointer;font:inherit;border:0}.teacher-profile{background:0 0;border-radius:50%;padding:0}.teacher-avatar{object-fit:cover;border:3px solid #fff;border-radius:50%;width:42px;height:42px;display:block;box-shadow:0 4px 12px #1976d22e}.notification-button{color:#334155;background:#ffffffdb;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:relative;box-shadow:0 4px 12px #0f172a0f}.notification-dot{background:#ef4444;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:8px}.teacher-greeting{text-align:left;background:0 0;align-items:center;margin:28px 0 0;padding:0;display:flex}.teacher-greeting-copy span{color:#64748b;font-size:13px;font-weight:700}.teacher-greeting-copy h1{color:#1e293b;letter-spacing:-.5px;margin:2px 0;font-size:28px;font-weight:800;line-height:1.1}.teacher-greeting-copy p{color:#64748b;margin:0;font-size:13px;font-weight:600}.teacher-main-content{z-index:3;background:#fff;border-radius:32px 32px 0 0;flex:1;margin-top:-34px;padding:24px 20px 104px;position:relative;box-shadow:0 -10px 30px #0f172a08}.teacher-hero{color:#fff;background:linear-gradient(135deg,#0d8abc 0%,#1769aa 100%);border-radius:22px;margin-bottom:27px;padding:21px;position:relative;overflow:hidden;box-shadow:0 12px 25px #0d8abc3b}.teacher-hero:after{content:"";border:18px solid #ffffff1f;border-radius:50%;width:140px;height:140px;position:absolute;top:-72px;right:-55px}.hero-content{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.hero-icon-small{opacity:.9;margin-bottom:8px}.hero-text h2{margin:0 0 4px;font-size:21px;font-weight:800;line-height:1.1}.hero-text p{opacity:.88;margin:0;font-size:14px}.hero-decoration{opacity:.34}.section-title,.teacher-section-heading h3{color:#1e293b;margin:0;font-size:19px;font-weight:800}.quick-actions-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px;display:grid}.quick-action-btn{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:0;display:flex}.quick-action-icon-bg{border:1px solid #e2e8f0cc;border-radius:18px;place-items:center;width:60px;height:60px;display:grid;box-shadow:0 4px 12px #0f172a09}.quick-action-label{color:#475569;text-align:center;font-size:11px;font-weight:700;line-height:1.18}.dashboard-stats-section,.recent-activity-section{margin-top:30px}.teacher-section-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.teacher-section-heading span{color:#94a3b8;font-size:12px;font-weight:700}.teacher-stats-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.teacher-stat-card{cursor:pointer;text-align:left;min-width:0;box-shadow:none;border:0;border-radius:18px;padding:13px 11px}.teacher-stat-card strong{color:#1e293b;margin:9px 0 2px;font-size:22px;line-height:1;display:block}.teacher-stat-card>span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;display:block;overflow:hidden}.teacher-stat-icon{border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.students-stat{background:#eff9ff}.students-stat .teacher-stat-icon{color:#0284c7;background:#d9f0ff}.classes-stat{background:#fdf2f8}.classes-stat .teacher-stat-icon{color:#c0266c;background:#fce2ef}.worksheets-stat{background:#f0fdf4}.worksheets-stat .teacher-stat-icon{color:#16a34a;background:#dcfce7}.teacher-activity-list{flex-direction:column;gap:11px;display:flex}.teacher-activity-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #eef2f6;border-radius:17px;align-items:center;gap:12px;width:100%;padding:14px;display:flex;box-shadow:0 4px 16px #0f172a06}.teacher-activity-icon{border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:grid}.activity-blue{color:#0284c7;background:#e0f2fe}.activity-gold{color:#b45309;background:#fef3c7}.teacher-activity-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.teacher-activity-copy strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.teacher-activity-copy span{color:#94a3b8;font-size:12px;font-weight:600}.teacher-activity-empty{color:#64748b;background:#fbfdff;border:1px dashed #dbe5ee;border-radius:17px;align-items:center;gap:10px;padding:15px;font-size:13px;font-weight:600;display:flex}@media (width<=360px){.teacher-main-content{padding-left:16px;padding-right:16px}.teacher-stat-card{padding:11px 8px}.teacher-stat-card strong{font-size:20px}}.teacher-courses{background:var(--color-bg-light);min-height:100vh;font-family:var(--font-family-main);flex-direction:column;display:flex}.courses-top-area{background:linear-gradient(150deg,#edf8ff,#fdf5fa);padding:18px 20px 62px;position:relative;overflow:hidden}.courses-top-area:before{content:"";background:#d81b6014;border-radius:50%;width:160px;height:160px;position:absolute;top:-70px;right:-42px}.courses-header{z-index:2;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;display:grid;position:relative}.courses-header h1{color:#1e293b;letter-spacing:-.4px;margin:1px 0 0;font-size:25px;font-weight:800;line-height:1.1}.courses-header p{color:#64748b;margin:0;font-size:13px;font-weight:700}.back-button{color:#334155;cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid;box-shadow:0 4px 12px #0f172a0f}.courses-main-content{z-index:3;background:#fff;border-radius:32px 32px 0 0;flex:1;margin-top:-32px;padding:23px 20px 104px;position:relative;box-shadow:0 -10px 30px #0f172a08}.courses-filter{margin-bottom:17px}.filter-dropdown{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e6edf4;border-radius:15px;justify-content:space-between;align-items:center;width:100%;padding:13px 15px;font-size:14px;font-weight:700;display:flex}.courses-list{flex-direction:column;gap:12px;display:flex}.course-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #edf1f5;border-radius:18px;justify-content:space-between;align-items:center;width:100%;padding:15px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 16px #0f172a06}.course-card:active{box-shadow:none;transform:scale(.985)}.course-card-content{align-items:center;gap:14px;min-width:0;display:flex}.course-icon{border-radius:15px;flex:none;place-items:center;width:50px;height:50px;display:grid}.course-details h3{color:#334155;margin:0 0 4px;font-size:16px;font-weight:800}.course-details p{color:#94a3b8;margin:0;font-size:12px;font-weight:600}.course-details p span{margin:0 2px}.course-chevron{color:#cbd5e1;flex:none}.course-card-skeleton{pointer-events:none}.course-card-skeleton .course-icon,.course-card-skeleton h3,.course-card-skeleton p{color:#0000;background:#f1f5f9}.course-card-skeleton h3{border-radius:5px;width:100px;height:16px}.course-card-skeleton p{border-radius:5px;width:64px;height:12px}.courses-empty-state{color:#64748b;text-align:center;background:#fbfdff;border:1px dashed #dbe5ee;border-radius:18px;padding:30px 18px;font-size:14px;font-weight:600}.custom-select-container{width:100%;position:relative}.custom-select-trigger{color:#334155;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;font-size:16px;transition:all .2s;display:flex}.custom-select-container.disabled .custom-select-trigger{color:#94a3b8;cursor:not-allowed;background-color:#f8fafc;border-color:#e2e8f0}.custom-select-trigger:focus,.custom-select-trigger:active{border-color:#0d8abc;box-shadow:0 0 0 3px #0d8abc1a}.chevron{transition:transform .2s}.chevron.open{transform:rotate(180deg)}.placeholder-text{color:#94a3b8}.custom-select-dropdown{z-index:50;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;max-height:250px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.custom-select-option{cursor:pointer;color:#334155;padding:12px 16px;font-size:16px;transition:background-color .2s}.custom-select-option:hover{background-color:#f1f5f9}.custom-select-option.active{color:#0369a1;background-color:#e0f2fe;font-weight:500}.custom-select-empty{color:#94a3b8;text-align:center;padding:12px 16px}.multi-select-container{width:100%;position:relative}.multi-select-container.disabled{opacity:.6;pointer-events:none}.multi-select-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:12px;justify-content:space-between;align-items:center;min-height:48px;padding:12px 16px;transition:all .2s;display:flex}.multi-select-trigger:hover{border-color:#94a3b8}.multi-select-trigger.open{border-color:var(--color-blue,#2563eb);box-shadow:0 0 0 3px #2563eb1a}.multi-select-trigger-content{flex:1;align-items:center;gap:8px;display:flex;overflow:hidden}.multi-select-trigger .placeholder-text{color:#94a3b8;font-size:15px}.multi-select-trigger .selected-text{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.selection-badge{color:var(--color-blue,#2563eb);background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700}.chevron-icon{color:#64748b;flex-shrink:0;margin-left:8px;transition:transform .2s}.chevron-icon.rotated{transform:rotate(180deg)}.multi-select-menu{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:14px;animation:.15s ease-out fadeInDown;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.multi-select-header{background:#f8fafc;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.quick-action-btn{color:var(--color-blue,#2563eb);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:600;transition:background .15s}.quick-action-btn:hover:not(:disabled){background:#eff6ff}.quick-action-btn.danger{color:#ef4444}.quick-action-btn.danger:hover:not(:disabled){background:#fef2f2}.quick-action-btn:disabled{opacity:.4;cursor:not-allowed}.multi-select-search-wrapper{background:#fff;border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;padding:8px 14px;display:flex}.search-icon{color:#94a3b8;flex-shrink:0}.multi-select-search{color:#0f172a;background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:13px}.clear-search-btn{color:#64748b;cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:flex}.multi-select-options-list{max-height:240px;padding:6px;overflow-y:auto}.empty-options{text-align:center;color:#94a3b8;padding:18px;font-size:13px}.multi-select-option{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.multi-select-option:hover{background:#f1f5f9}.multi-select-option.selected{background:#eff6ff}.checkbox-box{background:#fff;border:1.5px solid #cbd5e1;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.checkbox-box.checked{background:var(--color-blue,#2563eb);border-color:var(--color-blue,#2563eb)}.option-name{color:#1e293b;word-break:break-word;flex:1;font-size:14px;font-weight:500}.multi-select-option.selected .option-name{color:#1e3a8a;font-weight:600}.multi-select-chips-container{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.selected-chip{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:500;animation:.15s fadeIn;display:inline-flex}.chip-label{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.chip-remove-btn{color:#3b82f6;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin:0;padding:0;display:flex}.chip-remove-btn:hover{color:#1d4ed8;background:#dbeafe}.test-paper-generator{background-color:#f8fafc;flex-direction:column;flex:1;display:flex;position:relative}.generator-header{z-index:10;background-color:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 16px;display:flex;position:sticky;top:0}.generator-header h1{color:#0f172a;margin:0;font-size:18px;font-weight:600}.generator-content{flex-direction:column;gap:20px;padding:24px 20px 190px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#1e293b;font-size:14px;font-weight:600}.select-wrapper{width:100%;position:relative}.select-wrapper select{appearance:none;color:#0f172a;background-color:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;padding:14px 16px;font-family:inherit;font-size:15px}.select-wrapper select:focus{border-color:var(--color-blue);box-shadow:0 0 0 2px #3b82f61a}.select-icon{color:#64748b;pointer-events:none;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.number-input,.text-area-input{color:#0f172a;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;padding:14px 16px;font-family:inherit;font-size:15px}.number-input:focus,.text-area-input:focus{border-color:var(--color-blue);box-shadow:0 0 0 2px #3b82f61a}.text-area-input{resize:vertical}.difficulty-segmented-control{background-color:#f1f5f9;border-radius:12px;gap:4px;padding:4px;display:flex}.difficulty-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px 0;font-size:14px;font-weight:600;transition:all .2s}.difficulty-btn.active{color:var(--color-magenta);background-color:#fff;box-shadow:0 1px 3px #0000001a}.generator-footer{background-color:#f8fafc;border-top:1px solid #f1f5f9;padding:16px 20px;position:fixed;bottom:90px;left:0;right:0}.generate-btn{background:linear-gradient(135deg, var(--color-blue) 0%, var(--color-magenta) 100%);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-size:16px;font-weight:600;transition:transform .1s;display:flex;box-shadow:0 4px 12px #2563eb33}.generate-btn:active{transform:scale(.98)}.sparkle-icon{color:#bfdbfe}.error-banner{color:#ef4444;background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:8px;margin-bottom:8px;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.chapters-list{flex-wrap:wrap;gap:8px;max-height:200px;margin-top:8px;display:flex}.chapter-chip{color:#475569;cursor:pointer;background-color:#f1f5f9;border:1px solid #0000;border-radius:16px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.chapter-chip:hover{background-color:#e2e8f0}.chapter-chip.selected{color:var(--color-magenta);background-color:#eff6ff;border-color:#bfdbfe}.check-icon{color:var(--color-magenta)}.generated-paper{background-color:#f8fafc;flex-direction:column;flex:1;display:flex;position:relative}.gp-header{background-color:#fff;justify-content:space-between;align-items:center;padding:20px 16px;display:flex}.back-btn{color:#0f172a;cursor:pointer;background:0 0;border:none;margin-left:-8px;padding:8px}.gp-header h1{color:#0f172a;margin:0;font-size:18px;font-weight:600}.gp-tabs{background-color:#fff;border-bottom:1px solid #e2e8f0;display:flex}.gp-tab{text-align:center;color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:16px 0;font-size:15px;font-weight:600;transition:all .2s}.gp-tab.active{color:var(--color-magenta);border-bottom:2px solid var(--color-magenta)}.gp-content{flex:1;padding:20px 20px 100px}.paper-container{justify-content:center;display:flex}.paper-document{background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;max-width:600px;padding:32px 24px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.paper-branding{color:var(--color-blue);justify-content:center;align-items:center;gap:8px;margin-bottom:24px;font-size:16px;font-weight:700;display:flex}.paper-title{text-align:center;color:#0f172a;margin:0 0 8px;font-size:20px;font-weight:700}.paper-subtitle{text-align:center;color:#64748b;margin:0 0 24px;font-size:14px}.paper-meta{justify-content:space-between;margin-bottom:32px;display:flex}.meta-line{color:#475569;flex:1;align-items:flex-end;gap:8px;max-width:45%;font-size:14px;display:flex}.meta-line .line{border-bottom:1px solid #cbd5e1;flex:1;height:20px}.question-block{margin-bottom:24px}.question-text{color:#1e293b;margin:0 0 12px;font-size:15px;font-weight:500;line-height:1.5}.question-options{grid-template-columns:1fr 1fr;gap:12px;padding-left:16px;display:grid}.option-item{color:#475569;font-size:14px}.gp-footer{background-color:#fff;border-top:1px solid #e2e8f0;gap:12px;padding:16px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.btn-refine,.btn-export{cursor:pointer;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:15px;font-weight:600;transition:transform .1s;display:flex}.btn-refine:active,.btn-export:active{transform:scale(.98)}.btn-refine{color:var(--color-magenta);background-color:#eff6ff;border:1px solid #bfdbfe}.btn-export{background:linear-gradient(135deg, var(--color-blue) 0%, var(--color-magenta) 100%);color:#fff;border:none;box-shadow:0 4px 12px #2563eb33}.chat-container{flex-direction:column;gap:16px;height:100%;display:flex}.chat-message{border-radius:16px;max-width:85%;padding:16px;font-size:14px;line-height:1.5}.ai-message{color:#1e293b;background-color:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:4px;align-self:flex-start;gap:12px;display:flex}.ai-icon{color:var(--color-blue);flex-shrink:0;margin-top:2px}.user-message{background-color:var(--color-blue);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-input-wrapper{gap:8px;margin-top:auto;display:flex}.chat-input{border:1px solid #cbd5e1;border-radius:24px;outline:none;flex:1;padding:14px 16px;font-size:14px}.chat-send-btn{background-color:var(--color-blue);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.paper-raw-content h1{color:#0f172a;margin-top:24px;margin-bottom:16px;font-size:20px;font-weight:700}.paper-raw-content h2{color:#1e293b;margin-top:20px;margin-bottom:12px;font-size:18px;font-weight:600}.paper-raw-content h3{color:#1e293b;margin-top:16px;margin-bottom:10px;font-size:16px;font-weight:600}.paper-raw-content p{color:#334155;margin-bottom:16px;line-height:1.6}.paper-raw-content ul,.paper-raw-content ol{color:#334155;margin-bottom:16px;padding-left:24px}.paper-raw-content li{margin-bottom:8px}.paper-raw-content blockquote{color:#64748b;border-left:4px solid #cbd5e1;margin:0 0 16px;padding-left:16px;font-style:italic}.paper-raw-content hr{border:0;border-top:1px solid #e2e8f0;margin:24px 0}.paper-raw-content strong{color:#0f172a;font-weight:600}.paper-raw-content table{border-collapse:collapse;width:100%;margin:16px 0}.paper-raw-content th,.paper-raw-content td{text-align:left;border:1px solid #cbd5e1;padding:8px 12px}.paper-raw-content th{color:#0f172a;background-color:#f1f5f9;font-weight:600}.chat-container{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000000d}.student-performance{background:var(--color-bg-light);min-height:100vh;font-family:var(--font-family-main);flex-direction:column;display:flex}.sp-top-area{background:linear-gradient(150deg,#edf8ff,#fdf5fa);padding:18px 20px 61px;position:relative;overflow:hidden}.sp-top-area:after{content:"";background:#d81b6014;border-radius:50%;width:145px;height:145px;position:absolute;top:-55px;right:-45px}.sp-header{z-index:2;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;display:grid;position:relative}.sp-header .back-btn{color:#334155;cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid}.sp-header p{color:#64748b;margin:0;font-size:13px;font-weight:700}.sp-header h1{color:#1e293b;margin:2px 0 0;font-size:25px;font-weight:800}.header-placeholder{width:42px}.sp-content{z-index:3;background:#fff;border-radius:32px 32px 0 0;flex:1;margin-top:-32px;padding:23px 20px 108px;position:relative}.sp-summary-card{background:linear-gradient(135deg,#eaf7ff,#f3faff);border-radius:19px;align-items:center;gap:14px;padding:17px;display:flex}.sp-summary-icon,.sp-classroom-icon{color:#0284c7;background:#d7f0ff;border-radius:13px;flex:none;place-items:center;display:grid}.sp-summary-icon{width:48px;height:48px}.sp-summary-card strong{color:#1e293b;font-size:25px;line-height:1;display:block}.sp-summary-card span,.sp-classroom-card span{color:#64748b;margin-top:4px;font-size:13px;font-weight:600;display:block}.sp-section{margin-top:29px}.sp-section-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.sp-section-heading h2{color:#1e293b;margin:0;font-size:19px;font-weight:800}.sp-section-heading span{color:#94a3b8;font-size:12px;font-weight:700}.sp-classroom-list{flex-direction:column;gap:11px;display:flex}.sp-classroom-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #edf1f5;border-radius:17px;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.sp-classroom-icon{width:42px;height:42px}.sp-classroom-card strong{color:#334155;font-size:15px}.sp-classroom-card>svg{color:#cbd5e1;margin-left:auto}.sp-loading-card,.sp-empty-state{color:#64748b;text-align:center;background:#fbfdff;border:1px dashed #dbe5ee;border-radius:18px;padding:28px 18px;font-size:14px;font-weight:600}.sp-empty-state{flex-direction:column;align-items:center;gap:9px;display:flex}.sp-empty-state h2,.sp-empty-state p{margin:0}.sp-empty-state h2{color:#334155;font-size:17px}.sp-empty-state p{max-width:240px;font-size:13px;font-weight:500}.sp-empty-state button{color:#fff;background:var(--color-magenta);cursor:pointer;border:0;border-radius:12px;margin-top:6px;padding:10px 14px;font-weight:700}.sp-insight-note{color:#64748b;background:#f8fafc;border-radius:15px;align-items:flex-start;gap:10px;margin-top:24px;padding:13px;font-size:12px;line-height:1.45;display:flex}.sp-insight-note svg{color:#db2777;flex:none}.sp-insight-note p{margin:0}.teacher-community{background-color:#f8fafc;flex-direction:column;flex:1;display:flex}.comm-header{background-color:#fff;justify-content:space-between;align-items:center;padding:20px 16px;display:flex}.comm-header h1{color:#0f172a;margin:0;font-size:18px;font-weight:600}.comm-tabs{background-color:#fff;border-bottom:1px solid #f1f5f9;gap:8px;padding:0 16px;display:flex}.comm-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:20px 20px 0 0;padding:12px 16px;font-size:14px;font-weight:600}.comm-tab.active{color:var(--color-magenta);border-bottom:2px solid var(--color-magenta)}.comm-content{padding:20px}.comm-list{flex-direction:column;gap:16px;display:flex}.comm-card{background-color:#fff;border-radius:16px;align-items:center;gap:16px;padding:16px;display:flex;box-shadow:0 1px 3px #0000000d}.comm-icon-wrapper{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.comm-details{flex-direction:column;flex:1;gap:4px;display:flex}.comm-details h3{color:#1e293b;margin:0;font-size:15px;font-weight:600}.comm-desc{color:#64748b;margin:0;font-size:12px;line-height:1.4}.comm-members{color:#94a3b8;margin-top:4px;font-size:11px;font-weight:600}.join-btn{color:var(--color-magenta);cursor:pointer;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:600;transition:transform .1s}.join-btn:active{transform:scale(.95)}.worksheets-page{background-color:#f8fafc;flex-direction:column;min-height:100vh;display:flex;position:relative}.ws-header{background-color:#fff;justify-content:space-between;align-items:center;padding:20px 16px;display:flex}.ws-header h1{color:#0f172a;margin:0;font-size:18px;font-weight:600}.header-icon-btn{color:#64748b;cursor:pointer;background:0 0;border:none}.ws-content{flex-direction:column;flex:1;padding:20px 20px 112px;display:flex}.ws-list{flex-direction:column;gap:16px;display:flex}.ws-card{background-color:#fff;border-radius:16px;align-items:center;gap:16px;padding:16px;display:flex;box-shadow:0 1px 3px #0000000d}.ws-icon-wrapper{background-color:#e0f2fe;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.ws-details{flex-direction:column;flex:1;gap:4px;display:flex}.ws-details h3{color:#1e293b;margin:0;font-size:15px;font-weight:600}.ws-details p{color:#64748b;margin:0;font-size:13px}.ws-date{color:#94a3b8;font-size:12px;font-weight:500}.fab-button{background:linear-gradient(135deg, var(--color-blue) 0%, var(--color-magenta) 100%);color:#fff;cursor:pointer;border:none;border-radius:28px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:absolute;bottom:104px;right:24px;box-shadow:0 4px 12px #2563eb4d}.spin-icon{animation:1s linear infinite spin}.video-player-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;background-color:#0f172ac7;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out forwards videoFadeIn;display:flex;position:fixed;inset:0}.video-player-overlay.is-fullscreen-overlay{background-color:#000!important;padding:0!important}.video-player-modal{background:#0f172a;border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;width:100%;max-width:680px;animation:.25s cubic-bezier(.16,1,.3,1) forwards videoSlideUp;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff14}.video-player-modal.is-fullscreen{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;box-shadow:none!important;z-index:99999!important;background:#000!important;border:none!important;border-radius:0!important;margin:0!important;position:fixed!important;inset:0!important}.video-player-fs-floating-bar{z-index:20;-webkit-backdrop-filter:blur(12px);pointer-events:auto;opacity:.85;background:#0f172aa6;border:1px solid #ffffff26;border-radius:999px;justify-content:space-between;align-items:center;padding:8px 14px;transition:opacity .2s;display:flex;position:absolute;top:12px;left:16px;right:16px}.video-player-fs-floating-bar:hover{opacity:1}.video-player-fs-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:70%;font-size:13px;font-weight:600;overflow:hidden}.video-player-fs-actions{align-items:center;gap:8px;display:flex}.video-player-header{background:#1e293b;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.video-player-title-cluster{align-items:center;gap:12px;min-width:0;display:flex}.video-player-badge{color:#ef4444;background:#ef444426;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.video-player-title-text{min-width:0}.video-player-subtitle{text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-bottom:1px;font-size:10.5px;font-weight:700;display:block}.video-player-title-text h3{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:700;overflow:hidden}.video-player-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.video-player-action-btn{color:#cbd5e1;cursor:pointer;background:#ffffff14;border:none;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex}.video-player-action-btn:hover{color:#fff;background:#ffffff2e}.video-player-close-btn{color:#cbd5e1;cursor:pointer;background:#ffffff14;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex}.video-player-close-btn:hover{color:#ef4444;background:#ef444440}.video-player-frame-wrapper{background:#000;width:100%;padding-top:56.25%;position:relative}.video-player-modal.is-fullscreen .video-player-frame-wrapper{flex:1;width:100%;height:100%;padding-top:0!important}.video-player-frame{border:none;outline:none;width:100%;height:100%;position:absolute;top:0;left:0}@media (orientation:portrait) and (width<=900px){.video-player-modal.is-fullscreen.is-mobile-landscape-active{transform-origin:50%!important;width:100dvh!important;max-width:100dvh!important;height:100dvw!important;max-height:100dvw!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)rotate(90deg)!important}}.video-player-footer{background:#0f172a;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.video-player-hint{color:#64748b;font-size:11.5px;font-weight:500}@keyframes videoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes videoSlideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.lottie-loader-container{-webkit-user-select:none;user-select:none;background-color:#0000;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:40px 20px;display:flex}.magic-book-loader{justify-content:center;align-items:center;width:140px;height:90px;margin-bottom:28px;display:flex;position:relative}.magic-book-aura{pointer-events:none;background:radial-gradient(circle,#1976d22e 0%,#d81b601a 50%,#0000 75%);border-radius:50%;width:180px;height:140px;animation:3s ease-in-out infinite aura-pulse;position:absolute}@keyframes aura-pulse{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}}.magic-sparkle{pointer-events:none;z-index:5;line-height:1;position:absolute}.magic-sparkle--1{color:#f59e0b;font-size:20px;animation:2.8s ease-in-out infinite sparkle-float-1;top:-12px;left:6px}.magic-sparkle--2{color:var(--color-magenta,#d81b60);font-size:16px;animation:2.4s ease-in-out .4s infinite sparkle-float-2;top:-4px;right:4px}.magic-sparkle--3{color:var(--color-blue,#1976d2);font-size:16px;animation:3.2s ease-in-out .8s infinite sparkle-float-1;bottom:6px;left:-14px}.magic-sparkle--4{color:#f59e0b;font-size:14px;animation:2.6s ease-in-out 1.2s infinite sparkle-float-2;bottom:12px;right:-10px}@keyframes sparkle-float-1{0%,to{opacity:.4;transform:translateY(0)rotate(0)scale(.85)}50%{opacity:1;transform:translateY(-8px)rotate(15deg)scale(1.15)}}@keyframes sparkle-float-2{0%,to{opacity:.45;transform:translateY(0)rotate(0)scale(.9)}50%{opacity:1;transform:translateY(-10px)rotate(-15deg)scale(1.2)}}.magic-book{perspective:700px;width:104px;height:68px;transform-style:preserve-3d;display:flex;position:relative}.magic-book-cover{background:linear-gradient(135deg, var(--color-blue,#1976d2) 0%, #1565c0 100%);width:52px;height:68px;position:absolute;top:0;box-shadow:0 4px 14px #1976d252}.magic-book-cover--left{transform-origin:100%;border-radius:4px 0 0 4px;left:0;transform:rotateY(16deg)}.magic-book-cover--right{transform-origin:0;border-radius:0 4px 4px 0;right:0;transform:rotateY(-16deg)}.magic-book-page{box-sizing:border-box;background:#fff;flex-direction:column;gap:5px;width:48px;height:62px;padding:8px 6px;display:flex;position:absolute;top:3px}.magic-book-page--base-left{transform-origin:100%;border-radius:3px 0 0 3px;left:3px;transform:rotateY(14deg);box-shadow:inset -2px 0 6px #0000000a}.magic-book-page--base-right{transform-origin:0;border-radius:0 3px 3px 0;right:3px;transform:rotateY(-14deg);box-shadow:inset 2px 0 6px #0000000a}.book-page-line{background:#e2e8f0;border-radius:2px;width:100%;height:2px;display:block}.book-page-line--short{width:55%}.book-page-line--med{width:78%}.magic-book-spine{z-index:10;background:linear-gradient(90deg,#00000026,#fff3,#00000026);border-radius:1px;width:4px;height:68px;position:absolute;top:0;left:50%;transform:translate(-50%)}.magic-flipping-page{transform-origin:0;width:48px;height:62px;transform-style:preserve-3d;z-index:4;animation:2.2s cubic-bezier(.45,.05,.55,.95) infinite flip-storybook-page;position:absolute;top:3px;right:4px}.magic-flipping-page--1{animation-delay:0s}.magic-flipping-page--2{animation-delay:.55s}.magic-flipping-page--3{animation-delay:1.1s}.flipping-page-front,.flipping-page-back{backface-visibility:hidden;box-sizing:border-box;background:#fff;border-radius:0 3px 3px 0;flex-direction:column;gap:5px;padding:8px 6px;display:flex;position:absolute;inset:0;box-shadow:0 2px 6px #00000014}.flipping-page-back{background:#f8fafc;border-radius:3px 0 0 3px;transform:rotateY(180deg)}@keyframes flip-storybook-page{0%{z-index:4;transform:rotateY(0)}50%{z-index:8;transform:rotateY(-90deg)}to{z-index:4;transform:rotateY(-180deg)}}.magic-book-shadow{background:radial-gradient(#0f172a2e 0%,#0000 72%);border-radius:50%;width:100px;height:12px;animation:2.2s ease-in-out infinite shadow-float;position:absolute;bottom:-8px}@keyframes shadow-float{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.lottie-loader-text{text-align:center;max-width:320px}.lottie-loader-text h3{color:#0f172a;letter-spacing:-.01em;margin:0 0 6px;font-size:1.15rem;font-weight:800}.lottie-loader-text p{color:#64748b;margin:0 0 16px;font-size:.88rem;line-height:1.45}.magic-loading-dots{justify-content:center;align-items:center;gap:6px;margin-top:4px;display:inline-flex}.magic-loading-dots span{background-color:var(--color-blue,#1976d2);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite both dots-undulate;display:inline-block}.magic-loading-dots span:first-child{animation-delay:-.32s}.magic-loading-dots span:nth-child(2){animation-delay:-.16s}.magic-loading-dots span:nth-child(3){animation-delay:0s}@keyframes dots-undulate{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1.15)}}.lottie-loader-progress-bar{background:#e2e8f0;border-radius:999px;width:180px;height:6px;margin:8px auto 0;overflow:hidden}.lottie-loader-progress-fill{background:linear-gradient(90deg, var(--color-blue,#1976d2) 0%, var(--color-magenta,#d81b60) 100%);border-radius:999px;height:100%;transition:width .3s}@media (prefers-reduced-motion:reduce){.magic-flipping-page,.magic-sparkle,.magic-book-aura,.magic-book-shadow,.magic-loading-dots span{animation:none}}.admin-page{color:#0f172a;background:#f8fafc;min-height:100vh;padding-bottom:96px;font-family:inherit}.admin-top-banner{background:linear-gradient(#dbeafe 0%,#eff6ff 65%,#f8fafc 100%);border-bottom:1px solid #e2e8f099;padding:16px 20px 24px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.admin-header-left{align-items:center;gap:12px;display:flex}.admin-logo{object-fit:contain;height:34px}.admin-back-btn,.admin-icon-btn,.admin-refresh-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;transition:all .18s;display:inline-flex;box-shadow:0 1px 3px #0f172a0a}.admin-back-btn:hover,.admin-icon-btn:hover,.admin-refresh-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.admin-hero-text h1{color:#0f172a;letter-spacing:-.3px;margin:0 0 6px;font-size:23px;font-weight:800}.admin-hero-text p{color:#64748b;margin:0;font-size:14.5px;line-height:1.45}.admin-main-container{box-sizing:border-box;max-width:860px;margin:0 auto;padding:20px 16px}.admin-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-kpi-card{cursor:pointer;background:#fff;border:1.5px solid #f1f5f9;border-radius:20px;flex-direction:column;justify-content:space-between;padding:20px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 14px #0f172a0a}.admin-kpi-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14}.admin-kpi-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-kpi-title{color:#64748b;font-size:13.5px;font-weight:600}.admin-kpi-icon-badge{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.admin-kpi-icon-badge.amber{color:#d97706;background:#fef3c7}.admin-kpi-icon-badge.purple{color:#7c3aed;background:#ede9fe}.admin-kpi-icon-badge.blue{color:#0284c7;background:#e0f2fe}.admin-kpi-value{color:#0f172a;letter-spacing:-.5px;margin-bottom:12px;font-size:30px;font-weight:800;line-height:1}.admin-kpi-cta{align-items:center;gap:4px;font-size:13px;font-weight:700;display:flex}.admin-kpi-card.amber .admin-kpi-cta{color:#d97706}.admin-kpi-card.purple .admin-kpi-cta{color:#7c3aed}.admin-kpi-card.blue .admin-kpi-cta{color:#0284c7}.admin-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;margin-bottom:24px;padding:24px;box-shadow:0 4px 16px #0f172a08}.admin-section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.admin-section-title{color:#0f172a;margin:0 0 4px;font-size:18px;font-weight:800}.admin-section-subtitle{color:#64748b;margin:0;font-size:13.5px}.admin-items-list{flex-direction:column;gap:12px;display:flex}.admin-item-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;padding:16px;transition:all .15s;display:flex}.admin-item-card:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0a}.admin-item-info{align-items:center;gap:14px;display:flex}.admin-item-avatar{background:#e0f2fe;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.admin-item-name{color:#0f172a;margin:0 0 4px;font-size:15px;font-weight:700}.admin-item-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-meta-tag{color:#64748b;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.admin-approve-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:10px;align-items:center;gap:6px;padding:9px 18px;font-size:13.5px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #10b98140}.admin-approve-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.admin-approve-btn:disabled{opacity:.6;cursor:not-allowed}.admin-form-group{margin-bottom:16px}.admin-form-label{color:#334155;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.admin-form-input,.admin-form-select,.admin-form-textarea{color:#0f172a;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .15s}.admin-form-input:focus,.admin-form-select:focus,.admin-form-textarea:focus{border-color:#0284c7;outline:none;box-shadow:0 0 0 3px #0284c71f}.admin-primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e11d48 0%,#be123c 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14.5px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 4px 12px #e11d4840}.admin-primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #e11d4852}.admin-primary-btn:disabled{opacity:.6;cursor:not-allowed}.admin-alert{text-align:center;border-radius:12px;margin-bottom:20px;padding:12px 16px;font-size:13.5px;font-weight:600}.admin-alert.error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.admin-alert.success{color:#15803d;background:#f0fdf4;border:1px solid #dcfce7}.admin-empty-state{text-align:center;padding:48px 20px}.admin-empty-icon{border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:flex}.admin-empty-icon.success{color:#16a34a;background:#f0fdf4}.admin-empty-state h3{color:#0f172a;margin:0 0 6px;font-size:18px;font-weight:800}.admin-empty-state p{color:#64748b;margin:0;font-size:14px}.admin-spinner{border:3px solid #e2e8f0;border-top-color:#0284c7;border-radius:50%;width:32px;height:32px;margin:0 auto 16px;animation:.7s linear infinite adminSpin}@keyframes adminSpin{to{transform:rotate(360deg)}}.classroom-page{background-color:#f8fafc;flex-direction:column;height:100vh;display:flex}.classroom-header{background-color:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px;display:flex}.classroom-header .back-btn,.classroom-header .action-btn{color:#0f172a;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;transition:background-color .2s;display:flex}.classroom-header .back-btn:hover,.classroom-header .action-btn:hover{background-color:#f1f5f9}.classroom-header h1{color:#0f172a;margin:0;font-size:18px;font-weight:600}.classroom-list{flex-direction:column;flex:1;gap:16px;padding:24px 16px 108px;display:flex;overflow-y:auto}.loading-text{text-align:center;color:#64748b;margin-top:40px}.empty-state{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:60vh;display:flex}.create-join-btn{color:#fff;cursor:pointer;background-color:#db2777;border:none;border-radius:20px;padding:12px 24px;font-weight:600}.classroom-card{background:#fff;border:1px solid #eef2f6;border-radius:17px;justify-content:space-between;align-items:center;padding:16px;display:flex}.classroom-info h3{color:#0f172a;margin:0 0 4px;font-size:16px}.student-count,.teacher-name{color:#64748b;margin:0;font-size:14px}.join-code-box{cursor:pointer;color:#0f172a;background:#f1f5f9;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-weight:600;transition:background .2s;display:flex}.join-code-box:hover{background:#e2e8f0}.notifications-page{background-color:#f8fafc;flex-direction:column;height:100vh;display:flex}.notifications-header{background-color:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px;display:flex}.notifications-header-actions{align-items:center;gap:6px;display:flex}.notifications-header .back-btn,.notifications-header .action-btn{color:#0f172a;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:background-color .2s,color .2s;display:flex}.notifications-header .back-btn:hover,.notifications-header .action-btn:hover{background-color:#f1f5f9}.notifications-header .action-btn--danger{color:#ef4444}.notifications-header .action-btn--danger:hover{background-color:#fef2f2}.notifications-header h1{color:#0f172a;margin:0;font-size:18px;font-weight:600}.notifications-list{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.notification-card{cursor:pointer;background:#fff;border-radius:12px;gap:12px;padding:16px;transition:background .2s;display:flex;position:relative;box-shadow:0 4px 6px -1px #0000000d}.notification-card.unread{background:#f0f9ff;border-left:4px solid #0ea5e9}.unread-dot{background-color:#0ea5e9;border-radius:50%;width:8px;height:8px;margin-top:6px}.notification-content h4{color:#0f172a;margin:0 0 4px;font-size:15px}.notification-content p{color:#475569;line-height:1.4}.notification-content{flex:1;min-width:0}.notification-time{color:#94a3b8;font-size:12px}.delete-notif-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;padding:6px;transition:color .15s,background-color .15s;display:flex}.delete-notif-btn:hover{color:#ef4444;background-color:#fef2f2}.pdf-flipbook-wrapper{-webkit-user-select:none;user-select:none;touch-action:pan-y;flex-direction:column;align-items:center;width:100%;min-height:100%;display:flex;position:relative;overflow-x:hidden}.flipbook-document{justify-content:center;width:100%;display:flex}.flipbook-initial-loader{background:radial-gradient(#fff 0%,#f8fbff 58%,#eef6ff 100%);justify-content:center;align-items:center;width:100%;min-height:65vh;display:flex}.flipbook-zoom-viewport{justify-content:center;width:100%;display:flex;position:relative;overflow:hidden}.flipbook-zoom-viewport.is-zoomed .flipbook-container{pointer-events:none}.flipbook-container{justify-content:center;width:100%;display:flex}.flipbook-page{background-color:#fff;overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a0f}.flipbook-page-content{background-color:#fff;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.flipbook-page-placeholder-overlay{z-index:2;background-color:#fff;position:absolute;inset:0}.flipbook-page-content.is-rendering .flipbook-pdf-page{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.flipbook-page-content.is-rendered .flipbook-pdf-page{transition:opacity .15s ease-out;opacity:1!important;visibility:visible!important}.flipbook-pdf-page .react-pdf__Page__canvas{object-fit:contain!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:100%!important;box-shadow:none!important;background-color:#fff!important;margin:auto!important;display:block!important}.flipbook-page-loading{--page-skeleton-base:#f8fafc;--page-skeleton-ink:#e8eef5;box-sizing:border-box;background:var(--page-skeleton-base);flex-direction:column;align-items:flex-start;gap:3.5%;width:100%;height:100%;padding:10% 9%;display:flex;position:relative;overflow:hidden}.flipbook-page-loading:after{content:"";background:linear-gradient(110deg,#0000 34%,#ffffffb8 48%,#0000 62%);position:absolute;inset:0;transform:translate(-100%)}.flipbook-page-loading.is-animating:after{animation:1.35s ease-in-out infinite flipbook-page-shimmer}.flipbook-page-loading__header,.flipbook-page-loading__line,.flipbook-page-loading__block{z-index:1;background:var(--page-skeleton-ink);border-radius:999px;position:relative}.flipbook-page-loading__header{width:48%;height:3.2%;margin-bottom:3%}.flipbook-page-loading__line{width:72%;height:1.5%}.flipbook-page-loading__line--long{width:88%}.flipbook-page-loading__line--short{width:55%;margin-bottom:4%}.flipbook-page-loading__block{background:linear-gradient(135deg,#edf2f7,#e4ebf3);border-radius:4px;width:100%;height:33%}.flipbook-page-loading__label{z-index:1;color:#94a3b8;font-size:clamp(9px,1.9vw,12px);font-weight:500;position:absolute;bottom:7%;right:9%}@keyframes flipbook-page-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.flipbook-page-loading:after{animation:none}}.flipbook-page-image{object-fit:contain;pointer-events:none;background:#fff;display:block;width:100%!important;height:100%!important}.flipbook-swipe-hint{color:#64748b;opacity:.8;margin-top:8px;margin-bottom:70px;font-size:13px;transition:opacity .25s;animation:2s infinite pulse}.flipbook-swipe-hint.is-hidden{opacity:0;display:none}.flipbook-floating-toast{color:#fff;-webkit-backdrop-filter:blur(8px);z-index:1000;pointer-events:none;white-space:nowrap;background:#0f172ae0;border-radius:20px;padding:8px 18px;font-size:13px;font-weight:500;animation:.25s fadeInDown;position:fixed;top:72px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.floating-nav-btn{width:44px;height:44px;color:var(--color-blue);cursor:pointer;z-index:50;background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:50%;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #0000001f}.floating-nav-btn:hover:not(:disabled){background:#fff;transform:translateY(-50%)scale(1.08)}.floating-nav-btn:disabled{opacity:.25;cursor:not-allowed}.floating-nav-left{left:12px}.floating-nav-right{right:12px}.flipbook-controls{-webkit-backdrop-filter:blur(14px);z-index:100;white-space:nowrap;box-sizing:border-box;background:#fffffff0;border:1px solid #e2e8f0e6;border-radius:32px;flex-direction:row;justify-content:center;align-items:center;gap:3px;max-width:calc(100vw - 20px);padding:5px 10px;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .25s,background-color .25s;display:inline-flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(0);box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000a}.flipbook-controls.is-zoomed{-webkit-backdrop-filter:blur(16px);background:#ffffffa6;border-color:#ffffff73;box-shadow:0 4px 16px #00000014}.flipbook-controls.is-zoomed:hover{background:#ffffffe6}.flipbook-controls.is-hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(80px)}.control-btn{width:32px;min-width:32px;height:32px;color:var(--color-blue);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,transform .15s;display:inline-flex}.control-btn:hover:not(:disabled){background:#0d8abc1a}.control-btn:active:not(:disabled){transform:scale(.92)}.control-btn:disabled{color:#cbd5e1;cursor:not-allowed}.zoom-controls-cluster{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.zoom-indicator-pill{color:#64748b;-webkit-user-select:none;user-select:none;cursor:default;font-variant-numeric:tabular-nums;background:0 0;border-radius:12px;justify-content:center;align-items:center;height:26px;padding:0 4px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex;width:48px!important;min-width:48px!important;max-width:48px!important}.zoom-indicator-pill.is-active{color:var(--color-blue);cursor:pointer;background:#0d8abc1f;font-weight:700}.zoom-indicator-pill.is-active:hover{background:#0d8abc38;transform:scale(1.05)}.control-divider{background-color:#e2e8f0;flex-shrink:0;width:1px;height:18px;margin:0 3px}.page-input-form{white-space:nowrap;flex-direction:row;flex-shrink:0;align-items:center;gap:3px;margin:0 4px;display:inline-flex}.page-input{text-align:center;width:34px;height:26px;color:var(--color-blue);box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:0;font-size:13px;font-weight:600}.page-input:focus{border-color:var(--color-blue)}.page-total{color:#64748b;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:500}.pdf-viewer-page{background:var(--color-bg-light);flex-direction:column;height:100vh;display:flex}.pdf-viewer-header{z-index:10;background-color:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px;display:flex}.pdf-viewer-header .back-btn{color:#0f172a;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;z-index:25;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;transition:background-color .15s;display:flex}.pdf-viewer-header .back-btn:hover,.pdf-viewer-header .back-btn:active{background-color:#f1f5f9}.pdf-viewer-header .info-btn{color:#0f172a;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:flex}.pdf-viewer-header .info-btn:hover{background-color:#f1f5f9}.pdf-viewer-header h1{color:#0f172a;text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;padding:0 12px;font-size:16px;font-weight:600;overflow:hidden}.pdf-viewer-layout{flex:1;display:flex;position:relative;overflow:hidden}.pdf-viewer-content{perspective:1200px;background-color:#f1f5f9;flex-direction:column;flex:1;align-items:center;padding:24px 16px;display:flex;overflow:auto}.pdf-reader-loading-shell{background:#f1f5f9;flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.pdf-reader-loading-shell--standalone{min-height:100dvh}.pdf-reader-loading-header{box-sizing:border-box;background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:18px;height:81px;padding:16px;display:flex}.pdf-reader-loading-back,.pdf-reader-loading-info{color:#0f172a;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:30px;font-weight:400;line-height:1;display:grid}.pdf-reader-loading-title{color:#0f172a;text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:16px;font-weight:600;overflow:hidden}.pdf-reader-loading-info{box-sizing:border-box;border:2px solid #0f172a;font-family:Georgia,serif;font-size:18px;font-weight:700}.pdf-reader-loading-stage{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:8px;min-height:0;padding:24px 16px 86px;display:flex;position:relative;overflow:hidden}.pdf-reader-loading-paper{aspect-ratio:1/1.414;box-sizing:border-box;background:#fff;border:1px solid #dbe3ec;flex-direction:column;align-items:flex-start;gap:3.5%;width:min(100%,560px);padding:10% 9%;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #0f172a0f}.pdf-reader-loading-paper:after{content:"";background:linear-gradient(110deg,#0000 36%,#e2e8f0bf 49%,#0000 62%);animation:1.35s ease-in-out infinite reader-loading-shimmer;position:absolute;inset:0}.pdf-reader-loading-line,.pdf-reader-loading-block{z-index:1;background:#e8eef5;border-radius:999px;display:block;position:relative}.pdf-reader-loading-line{width:72%;height:1.5%}.pdf-reader-loading-line--title{width:48%;height:3.2%;margin-bottom:3%}.pdf-reader-loading-line--short{width:55%;margin-bottom:4%}.pdf-reader-loading-block{background:#edf2f7;border-radius:4px;width:100%;height:33%}.pdf-reader-loading-stage p{color:#64748b;min-height:20px;margin:0;font-size:13px;font-weight:500}.pdf-reader-loading-arrow{z-index:2;width:44px;height:44px;color:var(--color-blue);background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:50%;place-items:center;font-size:38px;font-weight:300;line-height:1;display:grid;position:fixed;top:50%;box-shadow:0 4px 14px #0000001f}.pdf-reader-loading-arrow--left{left:12px}.pdf-reader-loading-arrow--right{right:12px}.pdf-reader-loading-controls{z-index:2;box-sizing:border-box;background:#fffffff0;border:1px solid #e2e8f0e6;border-radius:32px;justify-content:center;align-items:center;gap:10px;width:190px;height:42px;padding:0 14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000a}.pdf-reader-loading-controls span,.pdf-reader-loading-controls b{background:#d9e4f1;border-radius:50%;width:14px;height:14px}.pdf-reader-loading-controls i{background:#e2e8f0;width:1px;height:18px}.pdf-reader-loading-controls em{border:1px solid #d4dfec;border-radius:6px;width:28px;height:24px}@keyframes reader-loading-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.pdf-reader-loading-paper:after{animation:none}}.pdf-page-animator{transform-style:preserve-3d;transition:transform .2s ease-in,opacity .2s ease-in}.flip-state-next-out{opacity:0;transform:rotateY(-25deg)translate(-40px)}.flip-state-next-in{opacity:0;transition:none;transform:rotateY(25deg)translate(40px)}.flip-state-prev-out{opacity:0;transform:rotateY(25deg)translate(40px)}.flip-state-prev-in{opacity:0;transition:none;transform:rotateY(-25deg)translate(-40px)}.pdf-document{background:#fff;border-radius:8px;transition:transform .2s;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pdf-controls-sidebar{z-index:10;flex-direction:column;gap:12px;display:flex;position:absolute;top:24px;right:16px}.pdf-fab{color:#334155;cursor:pointer;background:#fff;border:none;border-radius:22px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .2s,background-color .2s;display:flex;box-shadow:0 4px 12px #00000026}.pdf-fab:hover{background:var(--color-bg-light)}.pdf-fab:active{transform:scale(.9)}.pdf-viewer-footer{z-index:10;background-color:#fff;border-top:1px solid #e2e8f0;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex;box-shadow:0 -4px 6px -1px #0000000d}.pdf-page-btn{color:#0f172a;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 16px;font-weight:500;transition:all .2s}.pdf-page-btn:hover:not(:disabled){background:var(--color-bg-light);border-color:#94a3b8}.pdf-page-btn:disabled{color:#94a3b8;cursor:not-allowed;background-color:#f1f5f9;border-color:#e2e8f0}.pdf-page-indicator{color:#475569;text-align:center;min-width:100px;font-size:14px;font-weight:500}.pdf-error-container{color:#ef4444;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.pdf-loading-premium{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:60vh;display:flex}.book-loader{perspective:200px;width:60px;height:40px;position:relative}.book-loader-page{background-color:#0f172a;border-radius:2px;width:30px;height:40px;position:absolute;top:0}.left-page{transform-origin:100%;animation:1.5s ease-in-out infinite alternate flipLeft;left:0}.right-page{transform-origin:0;background-color:#3b82f6;animation:1.5s ease-in-out infinite alternate flipRight;right:0}@keyframes flipLeft{0%{transform:rotateY(0)}to{transform:rotateY(-20deg)}}@keyframes flipRight{0%{transform:rotateY(20deg)}to{transform:rotateY(0)}}.loading-title{color:#0f172a;margin:0;font-size:18px;font-weight:700}.loading-subtitle{color:#64748b;margin:0;font-size:14px}.book-loader-container{flex-direction:column;justify-content:center;align-items:center;gap:24px;height:60vh;display:flex}.fun-book{--color:#3b82f6;--duration:1.5s;perspective:600px;width:64px;height:48px;position:relative}.fun-book-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.fun-book-page{transform-origin:0;border:2px solid var(--color);width:50%;height:100%;animation:pageFlip var(--duration) infinite linear;background:#fff;border-radius:0 4px 4px 0;position:absolute;right:0;box-shadow:inset 4px 0 10px #0000001a}.fun-book-page:nth-child(2){animation-delay:calc(var(--duration) * .15)}.fun-book-page:nth-child(3){animation-delay:calc(var(--duration) * .3)}.fun-book-page:nth-child(4){animation-delay:calc(var(--duration) * .45)}.fun-book-page:nth-child(5){animation-delay:calc(var(--duration) * .6)}.fun-book-cover{background:var(--color);border-radius:4px 0 0 4px;width:50%;height:100%;position:absolute;left:0}.fun-book-cover.right{border-radius:0 4px 4px 0;left:auto;right:0}@keyframes pageFlip{0%{z-index:5;transform:rotateY(0)}50%{z-index:5;transform:rotateY(-90deg)}to{z-index:1;transform:rotateY(-180deg)}}.flipbook-container{margin:0 auto;box-shadow:0 10px 40px #0003}.flipbook-page{background-color:#fff;border:1px solid #ddd;position:relative;overflow:hidden;box-shadow:inset -2px 0 10px #0000000d}.flipbook-page-content{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.flipbook-pdf-page{justify-content:center!important;align-items:center!important;width:100%!important;height:100%!important;display:flex!important}.flipbook-pdf-page .react-pdf__Page__canvas{object-fit:contain!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:100%!important;box-shadow:none!important;margin:auto!important;display:block!important}.flipbook-page-placeholder{background:var(--color-bg-light);color:#94a3b8;justify-content:center;align-items:center;display:flex}.flipbook-cover{color:#fff;text-align:center;background-color:#1e293b;border:2px solid #0f172a;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 0 20px #00000080}.flipbook-cover h2{color:#fff;margin-bottom:16px;font-size:24px}.pdf-offline-suggestion-banner{box-sizing:border-box;color:#1e3a8a;z-index:20;background:linear-gradient(135deg,#eff6ff 0%,#f0fdf4 100%);border-bottom:1px solid #bfdbfe;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 16px;font-size:13px;animation:.25s bannerSlideDown;display:flex;box-shadow:0 2px 6px #0000000a}@keyframes bannerSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pdf-offline-suggestion-text{flex:1;align-items:center;gap:8px;min-width:0;font-size:13px;line-height:1.4;display:flex}.pdf-offline-suggestion-icon{flex-shrink:0;font-size:16px}.pdf-offline-suggestion-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.pdf-offline-download-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#0d8abc;border:none;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .2s}.pdf-offline-download-btn:hover:not(:disabled){background:#096b92;transform:translateY(-1px)}.pdf-offline-download-btn:disabled{opacity:.6;cursor:wait}.pdf-offline-dismiss-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:4px 6px;font-size:14px;line-height:1;transition:color .15s}.pdf-offline-dismiss-btn:hover{color:#0f172a}@media (width<=580px){.pdf-offline-suggestion-banner{gap:8px;padding:8px 12px}.pdf-offline-suggestion-text{font-size:12px}.pdf-offline-download-btn{padding:5px 10px;font-size:11px}}
