:root{--primary: #00f2fe;--secondary: #4facfe;--glass: rgba(20, 20, 30, .75);--border: rgba(255, 255, 255, .15)}*{margin:0;padding:0;box-sizing:border-box;font-family:Outfit,sans-serif}body{background-color:#000;color:#fff;min-height:100vh;overflow-x:hidden}#bg-desktop,#bg-mobile{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-3;opacity:.6;object-fit:fill}#bg-desktop{display:block}#bg-mobile{display:none}@media (max-width: 768px){#bg-desktop{display:none}#bg-mobile{display:block}}.css-fallback-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-4;background:linear-gradient(-45deg,#000,#1a0b2e,#0f2027,#000);background-size:400% 400%;animation:gradientBG 15s ease infinite}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,transparent 0%,#000 100%);z-index:-2;pointer-events:none}.header-content{text-align:center;padding:80px 20px 40px}h1{font-size:4rem;font-weight:700;background:linear-gradient(to right,#fff,var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:15px;filter:drop-shadow(0 0 15px rgba(0,242,254,.3));animation:floatText 3s ease-in-out infinite}@keyframes floatText{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.search-box{position:relative;max-width:500px;margin:0 auto}.search-input{width:100%;padding:18px 50px 18px 25px;border-radius:50px;border:1px solid var(--border);background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:1.1rem;transition:.3s}.search-input:focus{outline:none;background:#ffffff1a;border-color:var(--primary);box-shadow:0 0 30px #00f2fe33}.container{max-width:900px;margin:0 auto;padding-bottom:100px}.year-card{background:var(--glass);border:1px solid var(--border);margin:25px 20px;border-radius:16px;overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.year-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary);box-shadow:0 0 15px var(--primary);opacity:0;transition:.3s}.year-card:hover{transform:scale(1.02);border-color:#ffffff4d}.year-card:hover:before{opacity:1}.year-header{padding:25px 30px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:1.3rem;font-weight:700}.arrow{transition:.4s}.year-card.active .arrow{transform:rotate(180deg);color:var(--primary)}.year-content{max-height:0;overflow:hidden;transition:max-height .5s ease-out;background:#0000004d}.semester-block{padding:20px 30px;border-top:1px solid rgba(255,255,255,.05)}.sem-label{color:var(--primary);font-size:.85rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;display:block}.notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.note-card{display:flex;align-items:center;background:#ffffff08;border-radius:12px;padding:15px;border:1px solid transparent;transition:.3s}.note-card:hover{background:#ffffff14;border-color:var(--secondary);transform:translateY(-5px)}.subject-img{width:60px;height:60px;border-radius:10px;object-fit:cover;margin-right:15px;filter:drop-shadow(0 0 8px rgba(255,255,255,.2))}.note-details{flex:1}.note-title{display:block;font-weight:500;font-size:1rem}.note-prof{display:block;font-size:.75rem;color:#888;margin-top:3px}.actions{display:flex;gap:8px}.btn-icon{width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s;color:#fff;font-size:1.1rem}.view-btn{background:#4facfe1a;color:var(--primary)}.view-btn:hover{background:#007bff;color:#000;box-shadow:0 0 15px #88b4ff}.dl-btn{background:#4facfe1a;color:#fff}.dl-btn:hover{background:#28a745;color:#fff;box-shadow:0 0 15px #6aff8d}@media (max-width: 600px){h1{font-size:2.5rem}.year-header{font-size:1.1rem}.notes-grid{grid-template-columns:1fr}}.video-container{width:100%;border-radius:12px;overflow:hidden;background:#00000080}.year-video{width:100%;height:auto;display:block;border-radius:12px}.utility-buttons-container{max-width:900px;margin:0 auto;padding:0 20px 100px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.utility-btn{background:var(--glass);border:1px solid var(--border);border-radius:16px;padding:10px 30px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:15px;font-size:1.2rem;font-weight:600;color:#fff;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.utility-btn:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary);box-shadow:0 0 15px var(--primary);opacity:0;transition:.3s}.utility-btn:hover{transform:scale(1.02) translateY(-3px);border-color:#ffffff4d;box-shadow:0 10px 30px #00f2fe33}.utility-btn:hover:before{opacity:1}.btn-icon-text{font-size:1.8rem}.btn-text{font-size:1.1rem}.gpa-btn:hover{background:#00f2fe0d}.timetable-btn:hover{background:#4facfe0d}@media (max-width: 600px){h1{font-size:2.5rem}.year-header{font-size:1.1rem}.notes-grid{grid-template-columns:1fr}.utility-buttons-container{grid-template-columns:1fr;gap:15px}}.secret-btn,.secret-btn-right{position:fixed;top:20px;z-index:9999;width:48px;height:48px;border-radius:50%;background:var(--glass);border:1px solid var(--border);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 32px #0000005e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-decoration:none;outline:none}.btn-svg-icon{stroke:#fff;transition:stroke .3s ease,transform .3s ease}.secret-btn:hover .btn-svg-icon,.secret-btn-right:hover .btn-svg-icon{stroke:var(--primary);transform:scale(1.05)}.secret-btn{left:20px}.secret-btn-right{right:20px}.secret-btn:hover,.secret-btn-right:hover{transform:scale(1.1) translateY(-2px);border-color:var(--primary);box-shadow:0 0 20px #00f2fe66;background:#ffffff1a}.secret-btn:active,.secret-btn-right:active{transform:scale(.95)}.wifi-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.wifi-modal.show{display:flex;opacity:1}.wifi-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.wifi-modal-content{position:relative;width:90%;max-width:500px;max-height:80vh;background:var(--glass);border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 32px #00000080,0 0 30px #00f2fe26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;overflow:hidden;transform:scale(.9) translateY(20px);transition:transform .3s cubic-bezier(.175,.885,.32,1.275);z-index:10001}.wifi-modal.show .wifi-modal-content{transform:scale(1) translateY(0)}.wifi-modal-header{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.wifi-modal-header h2{font-size:1.4rem;font-weight:700;background:linear-gradient(to right,#fff,var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.wifi-modal-close{background:transparent;border:none;color:#ccc;font-size:1.8rem;cursor:pointer;transition:color .2s;line-height:1}.wifi-modal-close:hover{color:#fff}.wifi-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.wifi-subtitle{color:#aaa;font-size:.9rem;margin-bottom:16px;text-align:center}.wifi-list{display:flex;flex-direction:column;gap:12px}.wifi-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:12px 16px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.wifi-item:hover{background:#ffffff14;border-color:var(--secondary);transform:translateY(-2px)}.wifi-name{font-weight:600;font-size:1rem;color:#fff}.wifi-pass-container{display:flex;align-items:center;gap:8px}.wifi-pass{font-family:monospace;font-size:.95rem;padding:4px 8px;background:#0000004d;border-radius:6px;color:var(--primary);transition:all .3s ease;filter:blur(4px);-webkit-user-select:none;user-select:none}.wifi-item.revealed .wifi-pass{filter:blur(0);-webkit-user-select:text;user-select:text}.copy-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:transparent;border:1.5px solid #1dcfd8;color:#1dcfd8;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.wifi-item.copied .copy-indicator{opacity:1;transform:translate(-50%,-50%) scale(1.1)}.wifi-item.copied .wifi-name,.wifi-item.copied .wifi-pass-container{opacity:.15;filter:blur(2px);transition:all .2s ease}@media (max-width: 768px){.wifi-pass-hostel-j{font-size:.75rem}}@media (max-width: 480px){.wifi-pass-hostel-j{font-size:.62rem;padding:4px 6px}}@media (max-width: 360px){.wifi-pass-hostel-j{font-size:.52rem;padding:2px 4px}}.wifi-modal-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center}.download-btn{background:transparent;border:1.5px solid #00f2fe;color:#00f2fe;font-weight:700;padding:12px 24px;border-radius:30px;cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:10px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 15px #00f2fe26;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.download-btn:hover{transform:scale(1.05) translateY(-2px);background:#00f2fe1a;box-shadow:0 6px 20px #00f2fe66}.download-btn:active{transform:scale(.98)}.spinner{width:18px;height:18px;border:2px solid rgba(0,242,254,.2);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.download-btn.loading{pointer-events:none;opacity:.85}.download-btn.saved{border-color:var(--primary);color:var(--primary);box-shadow:0 4px 15px #00f2fe4d;pointer-events:none}.download-btn.saved:hover{background:#00f2fe1a;box-shadow:0 6px 20px #00f2fe66}@media (max-width: 768px){.secret-btn,.secret-btn-right{position:absolute}}
