.hero{background:linear-gradient(135deg,#1a202c,#2d3748);color:#fff;padding:6rem 1rem;text-align:center}.hero-content{max-width:700px;margin:0 auto}.hero-content h1{font-size:2.5rem;font-weight:700;margin:0 0 1rem}.hero-content p{font-size:1.1rem;color:#a0aec0;margin:0 0 2rem;line-height:1.6}.hero-button{background-color:var(--accent-color);color:var(--primary-dark);padding:.8rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .2s ease}.hero-button:hover{transform:scale(1.05)}.hero-content{position:relative;max-width:800px}.hero-content h1{font-size:2.2rem;font-weight:700;margin:0}.hero-content p{font-size:1rem;margin:1rem 0 1.5rem}.hero-button{background-color:var(--accent-color);color:var(--primary-dark);padding:.8rem 1.8rem;border-radius:50px;font-size:1rem;font-weight:600;text-decoration:none}.features-section{padding:3rem 1rem;background-color:var(--background-white);text-align:center}.features-section h2{font-size:2rem;color:var(--primary-dark);margin-bottom:.5rem}.features-section h2:after{content:"";display:block;width:60px;height:4px;background:var(--accent-color);margin:1rem auto 2rem}.features-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;text-align:center}.feature-card{padding:1.5rem;border-radius:12px;background:var(--background-light)}.feature-icon{font-size:2.5rem;margin-bottom:.5rem;color:var(--primary-dark)}.feature-card h3{font-size:1rem;color:var(--primary-dark);margin:.5rem 0}.feature-card p{font-size:.85rem;color:var(--secondary-text);margin:0}@media (min-width: 768px){@media (min-width: 769px){.hero{padding:8rem 2rem}.hero-content h1{font-size:3.5rem}}.hero-content p{font-size:1.2rem}.hero-button{padding:1rem 2.5rem;font-size:1.1rem;transition:transform .3s ease,box-shadow .3s ease}.hero-button:hover{transform:scale(1.05);box-shadow:0 5px 15px #f7b73366}.features-section{padding:5rem 2rem}.features-section h2{font-size:2.5rem}.features-grid{grid-template-columns:repeat(4,1fr)}.feature-card{transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{transform:translateY(-10px);box-shadow:0 8px 24px #0000001a}}.department-group{background:var(--background-white);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;box-shadow:0 4px 12px #0000000d;transition:box-shadow .3s ease}.department-group:hover{box-shadow:0 8px 24px #00000014}.department-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;font-size:1.5rem;font-weight:700;color:var(--primary-dark);cursor:pointer}.department-header:after{content:"▼";font-size:1rem;transition:transform .3s ease}.department-header.open:after{transform:rotate(180deg)}.department-content{padding:0 1.5rem 1.5rem;border-top:1px solid var(--border-color)}.course-group{margin-top:1.5rem}.course-header{font-size:1.2rem;font-weight:600;color:var(--primary-text);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent-color);display:inline-block}.semester-group{padding-left:1rem;border-left:3px solid var(--border-color);margin-bottom:1.5rem}.semester-header{font-size:1.1rem;font-weight:600;color:var(--secondary-text);margin:1rem 0}.subject-list{list-style-type:none;padding-left:0;display:flex;flex-wrap:wrap;gap:.75rem}.subject-item a{display:block;padding:.6rem 1.2rem;text-decoration:none;background-color:#eef4f8;color:var(--primary-blue);font-weight:600;border-radius:50px;transition:all .2s ease}.subject-item a:hover{background-color:var(--primary-dark);color:#fff}.page-header{text-align:center;padding:3rem 2rem 1rem}.page-header h1{font-size:2.5rem;color:var(--primary-dark);margin-bottom:.5rem}.blog-list{max-width:800px;margin:0 auto;padding:2rem}.blog-post-card{background:var(--background-white);border:1px solid var(--border-color);border-radius:12px;padding:2rem;margin-bottom:1.5rem;transition:box-shadow .3s ease}.blog-post-card:hover{box-shadow:0 8px 24px #00000014}.blog-post-card h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--primary-dark)}.blog-post-card p{margin:0 0 1rem;color:var(--secondary-text)}.blog-post-card a{font-weight:600;color:var(--primary-blue);text-decoration:none}.filter-container{margin:2rem auto;max-width:600px}.filter-input{width:100%;padding:1rem;font-size:1rem;border-radius:50px;border:1px solid var(--border-color);box-sizing:border-box;font-family:var(--font-family);transition:border-color .3s ease,box-shadow .3s ease}.filter-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 4px #f7b73333}.contact-section{padding:4rem 2rem;background:var(--background-white)}.contact-container{max-width:800px;margin:0 auto;text-align:center}.contact-container h1{color:var(--primary-dark);font-size:2.5rem}.contact-container p{color:var(--secondary-text);margin-bottom:3rem;font-size:1.1rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem;text-align:left}.contact-form input,.contact-form textarea{width:100%;padding:1rem;border:1px solid #ccc;border-radius:8px;font-family:var(--font-family);font-size:1rem;box-sizing:border-box;transition:border-color .3s ease,box-shadow .3s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #f7b73333}.contact-form textarea{min-height:150px;resize:vertical}.contact-form button{padding:1rem;border:none;background-color:var(--primary-dark);color:#fff;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background-color .3s ease}.contact-form button:hover{background-color:var(--accent-color);color:var(--primary-dark)}.contribute-section{padding:4rem 1rem;text-align:center}.contribute-container{max-width:800px;margin:0 auto}.contribute-container h1{color:var(--primary-dark);font-size:2.5rem}.contribute-container p{color:var(--secondary-text);margin-bottom:3rem;font-size:1.1rem;line-height:1.6}.google-form-button{display:inline-block;padding:1rem 2.5rem;border:none;background-color:var(--primary-dark);color:#fff;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;text-decoration:none;transition:transform .2s ease,background-color .2s ease}.google-form-button:hover{transform:scale(1.05);background-color:var(--accent-color);color:var(--primary-dark)}.featured-hackathon-card{background:linear-gradient(135deg,#1a202c,#2d3748);color:#fff;padding:2.5rem;border-radius:16px;margin-bottom:2rem;text-align:center}.featured-hackathon-card h2{font-size:1.8rem;margin:0 0 1rem}.featured-hackathon-card p{color:#a0aec0;margin:0 auto 1.5rem;max-width:600px}.featured-hackathon-card a{display:inline-block;background-color:var(--accent-color);color:var(--primary-dark);padding:.8rem 2rem;border-radius:50px;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .2s ease}.featured-hackathon-card a:hover{transform:scale(1.05)}.auth-page-container{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:2rem;background:linear-gradient(135deg,#f6f9fc,#eef4f8)}.auth-form-card{background:var(--background-white);padding:2.5rem 3rem;border-radius:16px;box-shadow:0 10px 30px #0000001a;max-width:400px;width:100%;text-align:center}.auth-form-card h1{color:var(--primary-dark);font-size:2rem;margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form input{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:8px;font-family:var(--font-family);font-size:1rem;box-sizing:border-box;transition:border-color .3s ease,box-shadow .3s ease}.auth-form input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 4px #f7b73333}.auth-form button{padding:1rem;border:none;background-color:var(--primary-dark);color:#fff;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.auth-form button:hover{background-color:var(--accent-color);color:var(--primary-dark);transform:scale(1.02)}.auth-form-footer{text-align:center;margin-top:1.5rem;color:var(--secondary-text)}.auth-form-footer a{color:var(--primary-blue);font-weight:600;text-decoration:none}.messages-list{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:3rem}.message-card{background:var(--background-white);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.message-card h3{margin:0 0 1rem;color:var(--primary-dark)}.message-card h3 span{font-weight:400;color:var(--secondary-text);font-size:1rem}.message-card p{margin:0 0 1rem;white-space:pre-wrap}.message-card small{color:var(--secondary-text)}:root{--primary-dark: #0A2540;--primary-blue: #007aff;--accent-color: #f7b733;--primary-text: #333745;--secondary-text: #5a6275;--background-light: #f6f9fc;--background-white: #ffffff;--border-color: #e6ebf1;--font-family: "Poppins", sans-serif}body{font-family:var(--font-family);margin:0;background-color:var(--background-light);color:var(--primary-text)}#root{display:flex;flex-direction:column;min-height:100vh}main{flex-grow:1}nav{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;position:sticky;top:0;z-index:1000;background-color:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05)}.logo{display:flex;align-items:center;text-decoration:none;color:var(--primary-dark)}.logo img{height:35px;margin-right:8px}.logo span{font-size:1.3rem;font-weight:700}.desktop-nav-links{display:none}.hamburger-icon{display:block;font-size:1.8rem;background:none;border:none;cursor:pointer;z-index:1002;margin-left:auto}.mobile-nav-menu{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;background:var(--background-white);box-shadow:-5px 0 15px #0000001a;display:flex;flex-direction:column;padding:2rem;box-sizing:border-box;transition:right .4s ease-in-out;z-index:1001}.mobile-nav-menu.open{right:0}.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-color)}.mobile-nav-title{font-size:1.5rem;font-weight:700;color:var(--primary-dark);text-decoration:none}.close-icon{font-size:2rem;background:none;border:none;cursor:pointer}.mobile-nav-menu a{font-size:1.2rem;font-weight:600;padding:1rem 0;color:var(--primary-dark);text-decoration:none}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;opacity:0;visibility:hidden;transition:opacity .4s ease;z-index:1000}.overlay.open{opacity:1;visibility:visible}@media (min-width: 769px){nav{padding:.8rem 2rem;justify-content:flex-start}.logo{margin-right:auto}.hamburger-icon{display:none}.desktop-nav-links{display:flex;align-items:center;gap:.5rem}nav a{text-decoration:none;padding:.5rem 1rem;border-radius:6px}nav a:hover{background-color:#f0f0f0}}.social-cta-section{background-color:var(--background-white);padding:4rem 2rem;text-align:center}.social-cta-section h2{font-size:2rem;color:var(--primary-dark);margin:0 0 1rem}.social-cta-section p{color:var(--secondary-text);margin:0 auto 2rem;max-width:600px}.social-links{display:flex;justify-content:center;gap:2rem}.social-links a{display:flex;align-items:center;gap:.75rem;background:var(--primary-dark);color:#fff;padding:.8rem 1.5rem;border-radius:50px;text-decoration:none;font-weight:600;transition:transform .3s ease,background-color .3s ease}.social-links a:hover{transform:scale(1.05);background-color:var(--accent-color);color:var(--primary-dark)}.social-links a svg{font-size:1.5rem}.feedback-section{background-color:var(--background-light);padding:4rem 2rem;text-align:center}.feedback-section h2{font-size:2rem;color:var(--primary-dark);margin:0 0 1rem}.feedback-section p{color:var(--secondary-text);margin:0 auto 2rem;max-width:600px}.feedback-form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.feedback-form textarea{width:100%;min-height:120px;padding:1rem;border:1px solid var(--border-color);border-radius:8px;font-family:var(--font-family);font-size:1rem;box-sizing:border-box;resize:vertical}.feedback-form button{padding:1rem;border:none;background-color:var(--primary-dark);color:#fff;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background-color .3s ease}.feedback-form button:hover{background-color:var(--accent-color);color:var(--primary-dark)}
