:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{font-weight:400;min-height:100vh}.header[data-v-0d4fc844]{background:#fff;box-shadow:0 10px 40px #0000001a;border-bottom:4px solid;border-image:linear-gradient(90deg,#3b82f6,#8b5cf6) 1}.container[data-v-0d4fc844]{max-width:1280px;margin:0 auto;padding:2rem 1rem}.header-content[data-v-0d4fc844]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.brand-section[data-v-0d4fc844]{display:flex;align-items:center;gap:1rem;text-decoration:none;transition:transform .3s ease}.brand-section[data-v-0d4fc844]:hover{transform:translateY(-2px)}.logo-icon[data-v-0d4fc844]{padding:1rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:1rem;box-shadow:0 10px 30px #3b82f64d;transition:transform .3s ease}.logo-icon[data-v-0d4fc844]:hover{transform:rotate(6deg) scale(1.05)}.star-icon[data-v-0d4fc844]{width:2.5rem;height:2.5rem;color:#fff}.brand-title[data-v-0d4fc844]{font-size:3rem;font-weight:900;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.brand-subtitle[data-v-0d4fc844]{color:#6b7280;font-weight:600;font-size:1.125rem;margin:.25rem 0 0}.nav-buttons[data-v-0d4fc844]{display:flex;gap:.75rem;flex-wrap:wrap}.nav-btn[data-v-0d4fc844]{padding:.75rem 1.5rem;border-radius:.75rem;font-weight:700;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;text-decoration:none;border:2px solid transparent;background:#fff;color:#3b82f6;border-color:#bfdbfe}.nav-btn[data-v-0d4fc844]:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #00000026;border-color:#3b82f6}.nav-btn.router-link-active[data-v-0d4fc844]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#3b82f6}@media(max-width:768px){.container[data-v-0d4fc844]{padding:1.5rem 1rem}.header-content[data-v-0d4fc844]{flex-direction:column;align-items:flex-start;gap:1rem}.brand-section[data-v-0d4fc844]{gap:.75rem}.logo-icon[data-v-0d4fc844]{padding:.75rem}.star-icon[data-v-0d4fc844]{width:2rem;height:2rem}.brand-title[data-v-0d4fc844]{font-size:2rem}.brand-subtitle[data-v-0d4fc844]{font-size:1rem}.nav-buttons[data-v-0d4fc844]{width:100%;justify-content:stretch}.nav-btn[data-v-0d4fc844]{flex:1;text-align:center;padding:.625rem 1rem;font-size:.875rem}}@media(max-width:480px){.brand-title[data-v-0d4fc844]{font-size:1.75rem}.brand-subtitle[data-v-0d4fc844]{font-size:.875rem}}.app-container{min-height:100vh;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f9fafb,#f3f4f6);color:#111827;line-height:1.6;min-height:100vh}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:linear-gradient(180deg,#f1f5f9,#e2e8f0);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#94a3b8,#64748b);border-radius:10px;border:3px solid #f1f5f9;box-shadow:0 2px 8px #0000001a}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#64748b,#475569)}::-webkit-scrollbar-corner{background:#f1f5f9}::selection{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}::-moz-selection{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}*:focus-visible{outline:3px solid #3b82f6;outline-offset:3px;border-radius:4px}a{color:inherit;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:all .3s cubic-bezier(.4,0,.2,1)}button:active{transform:scale(.97)}input,select,textarea{font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1)}input:focus,select:focus,textarea:focus{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f626}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.fade-in{animation:fadeIn .5s ease-out forwards}.fade-in-scale{animation:fadeInScale .4s ease-out forwards}.slide-in-right{animation:slideInRight .5s ease-out forwards}.slide-in-left{animation:slideInLeft .5s ease-out forwards}.pulse{animation:pulse 2s ease-in-out infinite}.bounce{animation:bounce 1s ease-in-out infinite}.float{animation:float 3s ease-in-out infinite}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.card-hover:before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .3s ease;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);z-index:-1}.card-hover:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 40px #0000001f,0 0 0 1px #3b82f61a}.card-hover:hover:before{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.gradient-text{background:linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 100%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.glass{background:#fffc;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.5);box-shadow:0 8px 32px #0000001a}.shadow-soft{box-shadow:0 2px 8px #00000014,0 1px 3px #0000000f}.shadow-medium{box-shadow:0 4px 16px #0000001f,0 2px 6px #00000014}.shadow-strong{box-shadow:0 8px 32px #00000029,0 4px 12px #0000001f}.shadow-glow{box-shadow:0 0 20px #3b82f64d,0 0 40px #8b5cf633}.shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:1000px 100%;animation:shimmer 2s infinite}.bg-gradient-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.bg-gradient-success{background:linear-gradient(135deg,#10b981,#059669)}.bg-gradient-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.bg-gradient-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.interactive{transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.interactive:hover{transform:translateY(-2px);filter:brightness(1.05)}.interactive:active{transform:translateY(0) scale(.98)}@media(max-width:768px){body{font-size:14px}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;transition:all .3s ease}.badge:hover{transform:scale(1.05);box-shadow:0 4px 8px #0000001a}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:.5rem .75rem;background:#000000e6;color:#fff;border-radius:.5rem;font-size:.875rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}.tooltip:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.course-card[data-v-26dbe09e]{display:block;background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 16px #00000014;border:2px solid #E5E7EB;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;color:inherit;position:relative;overflow:hidden}.course-card[data-v-26dbe09e]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);opacity:0;transition:opacity .3s ease;pointer-events:none}.course-card[data-v-26dbe09e]:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 12px 32px #00000026;border-color:#3b82f6}.course-card[data-v-26dbe09e]:hover:before{opacity:1}.card-header[data-v-26dbe09e]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:2px solid #F3F4F6}.course-info[data-v-26dbe09e]{flex:1}.title-row[data-v-26dbe09e]{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.course-code[data-v-26dbe09e]{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.difficulty-badge[data-v-26dbe09e]{padding:.375rem .875rem;border-radius:9999px;font-size:.75rem;font-weight:700;box-shadow:0 2px 6px #0000001a;transition:transform .2s ease}.difficulty-badge[data-v-26dbe09e]:hover{transform:scale(1.05)}.course-name[data-v-26dbe09e]{font-size:1rem;font-weight:600;color:#374151;margin:0 0 .5rem}.course-meta[data-v-26dbe09e]{font-size:.875rem;color:#6b7280;margin:0}.favorite-btn[data-v-26dbe09e]{padding:.5rem;border-radius:50%;background:none;border:none;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.favorite-btn[data-v-26dbe09e]:hover{background:#fef3c7;transform:scale(1.1) rotate(8deg)}.star-icon[data-v-26dbe09e]{width:1.75rem;height:1.75rem;color:#9ca3af;fill:none;transition:all .3s ease}.star-icon.is-favorite[data-v-26dbe09e]{color:#f59e0b;fill:#f59e0b;filter:drop-shadow(0 2px 4px rgba(245,158,11,.4))}.stats-grid[data-v-26dbe09e]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem}.stat-item[data-v-26dbe09e]{text-align:center}.stat-label[data-v-26dbe09e]{font-size:.75rem;color:#6b7280;margin:0 0 .375rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.stat-value[data-v-26dbe09e]{font-size:1.75rem;font-weight:900;margin:0}.stat-value-blue[data-v-26dbe09e]{color:#3b82f6}.stat-value-green[data-v-26dbe09e]{color:#10b981}.stat-value-purple[data-v-26dbe09e]{color:#8b5cf6}.stat-value-gray[data-v-26dbe09e]{color:#6b7280}.grade-bar-section[data-v-26dbe09e]{margin-top:1rem}.grade-bar[data-v-26dbe09e]{display:flex;height:.75rem;border-radius:9999px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.grade-segment[data-v-26dbe09e]{transition:all .3s ease;cursor:pointer}.grade-segment[data-v-26dbe09e]:hover{filter:brightness(1.1);box-shadow:0 0 8px #0003}.grade-a[data-v-26dbe09e]{background:linear-gradient(180deg,#10b981,#059669)}.grade-a-minus[data-v-26dbe09e]{background:linear-gradient(180deg,#34d399,#10b981)}.grade-b-plus[data-v-26dbe09e]{background:linear-gradient(180deg,#3b82f6,#2563eb)}.grade-b[data-v-26dbe09e]{background:linear-gradient(180deg,#60a5fa,#3b82f6)}.grade-b-minus[data-v-26dbe09e]{background:linear-gradient(180deg,#93c5fd,#60a5fa)}.grade-c-plus[data-v-26dbe09e]{background:linear-gradient(180deg,#f59e0b,#d97706)}.grade-c[data-v-26dbe09e]{background:linear-gradient(180deg,#fbbf24,#f59e0b)}.grade-c-minus[data-v-26dbe09e]{background:linear-gradient(180deg,#fcd34d,#fbbf24)}.grade-d-plus[data-v-26dbe09e]{background:linear-gradient(180deg,#f97316,#ea580c)}.grade-d[data-v-26dbe09e]{background:linear-gradient(180deg,#fb923c,#f97316)}.grade-f[data-v-26dbe09e]{background:linear-gradient(180deg,#ef4444,#dc2626)}.grade-labels[data-v-26dbe09e]{display:flex;justify-content:space-between;margin-top:.5rem;padding:0 .25rem}.grade-label[data-v-26dbe09e]{font-size:.75rem;color:#6b7280;font-weight:600}@media(max-width:768px){.stats-grid[data-v-26dbe09e]{grid-template-columns:repeat(2,1fr)}.course-code[data-v-26dbe09e]{font-size:1.125rem}.stat-value[data-v-26dbe09e]{font-size:1.5rem}.grade-labels[data-v-26dbe09e]{font-size:.625rem}}.search-bar-wrapper[data-v-1543ed85]{position:relative;width:100%}.search-bar[data-v-1543ed85]{position:relative;display:flex;align-items:center;background:#fff;border:2px solid #E5E7EB;border-radius:.75rem;padding:0 1rem;box-shadow:0 2px 8px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1)}.search-bar[data-v-1543ed85]:focus-within{border-color:#3b82f6;box-shadow:0 4px 16px #3b82f626,0 0 0 3px #3b82f61a;transform:translateY(-2px)}.search-icon[data-v-1543ed85]{width:1.25rem;height:1.25rem;color:#9ca3af;flex-shrink:0;transition:color .3s ease}.search-bar:focus-within .search-icon[data-v-1543ed85]{color:#3b82f6}.search-input[data-v-1543ed85]{flex:1;padding:1rem .75rem;border:none;outline:none;font-size:1rem;color:#1f2937;background:transparent}.search-input[data-v-1543ed85]::placeholder{color:#9ca3af;font-weight:400}.clear-btn[data-v-1543ed85]{padding:.5rem;border-radius:50%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.clear-btn[data-v-1543ed85]:hover{background:#fee2e2;transform:rotate(90deg)}.clear-icon[data-v-1543ed85]{width:1.25rem;height:1.25rem;color:#9ca3af;transition:color .2s ease}.clear-btn:hover .clear-icon[data-v-1543ed85]{color:#ef4444}@media(max-width:768px){.search-input[data-v-1543ed85]{font-size:.875rem}.search-input[data-v-1543ed85]::placeholder{font-size:.875rem}}.filter-panel[data-v-a3b74d44]{background:linear-gradient(135deg,#fff,#f9fafb);border-radius:1rem;padding:1.5rem;box-shadow:0 4px 16px #00000014;border:2px solid #E5E7EB}.filter-header[data-v-a3b74d44]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #F3F4F6}.header-content[data-v-a3b74d44]{display:flex;align-items:center;gap:.5rem}.filter-icon[data-v-a3b74d44]{width:1.25rem;height:1.25rem;color:#3b82f6}.filter-title[data-v-a3b74d44]{font-size:1.125rem;font-weight:700;color:#1f2937;margin:0}.filter-badge[data-v-a3b74d44]{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:9999px;font-size:.75rem;font-weight:700;box-shadow:0 2px 6px #3b82f64d}.reset-link[data-v-a3b74d44]{font-size:.875rem;color:#3b82f6;font-weight:600;cursor:pointer;padding:.375rem .75rem;border-radius:.375rem;transition:all .2s ease;border:none;background:none}.reset-link[data-v-a3b74d44]:hover{background:#eff6ff;color:#2563eb;text-decoration:underline}.filter-content[data-v-a3b74d44]{display:flex;flex-direction:column;gap:1.25rem}.filter-group[data-v-a3b74d44]{display:flex;flex-direction:column;gap:.5rem}.filter-label[data-v-a3b74d44]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;position:relative}.label-icon[data-v-a3b74d44]{width:1rem;height:1rem;color:#6b7280}.clear-filter-btn[data-v-a3b74d44]{margin-left:auto;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;transition:all .2s ease;padding:0}.clear-filter-btn[data-v-a3b74d44]:hover{background:#dc2626;transform:scale(1.1)}.search-filter-container[data-v-a3b74d44]{position:relative}.filter-search-input[data-v-a3b74d44]{width:100%;padding:.75rem 1rem;border:2px solid #E5E7EB;border-radius:.5rem;background:#fff;font-size:.875rem;color:#1f2937;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.filter-search-input[data-v-a3b74d44]:hover{border-color:#d1d5db}.filter-search-input[data-v-a3b74d44]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-search-input.has-selection[data-v-a3b74d44]{background:#eff6ff;border-color:#3b82f6;font-weight:600}.filter-dropdown[data-v-a3b74d44]{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:#fff;border:2px solid #E5E7EB;border-radius:.5rem;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:10}.filter-dropdown[data-v-a3b74d44]::-webkit-scrollbar{width:6px}.filter-dropdown[data-v-a3b74d44]::-webkit-scrollbar-track{background:#f3f4f6}.filter-dropdown[data-v-a3b74d44]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.filter-dropdown[data-v-a3b74d44]::-webkit-scrollbar-thumb:hover{background:#9ca3af}.filter-option[data-v-a3b74d44]{width:100%;padding:.625rem 1rem;text-align:left;background:#fff;border:none;cursor:pointer;font-size:.875rem;color:#374151;transition:all .2s ease;border-bottom:1px solid #F3F4F6}.filter-option[data-v-a3b74d44]:last-child{border-bottom:none}.filter-option[data-v-a3b74d44]:hover{background:#eff6ff;color:#3b82f6;font-weight:600}.checkbox-group[data-v-a3b74d44]{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:1rem;border-radius:.75rem;border:2px solid #FCD34D}.checkbox-label[data-v-a3b74d44]{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.checkbox-input[data-v-a3b74d44]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:#3B82F6;flex-shrink:0;margin-top:.125rem}.checkbox-content[data-v-a3b74d44]{flex:1}.checkbox-text[data-v-a3b74d44]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.25rem}.checkbox-label-text[data-v-a3b74d44]{font-weight:700}.checkbox-hint[data-v-a3b74d44]{font-size:.75rem;color:#92400e;margin:0;margin-top:.25rem}.range-group[data-v-a3b74d44]{background:linear-gradient(135deg,#eff6ff,#dbeafe);padding:1rem;border-radius:.75rem;border:2px solid #BFDBFE}.range-label[data-v-a3b74d44]{justify-content:space-between;width:100%;margin-bottom:1rem}.label-text[data-v-a3b74d44]{display:flex;align-items:center;gap:.5rem}.range-values[data-v-a3b74d44]{font-weight:700;color:#1e40af;font-size:1rem}.dual-range-container[data-v-a3b74d44]{position:relative;height:2.5rem;display:flex;align-items:center}.dual-range-track[data-v-a3b74d44]{position:absolute;width:100%;height:6px;background:#e5e7eb;border-radius:9999px;top:50%;transform:translateY(-50%);pointer-events:none}.dual-range-selected[data-v-a3b74d44]{position:absolute;height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:9999px;pointer-events:none}.dual-range-slider[data-v-a3b74d44]{position:absolute;width:100%;height:6px;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none;outline:none;margin:0;padding:0;top:50%;transform:translateY(-50%)}.dual-range-min[data-v-a3b74d44]{z-index:3}.dual-range-max[data-v-a3b74d44]{z-index:4}.dual-range-slider[data-v-a3b74d44]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;cursor:grab;pointer-events:all;box-shadow:0 0 0 3px #3b82f6,0 2px 8px #0003;transition:all .15s ease;border:none;margin:0}.dual-range-slider[data-v-a3b74d44]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 4px #3b82f6,0 4px 12px #0000004d}.dual-range-slider[data-v-a3b74d44]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.05);box-shadow:0 0 0 5px #2563eb,0 2px 8px #0000004d}.dual-range-slider[data-v-a3b74d44]::-webkit-slider-runnable-track{width:100%;height:6px;background:transparent;border:none;border-radius:9999px}.dual-range-slider[data-v-a3b74d44]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;cursor:grab;pointer-events:all;border:none;box-shadow:0 0 0 3px #3b82f6,0 2px 8px #0003;transition:all .15s ease}.dual-range-slider[data-v-a3b74d44]::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 4px #3b82f6,0 4px 12px #0000004d}.dual-range-slider[data-v-a3b74d44]::-moz-range-thumb:active{cursor:grabbing;transform:scale(1.05);box-shadow:0 0 0 5px #2563eb,0 2px 8px #0000004d}.dual-range-slider[data-v-a3b74d44]::-moz-range-track{width:100%;height:6px;background:transparent;border:none;border-radius:9999px}.range-group-green[data-v-a3b74d44]{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#6ee7b7}.range-values-green[data-v-a3b74d44]{color:#047857}.dual-range-track-green[data-v-a3b74d44]{background:#d1d5db}.dual-range-selected-green[data-v-a3b74d44]{background:linear-gradient(90deg,#10b981,#059669)}.dual-range-slider-green[data-v-a3b74d44]::-webkit-slider-thumb{box-shadow:0 0 0 3px #10b981,0 2px 8px #0003}.dual-range-slider-green[data-v-a3b74d44]::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px #10b981,0 4px 12px #0000004d}.dual-range-slider-green[data-v-a3b74d44]::-webkit-slider-thumb:active{box-shadow:0 0 0 5px #059669,0 2px 8px #0000004d}.dual-range-slider-green[data-v-a3b74d44]::-moz-range-thumb{box-shadow:0 0 0 3px #10b981,0 2px 8px #0003}.dual-range-slider-green[data-v-a3b74d44]::-moz-range-thumb:hover{box-shadow:0 0 0 4px #10b981,0 4px 12px #0000004d}.dual-range-slider-green[data-v-a3b74d44]::-moz-range-thumb:active{box-shadow:0 0 0 5px #059669,0 2px 8px #0000004d}@media(max-width:1024px){.filter-panel[data-v-a3b74d44]{padding:1.25rem}}.home-view[data-v-eb17c521]{flex:1;background:linear-gradient(135deg,#ebf4ff,#e0e7ff,#f3e8ff);padding:2rem 0}.container[data-v-eb17c521]{max-width:1280px;margin:0 auto;padding:0 1rem}.controls-section[data-v-eb17c521]{margin-bottom:2rem}.search-wrapper[data-v-eb17c521]{margin-bottom:1.5rem}.sort-panel[data-v-eb17c521]{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 16px #00000014;border:2px solid #E5E7EB}.sort-content[data-v-eb17c521]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.sort-label[data-v-eb17c521]{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:700;color:#1f2937}.sort-icon[data-v-eb17c521]{width:1.5rem;height:1.5rem;color:#6366f1}.sort-btn[data-v-eb17c521]{padding:.625rem 1.5rem;border-radius:.75rem;font-size:.875rem;font-weight:700;transition:all .3s ease;box-shadow:0 2px 8px #00000014;background:#fff;color:#374151;border:2px solid #D1D5DB;cursor:pointer}.sort-btn[data-v-eb17c521]:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #0000001f}.sort-btn-active[data-v-eb17c521]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#3b82f6}.sort-order-btn[data-v-eb17c521]{padding:.625rem 1.25rem;border-radius:.5rem;font-weight:600;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;background:#fff;color:#6b7280;border:2px solid #D1D5DB;cursor:pointer;display:flex;align-items:center;gap:.5rem;min-width:140px;justify-content:center}.sort-order-btn[data-v-eb17c521]:hover{border-color:#9ca3af;background:#f9fafb}.sort-arrow-icon[data-v-eb17c521]{width:1.25rem;height:1.25rem;stroke-width:2}.sort-order-label[data-v-eb17c521]{font-size:.875rem;font-weight:600}.sort-btn-emoji[data-v-eb17c521]{font-size:1rem}.sort-btn-text[data-v-eb17c521],.sort-label-text[data-v-eb17c521]{white-space:nowrap}.sort-content-mobile[data-v-eb17c521]{display:flex}.sort-content-desktop[data-v-eb17c521]{display:none}.sort-mobile-wrapper[data-v-eb17c521]{display:flex;align-items:center;gap:.75rem;max-width:350px}.sort-mobile-label[data-v-eb17c521]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;color:#1f2937;white-space:nowrap}.sort-dropdown[data-v-eb17c521]{width:180px;padding:.625rem 1rem;border-radius:.5rem;border:2px solid #D1D5DB;background:#fff;color:#374151;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #00000014}.sort-dropdown[data-v-eb17c521]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.sort-order-btn-mobile[data-v-eb17c521]{padding:.625rem 1rem;border-radius:.5rem;background:#fff;color:#6b7280;border:2px solid #D1D5DB;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;min-width:75px}.sort-order-btn-mobile[data-v-eb17c521]:hover{border-color:#9ca3af;background:#f9fafb}.sort-order-content[data-v-eb17c521]{display:flex;align-items:center;gap:.5rem}.sort-arrow-icon-mobile[data-v-eb17c521]{width:1.125rem;height:1.125rem;stroke-width:2}.sort-order-text-mobile[data-v-eb17c521]{font-size:.75rem;font-weight:600}.content-grid[data-v-eb17c521]{display:grid;grid-template-columns:300px 1fr;gap:1.5rem}.filter-sidebar[data-v-eb17c521]{height:fit-content}.filters-toggle-btn[data-v-eb17c521]{display:none;width:100%;padding:.875rem 1.25rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:2px solid #C4B5FD;border-radius:.75rem;font-weight:700;font-size:.95rem;cursor:pointer;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 4px 12px #8b5cf64d;transition:all .3s ease;margin-bottom:1rem}.filters-toggle-btn[data-v-eb17c521]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #8b5cf666}.filters-toggle-icon[data-v-eb17c521]{width:1.25rem;height:1.25rem}.filters-toggle-arrow[data-v-eb17c521]{width:1.125rem;height:1.125rem;transition:transform .3s ease}.filters-toggle-arrow-open[data-v-eb17c521]{transform:rotate(180deg)}.filters-wrapper[data-v-eb17c521]{max-height:5000px;overflow:visible;transition:max-height .4s ease,opacity .3s ease;opacity:1}.course-list[data-v-eb17c521]{min-height:400px}.loading-state[data-v-eb17c521],.error-state[data-v-eb17c521],.empty-state[data-v-eb17c521]{text-align:center;padding:5rem 2rem;background:#fff;border-radius:1rem;box-shadow:0 8px 24px #00000014}.spinner[data-v-eb17c521]{display:inline-block;width:5rem;height:5rem;border:6px solid #DBEAFE;border-top-color:#3b82f6;border-radius:50%;animation:spin-eb17c521 1s linear infinite}@keyframes spin-eb17c521{to{transform:rotate(360deg)}}.loading-text[data-v-eb17c521]{margin-top:1.5rem;font-size:1.25rem;font-weight:700;color:#1f2937}.loading-subtext[data-v-eb17c521]{font-size:.875rem;color:#6b7280;margin-top:.5rem}.error-icon[data-v-eb17c521],.empty-icon[data-v-eb17c521]{width:6rem;height:6rem;margin:0 auto 1.5rem}.error-icon[data-v-eb17c521]{color:#ef4444}.empty-icon[data-v-eb17c521]{color:#9ca3af}.error-text[data-v-eb17c521]{font-size:1.25rem;font-weight:700;color:#991b1b}.empty-title[data-v-eb17c521]{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.empty-text[data-v-eb17c521]{color:#6b7280;margin-bottom:1.5rem}.reset-btn[data-v-eb17c521]{padding:.75rem 2rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:.75rem;font-weight:700;box-shadow:0 4px 12px #3b82f64d;transition:all .3s ease;cursor:pointer}.reset-btn[data-v-eb17c521]:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #3b82f666}.results-badge[data-v-eb17c521]{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;border:2px solid #93C5FD;box-shadow:0 4px 12px #3b82f61a}.results-info[data-v-eb17c521]{display:flex;align-items:center;gap:.75rem}.results-icon-wrapper[data-v-eb17c521]{padding:.5rem;background:#3b82f6;border-radius:.5rem}.results-icon[data-v-eb17c521]{width:1.5rem;height:1.5rem;color:#fff}.results-label[data-v-eb17c521]{font-size:.875rem;color:#6b7280;font-weight:600;margin:0}.results-count[data-v-eb17c521]{font-size:1.5rem;font-weight:900;color:#1e40af;margin:0}.results-text[data-v-eb17c521]{font-size:.875rem;color:#6b7280;font-weight:500;margin:0}.course-cards[data-v-eb17c521]{display:grid;gap:1.5rem}.course-card-wrapper[data-v-eb17c521]{animation:fadeIn-eb17c521 .5s ease-out forwards;opacity:0}@keyframes fadeIn-eb17c521{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pagination[data-v-eb17c521]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem;flex-wrap:wrap}.pagination-btn[data-v-eb17c521]{padding:.625rem 1rem;border-radius:.5rem;font-weight:600;transition:all .2s ease;border:2px solid #E5E7EB;background:#fff;color:#374151;cursor:pointer;font-size:.875rem}.pagination-btn[data-v-eb17c521]:hover:not(.pagination-btn-disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#3b82f6}.pagination-btn-nav[data-v-eb17c521]{display:flex;align-items:center;gap:.5rem}.pagination-btn-number[data-v-eb17c521]{min-width:2.5rem}.pagination-btn-active[data-v-eb17c521]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#3b82f6}.pagination-btn-disabled[data-v-eb17c521]{opacity:.4;cursor:not-allowed}.pagination-icon[data-v-eb17c521]{width:1rem;height:1rem}.pagination-numbers[data-v-eb17c521]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pagination-ellipsis[data-v-eb17c521]{padding:.625rem .5rem;color:#9ca3af;font-weight:600}.page-info[data-v-eb17c521]{text-align:center;margin-top:1rem;padding:.75rem;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:.5rem;color:#6b7280;font-size:.875rem;font-weight:600}@media(max-width:1024px){.content-grid[data-v-eb17c521]{grid-template-columns:1fr}.filter-sidebar[data-v-eb17c521]{position:static}.container[data-v-eb17c521]{padding:1.5rem 1rem}.stats-grid[data-v-eb17c521]{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(max-width:768px){.container[data-v-eb17c521]{padding:1rem .75rem}.header-content[data-v-eb17c521]{flex-direction:column;align-items:flex-start;gap:1rem}.brand-section[data-v-eb17c521]{gap:.75rem}.logo-icon[data-v-eb17c521]{padding:.75rem}.star-icon[data-v-eb17c521]{width:2rem;height:2rem}.brand-title[data-v-eb17c521]{font-size:2rem}.brand-subtitle[data-v-eb17c521]{font-size:1rem}.nav-buttons[data-v-eb17c521]{width:100%;justify-content:stretch}.nav-btn[data-v-eb17c521]{flex:1;text-align:center;padding:.625rem 1rem;font-size:.875rem}.sort-panel[data-v-eb17c521]{padding:.875rem}.sort-content-desktop[data-v-eb17c521]{gap:.5rem;justify-content:flex-start}.sort-label[data-v-eb17c521]{font-size:.875rem;gap:.5rem}.sort-icon[data-v-eb17c521]{width:1.125rem;height:1.125rem}.sort-btn[data-v-eb17c521]{padding:.5rem 1rem;font-size:.8rem}.sort-order-btn[data-v-eb17c521]{padding:.5rem 1rem;gap:.375rem}.sort-arrow-icon[data-v-eb17c521]{width:1rem;height:1rem}.filters-toggle-btn[data-v-eb17c521]{display:flex}.filters-wrapper[data-v-eb17c521]{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .3s ease}.filters-wrapper-expanded[data-v-eb17c521]{max-height:5000px;opacity:1}.search-wrapper[data-v-eb17c521]{width:100%}.results-badge[data-v-eb17c521]{flex-direction:column;gap:.75rem;padding:1rem}.pagination[data-v-eb17c521]{gap:.25rem}.pagination-btn-nav[data-v-eb17c521]{font-size:.75rem;padding:.5rem .75rem}.pagination-btn-number[data-v-eb17c521]{min-width:2rem;padding:.5rem .625rem;font-size:.75rem}.pagination-icon[data-v-eb17c521]{width:.875rem;height:.875rem}.pagination-ellipsis[data-v-eb17c521]{padding:.5rem .25rem}.page-info[data-v-eb17c521]{font-size:.75rem;padding:.625rem}}@media(max-width:480px){.sort-panel[data-v-eb17c521]{padding:.75rem 1rem}.sort-mobile-label[data-v-eb17c521]{font-size:.8rem;gap:.375rem}.sort-mobile-label .sort-icon[data-v-eb17c521]{width:1rem;height:1rem}.sort-dropdown[data-v-eb17c521]{font-size:.75rem;padding:.4rem .6rem;width:140px}.sort-order-btn-mobile[data-v-eb17c521]{padding:.4rem .6rem;min-width:60px}.sort-arrow-icon-mobile[data-v-eb17c521]{width:1rem;height:1rem}.sort-order-text-mobile[data-v-eb17c521]{font-size:.7rem}.pagination-numbers[data-v-eb17c521]{gap:.25rem}.pagination-btn-nav span[data-v-eb17c521]{display:none}.pagination-btn-nav[data-v-eb17c521]{padding:.5rem}}
