@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#08080c;--bg-secondary:#0e0e14;--surface:#ffffff08}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--bg-primary);color:#fff;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}#root{text-align:left;max-width:none;margin:0;padding:0}::selection{color:#fff;background:#6366f166}a{color:inherit;text-decoration:none}.countdown{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.countdown__grid{align-items:flex-start;gap:1rem;display:flex}.countdown__unit{flex-direction:column;align-items:center;gap:.6rem;display:flex;position:relative}.countdown__card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#ffffff14 0%,#ffffff05 100%);border:1px solid #ffffff1a;border-radius:20px;justify-content:center;align-items:center;width:clamp(100px,22vw,200px);height:clamp(120px,26vw,220px);transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a}.countdown__card:hover{transform:translateY(-3px);box-shadow:0 16px 48px #0006,inset 0 1px #ffffff26}.countdown__shine{background:linear-gradient(90deg,#0000,#ffffff0d,#0000);width:100%;height:100%;animation:4s ease-in-out infinite cardShine;position:absolute;top:0;left:-100%}@keyframes cardShine{0%,to{left:-100%}50%{left:100%}}.countdown__value{letter-spacing:-.02em;background:linear-gradient(#fff 0%,#a0a0b0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Inter,sans-serif;font-size:clamp(3.5rem,12vw,7rem);font-weight:800}.countdown--active .countdown__value{background:linear-gradient(#ff6b6b 0%,#ff8e53 100%);-webkit-background-clip:text;background-clip:text}.countdown__label{text-transform:uppercase;letter-spacing:.15em;color:#fff6;font-size:.8rem;font-weight:600}.countdown__separator{color:#fff3;pointer-events:none;font-size:3rem;font-weight:700;animation:1s ease-in-out infinite blink;position:absolute;top:50%;right:-.7rem;transform:translateY(-80%)}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.countdown__status{color:#ff8e53;letter-spacing:.02em;background:#ff6b6b1a;border:1px solid #ff6b6b40;border-radius:100px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;display:flex}.countdown__pulse{background:#ff6b6b;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}@media (width<=480px){.countdown__grid{gap:.5rem}.countdown__card{border-radius:14px}.countdown__separator{font-size:2rem;right:-.5rem}}.exam-info{text-align:center;background:var(--subject-bg);border:1px solid var(--subject-border);border-radius:12px;width:100%;max-width:480px;margin:0 auto;padding:.75rem 1.25rem;transition:all .3s}.exam-info--active{animation:2s ease-in-out infinite alternate activeGlow}@keyframes activeGlow{0%{box-shadow:0 0 20px #ff6b6b1a}to{box-shadow:0 0 40px #ff6b6b33}}.exam-info__badge{align-items:center;gap:.35rem;margin-bottom:.4rem;display:inline-flex}.exam-info__icon{font-size:1rem}.exam-info__status{letter-spacing:.2em;color:var(--subject-text);background:#ffffff0d;border:1px solid #ffffff14;border-radius:100px;padding:.15rem .5rem;font-size:.55rem;font-weight:800}.exam-info--active .exam-info__status{color:#ff6b6b;background:#ff6b6b26;border-color:#ff6b6b4d}.exam-info__name{color:#ffffffd9;margin:0 0 .35rem;font-size:clamp(.85rem,2.5vw,1.05rem);font-weight:600;line-height:1.3}.exam-info__details{color:#fff6;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;font-size:.72rem;display:flex}.exam-info__dot{color:#ffffff26}.exam-info__code{color:var(--subject-text);background:#ffffff0f;border-radius:4px;padding:.1rem .4rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.65rem}.upcoming{width:100%;max-width:600px;margin:2rem auto 0}.upcoming__title{text-transform:uppercase;letter-spacing:.2em;color:#ffffff4d;margin:0 0 .75rem;padding-left:.25rem;font-size:.75rem;font-weight:700}.upcoming__list{flex-direction:column;gap:.5rem;display:flex}.upcoming__item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:.75rem;padding:.85rem 1rem;transition:all .25s;animation:.4s both slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.upcoming__item:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translate(4px)}.upcoming__icon{flex-shrink:0;font-size:1.2rem}.upcoming__info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.upcoming__name{color:#ffffffd9;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.upcoming__meta{color:#ffffff59;font-size:.72rem}.upcoming__code{color:#ffffff40;background:#ffffff0a;border-radius:6px;flex-shrink:0;padding:.2rem .5rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.exam-search{width:100%;max-width:600px;margin:1rem auto 0}.exam-search__title{text-transform:uppercase;letter-spacing:.2em;color:#ffffff4d;margin:0 0 .75rem;padding-left:.25rem;font-size:.75rem;font-weight:700}.exam-search__bar{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.65rem 1rem;transition:border-color .2s,background .2s;display:flex}.exam-search__bar:focus-within{background:#ffffff0f;border-color:#6366f180}.exam-search__icon{opacity:.5;flex-shrink:0;font-size:.9rem}.exam-search__input{color:#fff;background:0 0;border:none;outline:none;flex:1;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500}.exam-search__input::placeholder{color:#ffffff40}.exam-search__clear{color:#fff6;cursor:pointer;background:#ffffff14;border:none;border-radius:6px;padding:.2rem .45rem;font-size:.7rem;transition:all .15s}.exam-search__clear:hover{color:#fff;background:#ffffff26}.exam-search__results{flex-direction:column;gap:.35rem;max-height:320px;padding-right:.25rem;display:flex;overflow-y:auto}.exam-search__results::-webkit-scrollbar{width:4px}.exam-search__results::-webkit-scrollbar-track{background:0 0}.exam-search__results::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:100px}.exam-search__empty{text-align:center;color:#ffffff40;padding:1.5rem;font-size:.85rem}.exam-search__item{cursor:pointer;text-align:left;color:#fff;background:#ffffff05;border:1px solid #ffffff0d;border-radius:10px;align-items:center;gap:.65rem;width:100%;padding:.7rem .85rem;font-family:Inter,sans-serif;transition:all .2s;display:flex}.exam-search__item:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translate(3px)}.exam-search__item--selected{box-shadow:0 0 20px #6366f11a;background:#6366f11f!important;border-color:#6366f166!important}.exam-search__item--selected .exam-search__item-name{color:#a5b4fc}.exam-search__item--past{opacity:.45}.exam-search__item--past:hover{opacity:.7}.exam-search__item-icon{flex-shrink:0;font-size:1.1rem}.exam-search__item-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.exam-search__item-name{color:#fffc;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;transition:color .2s;overflow:hidden}.exam-search__item-meta{color:#ffffff4d;font-size:.65rem}.exam-search__item-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.2rem;display:flex}.exam-search__item-code{color:#fff3;background:#ffffff0a;border-radius:4px;padding:.15rem .4rem;font-family:JetBrains Mono,monospace;font-size:.6rem}.exam-search__item-done{text-transform:uppercase;letter-spacing:.1em;color:#4caf50b3;font-size:.55rem;font-weight:700}.particle-bg{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.app{background:radial-gradient(ellipse at 20% 0%, #6366f114 0%, transparent 50%), radial-gradient(ellipse at 80% 100%, #ec48990f 0%, transparent 50%), var(--bg-primary);min-height:100vh;position:relative}.content{z-index:1;flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex;position:relative}.header{text-align:center;margin-bottom:3rem}.logo{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.logo-icon{font-size:2rem;animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.logo h1{letter-spacing:-.03em;color:#ffffffe6;font-size:clamp(1.5rem,5vw,2.2rem);font-weight:800}.accent{background:linear-gradient(135deg,#6366f1,#ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.subtitle{color:#ffffff4d;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;font-weight:500}.main{flex-direction:column;flex:1;align-items:center;gap:2rem;width:100%;max-width:700px;display:flex}.progress-section{flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:500px;display:flex}.progress-bar-container{background:#ffffff0f;border-radius:100px;width:100%;height:4px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#6366f1,#ec4899);border-radius:100px;height:100%;transition:width 1s;position:relative}.progress-bar:after{content:"";background:#ec4899;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:0;box-shadow:0 0 12px #ec489999}.progress-text{color:#ffffff4d;font-size:.75rem;font-weight:500}.clear-selection{color:#a5b4fc;cursor:pointer;letter-spacing:.02em;background:#6366f11a;border:1px solid #6366f14d;border-radius:100px;padding:.4rem 1rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;transition:all .2s}.clear-selection:hover{background:#6366f133;border-color:#6366f180}.all-done{text-align:center;padding:3rem 2rem;animation:.6s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.done-icon{margin-bottom:1rem;font-size:4rem;animation:2s ease-in-out infinite float}.all-done h2{background:linear-gradient(135deg,#6366f1,#ec4899,#f59e0b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:800}.all-done p{color:#ffffff80;font-size:1rem}.footer{text-align:center;margin-top:auto;padding-top:3rem}.footer p{color:#ffffff26;letter-spacing:.05em;font-size:.7rem}
