@import "https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";
*{box-sizing:border-box;margin:0;padding:0}:root{--primary-gradient:linear-gradient(145deg,#0f4c81 0%,#1f8ecb 40%,#0f2027 100%);--secondary-gradient:linear-gradient(135deg,#000428 0%,#004e92 100%);--success-gradient:linear-gradient(135deg,#4f46e5 0%,#3b82f6 100%);--danger-gradient:linear-gradient(135deg,#fa709a 0%,#fee140 100%);--footer-gradient:linear-gradient(270deg,#0f4c81 0%,#1f8ecb 100%);--bg-primary:linear-gradient(135deg,#1a202c 0%,#2d3748 100%);--bg-secondary:#1a202c;--bg-card:#2d3748f2;--text-primary:#f7fafc;--text-secondary:#e2e8f0;--text-muted:#a0aec0;--border-color:#4a5568cc;--shadow:0 10px 25px #0000004d;--input-bg:#2d3748;--input-border:#4a5568}[data-theme=light]{--primary-gradient:linear-gradient(145deg,#74b9ff 0%,#0984e3 40%,#00cec9 100%);--secondary-gradient:linear-gradient(135deg,#64b1d4 0%,#3366e9 100%);--success-gradient:linear-gradient(135deg,#3366e9 0%,#29a796 100%);--danger-gradient:linear-gradient(135deg,#fd79a8 0%,#fdcb6e 100%);--footer-gradient:linear-gradient(270deg,#a29bfe 0%,#6c5ce7 100%);--bg-primary:linear-gradient(135deg,#667eea 0%,#764ba2 100%);--bg-secondary:#fff;--bg-card:#fffffff2;--text-primary:#2d3748;--text-secondary:#4a5568;--text-muted:#718096;--border-color:#e2e8f0cc;--shadow:0 10px 25px #0000001a;--input-bg:#fff;--input-border:#e2e8f0}body{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);font-family:Comfortaa,sans-serif;transition:all .3s;position:relative;overflow-x:hidden}.bg-animation{z-index:-1;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.floating-shapes{width:100%;height:100%;position:absolute}.shape{background:#ffffff1a;border-radius:50%;animation:20s linear infinite float;position:absolute}.shape:first-child{width:80px;height:80px;animation-duration:25s;animation-delay:0s;left:10%}.shape:nth-child(2){width:120px;height:120px;animation-duration:30s;animation-delay:5s;left:20%}.shape:nth-child(3){width:60px;height:60px;animation-duration:20s;animation-delay:10s;left:70%}.shape:nth-child(4){width:100px;height:100px;animation-duration:35s;animation-delay:15s;left:80%}.shape:nth-child(5){width:40px;height:40px;animation-duration:15s;animation-delay:20s;left:50%}@keyframes float{0%{opacity:0;transform:translateY(100vh)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100px)rotate(360deg)}}.gradient-orb{filter:blur(60px);opacity:.3;border-radius:50%;animation:4s ease-in-out infinite pulse;position:absolute}.gradient-orb:first-child{background:linear-gradient(45deg,#667eea,#764ba2);width:300px;height:300px;animation-delay:0s;top:20%;left:10%}.gradient-orb:nth-child(2){background:linear-gradient(45deg,#f093fb,#f5576c);width:200px;height:200px;animation-delay:2s;top:60%;right:10%}.gradient-orb:nth-child(3){background:linear-gradient(45deg,#4facfe,#00f2fe);width:250px;height:250px;animation-delay:1s;bottom:20%;left:30%}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.container{z-index:1;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem;position:relative}.header{text-align:center;margin-bottom:3rem;animation:1s fadeInUp}.logo{background:linear-gradient(135deg,#fff 0%,#f0f8ff 50%,#fff 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 30px #ffffff80;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:3.5rem;font-weight:700;animation:2s ease-in-out infinite alternate glow}@keyframes glow{0%{text-shadow:0 0 20px #ffffff80}to{text-shadow:0 0 40px #fffc}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.subtitle{color:#ffffffe6;margin-bottom:.5rem;font-size:1.2rem;font-weight:500}.institute-name{color:#fffc;font-size:1rem;font-weight:400}.theme-toggle{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;box-shadow:var(--shadow);z-index:10;border-radius:50px;padding:.4rem;font-size:1.2rem;transition:all .3s;position:absolute;top:1rem;right:1rem}.theme-toggle:hover{transform:scale(1.1)}.form-section{background:var(--bg-card);box-shadow:var(--shadow);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;margin-bottom:2rem;padding:2.5rem;animation:1s .3s both fadeInUp}.form-title{text-align:center;color:var(--text-primary);margin-bottom:2rem;font-size:1.8rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.form-group{position:relative}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-select{border:2px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1rem center;background-repeat:no-repeat;background-size:1rem;border-radius:10px;padding:.75rem 1rem;font-family:Comfortaa,sans-serif;font-size:1rem;transition:all .3s}.form-select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-select:disabled{opacity:.6;cursor:not-allowed}.btn{cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:12px;padding:1rem 2rem;font-family:Comfortaa,sans-serif;font-size:1rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.btn-primary{background:var(--primary-gradient);color:#fff;width:100%}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;margin-right:.5rem;animation:1s ease-in-out infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.result-section{background:var(--bg-card);box-shadow:var(--shadow);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2.5rem;animation:.5s slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.result-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.result-title{color:var(--text-primary);font-size:1.5rem;font-weight:600}.result-info{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.9rem}.download-buttons{gap:1rem;display:flex}.btn-secondary{background:var(--secondary-gradient);color:#fff;padding:.6rem 1.2rem;font-size:.9rem}.btn-success{background:var(--success-gradient);color:#fff;padding:.6rem 1.2rem;font-size:.9rem}.routine-table{border-collapse:collapse;background:var(--input-bg);border-radius:10px;width:100%;margin-top:1rem;overflow:hidden;box-shadow:0 4px 6px #0000001a}.routine-table th,.routine-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:1rem}.routine-table th{background:var(--secondary-gradient);color:#fff;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:600}.routine-table tr:hover{background:#667eea0d}.routine-table tr:last-child td{border-bottom:none}.class-time{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-weight:500}.subject-name{color:var(--text-primary);font-weight:500}.teacher-name{color:var(--text-secondary);font-size:.9rem}.classroom{background:var(--success-gradient);color:#fff;border-radius:6px;padding:.3rem .6rem;font-size:.8rem;font-weight:500;display:inline-block}.teacher-list{background:var(--input-bg);border-radius:10px;margin-top:2rem;padding:1.5rem}.teacher-list h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem}.teacher-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;padding:1rem;transition:all .3s}.teacher-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.teacher-info{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.teacher-details h4{color:var(--text-primary);margin-bottom:.3rem}.teacher-details p{color:var(--text-secondary);margin-bottom:.2rem;font-size:.9rem}.subject-badge{background:var(--success-gradient);color:#fff;border-radius:20px;padding:.3rem .8rem;font-size:.8rem;font-weight:500}.error-message{color:#e53e3e;text-align:center;background:#e53e3e1a;border:1px solid #e53e3e4d;border-radius:10px;margin-top:1rem;padding:1rem}.mobile-day-section{display:none}.desktop-day{display:table-cell}@media (max-width:768px){td.desktop-day,tr>td.desktop-day[rowspan]{display:none!important}.mobile-day-section{display:table-row;background:var(--primary-gradient)!important}.day-header{text-align:center;border:none!important;padding:1rem!important}.day-name{color:#fff;text-transform:uppercase;letter-spacing:1px;text-shadow:0 2px 4px #0000004d;font-size:1.1rem;font-weight:700}.container{padding:1rem}.theme-toggle{padding:.6rem;font-size:1rem;top:1rem;right:1rem}.logo{font-size:2.5rem}.subtitle{font-size:1rem}.institute-name{font-size:.9rem}.form-section{border-radius:15px;padding:1.5rem}.form-title{margin-bottom:1.5rem;font-size:1.5rem}.form-grid{grid-template-columns:1fr;gap:1rem}.form-select{padding:.8rem 1rem;font-size:.95rem}.btn{padding:.9rem 1.5rem;font-size:.95rem}.result-section{border-radius:15px;padding:1.5rem}.result-header{flex-direction:column;align-items:stretch;gap:1.5rem}.result-title{text-align:center;font-size:1.3rem}.result-info{text-align:center;font-size:.8rem}.download-buttons{justify-content:center;gap:.8rem}.btn-secondary,.btn-success{text-align:center;flex:1;padding:.7rem 1rem;font-size:.85rem}.routine-table{white-space:nowrap;-webkit-overflow-scrolling:touch;font-size:.85rem;display:block;overflow-x:auto}.routine-table thead,.routine-table tbody,.routine-table th,.routine-table td,.routine-table tr{display:block}.routine-table thead tr{position:absolute;top:-9999px;left:-9999px}.routine-table tr{background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:.8rem;padding:1rem;display:block;box-shadow:0 2px 4px #0000001a}.routine-table td{text-align:left;white-space:normal;border:none;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.routine-table td:before{content:attr(data-label);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;min-width:80px;margin-right:1rem;font-size:.8rem;font-weight:600}.class-time{font-size:.85rem}.classroom{padding:.25rem .5rem;font-size:.75rem}.teacher-info{text-align:center;flex-direction:column;align-items:stretch}.teacher-list{padding:1rem}.teacher-card{padding:.8rem}.gradient-orb:first-child{width:200px;height:200px}.gradient-orb:nth-child(2){width:150px;height:150px}.gradient-orb:nth-child(3){width:180px;height:180px}.shape:first-child,.shape:nth-child(2){width:60px;height:60px}.shape:nth-child(3),.shape:nth-child(4),.shape:nth-child(5){width:40px;height:40px}}@media (max-width:480px){.container{padding:.8rem}.logo{font-size:2rem}.subtitle{font-size:.9rem}.form-section,.result-section{border-radius:12px;padding:1.2rem}.form-title{font-size:1.3rem}.form-select{padding:.7rem .8rem;font-size:.9rem}.btn{padding:.8rem 1.2rem;font-size:.9rem}.btn-secondary,.btn-success{padding:.6rem .8rem;font-size:.8rem}.routine-table{font-size:.8rem}.routine-table tr{margin-bottom:.6rem;padding:.8rem}.routine-table td{padding:.4rem 0}.routine-table td:before{min-width:70px;margin-right:.8rem;font-size:.75rem}.teacher-list{padding:.8rem}.teacher-card{padding:.6rem}.footer-links{flex-direction:column;gap:1.5rem}.footer-container{padding:1.5rem .8rem 1rem}}@media (max-width:768px) and (orientation:landscape){.header{margin-bottom:1.5rem}.logo{font-size:2rem}.form-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}.container{padding:.8rem}}
