@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.course-catalog{background:linear-gradient(135deg,#0f0f23,#1a1a2e 50%,#16213e);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.course-catalog:before{background:radial-gradient(circle at 20% 80%,#0024694d 0,#0000 50%),radial-gradient(circle at 80% 20%,#5e60624d 0,#0000 50%),radial-gradient(circle at 50% 50%,#fff3 0,#0000 60%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:1}.animated-blob{border-radius:50%;filter:blur(40px);height:300px;opacity:.3;pointer-events:none;position:fixed;width:300px;z-index:0}.blob-1{animation:blobFloat1 20s ease-in-out infinite;background:linear-gradient(135deg,#002469,#1a4b8c);left:10%;top:10%}.blob-2{animation:blobFloat2 25s ease-in-out infinite reverse;background:linear-gradient(135deg,#5e6062,#002469);right:10%;top:60%}@keyframes blobFloat1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(100px,-50px) scale(1.1)}66%{transform:translate(-50px,100px) scale(.9)}}@keyframes blobFloat2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-100px,50px) scale(.9)}66%{transform:translate(50px,-100px) scale(1.1)}}.animated-dots{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.dot{background:linear-gradient(135deg,#002469,#1a4b8c);filter:blur(1.5px) drop-shadow(0 0 8px rgba(0,36,105,.5))}.catalog-container{margin:0 auto;max-width:1400px;padding:2rem;position:relative;z-index:2}.hero-section{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);background:linear-gradient(135deg,#ffffff0d,#ffffff1a);border:1px solid #ffffff1a;border-radius:24px;margin-bottom:3rem;overflow:hidden;padding:4rem 2rem;position:relative;text-align:center}.hero-section:before{animation:shimmer 8s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff08 50%,#0000),radial-gradient(circle at 50% 50%,#0024691a 0,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.hero-content{position:relative;z-index:2}.hero-title{align-items:center;display:flex;font-size:3.5rem;font-weight:900;gap:1rem;justify-content:center;margin-bottom:1rem}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#002469 50%,#5e6062);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#fffc;font-size:1.2rem;font-weight:400;margin-bottom:2rem}.section-selector{display:flex;gap:1rem;justify-content:center;margin:2rem 0}.section-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .3s ease}.section-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.section-btn:hover:before{left:100%}.section-btn:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 8px 25px #0024694d;transform:translateY(-2px)}.section-btn.active{background:linear-gradient(135deg,#002469cc,#5e6062cc);border-color:#fff6;box-shadow:0 8px 25px #00246966;transform:translateY(-2px)}.section-btn.active:after{background:linear-gradient(90deg,#002469,#1a4b8c);border-radius:2px;bottom:-2px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60%}.hero-stats{display:flex;gap:2rem;justify-content:center;margin-top:2rem}.stat-item{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;display:flex;flex-direction:column;padding:1.5rem;transition:all .3s ease}.stat-item:hover{border-color:#fff3;box-shadow:0 12px 30px #0024694d;transform:translateY(-4px)}.stat-number{color:#fff;font-size:2.5rem;font-weight:900;margin-bottom:.5rem}.stat-label{color:#ffffffb3;font-size:.9rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.search-filters{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;margin-bottom:2rem;padding:2rem}.search-bar{display:flex;margin-bottom:1.5rem}.search-input{background:#ffffff1a;border:2px solid #fff3;border-radius:12px;color:#fff;flex:1 1;font-size:1rem;padding:1rem 1.5rem;transition:all .3s ease}.search-input::placeholder{color:#fff9}.search-input:focus{background:#ffffff26;border-color:#fff6;box-shadow:0 0 20px #0024694d;outline:none}.clear-btn{background:linear-gradient(135deg,#002469,#1a4b8c);border:none;padding:1rem 2rem;transition:all .3s ease}.clear-btn:hover{box-shadow:0 8px 25px #00246966;transform:translateY(-2px)}.filters-container{align-items:center;display:flex;flex-wrap:wrap;gap:2rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#fffc;font-size:.9rem;font-weight:600}.credit-input,.level-select{background:#ffffff1a;border:2px solid #fff3;border-radius:8px;color:#fff;padding:.75rem 1rem;transition:all .3s ease}.credit-input:focus,.level-select:focus{background:#ffffff26;border-color:#fff6;outline:none}.view-toggle{display:flex}.view-btn{background:#ffffff1a;border:2px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1rem;transition:all .3s ease}.view-btn:hover{background:#ffffff26;border-color:#ffffff4d}.view-btn.active{background:linear-gradient(135deg,#00246933,#5e606233);box-shadow:0 4px 12px #0024694d;color:#fff}.catalog-main{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:300px 1fr;position:relative;z-index:2}.filters-sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;height:fit-content;padding:2rem;position:sticky;top:2rem}.filter-section{margin-bottom:2rem}.filter-section label{color:#ffffffe6;display:block;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.department-filters{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.checkbox-label{align-items:center;border-radius:8px;cursor:pointer;display:flex;min-height:2.5rem;padding:.75rem .5rem;transition:all .2s ease;width:100%}.checkbox-label:hover{background:#ffffff0d}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{border:2px solid #ffffff4d;border-radius:4px;flex-shrink:0;height:18px;position:relative;transition:all .2s ease;width:18px}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:linear-gradient(135deg,#002469,#1a4b8c);border-color:#002469}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.department-name{color:#ffffffe6;flex:1 1;font-size:.9rem;font-weight:500;margin-left:.75rem;margin-right:1rem}.course-count{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff1a;border-radius:6px;color:#fff9;flex-shrink:0;font-size:.8rem;font-weight:400;margin-left:auto;padding:.2rem .5rem;transition:all .2s ease}.checkbox-label:hover .course-count{background:#ffffff26;color:#fffc;transform:scale(1.05)}.checkbox-label.selected{background:linear-gradient(135deg,#002469,#1a4b8c);border-color:#002469;box-shadow:0 4px 12px #0024694d;color:#fff}.checkbox-label.selected .course-count,.checkbox-label.selected .department-name{color:#fff}.checkbox-label{transition:background .3s,color .3s,box-shadow .3s}.clear-departments-btn{background:linear-gradient(135deg,#5e6062,#7a7d7f);border:none;border-radius:8px;box-shadow:0 2px 8px #5e606226;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.5rem 1.25rem;transition:background .2s,box-shadow .2s,color .2s;z-index:2}.clear-departments-btn:hover{background:linear-gradient(135deg,#002469,#1a4b8c);box-shadow:0 4px 16px #0024692e;color:#fff}.courses-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;min-height:600px;padding:2rem}.loading-container{align-items:center;color:#fffc;display:flex;flex-direction:column;height:400px;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#002469;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{align-items:center;color:#fffc;display:flex;flex-direction:column;height:400px;justify-content:center;text-align:center}.try-again-btn{background:linear-gradient(135deg,#002469,#1a4b8c);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease}.try-again-btn:hover{box-shadow:0 8px 25px #00246966;transform:translateY(-2px)}.courses-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.courses-grid.list-view{grid-template-columns:1fr}.course-card{background:#ffffff14;border:1px solid #ffffff1a;border-radius:16px;display:flex;flex-direction:column;min-height:320px;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.course-card:before{background:linear-gradient(135deg,#0024691a,#5e60621a);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.course-card:hover{border-color:#fff3;box-shadow:0 12px 30px #0024694d;transform:translateY(-4px)}.course-card:hover:before{opacity:1}.course-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.course-code{color:#fff;font-size:1.2rem;font-weight:700;margin:0}.course-title{color:#ffffffe6;font-size:1.1rem;font-weight:600;line-height:1.4;margin-bottom:1rem}.course-description{color:#fffc;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.course-instructor,.course-prerequisites,.course-time{color:#fffc;font-size:.85rem;margin-bottom:.5rem}.course-actions{display:flex;gap:1rem;margin-top:auto;padding-top:1rem}.esther-btn,.share-btn,.view-details-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;min-width:120px;padding:.75rem 1.5rem;text-align:center;transition:all .3s ease}.esther-btn:hover,.share-btn:hover,.view-details-btn:hover{background:#ffffff26;border-color:#ffffff4d}.pagination{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-top:2rem}.pagination-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;min-width:40px;overflow:hidden;padding:.75rem 1rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.pagination-btn:disabled{background:#ffffff0d;border-color:#ffffff1a;box-shadow:none;cursor:not-allowed;opacity:.4;transform:none}.pagination-btn.active{background:linear-gradient(135deg,#002469,#1a4b8c);border-color:#002469;box-shadow:0 4px 12px #00246966;transform:translateY(-1px)}.pagination-btn:first-child,.pagination-btn:last-child{background:linear-gradient(135deg,#00246933,#5e606233);border:1px solid #0024694d;font-size:.85rem;font-weight:700;letter-spacing:.5px;min-width:80px;padding:.75rem 1.25rem;text-transform:uppercase}@media (max-width:767px){.pagination{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:.25rem;justify-content:center;margin-left:auto;margin-right:auto;margin-top:1.5rem;max-width:320px;overflow-x:hidden;padding:.25rem;position:relative;width:320px}.pagination-btn:first-child,.pagination-btn:last-child{background:linear-gradient(135deg,#0024694d,#5e60624d);border:1px solid #00246966;border-radius:8px;box-shadow:0 2px 8px #00246933;flex:0 0 45px;font-size:.7rem;font-weight:600;letter-spacing:.1px;max-width:45px;min-width:45px;overflow:hidden;padding:.4rem;text-overflow:ellipsis;white-space:nowrap;width:45px}.pagination-btn:first-child{overflow:hidden;position:relative;text-indent:-9999px}.pagination-btn:first-child:after{color:#fff;content:"‹";font-size:1.4rem;font-weight:700;left:50%;line-height:1;position:absolute;text-indent:0;top:50%;transform:translate(-50%,-50%);z-index:2}.pagination-btn:last-child{overflow:hidden;position:relative;text-indent:-9999px}.pagination-btn:last-child:after{color:#fff;content:"›";font-size:1.4rem;font-weight:700;left:50%;line-height:1;position:absolute;text-indent:0;top:50%;transform:translate(-50%,-50%);z-index:2}.pagination-btn:first-child{order:-1}.pagination-btn:last-child{order:1}.pagination-btn:not(:first-child):not(:last-child){align-items:center;border-radius:6px;display:flex;flex:0 0 32px;font-size:.65rem;justify-content:center;max-width:32px;min-width:32px;padding:.35rem;text-align:center;width:32px}.pagination-btn:not(:first-child):not(:last-child):last-of-type{flex:0 0 36px;font-size:.6rem;max-width:36px;min-width:36px;width:36px}.pagination-ellipsis{flex-grow:0;flex-shrink:0;font-size:.7rem;padding:.4rem .3rem}.pagination,.pagination *{box-sizing:border-box}.pagination-btn:not(:first-child):not(:last-child):nth-child(n+7),.pagination-ellipsis:nth-of-type(2){display:none}.course-actions{flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem}.esther-btn,.share-btn,.view-details-btn{border-radius:10px;font-size:.9rem;font-weight:600;min-width:100%;overflow:hidden;padding:.75rem 1rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.esther-btn:before,.share-btn:before,.view-details-btn:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.esther-btn:hover:before,.share-btn:hover:before,.view-details-btn:hover:before{left:100%}.esther-btn:hover,.share-btn:hover,.view-details-btn:hover{border-color:#ffffff4d;box-shadow:0 6px 20px #0024694d;transform:translateY(-2px)}.esther-btn:active,.share-btn:active,.view-details-btn:active{box-shadow:0 2px 8px #00246933;transform:translateY(0)}}@media (min-width:768px){.pagination-btn:first-child,.pagination-btn:last-child{overflow:visible;position:static;text-indent:0}.pagination-btn:first-child:after,.pagination-btn:last-child:after{content:none}.pagination-btn:not(:first-child):not(:last-child){display:inline-block;text-align:center}.pagination-btn:not(:first-child):not(:last-child):last-of-type{font-size:inherit;max-width:none;min-width:auto}}.pagination-ellipsis{color:#fff9;padding:.75rem .5rem}.results-summary{color:#ffffffb3;font-size:.9rem;margin-top:2rem;text-align:center}.catalog-container{max-width:100%;padding:1rem}.hero-section{margin-bottom:2rem;padding:2rem 1rem}.hero-title{flex-direction:column;font-size:2rem;gap:.5rem}.hero-subtitle{font-size:1rem;margin-bottom:1.5rem}.hero-stats{flex-direction:column;gap:1rem;margin-top:1.5rem}.stat-item{padding:1rem}.stat-number{font-size:2rem}.stat-label{font-size:.8rem}.section-selector{flex-direction:column;gap:.5rem;margin:1.5rem 0}.section-btn{font-size:.9rem;padding:.75rem 1rem;width:100%}.search-filters{margin-bottom:1.5rem;padding:1.5rem}.search-bar{flex-direction:column;gap:1rem;margin-bottom:1rem}.search-input{font-size:.95rem;padding:.75rem 1rem}.clear-btn{font-size:.9rem;padding:.75rem 1.5rem}.filters-container{align-items:stretch;flex-direction:column;gap:1rem}.filter-group{width:100%}.credit-input,.level-select{font-size:.9rem;padding:.75rem;width:100%}.view-toggle{gap:.5rem;justify-content:center}.view-btn{flex:1 1;font-size:.85rem;padding:.6rem .8rem}.catalog-main{display:flex;flex-direction:column;gap:1.5rem}.filters-sidebar{border-radius:16px;padding:1.5rem;position:static}.filter-section,.filters-sidebar{margin-bottom:1.5rem}.filter-section label{font-size:1rem;margin-bottom:.75rem}.department-filters{gap:.5rem;max-height:300px}.checkbox-label{min-height:2.25rem;padding:.6rem .5rem}.department-name{font-size:.85rem;margin-left:.5rem;margin-right:.75rem}.course-count{font-size:.75rem;padding:.15rem .4rem}.clear-departments-btn{font-size:.9rem;margin-top:1rem;padding:.5rem 1rem;width:100%}@media (max-width:768px){.clear-departments-btn{bottom:auto!important;left:auto!important;margin:1rem 0!important;max-width:200px;position:static!important;width:100%!important}}.courses-container{min-height:400px;padding:1.5rem}.error-container,.loading-container{height:300px}.loading-spinner{height:32px;width:32px}.courses-grid{gap:1rem;grid-template-columns:1fr}.course-card{min-height:280px;padding:1.25rem}.course-header{margin-bottom:.75rem}.course-code{font-size:1.1rem}.course-title{font-size:1rem;margin-bottom:.75rem}.course-description{font-size:.85rem;margin-bottom:.75rem}.course-instructor,.course-prerequisites,.course-time{font-size:.8rem;margin-bottom:.4rem}.course-actions{gap:.75rem;margin-top:.75rem;padding-top:.75rem}.esther-btn,.share-btn,.view-details-btn{font-size:.85rem;min-width:100px;padding:.6rem 1rem}.pagination{gap:.4rem;margin-top:1.5rem}.pagination-btn{font-size:.85rem;min-width:36px;padding:.6rem .8rem}.results-summary{font-size:.85rem;margin-top:1.5rem}.animated-blob{display:none}@media (min-width:768px){.catalog-container{padding:1.5rem}.hero-section{margin-bottom:2.5rem;padding:3rem 2rem}.hero-title{flex-direction:row;font-size:2.5rem;gap:1rem}.hero-subtitle{font-size:1.1rem;margin-bottom:2rem}.hero-stats{flex-direction:row;gap:1.5rem;margin-top:2rem}.stat-item{padding:1.25rem}.stat-number{font-size:2.2rem}.stat-label{font-size:.85rem}.section-selector{flex-direction:row;gap:.75rem;margin:2rem 0}.section-btn{font-size:.95rem;padding:.8rem 1.25rem;width:auto}.search-filters{margin-bottom:2rem;padding:2rem}.search-bar{flex-direction:row;gap:1rem;margin-bottom:1.5rem}.search-input{font-size:1rem;padding:1rem 1.5rem}.clear-btn{font-size:.95rem;padding:1rem 2rem}.filters-container{align-items:center;flex-direction:row;gap:1.5rem}.filter-group{width:auto}.credit-input,.level-select{font-size:.9rem;padding:.75rem 1rem;width:auto}.view-toggle{gap:.75rem}.view-btn{flex:none;font-size:.9rem;padding:.75rem 1rem}.catalog-main{gap:2rem}.filters-sidebar{padding:2rem}.filter-section,.filters-sidebar{margin-bottom:2rem}.filter-section label{font-size:1.05rem;margin-bottom:1rem}.department-filters{gap:.75rem;max-height:350px}.checkbox-label{min-height:2.5rem;padding:.75rem .5rem}.department-name{font-size:.9rem;margin-left:.75rem;margin-right:1rem}.course-count{font-size:.8rem;padding:.2rem .5rem}.clear-departments-btn{font-size:.95rem;margin-top:1.5rem;padding:.6rem 1.25rem;width:auto}.courses-container{min-height:500px;padding:2rem}.error-container,.loading-container{height:350px}.loading-spinner{height:36px;width:36px}.courses-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.course-card{min-height:320px;padding:1.5rem}.course-header{margin-bottom:1rem}.course-code{font-size:1.2rem}.course-title{font-size:1.1rem;margin-bottom:1rem}.course-description{font-size:.9rem;margin-bottom:1rem}.course-instructor,.course-prerequisites,.course-time{font-size:.85rem;margin-bottom:.5rem}.course-actions{gap:1rem;margin-top:auto;padding-top:1rem}.esther-btn,.share-btn,.view-details-btn{font-size:.9rem;min-width:120px;padding:.75rem 1.5rem}.pagination{gap:.5rem;margin-top:2rem}.pagination-btn{font-size:.9rem;min-width:40px;padding:.75rem 1rem}.results-summary{font-size:.9rem;margin-top:2rem}.animated-blob{display:block}.dot{height:10px;width:10px}}@media (min-width:1024px){.catalog-container{max-width:1400px;padding:2rem}.hero-section{margin-bottom:3rem;padding:4rem 2rem}.hero-title{font-size:3.5rem}.hero-subtitle{font-size:1.2rem;margin-bottom:2rem}.hero-stats{gap:2rem;margin-top:2rem}.stat-item{padding:1.5rem}.stat-number{font-size:2.5rem}.stat-label{font-size:.9rem}.section-selector{gap:1rem;margin:2rem 0}.section-btn{font-size:1rem;padding:.75rem 1.5rem}.search-filters{margin-bottom:2rem;padding:2rem}.search-bar{margin-bottom:1.5rem}.search-input{font-size:1rem;padding:1rem 1.5rem}.clear-btn{font-size:1rem;padding:1rem 2rem}.filters-container{gap:2rem}.credit-input,.level-select,.view-btn{font-size:.9rem;padding:.75rem 1rem}.catalog-main{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:300px 1fr}.filters-sidebar{margin-bottom:0;padding:2rem;position:sticky;top:2rem}.filter-section{margin-bottom:2rem}.filter-section label{font-size:1.1rem;margin-bottom:1rem}.department-filters{gap:.75rem;max-height:400px}.checkbox-label{min-height:2.5rem;padding:.75rem .5rem}.department-name{font-size:.9rem;margin-left:.75rem;margin-right:1rem}.course-count{font-size:.8rem;padding:.2rem .5rem}.clear-departments-btn{font-size:.95rem;margin-top:1rem;padding:.5rem 1.25rem}.courses-container{min-height:600px;padding:2rem}.error-container,.loading-container{height:400px}.loading-spinner{height:40px;width:40px}.courses-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.course-card{min-height:320px;padding:1.5rem}.course-header{margin-bottom:1rem}.course-code{font-size:1.2rem}.course-title{font-size:1.1rem;margin-bottom:1rem}.course-description{font-size:.9rem;margin-bottom:1rem}.course-instructor,.course-prerequisites,.course-time{font-size:.85rem;margin-bottom:.5rem}.course-actions{gap:1rem;margin-top:auto;padding-top:1rem}.esther-btn,.share-btn,.view-details-btn{font-size:.9rem;min-width:120px;padding:.75rem 1.5rem}.pagination{gap:.5rem;margin-top:2rem}.pagination-btn{font-size:.9rem;min-width:40px;padding:.75rem 1rem}.results-summary{font-size:.9rem;margin-top:2rem}.animated-blob{display:block}.dot{height:14px;width:14px}}@media (min-width:1440px){.catalog-container{max-width:1600px;padding:3rem}.hero-section{margin-bottom:4rem;padding:5rem 3rem}.hero-title{font-size:4rem}.hero-subtitle{font-size:1.3rem;margin-bottom:2.5rem}.hero-stats{gap:3rem;margin-top:3rem}.stat-item{padding:2rem}.stat-number{font-size:3rem}.stat-label{font-size:1rem}.section-selector{gap:1.5rem;margin:3rem 0}.section-btn{font-size:1.1rem;padding:1rem 2rem}.search-filters{margin-bottom:3rem;padding:3rem}.search-bar{margin-bottom:2rem}.search-input{font-size:1.1rem;padding:1.25rem 2rem}.clear-btn{font-size:1.1rem;padding:1.25rem 2.5rem}.filters-container{gap:3rem}.credit-input,.level-select,.view-btn{font-size:1rem;padding:1rem 1.25rem}.catalog-main{gap:3rem}.filters-sidebar{padding:3rem}.filter-section{margin-bottom:3rem}.filter-section label{font-size:1.2rem;margin-bottom:1.5rem}.department-filters{gap:1rem;max-height:500px}.checkbox-label{min-height:3rem;padding:1rem .75rem}.department-name{font-size:1rem;margin-left:1rem;margin-right:1.5rem}.course-count{font-size:.9rem;padding:.25rem .75rem}.clear-departments-btn{font-size:1rem;margin-top:1.5rem;padding:.75rem 1.5rem}.courses-container{min-height:700px;padding:3rem}.error-container,.loading-container{height:500px}.loading-spinner{height:48px;width:48px}.courses-grid{gap:2rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.course-card{min-height:320px;padding:1.5rem}.course-header{margin-bottom:1rem}.course-code{font-size:1.2rem}.course-title{font-size:1.1rem;margin-bottom:1rem}.course-description{font-size:.9rem;margin-bottom:1rem}.course-instructor,.course-prerequisites,.course-time{font-size:.85rem;margin-bottom:.5rem}.course-actions{gap:1rem;margin-top:auto;padding-top:1rem}.esther-btn,.share-btn,.view-details-btn{font-size:.9rem;min-width:120px;padding:.75rem 1.5rem}.pagination{gap:.5rem;margin-top:2rem}.pagination-btn{font-size:.9rem;min-width:40px;padding:.75rem 1rem}.results-summary{font-size:1rem;margin-top:3rem}}.course-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;opacity:0;padding:1rem;position:fixed;right:0;top:0;transition:all .4s cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:99999}.course-modal-overlay.active{opacity:1;visibility:visible}.course-modal{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:linear-gradient(135deg,#0f0f23f2,#1a1a2ef2);border:1px solid #ffffff1a;border-radius:24px;box-shadow:0 25px 50px #00000080,0 0 0 1px #ffffff1a,inset 0 1px 0 #ffffff1a;margin-bottom:3vh;margin-top:3vh;max-height:90vh;max-width:700px;overflow-y:auto;position:relative;transform:scale(.9) translateY(20px);transition:all .4s cubic-bezier(.4,0,.2,1);width:95%}.course-modal:before{animation:shimmer 8s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff08 50%,#0000),radial-gradient(circle at 50% 50%,#0024691a 0,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.course-modal-overlay.active .course-modal{transform:scale(1) translateY(0)}.modal-header{align-items:flex-start;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:2rem 2rem 1rem;position:relative;z-index:2}.modal-course-code{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.modal-course-code .code{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#002469);-webkit-background-clip:text;background-clip:text;color:#fff;font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700}.level-badge{background:linear-gradient(135deg,#002469,#5e6062);border-radius:12px;box-shadow:0 4px 12px #0024694d;color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.modal-course-title{color:#fff;font-size:1.3rem;font-weight:700;line-height:1.3;margin:0}.modal-close-btn{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;color:#ffffffb3;cursor:pointer;font-size:1.2rem;height:40px;position:relative;transition:all .3s ease;width:40px;z-index:2}.modal-close-btn:hover{background:#ffffff1a;border-color:#fff3;color:#fff;transform:scale(1.1)}.modal-content{padding:2rem;position:relative;z-index:2}.modal-meta{grid-gap:1.5rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem;padding:1.5rem}.meta-item{align-items:center;background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;display:flex;flex-direction:column;padding:1rem;text-align:center;transition:all .3s ease}.meta-item:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translateY(-2px)}.meta-icon{filter:drop-shadow(0 0 8px rgba(0,36,105,.3));font-size:1.5rem;margin-bottom:.5rem}.meta-label{color:#fff9;font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.meta-value{color:#fff;font-size:1rem;font-weight:600}.modal-schedule-info{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#0024691a,#5e60620d);border:1px solid #00246933;border-radius:16px;margin-bottom:2rem;overflow:hidden;padding:1.5rem;position:relative}.modal-schedule-info:before{animation:shimmer 8s ease-in-out infinite;background:linear-gradient(90deg,#0000,#0024690d 50%,#0000);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.modal-schedule-info h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 1.5rem;position:relative;z-index:2}.schedule-item{margin-bottom:1rem;position:relative;z-index:2}.schedule-item:last-child{margin-bottom:0}.schedule-item strong{color:#ffffffe6;display:block;font-weight:600;margin-bottom:.25rem}.schedule-item div{color:#fffc;font-weight:400;margin-left:.5rem}.modal-section{margin-bottom:2rem}.modal-section h3{align-items:center;color:#fff;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.modal-section p{color:#fffc;font-weight:400;line-height:1.6;margin:0}.modal-actions{border-top:1px solid #ffffff1a;display:flex;gap:1rem;margin-top:2rem;padding-top:2rem}.modal-actions .share-btn{align-items:center;background:linear-gradient(135deg,#002469,#5e6062);border:1px solid #0024694d;border-radius:12px;box-shadow:0 4px 12px #0024694d;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 1.5rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.modal-actions .share-btn:hover{border-color:#00246980;box-shadow:0 8px 20px #00246966;transform:translateY(-2px)}.close-modal-btn{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #fff3;border-radius:12px;color:#fffc;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 1.5rem;transition:all .3s ease}.close-modal-btn:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff;transform:translateY(-2px)}.share-message{animation:slideInUp .3s ease;border-radius:8px;font-weight:600;margin-top:1rem;padding:.75rem 1rem;text-align:center}.share-message:contains("✅"){background:#4caf501a;border:1px solid #4caf504d;color:#4caf50}.share-message:contains("❌"){background:#f443361a;border:1px solid #f443364d;color:#f44336}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.modal-meta{grid-template-columns:1fr}.modal-actions{flex-direction:column}.course-modal{margin:1rem;max-height:95vh;width:95%}.modal-content,.modal-header{padding:1.5rem}.modal-course-code{align-items:flex-start;flex-direction:column;gap:.5rem}.modal-course-code .code{font-size:1.3rem}.modal-course-title{font-size:1.1rem}}.evaluations-container{margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.evaluations-header{background:linear-gradient(135deg,#002469,#5e6062);border-radius:15px;box-shadow:0 8px 32px #0024694d;color:#fff;margin-bottom:30px;padding:30px;text-align:center}.evaluations-header h2{font-size:2.5rem;font-weight:700;margin:0 0 10px}.evaluations-header p{font-size:1.1rem;margin:0;opacity:.9}.evaluations-content{display:flex;flex-direction:column;gap:30px}.esther-link-section{align-items:center;display:flex;justify-content:center;padding:20px}.esther-card{background:#fff;border-radius:15px;box-shadow:0 8px 32px #0000001a;max-width:600px;padding:40px;text-align:center;transition:all .3s ease;width:100%}.esther-card:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-5px)}.esther-card h3{color:#002469;font-size:1.8rem;font-weight:700;margin-bottom:15px}.esther-card p{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:25px}.esther-button{background:linear-gradient(135deg,#002469,#5e6062);border-radius:50px;box-shadow:0 4px 15px #0024694d;color:#fff;display:inline-block;font-size:1.2rem;font-weight:600;margin-bottom:30px;padding:15px 40px;text-decoration:none;transition:all .3s ease}.esther-button:hover{box-shadow:0 6px 20px #00246966;color:#fff;text-decoration:none;transform:translateY(-2px)}.esther-instructions{background:#f8f9fa;border-left:4px solid #002469;border-radius:10px;padding:25px;text-align:left}.esther-instructions h4{color:#002469;font-size:1.2rem;font-weight:600;margin-bottom:15px}.esther-instructions ol{margin:0;padding-left:20px}.esther-instructions li{color:#555;font-size:1rem;line-height:1.5;margin-bottom:8px}.video-section{align-items:center;display:flex;justify-content:center;padding:40px 20px}.video-container{background:#fff;border-radius:15px;box-shadow:0 8px 32px #0000001a;margin:0 auto;max-width:1400px;padding:30px;text-align:center;transition:all .3s ease;width:100%}.video-container h3{color:#002469;font-size:1.8rem;font-weight:700;margin-bottom:10px}.video-container p{color:#666;font-size:1.1rem;margin-bottom:20px}.course-evaluations-video{border-radius:10px;box-shadow:0 4px 20px #0000001a;height:auto;max-width:100%;min-height:700px;width:100%}.evaluations-info{align-items:center;display:flex;justify-content:center;padding:20px}.info-card{background:#fff;border-radius:15px;box-shadow:0 8px 32px #0000001a;max-width:800px;padding:40px;transition:all .3s ease;width:100%}.info-card:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-3px)}.info-card h3{color:#002469;font-size:1.8rem;font-weight:700;margin-bottom:20px;text-align:center}.info-card ul{list-style:none;margin:0;padding:0}.info-card li{border-bottom:1px solid #f0f0f0;color:#555;font-size:1rem;line-height:1.6;padding:12px 0 12px 30px;position:relative}.info-card li:last-child{border-bottom:none}.info-card li:before{color:#002469;content:"💡";font-size:1.2rem;left:0;position:absolute}.video-placeholder-content{align-items:center;display:flex;flex-direction:column;gap:20px}.video-icon{font-size:4rem;margin-bottom:10px;opacity:.7}.video-placeholder-content h3{color:#002469;font-size:2rem;font-weight:700;margin:0}.video-placeholder-content p{color:#666;font-size:1.1rem;line-height:1.6;margin:0;max-width:500px}.video-description{margin-top:20px;max-width:500px;text-align:left}.video-description p{color:#333;font-weight:600;margin-bottom:10px}.video-description ul{list-style:none;margin:0;padding:0}.video-description li{color:#555;font-size:1rem;padding:8px 0 8px 25px;position:relative}.video-description li:before{color:#002469;content:"▶";font-weight:700;position:absolute}.evaluations-container{max-width:100%;padding:1rem}.evaluations-header{border-radius:12px;margin-bottom:2rem;padding:1.5rem}.evaluations-header h2{font-size:1.8rem;margin-bottom:.75rem}.evaluations-header p{font-size:1rem}.evaluations-content{gap:2rem}.esther-link-section{padding:1rem}.esther-card{border-radius:12px;max-width:100%;padding:1.5rem}.esther-card h3{font-size:1.4rem;margin-bottom:1rem}.esther-card p{line-height:1.5}.esther-button,.esther-card p{font-size:1rem;margin-bottom:1.5rem}.esther-button{border-radius:25px;padding:.75rem 2rem}.esther-instructions{border-radius:8px;padding:1.25rem}.esther-instructions h4{font-size:1.1rem;margin-bottom:1rem}.esther-instructions ol{padding-left:1.25rem}.esther-instructions li{font-size:.95rem;line-height:1.4;margin-bottom:.6rem}.video-section{padding:2rem 1rem}.video-container{border-radius:12px;max-width:100%;padding:1.5rem}.video-container h3{font-size:1.4rem;margin-bottom:.75rem}.video-container p{font-size:1rem;margin-bottom:1.5rem}.course-evaluations-video{border-radius:8px;min-height:400px}.evaluations-info{padding:1rem}.info-card{border-radius:12px;max-width:100%;padding:1.5rem}.info-card h3{font-size:1.4rem;margin-bottom:1.5rem}.info-card li{font-size:.95rem;line-height:1.4;padding:.75rem 0 .75rem 1.5rem}.info-card li:before{font-size:1rem;left:.25rem}.video-placeholder-content{gap:1rem}.video-icon{font-size:2.5rem;margin-bottom:.5rem}.video-placeholder-content h3{font-size:1.5rem}.video-placeholder-content p{font-size:1rem;line-height:1.4;max-width:100%}.video-description{margin-top:1rem;max-width:100%}.video-description p{font-size:.95rem;margin-bottom:.75rem}.video-description li{font-size:.9rem;padding:.5rem 0 .5rem 1.25rem}.video-description li:before{left:0}@media (min-width:768px){.evaluations-container{padding:1.5rem}.evaluations-header{border-radius:15px;margin-bottom:2.5rem;padding:2rem}.evaluations-header h2{font-size:2.2rem;margin-bottom:1rem}.evaluations-header p{font-size:1.05rem}.evaluations-content{gap:2.5rem}.esther-link-section{padding:1.5rem}.esther-card{border-radius:15px;max-width:600px;padding:2rem}.esther-card h3{font-size:1.6rem;margin-bottom:1.25rem}.esther-card p{font-size:1.05rem;line-height:1.6;margin-bottom:2rem}.esther-button{border-radius:30px;font-size:1.1rem;margin-bottom:2rem;padding:1rem 2.5rem}.esther-instructions{border-radius:10px;padding:1.5rem}.esther-instructions h4{font-size:1.2rem;margin-bottom:1.25rem}.esther-instructions ol{padding-left:1.5rem}.esther-instructions li{font-size:1rem;line-height:1.5;margin-bottom:.75rem}.video-section{padding:3rem 1.5rem}.video-container{border-radius:15px;max-width:1200px;padding:2rem}.video-container h3{font-size:1.6rem;margin-bottom:1rem}.video-container p{font-size:1.05rem;margin-bottom:2rem}.course-evaluations-video{border-radius:10px;min-height:500px}.evaluations-info{padding:1.5rem}.info-card{border-radius:15px;max-width:800px;padding:2rem}.info-card h3{font-size:1.6rem;margin-bottom:2rem}.info-card li{font-size:1rem;line-height:1.5;padding:1rem 0 1rem 2rem}.info-card li:before{font-size:1.1rem;left:.5rem}.video-placeholder-content{gap:1.5rem}.video-icon{font-size:3rem;margin-bottom:.75rem}.video-placeholder-content h3{font-size:1.8rem}.video-placeholder-content p{font-size:1.05rem;line-height:1.5;max-width:500px}.video-description{margin-top:1.5rem;max-width:500px}.video-description p{font-size:1rem;margin-bottom:1rem}.video-description li{font-size:.95rem;padding:.6rem 0 .6rem 1.5rem}.video-description li:before{left:.25rem}}@media (min-width:1024px){.evaluations-container{max-width:1400px;padding:2rem}.evaluations-header{border-radius:15px;margin-bottom:3rem;padding:2.5rem}.evaluations-header h2{font-size:2.5rem;margin-bottom:1rem}.evaluations-header p{font-size:1.1rem}.evaluations-content{gap:3rem}.esther-link-section{padding:2rem}.esther-card{border-radius:15px;max-width:600px;padding:3rem}.esther-card h3{font-size:1.8rem;margin-bottom:1.5rem}.esther-card p{font-size:1.1rem;line-height:1.6;margin-bottom:2.5rem}.esther-button{border-radius:35px;font-size:1.2rem;margin-bottom:2.5rem;padding:1.25rem 3rem}.esther-instructions{border-radius:10px;padding:2rem}.esther-instructions h4{font-size:1.3rem;margin-bottom:1.5rem}.esther-instructions ol{padding-left:2rem}.esther-instructions li{font-size:1.05rem;line-height:1.6;margin-bottom:1rem}.video-section{padding:4rem 2rem}.video-container{border-radius:15px;max-width:1400px;padding:3rem}.video-container h3{font-size:1.8rem;margin-bottom:1.25rem}.video-container p{font-size:1.1rem;margin-bottom:2.5rem}.course-evaluations-video{border-radius:10px;min-height:600px}.evaluations-info{padding:2rem}.info-card{border-radius:15px;max-width:800px;padding:3rem}.info-card h3{font-size:1.8rem;margin-bottom:2.5rem}.info-card li{font-size:1.05rem;line-height:1.6;padding:1.25rem 0 1.25rem 2.5rem}.info-card li:before{font-size:1.2rem;left:.75rem}.video-placeholder-content{gap:2rem}.video-icon{font-size:3.5rem;margin-bottom:1rem}.video-placeholder-content h3{font-size:2rem}.video-placeholder-content p{font-size:1.1rem;line-height:1.6;max-width:500px}.video-description{margin-top:2rem;max-width:500px}.video-description p{font-size:1.05rem;margin-bottom:1.25rem}.video-description li{font-size:1rem;padding:.75rem 0 .75rem 1.75rem}.video-description li:before{left:.5rem}}@media (min-width:1440px){.evaluations-container{max-width:1600px;padding:3rem}.evaluations-header{border-radius:20px;margin-bottom:4rem;padding:3rem}.evaluations-header h2{font-size:3rem;margin-bottom:1.5rem}.evaluations-header p{font-size:1.2rem}.evaluations-content{gap:4rem}.esther-link-section{padding:3rem}.esther-card{border-radius:20px;max-width:700px;padding:4rem}.esther-card h3{font-size:2rem;margin-bottom:2rem}.esther-card p{font-size:1.2rem;line-height:1.7;margin-bottom:3rem}.esther-button{border-radius:40px;font-size:1.3rem;margin-bottom:3rem;padding:1.5rem 4rem}.esther-instructions{border-radius:15px;padding:2.5rem}.esther-instructions h4{font-size:1.4rem;margin-bottom:2rem}.esther-instructions ol{padding-left:2.5rem}.esther-instructions li{font-size:1.1rem;line-height:1.7;margin-bottom:1.25rem}.video-section{padding:5rem 3rem}.video-container{border-radius:20px;max-width:1600px;padding:4rem}.video-container h3{font-size:2rem;margin-bottom:1.5rem}.video-container p{font-size:1.2rem;margin-bottom:3rem}.course-evaluations-video{border-radius:15px;min-height:700px}.evaluations-info{padding:3rem}.info-card{border-radius:20px;max-width:900px;padding:4rem}.info-card h3{font-size:2rem;margin-bottom:3rem}.info-card li{font-size:1.1rem;line-height:1.7;padding:1.5rem 0 1.5rem 3rem}.info-card li:before{font-size:1.3rem;left:1rem}.video-placeholder-content{gap:2.5rem}.video-icon{font-size:4rem;margin-bottom:1.25rem}.video-placeholder-content h3{font-size:2.2rem}.video-placeholder-content p{font-size:1.2rem;line-height:1.7;max-width:600px}.video-description{margin-top:2.5rem;max-width:600px}.video-description p{font-size:1.1rem;margin-bottom:1.5rem}.video-description li{font-size:1.05rem;padding:1rem 0 1rem 2rem}.video-description li:before{left:.75rem}}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#0f0f23,#1a1a2e 50%,#16213e);color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}body,html{overscroll-behavior:none}.App{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;position:relative}.App:before{background:radial-gradient(circle at 20% 80%,#0024694d 0,#0000 50%),radial-gradient(circle at 80% 20%,#5e60624d 0,#0000 50%),radial-gradient(circle at 50% 50%,#fff3 0,#0000 60%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:1}.app-blobs{overflow:visible;z-index:0}.app-blobs,.app-dots{bottom:0;height:100vh;left:0;pointer-events:none;position:fixed;right:0;top:0;width:100vw}.app-dots{z-index:1}.blob{animation:blobMove 18s ease-in-out infinite alternate;filter:blur(0);opacity:.7;pointer-events:none}.blob,.dot{position:absolute}.dot{animation:dotFloat 16s linear infinite alternate;background:linear-gradient(135deg,#002469,#5e6062);border-radius:50%;filter:blur(1.5px) drop-shadow(0 0 8px #00246988);height:14px;opacity:.18;width:14px}@keyframes blobMove{0%{transform:scale(1) translateY(0) translateX(0)}50%{transform:scale(1.15) translateY(30px) translateX(20px)}to{transform:scale(1) translateY(0) translateX(0)}}@keyframes dotFloat{0%{opacity:.18;transform:translateY(0) scale(1)}50%{opacity:.28;transform:translateY(-18px) scale(1.2)}to{opacity:.18;transform:translateY(0) scale(1)}}.blob1{animation-delay:0s;height:400px;left:5%;top:10%;width:400px}.blob2{animation-delay:3s;bottom:20%;height:300px;right:10%;width:300px}.blob3{animation-delay:6s;height:250px;right:30%;top:60%;width:250px}.morphing-blob{filter:blur(3px);height:800px;left:50%;opacity:.12;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);width:800px;z-index:0}.dot1{animation-delay:0s;left:8%;top:5%}.dot2{animation-delay:2s;left:85%;top:15%}.dot3{animation-delay:4s;left:12%;top:55%}.dot4{animation-delay:6s;left:65%;top:85%}.dot5{animation-delay:8s;left:45%;top:25%}.dot6{animation-delay:10s;left:85%;top:75%}.dot7{animation-delay:12s;left:25%;top:45%}.dot8{animation-delay:14s;left:55%;top:10%}.dot9{animation-delay:1s;left:15%;top:90%}.dot10{animation-delay:3s;left:75%;top:35%}.dot11{animation-delay:5s;left:35%;top:65%}.dot12{animation-delay:7s;left:45%;top:80%}.dot13{animation-delay:9s;left:30%;top:20%}.dot14{animation-delay:11s;left:80%;top:50%}.dot15{animation-delay:13s;left:10%;top:30%}.main-nav{border-bottom:1px solid #ffffff1a;justify-content:space-between;position:sticky;top:0}.main-footer,.main-nav{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);background:linear-gradient(135deg,#ffffff05,#ffffff0d);color:#fff;padding:1rem 2rem;z-index:1000}.main-footer{border-top:1px solid #ffffff1a;justify-content:center;margin-top:auto;position:relative}.footer-content,.main-footer{align-items:center;display:flex}.footer-content{gap:.5rem}.footer-content p{color:#fffc;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;margin:0;text-align:center}@media (max-width:768px){.main-footer{padding:.75rem 1rem}.footer-content p{font-size:.9rem}}@media (max-width:480px){.main-footer{padding:.5rem 1rem}.footer-content p{font-size:.85rem}}.nav-brand{align-items:center;display:flex;gap:1rem}.nav-logo{height:40px;width:auto}.nav-brand span{color:#fff;font-size:1.5rem;font-weight:700}.nav-brand h1{-webkit-text-fill-color:#0000;animation:glowMove 8s linear infinite;background:linear-gradient(90deg,#0000,#0000 45%,#fffc 50%,#0000 55%,#0000),linear-gradient(135deg,#fff,#002469 50%,#5e6062);-webkit-background-clip:text;background-clip:text;background-size:300% 100%,100% 100%;font-family:Inter,sans-serif;font-size:1.8rem;font-weight:900}@keyframes glowMove{0%{background-position:200% 0,0 0}to{background-position:-100% 0,0 0}}.nav-tabs{align-items:center;display:flex;gap:1rem;margin-top:0!important}.nav-tabs .help-fab{margin-right:0!important}.nav-tabs .nav-tab:first-of-type{margin-left:.75rem!important}.nav-tabs button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:#fffc;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;padding:.8rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-tabs button:hover{background:#ffffff1a;border-color:#fff3;box-shadow:0 8px 25px #0000004d;color:#fff;transform:translateY(-2px)}.nav-tab.active,.nav-tabs .nav-tab.active:active,.nav-tabs .nav-tab.active:focus,.nav-tabs button.active{background:linear-gradient(135deg,#002469,#5e6062)!important;border-color:#002469!important;box-shadow:0 4px 12px #0024694d!important;color:#fff!important}.nav-tab{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:#fffc;cursor:pointer;font-weight:600;padding:.8rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-tab:hover{background:#ffffff1a;box-shadow:0 8px 16px #0003;color:#fff;transform:translateY(-2px)}.nav-tab.active{background:linear-gradient(135deg,#002469,#5e6062);border-color:#002469;box-shadow:0 4px 12px #0024694d;color:#fff}.help-fab{align-items:center!important;align-self:center!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:linear-gradient(135deg,#3b82f6,#6366f1)!important;border:2px solid #fff!important;border-radius:50%!important;box-shadow:0 4px 16px #3b82f626!important;color:#fff!important;cursor:pointer!important;display:flex!important;font-family:inherit!important;font-size:1.2rem!important;height:36px!important;justify-content:center!important;margin-right:.75rem!important;min-height:36px!important;min-width:36px!important;overflow:visible!important;padding:0!important;position:relative!important;transition:background .2s,box-shadow .2s,transform .15s!important;width:36px!important;z-index:10004!important}.help-fab:hover{background:linear-gradient(135deg,#2563eb,#4f46e5)!important;box-shadow:0 8px 24px #3b82f640!important;color:#fff!important;transform:scale(1.08)!important}.help-fab-icon{stroke:currentColor!important;fill:none!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;color:#fff!important;display:block!important;flex-grow:0!important;flex-shrink:0!important;height:20px!important;margin:0!important;width:20px!important}@media (max-width:600px){.help-fab{font-size:1rem!important;height:28px!important;margin-right:.5rem!important;min-height:28px!important;min-width:28px!important;width:28px!important}.help-fab-icon{height:16px!important;width:16px!important}}.main-nav{align-items:center;display:flex}.main-content{flex:1 1;padding:2rem;position:relative;z-index:10}.chat-tab-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff05;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 20px 40px #0000004d;margin:0 auto;max-width:1200px;overflow:hidden}.chat-header{background:linear-gradient(135deg,#007bff1a,#0056b31a);border-bottom:1px solid #ffffff1a;padding:2rem}.chat-header h1{background:linear-gradient(135deg,#fff,#007bff)}.chat-header p{color:#fffc;margin-bottom:2rem}.profile-setup{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.profile-field{display:flex;flex-direction:column;gap:.5rem}.profile-field label{color:#ffffffe6;font-size:.9rem;font-weight:600}.profile-field select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:.9rem;min-width:150px;padding:.6rem .8rem}.profile-field select:focus{border-color:#007bff;outline:none}.error-banner{background:#dc354533;border:1px solid #dc35454d;border-radius:12px;justify-content:space-between;margin-bottom:1rem;padding:1rem}.error-banner,.error-banner button{align-items:center;color:#ff6b6b;display:flex}.error-banner button{background:none;border:none;cursor:pointer;font-size:1.5rem;height:24px;justify-content:center;padding:0;width:24px}.chat-container{height:calc(100vh - 200px);max-height:100vh;overflow:hidden}.chat-container,.sidebar{display:flex;position:relative}.sidebar{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);background:linear-gradient(135deg,#ffffff05,#ffffff0d);border-right:1px solid #ffffff1a;flex-direction:column;height:100%;overflow-y:auto;padding:2rem;width:350px}.sidebar:before{animation:shimmer 8s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff08 50%,#0000),radial-gradient(circle at 50% 50%,#7877c61a 0,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes shimmer{0%,to{opacity:.3}50%{opacity:.6}}.sidebar-header{border-bottom:2px solid #ffffff1a;margin-bottom:2rem;padding-bottom:1.5rem;position:relative;text-align:center;z-index:2}.sidebar-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#002469);-webkit-background-clip:text;background-clip:text;color:#fff;font-family:Inter,sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.sidebar-header p{color:#ffffffb3;font-size:.95rem;font-weight:400}.advisor-section{margin-bottom:2rem;position:relative;z-index:2}.advisor-section h3{color:#fff;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.advisor-select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:2px solid #ffffff1a;border-radius:12px;color:#fff;font-size:1rem;padding:.8rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.advisor-select:focus{background:#ffffff14;border-color:#00246980;box-shadow:0 0 0 4px #0024691a;outline:none}.quick-actions{margin-bottom:2rem;position:relative;z-index:2}.quick-actions h3{color:#fff;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.quick-action-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;color:#fffc;cursor:pointer;font-size:.9rem;font-weight:500;margin-bottom:.75rem;overflow:hidden;padding:.8rem 1rem;position:relative;text-align:left;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.quick-action-btn:before{background:linear-gradient(135deg,#0024691a,#5e60621a);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .4s ease}.quick-action-btn:hover{border-color:#fff3;box-shadow:0 12px 24px #0000004d;color:#fff;transform:translateY(-4px)}.quick-action-btn:hover:before{opacity:1}.sidebar-footer{border-top:2px solid #ffffff1a;margin-top:auto;padding-top:1rem;position:relative;z-index:2}.clear-btn{background:linear-gradient(135deg,#5e6062,#7a7d7f);border:1px solid #5e60624d;border-radius:12px;box-shadow:0 4px 12px #5e60624d;color:#fff;cursor:pointer;font-weight:600;padding:.8rem 1rem;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.clear-btn:hover{box-shadow:0 12px 24px #5e606266;transform:translateY(-4px)}.chat-container .main-content{display:flex;flex-direction:column;overflow:hidden;padding:2rem;position:relative;width:350px;z-index:10}.chat-header{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);background:linear-gradient(135deg,#ffffff05,#ffffff0d);border:1px solid #ffffff1a;border-radius:24px;margin-bottom:.5rem;overflow:hidden;padding:1rem 1.5rem;position:relative;text-align:center}.chat-header:before{animation:shimmer 8s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff08 50%,#0000),radial-gradient(circle at 50% 50%,#7877c61a 0,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.chat-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#002469 50%,#5e6062);-webkit-background-clip:text;background-clip:text;color:#fff;font-family:Inter,sans-serif;font-size:2.5rem;font-weight:900;letter-spacing:-.02em;margin-bottom:.5rem;position:relative;z-index:2}.chat-header p{color:#ffffffb3;font-size:1.1rem;font-weight:400;position:relative;z-index:2}.error-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#5e60621a;border:1px solid #5e60624d;border-radius:12px;color:#5e6062;margin-bottom:1rem;padding:1rem}.messages-container{-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);background:#ffffff05;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 10px 25px -5px #0000004d;flex:1 1;margin-bottom:.5rem;overflow-y:auto;padding:1.5rem;position:relative}@media (max-width:768px){.messages-container{flex:1 1;max-height:calc(100vh - 400px);min-height:0;overflow-y:auto}.sidebar{overflow-y:visible}.input-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border-top:1px solid #ffffff1a;bottom:0;margin-top:auto;padding:1rem;position:sticky}@media (max-width:768px){.message-input{box-sizing:border-box;overflow:hidden;resize:none;width:100%}}}.messages-container:before{animation:shimmer 8s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff08 50%,#0000),radial-gradient(circle at 50% 50%,#7877c60d 0,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.welcome-message{color:#ffffffb3;padding:2rem;position:relative;text-align:center;z-index:2}.welcome-message h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#002469);-webkit-background-clip:text;background-clip:text;color:#fff;font-family:Inter,sans-serif;font-weight:700;margin-bottom:1rem}.welcome-message ul{margin:1rem auto;max-width:600px;text-align:left}.welcome-message li{color:#fffc;font-weight:400;line-height:1.6;margin-bottom:.5rem}.message{align-items:flex-start;display:flex;margin-bottom:1.5rem;position:relative;z-index:2}.message.user{justify-content:flex-end}.message.bot{justify-content:flex-start}.message-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 4px 12px #0003;max-width:70%;padding:1rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.message-content:hover{box-shadow:0 8px 16px #0000004d;transform:translateY(-2px)}.message.user .message-content{background:linear-gradient(135deg,#00246933,#5e606233);border-bottom-right-radius:5px;border-color:#0024694d;color:#fff}.message.bot .message-content{background:#ffffff0d;border-bottom-left-radius:5px;border-left:3px solid #002469;color:#ffffffe6}.message-text{word-wrap:break-word;font-weight:500;line-height:1.6}.message-time{font-size:.8rem;font-weight:400;margin-top:.5rem;opacity:.7}.message.user .message-time{color:#fffc}.message.bot .message-time{color:#fff9}.typing-indicator{align-items:center;display:flex;gap:.3rem}.typing-dot{animation:typing 1.4s ease-in-out infinite;background:linear-gradient(135deg,#002469,#5e6062);border-radius:50%;filter:drop-shadow(0 0 4px rgba(0,36,105,.5));height:8px;width:8px}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.input-container{align-items:flex-end;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);background:#ffffff05;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 10px 25px -5px #0000004d;display:flex;gap:1rem;overflow:hidden;padding:1rem;position:relative}.input-container:before{animation:shimmer 8s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff08 50%,#0000),radial-gradient(circle at 50% 50%,#7877c60d 0,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.message-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:2px solid #ffffff1a;border-radius:12px;color:#fff;flex:1 1;font-family:Inter,sans-serif;font-size:1rem;min-height:60px;padding:1rem;position:relative;resize:vertical;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2}.message-input::placeholder{color:#ffffff80}.message-input:focus{background:#ffffff14;border-color:#00246980;box-shadow:0 0 0 4px #0024691a;outline:none;transform:translateY(-2px)}.send-button{background:linear-gradient(135deg,#002469,#5e6062);border:1px solid #0024694d;border-radius:12px;box-shadow:0 4px 12px #0024694d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;z-index:2}.send-button:hover:not(:disabled){box-shadow:0 12px 24px #00246966;transform:translateY(-4px)}.send-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.main-nav{gap:.75rem;padding:.75rem 1rem}.main-nav,.nav-brand{flex-direction:column}.nav-brand{gap:.5rem;text-align:center}.nav-brand h1{font-size:1.4rem}.nav-logo{height:32px}.nav-tabs{flex-direction:column;gap:.5rem;width:100%}.nav-tab{font-size:.9rem;padding:.6rem 1rem;text-align:center;width:100%}.help-fab{font-size:.9rem!important;height:32px!important;margin-right:.5rem!important;min-height:32px!important;min-width:32px!important;width:32px!important}.help-fab-icon{height:14px!important;width:14px!important}.chat-container{flex-direction:column;height:calc(100vh - 180px);max-height:none;overflow-y:auto}@media (max-width:768px){.chat-container{flex:1 1;height:auto;min-height:calc(100vh - 180px)}}.sidebar{height:auto;max-height:none;overflow-y:visible;padding:1rem;width:100%}@media (max-width:768px){.sidebar{border-radius:20px;flex-shrink:0;height:auto}}.chat-container .main-content{flex:1 1;overflow-y:visible;padding:1rem;width:100%}@media (max-width:768px){.chat-container .main-content{display:flex;flex:1 1;flex-direction:column}}.chat-header h1{font-size:1.8rem}.chat-header p{font-size:1rem}.message-content{max-width:95%;padding:.75rem 1rem}.input-container{flex-direction:column;gap:.75rem}.message-input{font-size:.95rem;min-height:50px}.send-button{align-self:stretch;padding:.75rem 1.5rem}.main-content{padding:1rem}@media (max-width:768px){.main-content{flex:1 1;height:auto;min-height:0}}.chat-tab-container{border-radius:12px;margin:0}@media (max-width:768px){.chat-tab-container{height:auto;min-height:0}}.chat-header{padding:1.5rem 1rem}.profile-setup{flex-direction:column;gap:1rem}.profile-field select{min-width:100%}.main-footer{padding:.75rem 1rem}.footer-content p{font-size:.85rem}.blob1,.blob2,.blob3{display:none}.dot{height:8px;width:8px}@media (min-width:768px){.main-nav{flex-direction:row;gap:1rem;padding:1rem 2rem}.nav-brand{flex-direction:row;text-align:left}.nav-brand h1{font-size:1.6rem}.nav-logo{height:36px}.nav-tabs{flex-direction:row;gap:.75rem;width:auto}.nav-tab{font-size:.95rem;padding:.7rem 1.2rem;width:auto}.help-fab{font-size:1rem!important;height:34px!important;min-height:34px!important;min-width:34px!important;width:34px!important}.help-fab-icon{height:16px!important;width:16px!important}.chat-container{height:calc(100vh - 200px)}.sidebar{max-height:50vh}.chat-container .main-content,.sidebar{padding:1.5rem}.chat-header h1{font-size:2.2rem}.message-content{max-width:90%}.input-container{flex-direction:row;gap:1rem}.send-button{align-self:flex-end;padding:1rem 2rem}.main-content{padding:1.5rem}.chat-header{padding:2rem 1.5rem}.profile-setup{flex-direction:row;gap:1.5rem}.profile-field select{min-width:150px}.main-footer{padding:1rem 2rem}.footer-content p{font-size:.9rem}.blob1,.blob2,.blob3{display:block}.dot{height:10px;width:10px}}@media (min-width:1024px){.main-nav{padding:1rem 2rem}.nav-brand h1{font-size:1.8rem}.nav-logo{height:40px}.nav-tabs{gap:1rem}.nav-tab{font-size:.95rem;padding:.8rem 1.5rem}.help-fab{font-size:1.2rem!important;height:36px!important;margin-right:.75rem!important;min-height:36px!important;min-width:36px!important;width:36px!important}.help-fab-icon{height:20px!important;width:20px!important}.chat-container{flex-direction:row;height:calc(100vh - 200px)}.sidebar{height:100%;max-height:none}.chat-container .main-content,.sidebar{padding:2rem;width:350px}.chat-header h1{font-size:2.5rem}.message-content{max-width:70%}.chat-header,.main-content{padding:2rem}.profile-setup{gap:2rem}.profile-field select{min-width:150px}.main-footer{padding:1rem 2rem}.footer-content p{font-size:1rem}.blob1,.blob2,.blob3{display:block}.dot{height:14px;width:14px}}@media (min-width:1440px){.nav-brand h1{font-size:2rem}.nav-logo{height:44px}.nav-tab{font-size:1rem;padding:1rem 2rem}.chat-header h1{font-size:3rem}.main-content{padding:3rem}}.nav-tab.tutorial-btn{animation:pulse-glow 2s infinite;background:linear-gradient(135deg,#4ade80,#22c55e)!important;border-color:#0000!important;color:#fff!important;overflow:hidden;position:relative}.nav-tab.tutorial-btn:hover{background:linear-gradient(135deg,#22c55e,#16a34a)!important;box-shadow:0 8px 25px #22c55e66;transform:translateY(-2px) scale(1.05)}.nav-tab.tutorial-btn:before{animation:shine 3s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes pulse-glow{0%,to{box-shadow:0 4px 15px #22c55e66}50%{box-shadow:0 4px 25px #22c55e99}}@keyframes shine{0%{left:-100%}to{left:100%}}.app-tutorial-active .filters-sidebar .filter-section.tutorial-highlight .department-filters,.tutorial-highlight{animation:tutorial-pulse 2s infinite!important;border-radius:8px!important;position:relative!important;z-index:60!important}@keyframes tutorial-pulse{0%,to{box-shadow:0 0 0 0 #3b82f6b3}50%{box-shadow:0 0 0 10px #3b82f600}}.app-tutorial-active{pointer-events:auto!important;-webkit-user-select:auto!important;user-select:auto!important}.app-tutorial-active *{filter:none!important;pointer-events:auto!important}.tutorial-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:9999}.tutorial-modal-bg{background:#0006;inset:0;pointer-events:auto;position:absolute;z-index:0}.tutorial-modal-content{background:linear-gradient(135deg,#18182f,#23234a);border:1px solid #ffffff1a;border-radius:1.5rem;box-shadow:0 8px 40px #00000073,0 0 0 1px #ffffff14;display:flex;flex-direction:column;max-width:480px;padding:0;pointer-events:auto;position:relative;transition:transform .3s;width:100%;z-index:10002}.tutorial-modal-header{align-items:center;background:linear-gradient(90deg,#23234a,#18182f);border-bottom:1px solid #ffffff1a;border-radius:1.5rem 1.5rem 0 0;display:flex;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.tutorial-modal-header-left{align-items:center;display:flex;gap:1rem}.tutorial-modal-header-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:50%;box-shadow:0 2px 8px #3b82f626;display:flex;height:3rem;justify-content:center;width:3rem}.tutorial-modal-title{color:#fff;font-size:1.25rem;font-weight:700;margin:0}.tutorial-modal-step{color:#a5b4fc;font-size:.95rem;margin:0}.tutorial-modal-close{background:none;border:none;border-radius:50%;color:#a5b4fc;cursor:pointer;padding:.25rem;transition:background .2s}.tutorial-modal-close:hover{background:#23234a;color:#fff}.tutorial-modal-body{background:#0000;padding:1.5rem}.tutorial-modal-content-text{color:#e0e7ff;font-size:1.08rem;margin-bottom:1.25rem;white-space:pre-line}.tutorial-modal-action-box{background:linear-gradient(135deg,#23234a,#18182f);border:1px solid #3b82f6;border-radius:.75rem;margin-top:.5rem;padding:1rem}.tutorial-modal-action-row{align-items:center;display:flex;gap:.75rem}.tutorial-modal-action-check{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;font-size:1rem;font-weight:700;height:1.5rem;justify-content:center;width:1.5rem}.tutorial-modal-action-title{color:#1e293b;font-weight:600;margin:0}.tutorial-modal-action-desc{color:#2563eb;margin:0}.tutorial-modal-action-success{color:#059669;font-weight:500;margin-top:.75rem}.tutorial-modal-footer{align-items:center;background:linear-gradient(90deg,#23234a,#18182f);border-radius:0 0 1.5rem 1.5rem;border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.tutorial-modal-footer-btn{align-items:center;background:linear-gradient(135deg,#23234a,#18182f);border:none;border-radius:.75rem;box-shadow:0 2px 8px #3b82f614;color:#e0e7ff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.6rem 1.5rem;transition:background .2s,color .2s}.tutorial-modal-footer-btn.active{background:linear-gradient(90deg,#3b82f6,#6366f1);color:#fff}.tutorial-modal-footer-btn.disabled{background:#23234a;color:#64748b;cursor:not-allowed}.tutorial-modal-footer-btn:hover:not(.disabled):not(.active){background:#23234a;color:#fff}.tutorial-modal-footer-prev{margin-right:.5rem}.tutorial-modal-footer-next{margin-left:.5rem}.tutorial-modal-step-indicators{left:50%;position:fixed;top:2.5rem;transform:translateX(-50%);z-index:10003}.tutorial-modal-step-indicator-list{align-items:center;background:linear-gradient(135deg,#23234a,#18182f);border:1px solid #ffffff1a;border-radius:999px;box-shadow:0 2px 8px #0000002e;display:flex;gap:.5rem;padding:.5rem 1.25rem}.tutorial-modal-step-dot{background:#23234a;border:1.5px solid #6366f1;border-radius:50%;cursor:pointer;height:.75rem;transition:background .2s,box-shadow .2s;width:.75rem}.tutorial-modal-step-dot.active{background:#3b82f6;box-shadow:0 0 0 2px #6366f1}.tutorial-modal-step-dot.completed{background:#6366f1}.tutorial-modal-spotlight{z-index:10001}@media (max-width:600px){.tutorial-modal-content{max-width:98vw;padding:0}.tutorial-modal-body,.tutorial-modal-footer,.tutorial-modal-header{padding-left:.75rem;padding-right:.75rem}.tutorial-modal-header{padding-bottom:.75rem;padding-top:1rem}.tutorial-modal-footer{padding-bottom:.75rem;padding-top:.75rem}}.resources-container{margin:0 auto;max-width:1200px;padding:2rem;position:relative;z-index:2}.resources-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0024691a;border:1px solid #ffffff1a;border-radius:20px;margin-bottom:3rem;padding:2rem;text-align:center}.resources-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#e8f4f8);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.resources-header p{color:#e8f4f8;font-size:1.2rem;opacity:.9}.resources-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-left:auto;margin-right:auto;margin-top:2rem;max-width:1200px}.resource-category{flex-direction:column;justify-content:space-between;min-height:280px}.resource-category,.resource-link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00246926;border:1px solid #ffffff1a;border-radius:16px;display:flex;overflow:hidden;padding:2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.resource-link{align-items:center;color:#e8f4f8;font-size:1.1rem;font-weight:500;justify-content:center;min-height:120px;text-decoration:none}.resource-category:before{background:linear-gradient(135deg,#00246933,#5e60621a);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:-1}.resource-category:hover{box-shadow:0 20px 40px #0024694d;transform:translateY(-8px)}.resource-category:hover:before{opacity:1}.resource-category h3{color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.resource-links{display:flex;flex-direction:column;flex-grow:1;gap:1rem;justify-content:space-evenly}.resource-link:hover{background:#0024694d;box-shadow:0 20px 40px #00246966;color:#fff;transform:translateY(-8px)}.resource-link:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.resource-link:hover:before{left:100%}.resource-link:active{transform:translateY(-4px) scale(.98)}@media (max-width:768px){.resources-container{padding:1rem}.resources-header h2{font-size:2rem}.resources-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-width:100%}.resource-link{font-size:1rem;min-height:100px;padding:1.5rem}}@media (max-width:480px){.resources-header h2{font-size:1.8rem}.resource-category h3{font-size:1.3rem}.resource-link{font-size:.9rem;padding:.8rem 1rem}}
/*# sourceMappingURL=main.45ac73a4.css.map*/