@import "https://fonts.googleapis.com/css2?family=Bangers&family=Inter:wght@400;500;600;700;800;900&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green-900:#0a2e1a;--green-800:#0f3d21;--green-700:#145228;--green-600:#1a6b33;--green-500:#1e7e3c;--green-400:#25a04d;--green-300:#2ecc66;--gold:#f5c518;--white:#fff;--white-80:#fffc;--white-50:#ffffff80;--white-15:#ffffff1a;--nav-height:72px}.letter-hover-group{display:inline}.letter-hover{color:var(--white);cursor:default;transition:color .15s,transform .15s;display:inline-block}.letter-hover:hover{color:var(--green-300);animation:.4s letter-bounce}@keyframes letter-bounce{0%{transform:translateY(0)}30%{transform:translateY(-10px)scale(1.15)}60%{transform:translateY(4px)scale(.95)}80%{transform:translateY(-4px)}to{transform:translateY(0)}}html,body,#root{background:var(--green-900);width:100%;height:100%;color:var(--white);font-family:Inter,sans-serif;overflow-x:hidden}button{cursor:pointer;font-family:inherit}.app{background:radial-gradient(at 0 0,#00573f,#002b1f);flex-direction:column;min-height:100vh;display:flex}.navbar{height:var(--nav-height);-webkit-backdrop-filter:blur(14px);z-index:100;background:#071a10a6;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:0 40px;display:flex;position:sticky;top:0}.nav-logo{align-items:center;gap:12px;text-decoration:none;display:flex}.nav-logo img{object-fit:contain;border-radius:8px;width:48px;height:48px}.nav-logo-text{flex-direction:column;line-height:1.1;display:flex}.nav-logo-text .uni-name{color:var(--white-80);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.nav-logo-text .scheduler-label{color:var(--white);letter-spacing:.01em;font-size:15px;font-weight:800}.nav-links{align-items:center;gap:36px;list-style:none;display:flex}.nav-links a{color:var(--white-80);letter-spacing:.02em;align-items:center;gap:7px;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s;display:flex;position:relative}.nav-links a:after{content:"";background:var(--green-300);border-radius:2px;width:0;height:2px;transition:width .25s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--white)}.nav-links a:hover:after{width:100%}.nav-links svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.nav-cta{background:var(--green-400);color:var(--white);letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:8px;padding:10px 22px;font-size:13px;font-weight:700;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 14px #25a04d59}.nav-cta:hover{background:var(--green-300);transform:translateY(-1px);box-shadow:0 6px 20px #2ecc6673}.nav-cta:active{transform:translateY(0)}.hero{min-height:calc(100vh - var(--nav-height));flex:1;align-items:center;gap:40px;padding:0 80px 40px;display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";filter:blur(80px);pointer-events:none;opacity:.35;border-radius:50%;animation:8s ease-in-out infinite alternate drift;position:absolute}.hero:before{background:radial-gradient(circle, var(--green-500), transparent 70%);width:500px;height:500px;top:-100px;left:-100px}.hero:after{background:radial-gradient(circle, var(--green-400), transparent 70%);width:350px;height:350px;animation-delay:-4s;bottom:-80px;right:300px}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(30px,20px)scale(1.05)}}.hero-content{z-index:1;flex-direction:column;flex:1;gap:24px;max-width:560px;display:flex;position:relative}.hero-badge{width:fit-content;color:var(--green-300);letter-spacing:.06em;text-transform:uppercase;background:#25a04d26;border:1px solid #2ecc664d;border-radius:100px;align-items:center;gap:8px;padding:6px 16px;font-size:12px;font-weight:600;display:inline-flex}.hero-badge-dot{background:var(--green-300);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}.hero-heading{color:var(--white);letter-spacing:.04em;font-family:Bangers,cursive;font-size:clamp(36px,4.5vw,58px);font-weight:400;line-height:1.1}.hero-heading span:not(.letter-hover):not(.letter-hover-group){color:inherit}.hero-sub{color:var(--white-80);max-width:430px;font-size:17px;font-weight:400;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.btn-primary{background:linear-gradient(135deg, var(--green-400), var(--green-300));color:var(--white);letter-spacing:.1em;text-transform:uppercase;border:none;border-radius:10px;padding:15px 36px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:0 6px 24px #2ecc6666}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 32px #2ecc668c}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--white-80);background:0 0;border:1px solid #fff3;border-radius:10px;align-items:center;gap:8px;padding:15px 28px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:flex}.btn-secondary:hover{color:var(--white);background:#ffffff12;border-color:#ffffff59}.btn-secondary svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.hero-stats{flex-wrap:wrap;gap:32px;margin-top:8px;display:flex}.stat-item{flex-direction:column;display:flex}.stat-number{color:var(--white);font-size:26px;font-weight:800;line-height:1}.stat-label{color:var(--white-50);letter-spacing:.02em;margin-top:4px;font-size:12px;font-weight:500}.hero-illustration{z-index:1;flex:none;justify-content:center;align-items:center;width:min(650px,55vw);display:flex;position:relative}.hero-illustration img{filter:drop-shadow(0 20px 40px #00000080);width:100%;max-width:600px}.search-page{max-width:1000px;min-height:calc(100vh - var(--nav-height));flex-direction:column;flex:1;justify-content:flex-start;margin:0 auto;padding:60px 100px;animation:.4s fadeIn;display:flex;overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.search-heading{color:var(--white);letter-spacing:.04em;text-shadow:2px 2px #0000004d;margin-bottom:20px;font-family:Bangers,cursive;font-size:clamp(36px,4.5vw,58px);font-weight:400;line-height:1.1}.search-heading .first-letter{color:var(--gold)}.search-text{color:#ffffffd9;max-width:800px;margin-bottom:24px;font-size:17px;font-weight:500;line-height:1.6}.search-form{width:100%;max-width:800px;margin-top:24px}.search-filters-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px;display:grid}.search-submit-btn{background:linear-gradient(135deg,#f97316,#ea580c);border-radius:16px;justify-content:center;align-items:center;gap:12px;width:100%;padding:18px;font-size:16px;display:flex;box-shadow:0 8px 24px #ea580c4d}.search-submit-btn:hover{box-shadow:0 12px 32px #ea580c73}.exam-queue{width:100%;max-width:800px;margin-top:40px}.queue-heading{color:var(--white);border-bottom:1px solid #ffffff1a;margin-bottom:20px;padding-bottom:12px;font-family:Inter,sans-serif;font-size:20px;font-weight:600}.exam-card{background:#1e293ba6;border:1px solid #ffffff0f;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:20px 24px;animation:.3s fadeIn;display:flex;box-shadow:0 4px 12px #0003}.exam-class-info{flex-direction:column;flex:1;gap:4px;display:flex}.exam-term{text-transform:uppercase;letter-spacing:.12em;color:var(--green-300);font-size:11px;font-weight:800}.exam-meeting{color:var(--white);font-size:18px;font-weight:600}.exam-final-time{color:var(--white-80);flex:1;font-size:15px;line-height:1.6}.exam-final-time strong{color:var(--white)}.exam-remove-btn{color:#ffffff4d;cursor:pointer;background:0 0;border:none;margin-left:16px;padding:8px;font-size:22px;transition:color .2s,transform .2s}.exam-remove-btn:hover{color:#ef4444;transform:scale(1.1)}@media (width<=900px){.search-page{padding:40px 32px;overflow-y:auto}.search-heading{font-size:56px}.search-filters-grid{grid-template-columns:1fr}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@media (width<=900px){.hero{text-align:center;flex-direction:column;min-height:auto;padding:60px 32px}.hero-badge,.hero-actions{justify-content:center}.hero-sub{max-width:100%;margin:0 auto}.hero-illustration{width:min(360px,80vw)}.hero-stats{justify-content:center}.navbar{padding:0 20px}.nav-links{gap:20px}.nav-logo-text{display:none}}@media (width<=640px){.nav-links .link-label{display:none}}.contact-page{max-width:1200px;min-height:calc(100vh - var(--nav-height));flex:1;align-items:center;margin:0 auto;padding:0 100px;animation:.5s fadeIn;display:flex}.contact-container{grid-template-columns:1fr 1fr;gap:80px;width:100%;display:grid}.contact-info{flex-direction:column;gap:24px;display:flex}.contact-heading{color:var(--white);letter-spacing:.04em;margin-bottom:10px;font-family:Bangers,cursive;font-size:clamp(40px,5vw,64px)}.contact-text{color:var(--white-80);max-width:480px;font-size:17px;line-height:1.6}.contact-icons{gap:20px;margin-top:20px;display:flex}.contact-icon-wrapper{color:#ea580c;transition:transform .2s}.contact-icon-wrapper:hover{transform:translateY(-5px)}.mail-icon{width:40px;height:40px}.contact-form-container{padding:0}.contact-form{flex-direction:column;gap:20px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group input,.form-group textarea{width:100%;color:var(--white);background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;padding:16px;font-family:Inter,sans-serif;font-size:15px;transition:all .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--green-400);background:#ffffff0f;outline:none;box-shadow:0 0 0 4px #25a04d1a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--white-50)}#contact-send-btn{color:var(--white);cursor:pointer;background:#ea580c;border:none;border-radius:8px;align-self:flex-end;padding:12px 40px;font-size:14px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #ea580c4d}#contact-send-btn:hover{background:#f97316;transform:translateY(-2px);box-shadow:0 6px 20px #ea580c73}@media (width<=1024px){.contact-page{padding:60px 40px}.contact-container{grid-template-columns:1fr;gap:40px}.contact-info{text-align:center;align-items:center}.contact-text{max-width:100%}}.wheel-picker-wrapper{background:#2a313e;border:1px solid #ffffff0d;border-radius:20px;flex-direction:column;align-items:center;padding:20px;display:flex;box-shadow:0 12px 30px #0003}.wheel-picker-label{color:var(--white-50);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-size:12px;font-weight:700}.wheel-picker-mask{width:140px;position:relative}.wheel-picker{scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;height:120px;overflow-y:auto}.wheel-picker::-webkit-scrollbar{display:none}.wheel-picker-mask:before,.wheel-picker-mask:after{content:"";pointer-events:none;z-index:2;height:40px;position:absolute;left:0;right:0}.wheel-picker-mask:before{background:linear-gradient(#2a313e 10%,#0000);top:0}.wheel-picker-mask:after{background:linear-gradient(#0000,#2a313e 90%);bottom:0}.wheel-picker-indicator{pointer-events:none;z-index:1;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;height:40px;position:absolute;top:50%;left:10px;right:10px;transform:translateY(-50%)}.wheel-item{scroll-snap-align:center;color:#ffffff4d;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:40px;font-family:Inter,sans-serif;font-size:15px;transition:all .2s;display:flex}.wheel-item.selected{color:var(--white);text-shadow:0 0 10px #fff3;font-size:18px;font-weight:600}.wheel-spacer{height:40px}
