@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Roboto:wght@300;400;700&display=swap";.custom-calendar{display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0003;padding:1rem;width:400px}.calendar-header{display:flex;align-items:center;justify-content:space-between;width:100%}.calendar-title{text-align:center;flex:1}.calendar-title h3{margin:0;font-size:1.1rem;color:#1a237e}.year-indicator{font-size:.8rem;color:#666;margin-top:.2rem;font-style:italic}.calendar-header button{background:none;border:none;font-size:1.5rem;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;width:100%}.calendar-day{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;border-radius:5px;position:relative;cursor:pointer}.calendar-day.header{background-color:#f0f0f0;font-weight:700}.calendar-day.red{background-color:#ff00004d}.calendar-day.blue{background-color:#0000ff4d}.calendar-day.green{background-color:#00ff004d}.calendar-day.orange{background-color:#ffa5004d}.calendar-day.purple{background-color:#8000804d}.calendar-day.gold{background-color:#ffd7004d}.calendar-day.empty{background-color:transparent}.navbar{background-color:#fff;box-shadow:0 2px 10px #0000001a;padding:1rem 0;position:fixed;width:100%;top:0;z-index:1000}.navbar-container{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 2rem;position:relative}.navbar-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem}.navbar-logo{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;color:#1a237e;text-decoration:none;text-align:center;cursor:pointer;position:relative;transition:color .3s ease}.navbar-logo:hover{color:#0e1442}.calendar-tooltip{position:absolute;background-color:#fff;border:2px solid #1a237e;border-radius:12px;padding:1rem;box-shadow:0 8px 25px #1a237e33;top:100%;left:50%;transform:translate(-50%);z-index:1002;margin-top:.5rem}.navbar-left,.navbar-right{margin:0}.year-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);background-color:#fff;border:2px solid #1a237e;border-radius:8px;box-shadow:0 4px 15px #1a237e33;z-index:1001;min-width:120px;margin-top:.5rem}.year-option{padding:.75rem 1rem;font-family:Roboto,sans-serif;font-size:.9rem;color:#1a237e;cursor:pointer;transition:all .3s ease;border-bottom:1px solid #e0e0e0}.year-option:last-child{border-bottom:none}.year-option:hover{background-color:#f5f5f5;color:#0e1442}.year-option.selected{background-color:#1a237e;color:#fff;font-weight:600}.year-option.selected:hover{background-color:#0e1442}.calendar-button{background:none;border:2px solid #1a237e;border-radius:8px;padding:.5rem;font-size:1.2rem;cursor:pointer;transition:all .3s ease;position:relative;color:#1a237e;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center}.calendar-button:hover{background-color:#1a237e;color:#fff;transform:translateY(-2px)}.calendar-container{position:relative}.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(600px,1fr));gap:2rem;padding:2rem;max-width:1300px;margin:0 auto}.subject-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;margin-top:50px}.subject-card:hover{transform:translateY(-5px);box-shadow:0 6px 25px #00000026}.subject-card-content{padding:2rem}.subject-icon{font-size:3rem;margin-bottom:1rem}.subject-title{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:#1a237e;margin-bottom:1rem}.subject-description{font-family:Roboto,sans-serif;font-size:1rem;color:#333;margin-bottom:1.5rem;line-height:1.6}.subject-sections{margin-bottom:1.5rem}.subject-sections h4{font-family:Playfair Display,serif;font-size:1.2rem;color:#1a237e;margin-bottom:.5rem}.subject-sections a,.subject-link{font-family:Roboto,sans-serif;font-size:.9rem;color:#1a237e;text-decoration:none}.subject-sections a:hover,.subject-link:hover{color:#0e1442;text-decoration:underline}css .chapter-list{padding-left:0;margin-top:.5rem}.chapter-list li{margin-bottom:.5rem;border-bottom:.5px solid #e0e0e0;padding-bottom:.5rem;color:#1a237e}.chapter-list li:last-child{border-bottom:none}.chapter-list button{font-family:Roboto,sans-serif;font-size:.9rem;color:#1a237e;background-color:transparent;border:none;cursor:pointer;padding-left:.5rem;text-align:left;transition:color .3s ease,background-color .3s ease}.chapter-list button:hover{color:#0e1442;background-color:#f5f5f5;border-radius:.25rem}.chapter-content{margin-top:.5rem;margin-bottom:.75rem;padding:.75rem;background-color:#f9f9f9;border-left:.25rem solid #1a237e;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.subject-button{font-family:Roboto,sans-serif;font-size:.9rem;font-weight:700;color:#fff;background-color:#1a237e;padding:.75rem 1.5rem;border-radius:.25rem;text-decoration:none;transition:.3s ease all;display:inline-block}.subject-button:hover{background-color:#0e1442}.video-responsive{overflow:hidden;padding-bottom:56.25%;position:relative;height:0;margin-bottom:1rem}.video-responsive iframe{left:0;top:0;height:100%;width:100%;position:absolute}audio{width:100%;margin-bottom:1 rem}@media (max-width :768px){.subject-grid{grid-template-columns:1fr}}.fixed-button{position:fixed;bottom:20px;right:20px;font-family:Roboto,sans-serif;font-size:.9rem;font-weight:700;color:#fff;background-color:#1a237e;padding:.75rem 1.5rem;border:none;border-radius:.25rem;cursor:pointer;text-decoration:none;transition:background-color .3s ease;z-index:1000}.fixed-button:hover{background-color:#0e1442}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1001}.popup-content{background-color:#fff;padding:20px;border-radius:10px;width:90%;max-width:800px;position:relative;box-shadow:0 4px 20px #0003;max-height:90vh;overflow-y:auto}.close-button{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;cursor:pointer;color:#1a237e}.close-button:hover{color:#0e1442}.gpa-calculator{max-width:800px;margin:0 auto;font-family:Roboto,sans-serif;padding:20px}.grading-system,.grade-range-table,.subject-table,.gpa-conversion{width:100%;margin-bottom:20px;border-collapse:collapse}.grading-system th,.grading-system td,.grade-range-table th,.grade-range-table td,.subject-table th,.subject-table td,.gpa-conversion th,.gpa-conversion td{border:1px solid #ddd;padding:8px;text-align:left}.grading-system th,.grade-range-table th,.subject-table th,.gpa-conversion th{background-color:#f2f2f2;font-weight:700}.grading-system tr:nth-child(2n),.grade-range-table tr:nth-child(2n),.gpa-conversion tr:nth-child(2n){background-color:#f9f9f9}.subject-table input{width:80px;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.subject-table input:focus{outline:none;border-color:#3498db;box-shadow:0 0 5px #3498db80}.subject-row:hover{background-color:#f5f5f5}.grade-description{font-weight:700;transition:all .3s ease}.grade-description[data-grade=Distinction]{color:#27ae60}.grade-description[data-grade=Merit]{color:#2980b9}.grade-description[data-grade=Pass]{color:#f39c12}.grade-description[data-grade="Borderline Pass"]{color:#e67e22}.grade-description[data-grade=Fail]{color:#c0392b}.average-row{font-weight:700;text-align:left}.core-average{background-color:#e8f6f3}.advanced-average{background-color:#e8f0f9}.counted-as-one{font-style:italic;font-weight:400;color:#7f8c8d}.core-subject{background-color:#f2faf8}.advanced-subject{background-color:#f2f6fa}.results-section{margin-top:30px;background-color:#f8f9fa;border-radius:12px;padding:20px;border:2px solid #1a237e}.classification-result{text-align:center;margin-bottom:25px;padding:15px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.classification-result h2{color:#1a237e;margin:0 0 10px;font-size:1.4em}.classification-result h3{color:#666;margin:0;font-size:1.1em;font-weight:400}.breakdown-section h3{color:#1a237e;text-align:center;margin-bottom:20px;font-size:1.2em}.breakdown-grid{display:grid;gap:15px;margin-bottom:20px}.breakdown-item{background-color:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 8px #0000001a;border-left:4px solid}.breakdown-item.first-class{border-left-color:#27ae60}.breakdown-item.upper-second-class{border-left-color:#2980b9}.breakdown-item.lower-second-class{border-left-color:#f39c12}.breakdown-item.third-class{border-left-color:#e67e22}.breakdown-label{font-weight:700;color:#333;margin-bottom:5px}.breakdown-count{font-size:1.1em;font-weight:700;margin-bottom:10px}.breakdown-progress{background-color:#e9ecef;border-radius:10px;height:8px;overflow:hidden}.progress-bar{height:100%;border-radius:10px;transition:width .3s ease}.first-class-progress{background-color:#27ae60}.upper-second-progress{background-color:#2980b9}.lower-second-progress{background-color:#f39c12}.third-class-progress{background-color:#e67e22}.progress-info{background-color:#fff;border-radius:8px;padding:15px;text-align:center}.progress-info p{margin:8px 0;color:#666}.progress-tip{font-style:italic;color:#888!important;font-size:.9em;margin-bottom:10px!important}.classification-tips{text-align:left;margin:10px 0;padding-left:20px}.classification-tips li{margin:5px 0;color:#666;font-size:.9em}.getting-started-section{margin-top:30px;background-color:#f8f9fa;border-radius:12px;padding:20px;border:2px solid #1a237e}.getting-started-content{text-align:center}.getting-started-content h3{color:#1a237e;margin-bottom:15px;font-size:1.3em}.getting-started-content p{color:#666;margin:10px 0;line-height:1.5}.getting-started-content ul{text-align:left;margin:15px auto;max-width:400px;color:#666}.getting-started-content li{margin:8px 0;line-height:1.4}.getting-started-content .tip{background-color:#fff;border-radius:8px;padding:15px;margin-top:20px;border-left:4px solid #1a237e;font-style:italic}.grade-breakdown-section{margin-top:25px;background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;width:100%}.grade-breakdown-section h3{color:#1a237e;text-align:center;margin-bottom:20px;font-size:1.2em}.current-grades-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;width:100%}@media (max-width: 768px){.current-grades-grid{grid-template-columns:1fr}}.grade-item{background-color:#f8f9fa;border-radius:8px;padding:15px;border-left:4px solid;transition:transform .2s ease}.grade-item:hover{transform:translateY(-2px)}.grade-item.first-class{border-left-color:#27ae60;background-color:#27ae600d}.grade-item.upper-second-class{border-left-color:#2980b9;background-color:#2980b90d}.grade-item.lower-second-class{border-left-color:#f39c12;background-color:#f39c120d}.grade-item.third-class{border-left-color:#e67e22;background-color:#e67e220d}.grade-label{font-weight:700;color:#333;margin-bottom:8px;font-size:.95em}.grade-value{font-size:1.3em;font-weight:700;margin-bottom:5px}.grade-item.first-class .grade-value{color:#27ae60}.grade-item.upper-second-class .grade-value{color:#2980b9}.grade-item.lower-second-class .grade-value{color:#f39c12}.grade-item.third-class .grade-value{color:#e67e22}.grade-description{font-size:.9em;color:#666;margin-bottom:8px;font-weight:500}.grade-weight{font-size:.8em;color:#888;font-style:italic}.no-grades-message{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#888;font-style:italic}.no-grades-message p{margin:0;font-size:1.1em}@media (max-width: 600px){.subject-table,.subject-table thead,.subject-table tbody,.subject-table th,.subject-table td,.subject-table tr{display:block}.subject-table thead tr{position:absolute;top:-9999px;left:-9999px}.subject-table tr{border:1px solid #ccc;margin-bottom:10px}.subject-table td{border:none;border-bottom:1px solid #eee;position:relative;padding-left:50%}.subject-table td:before{position:absolute;top:6px;left:6px;width:45%;padding-right:10px;white-space:nowrap;content:attr(data-label);font-weight:700}}.year-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:2000}.year-popup-content{background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;width:90%;max-width:600px;padding:2rem;text-align:center;animation:popupSlideIn .3s ease-out}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.year-popup-header h2{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:#1a237e;margin-bottom:.5rem}.year-popup-header p{font-family:Roboto,sans-serif;font-size:1.1rem;color:#555;margin-bottom:2rem}.year-options{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.year-option-button{background-color:#fff;border:3px solid #e0e0e0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;font-family:Roboto,sans-serif;text-align:center;min-height:180px;display:flex;flex-direction:column;justify-content:center}.year-option-button:hover{border-color:#1a237e;transform:translateY(-3px);box-shadow:0 6px 20px #1a237e26}.year-option-button:active{transform:translateY(-1px)}.year-number{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:#1a237e;margin-bottom:1rem}.year-subjects{font-size:.9rem;color:#666;line-height:1.4}.year-popup-footer{border-top:1px solid #e0e0e0;padding-top:1.5rem;margin-top:1rem}.year-popup-footer p{font-family:Roboto,sans-serif;font-size:.9rem;color:#777;margin:0;font-style:italic}@media (max-width: 640px){.year-popup-content{width:95%;padding:1.5rem}.year-options{grid-template-columns:1fr;gap:1rem}.year-option-button{min-height:160px;padding:1.25rem}.year-popup-header h2{font-size:1.6rem}.year-popup-header p{font-size:1rem}.year-number{font-size:1.3rem}.year-subjects{font-size:.85rem}}
