.navbar{background:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 1px 2px #0000001a;padding:1rem 0;position:sticky;top:0;width:100%;z-index:1000}.navbar-container{align-items:center;box-sizing:border-box;display:flex;height:auto;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 3rem;position:relative;width:100%}.navbar-brand{align-items:center;display:flex;flex-shrink:0}.navbar-brand .brand-link{color:#111;font-size:1.5rem;font-weight:700;padding:.5rem 0;text-decoration:none;transition:color .2s ease}.navbar-brand .brand-link:hover{color:#3b82f6}.navbar-nav{display:flex;flex-direction:row;flex-wrap:nowrap;gap:2rem;height:auto;width:auto}.nav-link,.navbar-nav{align-items:center;flex-shrink:0;min-width:auto}.nav-link{border-radius:4px;color:#666;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.nav-link:hover{background-color:#f8f9fa;color:#3b82f6}.nav-link.active{background-color:#f0f7ff;color:#3b82f6}.mobile-menu-btn{align-items:center;background:none;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:.75rem;transition:all .2s ease}.mobile-menu-btn:hover{background-color:#f8f9fa;color:#3b82f6}.mobile-nav{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 4px 6px -1px #0000001a;box-sizing:border-box;left:0;max-height:0;overflow:hidden;position:absolute;right:0;top:100%;transition:max-height .3s ease;width:100%}.mobile-nav.open{max-height:300px}.mobile-nav-link{align-items:center;border-bottom:1px solid #f3f4f6;box-sizing:border-box;color:#6b7280;display:flex;font-weight:500;gap:1rem;min-width:0;padding:1rem;text-decoration:none;transition:all .2s ease;width:100%}.mobile-nav-link:hover{background-color:#f3f4f6;color:#3b82f6}.mobile-nav-link.active{background-color:#eff6ff;color:#3b82f6}.mobile-nav-link:last-child{border-bottom:none}@media (min-width:768px){.desktop-only{display:block!important}.mobile-only{display:none!important}.navbar-nav{gap:1.5rem}}@media (max-width:767px){.desktop-only{display:none!important}.mobile-only{display:block!important}.navbar-container{padding:0 1rem}.navbar-brand .brand-link{font-size:1.25rem}}@media (max-width:480px){.navbar-container{padding:0 .75rem}.navbar-brand .brand-link{font-size:1.125rem}}.footer{background:#f9fafb;border-top:1px solid #e5e7eb;margin-top:auto;padding:2rem 0}.footer-container{margin:0 auto;max-width:1200px;padding:0 1rem}.footer-content{text-align:center}.footer-text{color:#6b7280;font-size:1rem;font-weight:500;margin:0 0 .5rem}.footer-copyright{color:#9ca3af;font-size:.875rem;margin:0}@media (max-width:767px){.footer{padding:1.5rem 0}.footer-text{font-size:.875rem}.footer-copyright{font-size:.75rem}}.modern-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:100%;padding:1.5rem;transition:box-shadow .2s ease}.modern-card:hover{box-shadow:0 2px 8px #00000026}.card-icon{align-items:center;background:#f8f9fa;border-radius:8px;color:#3b82f6;display:flex;height:48px;justify-content:center;margin-bottom:1rem;width:48px}.card-content{flex:1 1;margin-bottom:1rem}.card-title{color:#111;font-size:1.125rem;font-weight:600;line-height:1.4;margin:0 0 .5rem}.card-description{color:#666;font-size:.875rem;line-height:1.5;margin:0}.card-button{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.25rem;text-align:center;transition:background-color .2s ease}.card-button:hover{background:#2563eb}.modern-card.semester{text-align:center}.modern-card.semester .card-icon{margin:0 auto 1rem}.modern-card.unit{border-left:4px solid #3b82f6}.modern-card.file{border-left:4px solid #10b981}.modern-card.file .card-icon{background:#ecfdf5;color:#10b981}.modern-card.category{cursor:pointer;text-align:center}.modern-card.category .card-icon{margin:0 auto 1rem}.modern-card.category .card-title{font-size:1.5rem;margin-bottom:.5rem}@media (max-width:767px){.modern-card{padding:1.5rem}.card-icon{height:60px;margin-bottom:1rem;width:60px}.card-title{font-size:1.125rem}.card-button,.card-description{font-size:.8rem}.card-button{padding:.75rem 1.5rem}}@media (max-width:480px){.modern-card{padding:1.25rem}.card-icon{height:56px;width:56px}.card-title{font-size:1rem}.card-description{font-size:.875rem}.card-button{font-size:.75rem;padding:.625rem 1.25rem}}.modern-home-page{background:#fff;min-height:100vh}.page-title{margin:0 0 1rem}.cards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}@media (min-width:768px) and (max-width:1023px){.cards-grid{gap:1.25rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.cards-grid{gap:1rem;grid-template-columns:1fr}}.card-link{color:inherit;text-decoration:none}.semester-card{margin:0 auto;max-width:400px}@media (max-width:767px){.page-container{padding:1.5rem 1rem}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}}@media (max-width:480px){.page-title{font-size:1.75rem}.page-subtitle{font-size:.875rem}}.fixed-unit-page{background:#fff;min-height:100vh}.page-title{color:#111;margin:0 0 .5rem}.page-subtitle{color:#666}.category-selection{margin-bottom:2rem}.selection-title{color:#111;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;text-align:center}.category-buttons{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:800px}@media (max-width:767px){.category-buttons{gap:1rem;grid-template-columns:1fr}}.category-button{color:inherit;text-decoration:none}.category-card:hover{box-shadow:0 2px 8px #00000026}.notes-card{border-left:4px solid #3b82f6}.papers-card{border-left:4px solid #10b981}.files-section{margin-bottom:3rem}.section-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;gap:.75rem;margin-bottom:1.5rem;padding-bottom:.75rem}.section-header svg{color:#3b82f6}.section-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.files-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.empty-state p{margin:0}@media (max-width:767px){.page-container{padding:1.5rem 1rem}.page-title{font-size:1.75rem}.page-subtitle{font-size:.875rem}.files-grid{gap:1rem;grid-template-columns:1fr}.section-header{gap:.5rem}.section-header h2{font-size:1.25rem}}.notes-page{background:#fff;min-height:100vh}.loading-spinner{border-top-color:#3b82f6}.retry-button{background:#3b82f6}.retry-button:hover{background:#2563eb}.back-link{border:1px solid #3b82f6;color:#3b82f6}.back-link:hover{background:#3b82f6}.past-papers-page{background:#fff;min-height:100vh}.page-container{max-width:1200px}.page-header{margin-bottom:2rem}.back-button{align-items:center;display:inline-flex;gap:.5rem}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}.files-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}@media (min-width:768px) and (max-width:1023px){.files-grid{gap:1.25rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.files-grid{gap:1rem;grid-template-columns:1fr}}.file-card{max-width:400px}.file-card .card-button{gap:.5rem}.file-card .card-button,.loading-state{align-items:center;display:flex;justify-content:center}.loading-state{color:#6b7280;flex-direction:column;min-height:200px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#10b981;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-state{color:#ef4444;padding:3rem 1rem;text-align:center}.error-state h3{font-size:1.5rem;margin:0 0 1rem}.error-state p{color:#6b7280;margin:0 0 1.5rem}.retry-button{background:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.retry-button:hover{background:#059669}.empty-state{color:#6b7280;padding:3rem 1rem;text-align:center}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state h3{color:#4b5563;font-size:1.25rem;margin:0 0 .75rem}.empty-state p{font-size:.875rem;margin:0 0 1.5rem}.back-link{border:1px solid #10b981;border-radius:.5rem;color:#10b981;display:inline-block;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.back-link:hover{background:#10b981;color:#fff}@media (max-width:767px){.page-container{padding:1.5rem 1rem}.page-title{font-size:1.75rem}.page-subtitle{font-size:.875rem}.files-grid{gap:1rem;grid-template-columns:1fr}}@media (max-width:480px){.page-title{font-size:1.5rem}.back-button{font-size:.875rem}.files-grid{gap:.75rem}}.about-page{background:#f9fafb;min-height:100vh}.about-section{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;gap:2rem;padding:2rem 0}.about-section:last-of-type{border-bottom:none}.section-icon{align-items:center;background:#eff6ff;border-radius:1rem;color:#3b82f6;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.section-content{flex:1 1}.section-content h2{color:#1f2937;font-size:1.5rem;font-weight:600;line-height:1.2;margin:0 0 1rem}.section-content p{color:#6b7280;font-size:1rem;line-height:1.6;margin:0}.about-footer{padding:3rem 0 0;text-align:center}.version-info h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.version-info p{color:#6b7280;font-size:.875rem;margin:0 0 .25rem}@media (max-width:767px){.page-container{padding:1.5rem 1rem}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}.about-section{flex-direction:column;gap:1.5rem;padding:1.5rem 0;text-align:center}.section-icon{height:60px;margin:0 auto;width:60px}.section-icon svg{height:24px;width:24px}.section-content h2{font-size:1.25rem}.section-content p{font-size:.875rem}}@media (max-width:480px){.page-title{font-size:1.75rem}.section-icon{height:50px;width:50px}.section-icon svg{height:20px;width:20px}}.info-page{background:#f9fafb;min-height:100vh}.page-container{margin:0 auto;max-width:800px;padding:2rem 1rem}.page-header{margin-bottom:3rem;text-align:center}.back-button{color:#6b7280;display:inline-block;font-weight:500;margin-bottom:1.5rem;text-decoration:none;transition:color .2s ease}.back-button:hover{color:#3b82f6}.page-title{color:#1f2937;font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 .75rem}.page-subtitle{color:#6b7280;font-size:1.125rem;line-height:1.5;margin:0}.intro-section{margin-bottom:3rem;text-align:center}.intro-section h2{color:#1f2937;font-size:1.875rem;font-weight:600;margin:0 0 1rem}.intro-section p{color:#6b7280;font-size:1.125rem;line-height:1.6;margin:0 auto;max-width:600px}.navigation-steps{margin-bottom:3rem}.step{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:2rem;transition:all .2s ease}.step:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.step-icon{align-items:center;background:#eff6ff;border-radius:.75rem;color:#3b82f6;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.step-content{flex:1 1}.step-content h3{color:#1f2937;font-size:1.25rem;font-weight:600;line-height:1.2;margin:0 0 .75rem}.step-content p{color:#6b7280;font-size:1rem;line-height:1.6;margin:0}.tips-section{margin-bottom:3rem}.tips-section h2{color:#1f2937;font-size:1.875rem;font-weight:600;margin:0 0 2rem;text-align:center}.tips-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.tip{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;transition:all .2s ease}.tip:hover{border-color:#d1d5db;box-shadow:0 2px 4px -1px #0000001a}.tip h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.tip p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.help-section{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:2rem;text-align:center}.help-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.help-section p{color:#6b7280;font-size:1rem;line-height:1.6;margin:0 0 2rem}.help-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.help-button{align-items:center;background:#3b82f6;border-radius:.5rem;color:#fff;display:inline-flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.help-button:hover{background:#2563eb;transform:translateY(-1px)}.help-button.secondary{background:#6b7280}.help-button.secondary:hover{background:#4b5563}@media (max-width:767px){.page-container{padding:1.5rem 1rem}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}.intro-section h2{font-size:1.5rem}.intro-section p{font-size:1rem}.step{flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}.step-icon{height:48px;margin:0 auto;width:48px}.step-icon svg{height:20px;width:20px}.step-content h3{font-size:1.125rem}.step-content p{font-size:.875rem}.tips-grid{grid-template-columns:1fr}.help-actions{align-items:center;flex-direction:column}.help-button{justify-content:center;max-width:250px;width:100%}}@media (max-width:480px){.page-title{font-size:1.75rem}.step{padding:1.25rem}.step-icon{height:40px;width:40px}.step-icon svg{height:16px;width:16px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#111;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;font-size:16px;line-height:1.5}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #3b82f6;outline-offset:2px}.mobile-menu-btn:focus,.nav-link:focus{outline:2px solid #3b82f6;outline-offset:1px}.navbar :focus{outline:none}.mobile-menu-btn:focus-visible,.nav-link:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
/*# sourceMappingURL=main.cc0421e7.css.map*/