:root{--color-primary: #00b67a;--color-primary-dark: #00a870;--color-primary-light: #00c987;--color-primary-hover: #009966;--color-secondary: #2563eb;--color-secondary-dark: #1d4ed8;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-text-primary: #1a1a1a;--color-text-secondary: #374151;--color-text-tertiary: #6b7280;--color-text-muted: #9ca3af;--color-border-light: #e5e7eb;--color-border-medium: #d1d5db;--color-border-dark: #9ca3af;--color-rating: #00b67a;--color-rating-empty: #e5e7eb;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-primary: 0 4px 12px rgba(0, 182, 122, .15);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px}.dark-mode{--color-primary: #00b67a;--color-primary-dark: #00a870;--color-primary-light: #00c987;--color-primary-hover: #009966;--color-secondary: #3b82f6;--color-secondary-dark: #2563eb;--color-bg-primary: #252525;--color-bg-secondary: #2d2d2d;--color-bg-tertiary: #353535;--color-text-primary: #f5f5f5;--color-text-secondary: #d1d5db;--color-text-tertiary: #9ca3af;--color-text-muted: #6b7280;--color-border-light: #404040;--color-border-medium: #505050;--color-border-dark: #606060;--color-rating: #00b67a;--color-rating-empty: #404040;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-primary: 0 4px 12px rgba(0, 182, 122, .3)}.dark-mode{background-color:var(--color-bg-primary);color:var(--color-text-primary)}.dark-mode input,.dark-mode textarea,.dark-mode select{background-color:var(--color-bg-secondary);border-color:var(--color-border-light);color:var(--color-text-primary)}.dark-mode input::placeholder,.dark-mode textarea::placeholder{color:var(--color-text-tertiary)}@media(min-width:769px){.dark-mode [style*="background-color: #ffffff"],.dark-mode [style*="background-color: white"],.dark-mode [style*="background-color: #f5f5f5"]{background-color:var(--color-bg-primary)!important}}.dark-mode [style*="color: #000000"],.dark-mode [style*="color: black"]{color:var(--color-text-primary)!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:40px 24px}h1{font-size:2.75em;margin-bottom:12px;font-weight:700;letter-spacing:-.03em;color:var(--color-text-primary);line-height:1.2}h2{font-size:1.75em;margin-bottom:24px;font-weight:600;color:var(--color-text-primary);line-height:1.3}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-dark);text-decoration:underline}button{background-color:var(--color-primary);color:#fff;border:none;padding:14px 32px;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;border-radius:6px;transition:all .2s ease;letter-spacing:.01em}button:hover{background-color:var(--color-bg-secondary);opacity:.9;transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}input,textarea,select{font-family:inherit;font-size:16px;border:1px solid var(--color-border-light);background-color:var(--color-bg-primary);color:var(--color-text-primary);padding:14px 18px;width:100%;border-radius:6px;transition:all .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00b67a1a}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}img{max-width:100%;height:auto;display:block}img:not([width]):not([height]){aspect-ratio:16 / 9}.listing-card-desktop-image,.listing-card-mobile-image,.listing-detail-image{aspect-ratio:unset}@media(max-width:768px){html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}body{width:100%;max-width:100%;overflow-x:hidden;position:relative}#root{width:100%;max-width:100%;overflow-x:hidden}.main-header{width:100%;max-width:100%;position:relative}.header-container{width:100%;max-width:100%}*{max-width:100%;box-sizing:border-box}.rows-latest-reviews-grid,.departments-overview-scroll,.similar-courses-list{overflow-x:auto;-webkit-overflow-scrolling:touch}.home-page,.home-page-rows,.rows-page-container,.rows-main-layout,.rows-content,.rows-sidebar{overflow-x:hidden;max-width:100%}}:root{--mobile-font-xs: 11px;--mobile-font-sm: 13px;--mobile-font-base: 15px;--mobile-font-md: 17px;--mobile-font-lg: 20px;--mobile-font-xl: 24px;--mobile-font-2xl: 28px;--mobile-font-3xl: 32px;--mobile-space-xs: 4px;--mobile-space-sm: 8px;--mobile-space-md: 12px;--mobile-space-lg: 16px;--mobile-space-xl: 24px;--mobile-space-2xl: 32px;--mobile-space-3xl: 40px;--mobile-touch-target: 44px;--mobile-touch-target-lg: 48px;--mobile-container-padding: 16px;--mobile-section-padding: 24px;--mobile-section-padding-lg: 32px;--mobile-radius-sm: 6px;--mobile-radius-md: 8px;--mobile-radius-lg: 12px}@media(max-width:768px){body{font-size:var(--mobile-font-base);line-height:1.5}h1{font-size:var(--mobile-font-3xl);line-height:1.2;margin-bottom:var(--mobile-space-md)}h2{font-size:var(--mobile-font-2xl);line-height:1.3;margin-bottom:var(--mobile-space-lg)}h3{font-size:var(--mobile-font-xl);line-height:1.3;margin-bottom:var(--mobile-space-md)}.container{padding-left:var(--mobile-container-padding);padding-right:var(--mobile-container-padding)}button{min-height:var(--mobile-touch-target);padding:var(--mobile-space-md) var(--mobile-space-lg);font-size:var(--mobile-font-base)}input,textarea,select{font-size:var(--mobile-font-base);padding:var(--mobile-space-md) var(--mobile-space-lg);min-height:var(--mobile-touch-target)}a{min-height:var(--mobile-touch-target);display:inline-flex;align-items:center}}@media(max-width:768px){.header-container{padding:var(--mobile-space-md) var(--mobile-container-padding);gap:var(--mobile-space-sm);min-height:56px}.logo-text{font-size:var(--mobile-font-lg)}.header-center{gap:var(--mobile-space-xs);margin:0 var(--mobile-space-sm)}.header-nav-button{padding:var(--mobile-space-sm) var(--mobile-space-md);font-size:var(--mobile-font-sm);min-height:var(--mobile-touch-target);gap:var(--mobile-space-xs)}.header-nav-button span{display:none}.header-right{gap:var(--mobile-space-sm)}.header-button{padding:var(--mobile-space-md) var(--mobile-space-lg);font-size:var(--mobile-font-sm);min-height:var(--mobile-touch-target);gap:var(--mobile-space-xs)}.suggest-text,.login-text{display:none}.signup-text{font-size:var(--mobile-font-sm)}.profile-picture,.profile-avatar{width:36px;height:36px;font-size:var(--mobile-font-sm)}.header-profile-button{min-width:var(--mobile-touch-target);min-height:var(--mobile-touch-target)}.profile-dropdown{min-width:160px;right:0;font-size:var(--mobile-font-base)}.profile-dropdown-item{padding:var(--mobile-space-md) var(--mobile-space-lg);font-size:var(--mobile-font-base);min-height:var(--mobile-touch-target)}}@media(max-width:768px){.hero-section{padding:var(--mobile-section-padding) var(--mobile-container-padding) var(--mobile-space-xl);min-height:auto}.hero-content{max-width:100%}.hero-title{font-size:var(--mobile-font-3xl);margin-bottom:var(--mobile-space-md);line-height:1.2}.hero-subtitle{font-size:var(--mobile-font-base);margin-bottom:var(--mobile-space-xl);line-height:1.5}.hero-university-selector{margin-bottom:var(--mobile-space-xl)}.university-selector-text{font-size:var(--mobile-font-base);display:block;margin-bottom:var(--mobile-space-xs)}.university-selector-name-button{display:inline-flex;padding:var(--mobile-space-xs) 0;min-height:var(--mobile-touch-target);font-size:var(--mobile-font-md)}.university-selector-name{font-size:var(--mobile-font-md)}.hero-search{max-width:100%;border-radius:var(--mobile-radius-lg);flex-direction:column}.hero-search-input{padding:var(--mobile-space-md) var(--mobile-space-lg);font-size:var(--mobile-font-base);border-radius:var(--mobile-radius-lg) var(--mobile-radius-lg) 0 0}.hero-search-button{padding:var(--mobile-space-md) var(--mobile-space-xl);min-height:var(--mobile-touch-target);border-radius:0 0 var(--mobile-radius-lg) var(--mobile-radius-lg);width:100%}.departments-overview-section{padding:var(--mobile-section-padding) 0}.departments-overview-title{font-size:var(--mobile-font-2xl);padding:0 var(--mobile-container-padding);margin-bottom:var(--mobile-space-lg)}.departments-overview-scroll{padding:0 var(--mobile-container-padding)}.department-overview-card{padding:var(--mobile-space-lg);min-width:200px}.department-overview-name{font-size:var(--mobile-font-md);margin-bottom:var(--mobile-space-md)}.department-section{padding:var(--mobile-section-padding) 0}.department-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-space-md);margin-bottom:var(--mobile-space-lg)}.department-title-wrapper{width:100%;align-items:center;gap:var(--mobile-space-sm)}.department-star-button{min-width:var(--mobile-touch-target);min-height:var(--mobile-touch-target);padding:var(--mobile-space-sm)}.department-title{font-size:var(--mobile-font-xl);line-height:1.3}.see-more-button{width:100%;padding:var(--mobile-space-md) var(--mobile-space-lg);font-size:var(--mobile-font-base);min-height:var(--mobile-touch-target)}.course-cards-grid{grid-template-columns:1fr;gap:var(--mobile-space-md)}.course-card-new{padding:var(--mobile-space-md);min-height:auto;height:auto;border-radius:var(--mobile-radius-md)}.course-card-title-new{font-size:var(--mobile-font-base);line-height:1.4;margin-bottom:var(--mobile-space-sm)}.course-card-row-2{gap:var(--mobile-space-xs);margin-bottom:var(--mobile-space-sm)}.course-card-code,.course-card-ects,.course-card-language,.course-card-value{font-size:var(--mobile-font-sm)}.course-card-row-4{margin-top:var(--mobile-space-sm)}.course-card-rating{gap:var(--mobile-space-xs)}.rating-value,.reviews-count-inline{font-size:var(--mobile-font-sm)}.homepage-banner{padding:var(--mobile-section-padding) 0}.homepage-banner-content{grid-template-columns:1fr;gap:var(--mobile-space-xl);padding:var(--mobile-space-xl) var(--mobile-container-padding)}.homepage-banner-title{font-size:var(--mobile-font-2xl);margin-bottom:var(--mobile-space-md)}.homepage-banner-text{font-size:var(--mobile-font-base);margin-bottom:var(--mobile-space-lg);line-height:1.6}.homepage-banner-button{width:100%;min-height:var(--mobile-touch-target);padding:var(--mobile-space-md) var(--mobile-space-lg)}.homepage-banner-card{padding:var(--mobile-space-lg)}.homepage-banner-card-title{font-size:var(--mobile-font-lg);margin-bottom:var(--mobile-space-md)}.homepage-banner-card-text{font-size:var(--mobile-font-sm);margin-bottom:var(--mobile-space-md)}.latest-reviews-section{padding:var(--mobile-section-padding) 0}.latest-reviews-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-space-lg);margin-bottom:var(--mobile-space-lg)}.latest-reviews-title{font-size:var(--mobile-font-2xl)}.latest-reviews-grid{grid-template-columns:1fr;gap:var(--mobile-space-md)}.latest-review-card{padding:var(--mobile-space-lg)}.latest-review-name{font-size:var(--mobile-font-base)}.latest-review-text{font-size:var(--mobile-font-sm);line-height:1.5}.latest-review-course-name{font-size:var(--mobile-font-sm)}}@media(max-width:768px){.marketplace-browse-page{padding:var(--mobile-space-lg) var(--mobile-container-padding) var(--mobile-section-padding)}.marketplace-header{flex-direction:column;align-items:stretch;gap:var(--mobile-space-md);margin-bottom:var(--mobile-space-lg)}.marketplace-title{font-size:var(--mobile-font-2xl)}.marketplace-subtitle{font-size:var(--mobile-font-sm)}.marketplace-create-btn{width:100%;min-height:var(--mobile-touch-target);padding:var(--mobile-space-md) var(--mobile-space-lg)}.guided-search-row{grid-template-columns:1fr;gap:var(--mobile-space-md)}.marketplace-guided-search{padding:var(--mobile-space-lg)}.marketplace-listings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;column-gap:6px;row-gap:8px}.listing-card-mobile{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--mobile-radius-lg);overflow:hidden;position:relative;display:flex;flex-direction:column;padding:0;margin:0}.listing-card-mobile-image-section{width:100%;height:148px;position:relative;background-color:var(--color-bg-secondary);overflow:hidden;flex-shrink:0}.listing-card-mobile-image-wrapper{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}.listing-card-mobile-image-wrapper:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(20px);opacity:.4;z-index:0;transform:scale(1.1)}.listing-card-mobile-image{width:100%;height:100%;object-fit:contain;display:block;margin:0;padding:0;position:relative;z-index:1}.listing-card-mobile-image-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-tertiary);color:var(--color-text-muted)}.listing-card-mobile-category-badge{position:absolute;top:6px;left:6px;padding:3px 6px;border-radius:4px;color:#fff;font-size:10px;font-weight:600;z-index:2}.listing-card-mobile-image-counter{position:absolute;top:var(--mobile-space-md);right:var(--mobile-space-md);background-color:#0009;color:#fff;padding:var(--mobile-space-xs) var(--mobile-space-sm);border-radius:var(--mobile-radius-sm);font-size:var(--mobile-font-xs);font-weight:600;z-index:2}.listing-card-mobile-image-dots{position:absolute;bottom:var(--mobile-space-md);left:50%;transform:translate(-50%);display:flex;gap:var(--mobile-space-xs);z-index:2}.listing-card-mobile-image-dot{width:6px;height:6px;border-radius:50%;border:none;background-color:#ffffff80;padding:0;cursor:pointer}.listing-card-mobile-image-dot.active{background-color:#fff}.listing-card-mobile-content{padding:6px 8px 8px;display:flex;flex-direction:column;gap:2px;flex:1;background-color:#fff}.listing-card-mobile-title{font-size:var(--mobile-font-lg);font-weight:600;color:var(--color-text-primary);line-height:1.3;margin:0}.listing-card-mobile-title-small{font-size:13px;font-weight:400;color:var(--color-text-primary);line-height:1.2;margin:0;padding:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%;box-sizing:border-box;text-align:left}.listing-card-mobile-price-section{margin:var(--mobile-space-xs) 0}.listing-card-mobile-price{font-size:16px;font-weight:700;color:#000;line-height:1.1;margin:0;padding:0;text-align:left;width:100%;box-sizing:border-box}.listing-card-mobile-price-whole,.listing-card-mobile-price-decimal{font-size:16px;font-weight:700;color:#000}.listing-card-mobile-price-currency{font-size:var(--mobile-font-base);font-weight:500}.listing-card-mobile-course{display:flex;flex-direction:column;gap:var(--mobile-space-xs)}.listing-card-mobile-course-link{display:flex;flex-wrap:wrap;gap:var(--mobile-space-xs);align-items:center;color:var(--color-text-secondary);text-decoration:none;font-size:var(--mobile-font-sm)}.listing-card-mobile-course-code{color:var(--color-text-tertiary)}.listing-card-mobile-course-name{color:var(--color-primary);font-weight:500}.listing-card-mobile-department{font-size:var(--mobile-font-xs);color:var(--color-text-tertiary)}.listing-card-mobile-description{font-size:var(--mobile-font-sm);color:var(--color-text-secondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.listing-card-mobile-seller{display:flex;align-items:center;gap:var(--mobile-space-sm);padding-top:var(--mobile-space-sm);border-top:1px solid var(--color-border-light)}.listing-card-mobile-seller-avatar,.listing-card-mobile-seller-avatar-fallback{width:32px;height:32px;border-radius:50%;flex-shrink:0}.listing-card-mobile-seller-avatar{object-fit:cover}.listing-card-mobile-seller-avatar-fallback{display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--mobile-font-xs);font-weight:600}.listing-card-mobile-seller-name{font-size:var(--mobile-font-sm);color:var(--color-text-secondary)}.listing-card-mobile-action{margin-top:var(--mobile-space-xs)}.listing-card-mobile-contact-btn{width:100%;min-height:var(--mobile-touch-target);padding:var(--mobile-space-md) var(--mobile-space-lg);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--mobile-radius-md);font-size:var(--mobile-font-base);font-weight:600;cursor:pointer;transition:background-color .2s}.listing-card-mobile-contact-btn:active{background-color:var(--color-primary-dark)}.listing-card-mobile-sold{width:100%;padding:var(--mobile-space-md) var(--mobile-space-lg);text-align:center;background-color:var(--color-bg-tertiary);color:var(--color-text-tertiary);border-radius:var(--mobile-radius-md);font-size:var(--mobile-font-base);font-weight:600}.listing-card-mobile-email{display:flex;align-items:center;gap:var(--mobile-space-sm);padding:var(--mobile-space-md) var(--mobile-space-lg);background-color:var(--color-bg-secondary);border-radius:var(--mobile-radius-md)}.listing-card-mobile-email-link{flex:1;font-size:var(--mobile-font-sm);color:var(--color-primary);text-decoration:none;word-break:break-all}.listing-card-mobile-copy-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--mobile-space-xs);min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.listing-card-mobile.listing-card-sold{opacity:.7}.listing-card-sold-overlay{position:absolute;top:var(--mobile-space-lg);right:var(--mobile-space-lg);background-color:#000c;color:#fff;padding:var(--mobile-space-xs) var(--mobile-space-md);border-radius:var(--mobile-radius-sm);font-size:var(--mobile-font-xs);font-weight:700;z-index:10}}@media(max-width:768px){.home-page-rows{width:100%;max-width:100%;overflow-x:hidden;padding:0}.rows-page-container{width:100%;max-width:100%;padding:0;overflow-x:hidden}.page-header-section{width:100%;max-width:100%;padding:var(--mobile-section-padding) 4px}.page-header-content{width:100%;max-width:100%}.page-header-title{font-size:var(--mobile-font-3xl);line-height:1.2;margin-bottom:var(--mobile-space-sm)}.page-header-subtitle{font-size:var(--mobile-font-base);line-height:1.5}.rows-main-layout{flex-direction:column;width:100%;max-width:100%;gap:0;overflow-x:hidden}.rows-sidebar-mobile-hidden{display:none}.rows-sidebar{width:100%;max-width:100%;position:static;border-right:none;border-bottom:1px solid var(--color-border-light);padding:var(--mobile-space-lg) 4px;overflow-x:hidden}.rows-filter-section{margin-bottom:var(--mobile-space-lg)}.rows-filter-section-title{font-size:var(--mobile-font-md);font-weight:600;margin-bottom:var(--mobile-space-md)}.rows-filter-option{font-size:var(--mobile-font-base);padding:var(--mobile-space-md);min-height:var(--mobile-touch-target)}.rows-rating-filter{display:flex;flex-direction:column;gap:var(--mobile-space-sm)}.rows-rating-option{display:flex;align-items:center;gap:var(--mobile-space-sm)}.rows-filter-options{display:flex;flex-direction:column;gap:var(--mobile-space-xs)}.rows-see-more-link{font-size:var(--mobile-font-sm);color:var(--color-primary);padding:var(--mobile-space-sm) 0;min-height:var(--mobile-touch-target)}.rows-content{width:100%;max-width:100%;padding:var(--mobile-space-lg) 4px;overflow-x:hidden}.rows-content-main{width:100%;max-width:100%;padding:0;overflow-x:hidden}.rows-latest-reviews-section{width:100%;max-width:100%;margin-bottom:var(--mobile-section-padding);overflow-x:hidden}.rows-latest-reviews-container{width:100%;max-width:100%;overflow-x:hidden}.rows-latest-reviews-title-wrapper{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--mobile-space-md);margin-bottom:var(--mobile-space-lg)}.rows-latest-reviews-title{font-size:var(--mobile-font-lg);width:auto;margin:0;flex:1}.rows-latest-reviews-nav{display:flex;gap:var(--mobile-space-xs);width:auto;justify-content:flex-end;flex-shrink:0}.rows-latest-reviews-nav-button{min-width:32px;width:32px;min-height:32px;height:32px;padding:0;font-size:var(--mobile-font-base);display:flex;align-items:center;justify-content:center}.rows-latest-reviews-grid{display:flex;overflow-x:auto;overflow-y:hidden;gap:var(--mobile-space-md);padding-bottom:var(--mobile-space-sm);-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.rows-latest-reviews-grid .latest-review-card{flex:0 0 280px;min-width:280px;max-width:280px;scroll-snap-align:start}.rows-search-section{width:100%;max-width:100%;margin-bottom:var(--mobile-space-xl);padding:0}.page-search-bar{width:100%;max-width:100%;padding:8px 12px 8px 16px!important}.page-search-input{width:100%;font-size:var(--mobile-font-base);padding:0;min-height:32px;height:32px}.rows-departments-container{width:100%;max-width:100%;overflow-x:hidden;padding:0}.rows-department-group{width:100%;max-width:100%;margin-bottom:var(--mobile-space-sm);overflow-x:hidden;padding:0}.rows-department-header{width:100%;max-width:100%;padding:var(--mobile-space-xs) var(--mobile-space-md) 0 var(--mobile-container-padding);display:grid!important;grid-template-columns:1fr auto;grid-template-rows:auto;column-gap:4px;align-items:center;justify-content:flex-start;border:none!important;border-top:none!important;border-left:none!important;border-right:none!important;border-bottom:1px solid var(--color-border-light)!important}.rows-star-button{display:none!important}.rows-department-title{grid-row:1;grid-column:1;font-size:var(--mobile-font-sm)!important;min-width:0;max-width:100%;width:100%;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:center;margin:0!important;padding:0!important;justify-self:start;text-align:left;text-indent:0!important}.rows-department-course-count{font-size:var(--mobile-font-base);color:var(--color-text-tertiary)}.rows-expand-button{grid-row:1;grid-column:2;min-width:36px;width:36px;min-height:var(--mobile-touch-target);padding:0 var(--mobile-space-xs)!important;align-self:center;justify-self:end;margin:0}.rows-courses-list{width:100%;max-width:100%;overflow-x:hidden;margin-top:var(--mobile-space-xs);margin-bottom:0;padding-bottom:0}.rows-course-row{width:100%;max-width:100%;padding:var(--mobile-space-md) var(--mobile-container-padding);margin-bottom:var(--mobile-space-xs);padding-bottom:var(--mobile-space-sm);border-radius:var(--mobile-radius-md) var(--mobile-radius-md) 0 0;min-height:var(--mobile-touch-target)}.rows-course-row-1{width:100%;margin-bottom:var(--mobile-space-sm)}.rows-course-title-wrapper{width:100%;display:flex;flex-direction:row;align-items:center;gap:var(--mobile-space-sm);min-width:0}.rows-course-code{font-size:var(--mobile-font-base);font-weight:600;color:var(--color-text-primary);flex-shrink:0;white-space:nowrap}.rows-course-title{font-size:var(--mobile-font-base);line-height:1.4;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rows-course-row-2{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--mobile-space-md);width:100%}.rows-course-metadata{display:flex;flex-direction:row;align-items:center;gap:var(--mobile-space-sm);flex-wrap:wrap;flex:1;min-width:0}.rows-course-degree-level,.rows-course-ects,.rows-course-language{font-size:var(--mobile-font-sm);white-space:nowrap}.rows-course-rating{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:var(--mobile-space-xs);flex-shrink:0}.rows-course-rating-desktop{display:none!important}.rows-course-rating-mobile{display:flex!important}.rows-latest-reviews-section{padding:0;margin-bottom:var(--mobile-section-padding)}.rows-latest-reviews-container,.rows-latest-reviews-title-wrapper{padding:0}.rows-course-row{padding:var(--mobile-space-md) var(--mobile-container-padding)}.rows-department-header{padding-left:var(--mobile-container-padding);padding-right:0}.rows-content-main>*{padding-left:0;padding-right:0}.rows-latest-reviews-grid{padding-left:0;padding-right:0}.rows-mobile-filter-buttons{display:flex;gap:var(--mobile-space-md);margin-top:var(--mobile-space-md);width:100%;padding:0}.rows-mobile-filter-button{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--mobile-space-sm);padding:var(--mobile-space-md) var(--mobile-space-lg);background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--mobile-radius-lg);font-size:var(--mobile-font-base);font-weight:500;color:var(--color-text-primary);cursor:pointer;min-height:var(--mobile-touch-target);transition:all .2s;position:relative}.rows-mobile-filter-button:active{background-color:var(--color-bg-secondary)}.rows-mobile-rating-button{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--mobile-space-sm);padding:var(--mobile-space-md) var(--mobile-space-lg);background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--mobile-radius-lg);font-size:var(--mobile-font-base);font-weight:500;color:var(--color-text-primary);cursor:pointer;min-height:var(--mobile-touch-target);transition:all .2s;position:relative}.rows-mobile-rating-button:active{background-color:var(--color-bg-secondary)}.rows-mobile-filter-badge{position:absolute;top:var(--mobile-space-xs);right:var(--mobile-space-md);background-color:var(--color-primary);color:#fff;border-radius:10px;padding:2px 6px;font-size:var(--mobile-font-xs);font-weight:600;min-width:18px;text-align:center}.rows-mobile-filter-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:9998;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.rows-mobile-filter-modal{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-bg-primary);border-radius:var(--mobile-radius-lg) var(--mobile-radius-lg) 0 0;z-index:9999;max-height:70vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease-out;box-shadow:0 -4px 20px #00000026}.rows-mobile-filter-modal-open{transform:translateY(0)}.rows-mobile-filter-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--mobile-space-lg) var(--mobile-container-padding);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.rows-mobile-filter-modal-title{font-size:var(--mobile-font-xl);font-weight:700;margin:0;color:var(--color-text-primary)}.rows-mobile-filter-modal-close{width:var(--mobile-touch-target);height:var(--mobile-touch-target);display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:0;border-radius:50%;transition:background-color .2s}.rows-mobile-filter-modal-close:active{background-color:var(--color-bg-secondary)}.rows-mobile-filter-modal-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--mobile-space-lg) var(--mobile-container-padding)}.rows-mobile-filter-section{margin-bottom:var(--mobile-space-xl)}.rows-mobile-filter-section:last-child{margin-bottom:0}.rows-mobile-filter-section-collapsible{border-bottom:1px solid var(--color-border-light);padding:var(--mobile-space-md) 0}.rows-mobile-filter-section-collapsible:last-child{border-bottom:none}.rows-mobile-filter-section-content{padding-top:var(--mobile-space-md);animation:slideDown .2s ease}.newversion-mobile-actions-row{display:flex;align-items:center;gap:12px;width:100%;margin-top:12px}.newversion-filter-button-mobile{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;height:44px;min-height:44px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;color:var(--color-text-primary);padding:0 16px;font-size:14px;font-weight:500}.newversion-filter-button-mobile:hover,.newversion-filter-button-mobile:active{background-color:var(--color-bg-secondary);border-color:var(--color-border-medium)}.newversion-filter-button-mobile.active{background-color:#00b67a1a;border-color:var(--color-primary);color:var(--color-primary)}.newversion-filter-badge-mobile{background-color:var(--color-primary);color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.newversion-sell-item-button-mobile{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;height:44px;min-height:44px;background-color:var(--color-primary);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#fff;padding:0 16px;font-size:14px;font-weight:600}.newversion-sell-item-button-mobile:hover,.newversion-sell-item-button-mobile:active{background-color:var(--color-primary-dark);transform:translateY(-1px)}.rows-mobile-filter-modal-content .marketplace-mobile-categories{margin-bottom:var(--mobile-space-lg)}.rows-mobile-filter-modal-content .marketplace-mobile-categories-scroll{display:flex;gap:var(--mobile-space-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:var(--mobile-space-xs)}.rows-mobile-filter-modal-content .marketplace-mobile-categories-scroll::-webkit-scrollbar{display:none}.rows-mobile-filter-modal-content .marketplace-mobile-category-btn{flex-shrink:0;padding:var(--mobile-space-sm) var(--mobile-space-md);font-size:var(--mobile-font-sm);white-space:nowrap}.rows-mobile-filter-section .rows-mobile-filter-section-header+.rows-mobile-filter-options{margin-top:var(--mobile-space-md)}.rows-mobile-filter-section-title{font-size:var(--mobile-font-md);font-weight:600;margin:0;color:var(--color-text-primary)}.rows-mobile-filter-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--mobile-space-sm) 0;background:none;border:none;cursor:pointer;margin-bottom:0;min-height:var(--mobile-touch-target)}.rows-mobile-filter-section-header:active{opacity:.7}.rows-mobile-filter-arrow{transition:transform .2s ease;color:var(--color-text-secondary);flex-shrink:0}.rows-mobile-filter-arrow.expanded{transform:rotate(180deg)}.rows-mobile-filter-section .rows-mobile-filter-options{animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.rows-mobile-rating-segmented{display:flex;width:100%;border:1px solid var(--color-border-light);border-radius:var(--mobile-radius-md);overflow:hidden;background-color:var(--color-bg-primary)}.rows-mobile-rating-segment{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--mobile-space-xs);padding:var(--mobile-space-sm) var(--mobile-space-xs);border:none;border-right:1px solid var(--color-border-light);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--mobile-font-sm);font-weight:500;cursor:pointer;transition:all .2s;min-height:40px}.rows-mobile-rating-segment:last-child{border-right:none}.rows-mobile-rating-segment.selected{background-color:var(--color-primary);color:#fff}.rows-mobile-rating-segment.selected svg{fill:#fff}.rows-mobile-rating-segment:not(.selected) svg{fill:var(--color-text-primary)}.rows-mobile-rating-segment:active{opacity:.8}.rows-mobile-filter-options{display:flex;flex-direction:column;gap:var(--mobile-space-sm)}.rows-mobile-filter-checkbox{display:flex;align-items:center;gap:var(--mobile-space-md);padding:var(--mobile-space-md);border:1px solid var(--color-border-light);border-radius:var(--mobile-radius-md);background-color:var(--color-bg-primary);cursor:pointer;transition:all .2s;min-height:var(--mobile-touch-target)}.rows-mobile-filter-checkbox.selected{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.rows-mobile-filter-checkbox input[type=checkbox]{width:20px;height:20px;margin:0;cursor:pointer;accent-color:var(--color-primary)}.rows-mobile-filter-checkbox span{font-size:var(--mobile-font-base);color:var(--color-text-primary);flex:1}.rows-mobile-see-more-link{padding:var(--mobile-space-md);background:none;border:none;color:var(--color-primary);font-size:var(--mobile-font-sm);cursor:pointer;text-align:left;min-height:var(--mobile-touch-target)}.rows-mobile-filter-modal-footer{display:flex;gap:var(--mobile-space-md);padding:var(--mobile-space-lg) var(--mobile-container-padding);border-top:1px solid var(--color-border-light);flex-shrink:0;background-color:var(--color-bg-primary)}.rows-mobile-filter-reset{flex:1;padding:var(--mobile-space-md) var(--mobile-space-lg);background:none;border:1px solid var(--color-border-light);border-radius:var(--mobile-radius-md);color:var(--color-primary);font-size:var(--mobile-font-base);font-weight:600;cursor:pointer;min-height:var(--mobile-touch-target);transition:all .2s}.rows-mobile-filter-reset:active{background-color:var(--color-bg-secondary)}.rows-mobile-filter-apply{flex:2;padding:var(--mobile-space-md) var(--mobile-space-lg);background-color:var(--color-primary);border:none;border-radius:var(--mobile-radius-md);color:#fff;font-size:var(--mobile-font-base);font-weight:600;cursor:pointer;min-height:var(--mobile-touch-target);transition:background-color .2s}.rows-mobile-filter-apply:active{background-color:var(--color-primary-dark)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rows-mobile-rating-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:9998;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.rows-mobile-rating-modal{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-bg-primary);border-radius:var(--mobile-radius-lg) var(--mobile-radius-lg) 0 0;z-index:9999;max-height:40vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease-out;box-shadow:0 -4px 20px #00000026}.rows-mobile-rating-modal-open{transform:translateY(0)}.rows-mobile-rating-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--mobile-space-lg) var(--mobile-container-padding);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.rows-mobile-rating-modal-title{font-size:var(--mobile-font-xl);font-weight:700;margin:0;color:var(--color-text-primary)}.rows-mobile-rating-modal-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);border:none;color:#fff;cursor:pointer;padding:0;border-radius:50%;transition:background-color .2s}.rows-mobile-rating-modal-close:active{background-color:var(--color-primary-dark)}.rows-mobile-rating-modal-content{flex:1;padding:var(--mobile-space-xl) var(--mobile-container-padding);display:flex;align-items:center;justify-content:center}.rows-mobile-rating-modal-content .rows-mobile-rating-segmented{width:100%;max-width:100%}}@media(max-width:480px){:root{--mobile-container-padding: 12px;--mobile-section-padding: 20px}h1{font-size:var(--mobile-font-2xl)}h2{font-size:var(--mobile-font-xl)}.header-container{padding:var(--mobile-space-sm) var(--mobile-container-padding);gap:var(--mobile-space-xs)}.logo-text{font-size:var(--mobile-font-md)}.header-nav-button{padding:var(--mobile-space-xs) var(--mobile-space-sm);font-size:var(--mobile-font-xs)}.header-button{padding:var(--mobile-space-sm) var(--mobile-space-md);font-size:var(--mobile-font-xs);min-height:36px}.profile-picture,.profile-avatar{width:32px;height:32px;font-size:var(--mobile-font-xs)}.rows-content-main,.rows-latest-reviews-section,.rows-latest-reviews-container,.rows-latest-reviews-title-wrapper,.rows-search-section,.rows-departments-container,.rows-department-group,.rows-latest-reviews-grid,.rows-courses-list{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}.rows-course-row{padding-left:var(--mobile-container-padding)!important;padding-right:var(--mobile-container-padding)!important;margin-left:0!important;margin-right:0!important}.rows-department-header{padding-left:var(--mobile-container-padding)!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}.rows-no-courses-found{padding:32px var(--mobile-container-padding);text-align:center}.rows-no-courses-message{font-size:var(--mobile-font-base);line-height:1.6;color:var(--color-text-secondary);margin:0 0 20px}.rows-no-courses-actions{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.rows-suggest-course-button{width:100%;padding:var(--mobile-space-md) var(--mobile-space-lg);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--mobile-radius-md);font-size:var(--mobile-font-base);font-weight:600;cursor:pointer;min-height:var(--mobile-touch-target);transition:background-color .2s ease}.rows-suggest-course-button:active{background-color:var(--color-primary-dark)}.rows-clear-filters-button{width:100%;padding:var(--mobile-space-md) var(--mobile-space-lg);background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--mobile-radius-md);font-size:var(--mobile-font-base);font-weight:600;cursor:pointer;min-height:var(--mobile-touch-target);transition:all .2s ease}.rows-clear-filters-button:active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.course-action-row{flex-direction:column;gap:var(--mobile-space-sm)}.write-review-button-header{width:100%;border-radius:var(--mobile-radius-lg)}.course-score-breakdown{padding:var(--mobile-space-md) var(--mobile-space-md)}.score-separator{margin:var(--mobile-space-xs) 0}.score-footer{margin-top:2px;margin-bottom:0}.score-footer-link{font-size:12px;line-height:1.4}.similar-courses-title{font-size:1.25em;line-height:1.3}.similar-courses-nav-button{width:26px;height:26px;min-width:26px;min-height:26px}.similar-courses-nav-button svg{width:12px;height:12px}.filter-label{justify-content:flex-end}.reviews-content,.reviews-list{overflow-x:visible}.listings-section-mobile{display:none;margin:var(--mobile-space-xl) 0;width:100%;overflow:visible}.listings-section-mobile-visible{display:block}.listings-section-mobile-title{font-size:var(--mobile-font-lg);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--mobile-space-md) 0;padding:0 var(--mobile-container-padding)}.listings-section-mobile-scroll{overflow:visible;padding:0 var(--mobile-container-padding);width:100%;position:relative}.listings-section-mobile-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--mobile-space-md);padding-bottom:var(--mobile-space-sm);width:100%}.listing-card-mobile{width:100%;background-color:var(--color-bg-secondary);border-radius:var(--mobile-radius-md);overflow:hidden;cursor:pointer;transition:transform .2s ease}.listings-section-mobile-list .listing-card-mobile{width:100%}.listing-card-mobile:active{transform:scale(.98)}.listing-card-mobile-image{width:100%;height:150px;background-color:#f3f4f6;position:relative;overflow:hidden}.listing-card-mobile-image img{width:100%;height:100%;object-fit:cover}.listing-card-mobile-image-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9ca3af}.listing-card-mobile-category-badge{position:absolute;top:var(--mobile-space-xs);left:var(--mobile-space-xs);padding:4px 8px;border-radius:var(--mobile-radius-sm);color:#fff;font-size:var(--mobile-font-xs);font-weight:600}.listing-card-mobile-title{padding:var(--mobile-space-sm) var(--mobile-space-md)}.listing-card-mobile-title h4{font-size:var(--mobile-font-base);font-weight:600;color:var(--color-text-primary);margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.listing-card-mobile-price{padding:0 var(--mobile-space-md) var(--mobile-space-md);display:flex;align-items:baseline}.listing-card-mobile-price-whole{font-size:var(--mobile-font-lg);font-weight:700;color:var(--color-text-primary)}.listing-card-mobile-price-decimal{font-size:var(--mobile-font-base);font-weight:600;color:var(--color-text-primary)}.listing-card-mobile-price-currency{font-size:var(--mobile-font-sm);color:var(--color-text-secondary);margin-left:2px}.listing-card-mobile-placeholder{display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border:2px dashed var(--color-border-light);min-height:200px}.listing-card-mobile-placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--mobile-space-sm);padding:var(--mobile-space-md)}.listing-card-mobile-placeholder-icon{width:48px;height:48px;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center}.listing-card-mobile-placeholder-text{font-size:var(--mobile-font-sm);font-weight:600;color:var(--color-text-secondary);text-align:center}.write-review-page .container{padding-top:var(--mobile-container-padding);padding-bottom:var(--mobile-container-padding)}.review-form-card{padding:var(--mobile-container-padding);margin-bottom:16px}.review-form-card-hidden-mobile,.review-form-header-hidden-mobile{display:none!important}.review-form-course-mobile{font-size:1.7em;font-weight:600;color:var(--color-text-primary);margin-bottom:20px;text-align:left}.rating-section{padding:var(--mobile-container-padding);text-align:left}.rating-question{font-size:1.1em;margin-bottom:20px;text-align:left}.rating-input-container{justify-content:flex-start}.comment-section{padding:var(--mobile-container-padding);padding-left:8px;padding-right:8px}.comment-section-header-mobile{margin-bottom:8px}.comment-section-header-mobile .review-guidelines-link{font-size:var(--mobile-font-sm);display:block;text-align:left}.review-comment-textarea{font-size:16px;padding:16px;min-height:180px;width:100%}.review-form-actions{flex-direction:column;gap:12px;padding-top:12px}.review-cancel-button,.review-submit-button{width:100%;padding:14px 24px}.review-login-hint{text-align:center}.review-actions{gap:12px;padding-top:16px;flex-wrap:wrap}.review-action-button{padding:12px 16px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px}.review-action-button svg{width:20px;height:20px;flex-shrink:0}.review-action-button span:not(.review-helpful-count){opacity:0;max-width:0;overflow:hidden;white-space:nowrap;transition:opacity .2s ease .2s,max-width .3s ease .2s,margin-left .2s ease .2s;margin-left:0}.review-action-button:hover span:not(.review-helpful-count){opacity:1;max-width:100px;margin-left:6px;transition:opacity .2s ease .2s,max-width .3s ease .2s,margin-left .2s ease .2s}.review-action-button .review-helpful-count{display:inline;font-size:12px;font-weight:600;margin-left:0}.review-comment-textarea{font-size:16px;padding:16px;min-height:200px;border-radius:12px;line-height:1.6;width:100%}.review-header{grid-template-columns:44px 1fr;gap:10px;margin-bottom:6px;align-items:flex-start}.review-avatar{width:48px;height:48px;font-size:16px;border-radius:50%;object-fit:cover;aspect-ratio:1 / 1}.review-name-section{gap:0;padding-top:2px}.review-name-row{gap:6px;margin-bottom:-2px;align-items:center}.review-name{font-size:16px;line-height:1.2;padding-bottom:0;margin-bottom:0}.review-count{font-size:12px;color:var(--color-text-tertiary);white-space:nowrap}.review-meta{font-size:12px;line-height:1.2;margin-top:-2px}.review-meta>div{gap:6px}.review-rating{display:flex;align-items:center;gap:8px;margin-bottom:6px}.review-rating .review-date{margin-left:0;font-size:12px;color:var(--color-text-tertiary);white-space:nowrap}.review-meta{width:100%;overflow:hidden}.review-meta>div{width:100%;overflow:hidden}.review-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}}.marketplace-interest-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.marketplace-interest-modal{background-color:var(--color-bg-primary);border-radius:12px;padding:24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dark-mode .marketplace-interest-modal{background-color:var(--color-bg-secondary)}.marketplace-interest-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:var(--color-text-tertiary);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;line-height:1;padding:0}.marketplace-interest-modal-close:hover:not(:disabled){background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.marketplace-interest-modal-close:disabled{opacity:.5;cursor:not-allowed}.marketplace-interest-modal-content{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.marketplace-interest-modal-icon{display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--color-text-primary);align-self:center}.dark-mode .marketplace-interest-modal-icon{color:var(--color-text-primary-dark)}.marketplace-interest-modal-title{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 10px;align-self:center;text-align:center}.dark-mode .marketplace-interest-modal-title{color:var(--color-text-primary-dark)}.marketplace-interest-modal-description{font-size:15px;color:var(--color-text-secondary);line-height:1.5;margin:0 0 20px;width:100%}.dark-mode .marketplace-interest-modal-description{color:var(--color-text-secondary-dark)}.marketplace-interest-modal-question{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px;width:100%}.dark-mode .marketplace-interest-modal-question{color:var(--color-text-primary-dark)}.marketplace-interest-modal-error{background-color:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:20px;color:#991b1b;font-size:14px;width:100%}.dark-mode .marketplace-interest-modal-error{background-color:#fee2e21a;border-color:#fecaca4d;color:#fca5a5}.marketplace-interest-modal-buttons{display:flex;flex-direction:column;gap:10px;width:100%;margin-bottom:10px}.marketplace-interest-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.marketplace-interest-button:disabled{opacity:.6;cursor:not-allowed}.marketplace-interest-button-yes{background-color:#00b67a;color:#fff}.marketplace-interest-button-yes:hover:not(:disabled){background-color:#00a86b;transform:translateY(-2px);box-shadow:0 4px 12px #00b67a4d}.marketplace-interest-button-maybe{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:2px solid var(--color-border-light)}.marketplace-interest-button-maybe:hover:not(:disabled){background-color:var(--color-bg-tertiary);border-color:var(--color-border-medium);transform:translateY(-2px)}.dark-mode .marketplace-interest-button-maybe{border-color:var(--color-border-dark)}.marketplace-interest-button-no{background-color:transparent;color:var(--color-text-secondary);border:2px solid var(--color-border-light)}.marketplace-interest-button-no:hover:not(:disabled){background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-medium);transform:translateY(-2px)}.dark-mode .marketplace-interest-button-no{border-color:var(--color-border-dark)}.marketplace-interest-modal-auth-note{font-size:13px;color:var(--color-text-tertiary);margin:10px 0 0;font-style:italic;width:100%}.dark-mode .marketplace-interest-modal-auth-note{color:var(--color-text-tertiary-dark)}.marketplace-interest-modal-success{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;color:#00b67a;width:100%}.marketplace-interest-modal-success p{font-size:18px;font-weight:600;margin:0;color:var(--color-text-primary)}.dark-mode .marketplace-interest-modal-success p{color:var(--color-text-primary-dark)}.marketplace-interest-modal-already-responded-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;background-color:#f0fdf4;border:1px solid #00b67a;border-radius:8px;color:#00b67a;font-size:13px;margin-bottom:14px;width:100%;box-sizing:border-box}.dark-mode .marketplace-interest-modal-already-responded-banner{background-color:#00b67a1a;border-color:#00b67a;color:#00b67a}.marketplace-interest-modal-already-responded-banner svg{flex-shrink:0}.marketplace-interest-modal-already-responded-banner strong{font-weight:600}.marketplace-interest-modal-already-responded{display:flex;flex-direction:column;align-items:center;gap:12px;padding:0;color:#00b67a;width:100%}.marketplace-interest-modal-already-responded-title{font-size:18px;font-weight:600;margin:0;color:var(--color-text-primary);text-align:center}.dark-mode .marketplace-interest-modal-already-responded-title{color:var(--color-text-primary-dark)}.marketplace-interest-modal-already-responded-text{font-size:15px;color:var(--color-text-secondary);margin:0;width:100%;text-align:center}.dark-mode .marketplace-interest-modal-already-responded-text{color:var(--color-text-secondary-dark)}.marketplace-interest-modal-previous-comment{margin-top:16px;padding:16px;background-color:var(--color-bg-secondary);border-radius:8px;width:100%;text-align:left;align-self:stretch}.dark-mode .marketplace-interest-modal-previous-comment{background-color:var(--color-bg-tertiary)}.marketplace-interest-modal-previous-comment-label{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin:0 0 8px}.dark-mode .marketplace-interest-modal-previous-comment-label{color:var(--color-text-secondary-dark)}.marketplace-interest-modal-previous-comment-text{font-size:15px;color:var(--color-text-primary);margin:0;line-height:1.5;white-space:pre-wrap}.dark-mode .marketplace-interest-modal-previous-comment-text{color:var(--color-text-primary-dark)}.marketplace-interest-modal-comment-section{width:100%;margin-bottom:14px}.marketplace-interest-modal-comment-label{display:block;font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.dark-mode .marketplace-interest-modal-comment-label{color:var(--color-text-primary-dark)}.marketplace-interest-modal-comment-input{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;border:2px solid var(--color-border-light);border-radius:8px;background-color:var(--color-bg-primary);color:var(--color-text-primary);resize:vertical;transition:border-color .2s;box-sizing:border-box;min-height:80px;max-height:120px}.marketplace-interest-modal-comment-input:focus{outline:none;border-color:#00b67a}.marketplace-interest-modal-comment-input:disabled{opacity:.6;cursor:not-allowed}.dark-mode .marketplace-interest-modal-comment-input{background-color:var(--color-bg-secondary);border-color:var(--color-border-dark);color:var(--color-text-primary-dark)}.marketplace-interest-modal-comment-hint{font-size:12px;color:var(--color-text-tertiary);margin:4px 0 0;text-align:right}.dark-mode .marketplace-interest-modal-comment-hint{color:var(--color-text-tertiary-dark)}.marketplace-interest-modal-comment-actions{display:flex;gap:10px;width:100%;margin-top:8px}.marketplace-interest-button-submit{flex:2;background-color:#00b67a;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.marketplace-interest-button-submit:hover:not(:disabled){background-color:#00a86b;transform:translateY(-2px);box-shadow:0 4px 12px #00b67a4d}.marketplace-interest-button-submit:disabled{opacity:.6;cursor:not-allowed}.marketplace-interest-button-cancel{flex:1;background-color:transparent;color:var(--color-text-secondary);border:2px solid var(--color-border-light);padding:10px 20px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.marketplace-interest-button-cancel:hover:not(:disabled){background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-medium)}.dark-mode .marketplace-interest-button-cancel{border-color:var(--color-border-dark)}@media(max-width:768px){.marketplace-interest-modal{padding:20px;margin:12px;max-width:calc(100% - 24px);max-height:85vh}.marketplace-interest-modal-icon{margin-bottom:12px}.marketplace-interest-modal-icon svg{width:40px;height:40px}.marketplace-interest-modal-title{font-size:20px;margin-bottom:10px}.marketplace-interest-modal-description{font-size:14px;margin-bottom:10px}.marketplace-interest-modal-contact{font-size:12px;margin-bottom:16px}.marketplace-interest-modal-question{font-size:15px;margin-bottom:16px}.marketplace-interest-modal-buttons{gap:8px;margin-bottom:10px}.marketplace-interest-button{padding:10px 16px;font-size:14px}.marketplace-interest-modal-comment-section{margin-bottom:12px}.marketplace-interest-modal-comment-label{font-size:13px;margin-bottom:6px}.marketplace-interest-modal-comment-input{padding:8px 10px;font-size:14px;min-height:70px;max-height:100px}.marketplace-interest-modal-comment-actions{flex-direction:column;gap:8px;margin-top:8px}.marketplace-interest-button-submit,.marketplace-interest-button-cancel{width:100%;padding:10px 16px;font-size:14px}.marketplace-interest-modal-already-responded-banner{padding:8px 12px;font-size:12px;margin-bottom:12px}.marketplace-interest-modal-auth-note{font-size:12px;margin-top:10px}}.main-header{background-color:var(--color-bg-primary);color:var(--color-text-primary);padding:0;position:sticky;top:0;z-index:10001;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--color-border-light)}.main-header-landing{background-color:#fff!important;color:#000!important;border-bottom:1px solid #e0e0e0!important}.main-header-white{background-color:var(--color-bg-primary)!important;color:var(--color-text-primary)!important;border-bottom:1px solid var(--color-border-light)!important}.main-header-white .logo-text{color:var(--color-primary)!important}.main-header-white .header-nav-link{color:var(--color-text-primary)!important}.main-header-white .header-nav-link:hover,.main-header-white .header-nav-link.active{color:var(--color-primary)!important}.main-header-white .header-nav-link.active:after{background-color:var(--color-primary)!important}.main-header-white .header-icon-circle{color:var(--color-text-primary)!important}.main-header-white .header-icon-circle svg{color:var(--color-text-primary)!important;stroke:var(--color-text-primary)!important}.main-header-white .header-icon-circle:hover{background-color:var(--color-bg-secondary)!important}.dark-mode .main-header-white .header-icon-circle:hover{background-color:#ffffff1a!important}.main-header-white .header-icon-circle:hover svg{color:var(--color-text-primary)!important;stroke:var(--color-text-primary)!important}.main-header-white .header-button{color:var(--color-text-primary)!important}.main-header-white .login-button{background-color:transparent!important;color:var(--color-text-primary)!important;border:1px solid var(--color-text-primary)!important}.main-header-white .login-button:hover{background-color:var(--color-bg-secondary)!important;border-color:var(--color-text-primary)!important}.dark-mode .main-header-white .login-button:hover{background-color:#ffffff1a!important}.main-header-white .login-button svg{stroke:var(--color-text-primary)!important}.main-header-white .signup-button{background-color:var(--color-primary)!important;color:#fff!important}.main-header-white .signup-button:hover{background-color:var(--color-primary)!important;color:#fff!important;opacity:.9!important}.main-header-landing .logo-text{color:var(--color-primary)!important}.header-container{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}.header-left{display:flex;align-items:center;flex-shrink:0}.header-logo{display:flex;align-items:center;gap:12px;text-decoration:none;transition:opacity .2s ease}@media(max-width:768px){.header-logo{gap:8px}}.header-logo:hover{opacity:.8;text-decoration:none}.logo-image{height:32px;width:32px;object-fit:cover;border-radius:50%;flex-shrink:0}.logo-text{font-size:24px;font-weight:700;color:var(--color-primary);letter-spacing:-.02em;white-space:nowrap}.header-university-selector-mobile{position:relative;flex-shrink:0;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;overflow:hidden;width:80px;margin-left:8px}.header-university-select-mobile{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:transparent;border:none;outline:none;font-size:16px;font-weight:600;color:var(--color-primary);padding:8px 28px 8px 10px;cursor:pointer;font-family:inherit;width:100%;height:40px;z-index:1;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header-university-select-mobile:focus{outline:none}.header-university-select-mobile:disabled{cursor:not-allowed;opacity:.7}.header-university-select-mobile option{padding:8px;white-space:normal}.header-university-chevron-mobile{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-primary);z-index:0}.header-nav-link{text-decoration:none;font-size:15px;font-weight:500;color:var(--color-text-primary);padding:8px 0;position:relative;transition:color .2s ease}.header-nav-link:hover,.header-nav-link.active{color:var(--color-primary)}.header-nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--color-primary)}.header-center{display:flex;align-items:center;gap:32px;flex:1;justify-content:center;margin:0 16px}.header-nav-button{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:15px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;font-family:inherit;border:none;background-color:transparent;color:#fff;white-space:nowrap}.header-nav-button:hover{background-color:#ffffff1a}.header-nav-button.active{background-color:#fff3;font-weight:700}.header-nav-button svg{flex-shrink:0}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-icon-circle{width:40px;height:40px;border-radius:50%;background-color:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);transition:background-color .2s ease;flex-shrink:0}.header-icon-circle:hover{background-color:var(--color-bg-secondary)}.header-icon-circle svg{color:var(--color-text-primary);stroke:var(--color-text-primary);fill:none;flex-shrink:0}.header-icon-circle:hover svg{color:var(--color-text-primary);stroke:var(--color-text-primary)}.header-button{padding:10px 20px;font-size:15px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;font-family:inherit;border:none;display:flex;align-items:center;gap:8px;white-space:nowrap}.header-button svg{flex-shrink:0}.login-button{background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}.login-button:hover{background-color:#ffffff1a;border-color:#ffffff80}.login-button-landing{color:#000!important;border:1px solid #000000!important}.login-button-landing:hover{background-color:#0000000d!important;border-color:#000!important}.login-button-landing svg{stroke:#000!important}.login-text{display:inline}.signup-button{background-color:var(--color-primary);color:#fff;border:none}.signup-button:hover,.signup-button:active,.signup-button:focus{background-color:var(--color-primary)!important;color:#fff!important;opacity:1!important}.signup-text{display:inline}.suggest-button{background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);gap:6px}.suggest-button:hover{background-color:#ffffff1a;border-color:#ffffff80}.suggest-button:hover .suggest-icon{stroke:#fbbf24;fill:#fbbf24}.suggest-text{display:inline}@media(max-width:768px){.login-text{display:none}.signup-text,.suggest-text{display:inline}}.write-review-button{background-color:var(--color-primary);color:#fff}.write-review-button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.write-review-text{display:inline}@media(max-width:768px){.write-review-text{display:none}}.badge-info-button{background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.badge-info-button:hover{background-color:#ffffff26;border-color:#ffffff4d}.top-contributors-button{background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.top-contributors-button:hover{background-color:#ffffff26;border-color:#ffffff4d}.notification-button{position:relative}.notification-badge{position:absolute;top:-4px;right:-4px;background-color:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid #000000;box-shadow:0 2px 4px #0003}.profile-dropdown-container{position:relative}.header-profile-button{background-color:transparent!important;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.header-profile-button:hover{background-color:transparent!important;opacity:1!important}.header-profile-button.header-icon-circle{background-color:transparent;padding:0;overflow:visible}.header-profile-button.header-icon-circle:hover{background-color:transparent;opacity:.9}.profile-picture-circle{width:100%;height:100%;border-radius:50%;object-fit:cover;border:none}.profile-avatar-circle{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px;border:none;cursor:pointer}.header-profile-button.header-icon-circle .profile-avatar-circle{width:36px!important;height:36px!important}.header-profile-button.header-icon-circle .profile-avatar-circle svg{width:36px!important;height:36px!important}.profile-picture{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3)}.profile-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px;border:2px solid rgba(255,255,255,.3)}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:10001;overflow:hidden}.dark-mode .profile-dropdown{background-color:var(--color-bg-primary);border-color:var(--color-border-light);box-shadow:0 4px 12px #0000004d}.profile-dropdown-item{width:100%;padding:12px 16px;text-align:left;background-color:transparent;border:none;color:var(--color-text-primary);font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s ease;font-family:inherit;display:flex;align-items:center;gap:12px}.profile-dropdown-item:hover{background-color:var(--color-bg-secondary)}.dark-mode .profile-dropdown-item{color:var(--color-text-primary)}.dark-mode .profile-dropdown-item:hover{background-color:var(--color-bg-secondary)}.profile-dropdown-item-with-icon{display:flex;align-items:center;gap:12px}.profile-dropdown-item-with-icon svg{flex-shrink:0;width:18px;height:18px;stroke:currentColor}.profile-dropdown-item-with-icon span{flex:1}.profile-dropdown-divider{height:1px;background-color:var(--color-border-light);margin:4px 0}.home-button,.browse-users-button,.profile-button{background-color:transparent!important;color:#fff;padding:8px;border:none;display:flex;align-items:center;justify-content:center}.home-button:hover,.browse-users-button:hover,.profile-button:hover{background-color:#ffffff1a!important;opacity:.9}.home-button svg,.browse-users-button svg,.profile-button svg{stroke:currentColor;fill:none}.landing-page{min-height:100vh;background-color:var(--color-bg-primary)}.landing-hero{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-primary) 100%);padding:120px 24px 100px;position:relative;overflow:hidden;text-align:center;min-height:90vh;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.landing-hero.visible{opacity:1;transform:translateY(0)}.landing-hero:before{content:"";position:absolute;inset:-20% -10%;background:radial-gradient(circle at 20% 30%,rgba(0,182,122,.25) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(37,99,235,.2) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(124,58,237,.15) 0%,transparent 60%);filter:blur(80px);z-index:0;opacity:.8}.landing-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f9fafb66,#fff9);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);z-index:0}.landing-hero-content{max-width:800px;margin:0 auto;position:relative;z-index:2}.landing-hero-title{font-size:3.5em;font-weight:700;color:var(--color-text-primary);margin-bottom:20px;letter-spacing:-.02em}.landing-hero-subtitle{font-size:1.3em;color:var(--color-text-secondary);margin-bottom:40px;font-weight:400;line-height:1.7;max-width:700px;margin-left:auto;margin-right:auto}.landing-hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:32px}.landing-hero-button{background-color:var(--color-primary);color:#fff;border:none;padding:16px 32px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00b67a4d}.landing-hero-button:hover{background-color:var(--color-bg-secondary);opacity:.9;transform:translateY(-2px)}.landing-hero-button-secondary{background-color:transparent;color:var(--color-text-primary);border:2px solid var(--color-border-medium);padding:16px 32px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease}.landing-hero-button-secondary:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-bg-secondary);transform:translateY(-2px)}.landing-hero-background{position:absolute;inset:0;z-index:1;overflow:hidden}.hero-gradient-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.6;animation:floatOrb 20s ease-in-out infinite}.orb-1{width:400px;height:400px;background:radial-gradient(circle,rgba(0,182,122,.4) 0%,transparent 70%);top:-100px;left:10%;animation-delay:0s}.orb-2{width:300px;height:300px;background:radial-gradient(circle,rgba(37,99,235,.3) 0%,transparent 70%);bottom:-50px;right:15%;animation-delay:5s}.orb-3{width:350px;height:350px;background:radial-gradient(circle,rgba(124,58,237,.25) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:10s}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.landing-stats{padding:60px 24px 40px;background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.landing-stats.visible{opacity:1;transform:translateY(0)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1000px;margin:0 auto;text-align:center}.stat-item{display:flex;flex-direction:column;gap:8px}.stat-number{font-size:3em;font-weight:700;background:linear-gradient(135deg,var(--color-primary) 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.stat-label{font-size:1em;color:var(--color-text-secondary);font-weight:500}.landing-reviews-section{padding:40px 24px 100px;background-color:var(--color-bg-primary);opacity:1;transform:none;transition:none}.landing-reviews-section.visible{opacity:1;transform:none}.landing-reviews-header{text-align:center;margin-bottom:48px}.landing-section-subtitle{font-size:1.2em;color:var(--color-text-secondary);margin-top:12px;line-height:1.6}.landing-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;max-width:1200px;margin:0 auto}.landing-review-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:24px;transition:none;box-shadow:var(--shadow-sm);opacity:1;transform:none;animation:none}.landing-review-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:var(--color-primary)}.landing-review-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.landing-review-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0}.landing-review-info{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.landing-review-name{font-size:14px;font-weight:600;color:var(--color-text-primary)}.landing-review-rating{margin-bottom:12px}.landing-review-text{font-size:14px;line-height:1.6;color:var(--color-text-secondary);margin-bottom:12px}.landing-review-course{font-size:13px;font-weight:600;color:var(--color-text-primary);padding-top:12px;border-top:1px solid var(--color-border-light)}.landing-solution-section{padding:100px 24px;background:linear-gradient(135deg,#f0fdf4,#e0f7e0);opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.landing-solution-section.visible{opacity:1;transform:translateY(0)}.solution-content{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1200px;margin:0 auto}.solution-text{display:flex;flex-direction:column;gap:24px}.solution-description{font-size:1.15em;color:var(--color-text-secondary);line-height:1.8;margin:0}.solution-benefits{display:flex;flex-direction:column;gap:20px;margin-top:8px}.solution-benefit{display:flex;align-items:flex-start;gap:16px;padding:16px;background-color:#fff9;border-radius:8px}.benefit-icon{width:48px;height:48px;flex-shrink:0;color:var(--color-primary);display:flex;align-items:center;justify-content:center;animation:iconPulse 2.5s ease-in-out infinite;position:relative}.benefit-icon svg{width:100%;height:100%;transition:all .3s ease}.solution-benefit:hover .benefit-icon{animation:iconBounce .6s ease}.solution-benefit:hover .benefit-icon svg{transform:scale(1.15);filter:drop-shadow(0 4px 8px rgba(0,182,122,.4))}.solution-benefit:nth-child(1) .benefit-icon{animation-delay:0s}.solution-benefit:nth-child(2) .benefit-icon{animation-delay:.4s}.solution-benefit:nth-child(3) .benefit-icon{animation-delay:.8s}@keyframes iconPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.95}}@keyframes iconBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.1)}}.benefit-text{font-size:1em;color:var(--color-text-secondary);line-height:1.6}.benefit-text strong{color:var(--color-text-primary);font-weight:600}.solution-visual{display:flex;justify-content:center;align-items:center}.solution-card{background-color:#fff;border-radius:16px;padding:24px;box-shadow:0 8px 24px #0000001a;max-width:400px;width:100%;border:1px solid var(--color-border-light)}.solution-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.solution-card-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px}.solution-card-info{flex:1}.solution-card-name{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.solution-card-badge{font-size:13px;color:var(--color-text-secondary);display:flex;align-items:center;gap:4px}.solution-card-badge svg{animation:trophyBounce 2s ease-in-out infinite;color:var(--color-primary)}.solution-card-text{font-size:15px;line-height:1.6;color:var(--color-text-secondary);font-style:italic;margin-bottom:16px;padding:16px;background-color:var(--color-bg-secondary);border-radius:8px;border-left:3px solid var(--color-primary)}.solution-card-footer{padding-top:16px;border-top:1px solid var(--color-border-light)}.solution-card-likes{font-size:13px;color:var(--color-text-tertiary);display:flex;align-items:center;gap:6px}.solution-card-likes svg{animation:thumbsUp 2.5s ease-in-out infinite;color:var(--color-primary)}.landing-universities-section{padding:100px 24px;background-color:var(--color-bg-primary);opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.landing-universities-section.visible{opacity:1;transform:translateY(0)}.landing-universities-section .university-card{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease forwards}.landing-universities-header{text-align:center;margin-bottom:48px}.landing-universities-title{font-size:2.5em;font-weight:700;color:var(--color-text-primary);margin-bottom:12px;letter-spacing:-.02em}.landing-universities-subtitle{font-size:1.1em;color:var(--color-text-secondary);margin:0}.universities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1200px;margin:0 auto 40px}.university-card{background-color:var(--color-bg-primary);border:2px solid var(--color-border-light);border-radius:12px;padding:24px;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px}.university-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-4px)}.university-card-header{display:flex;align-items:center;gap:16px}.university-logo{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:24px;flex-shrink:0}.university-info{flex:1}.university-name{font-size:1.5em;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.university-full-name{font-size:.95em;color:var(--color-text-secondary);margin:0}.university-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--color-border-light)}.university-course-count{font-size:.95em;color:var(--color-text-secondary);font-weight:500}.university-arrow{font-size:1.2em;color:var(--color-primary);font-weight:600}.landing-view-all{text-align:center;margin-top:32px}.view-all-button{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:2px solid var(--color-border-light);padding:14px 32px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease}.view-all-button:hover{border-color:var(--color-primary);background-color:var(--color-bg-primary);transform:translateY(-2px)}.landing-problem-section{padding:80px 24px 100px;background-color:var(--color-bg-secondary);opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease;position:relative}.landing-problem-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:.3}.landing-problem-section.visible{opacity:1;transform:translateY(0)}.landing-problem-section .problem-point{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.landing-problem-section.visible .problem-point{opacity:1;transform:translateY(0)}.landing-problem-section.visible .problem-point:nth-child(1){transition-delay:.1s}.landing-problem-section.visible .problem-point:nth-child(2){transition-delay:.2s}.landing-problem-section.visible .problem-point:nth-child(3){transition-delay:.3s}.landing-section-title{font-size:2.2em;font-weight:700;color:var(--color-text-primary);text-align:center;margin-bottom:48px;letter-spacing:-.02em}.problem-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;max-width:1000px;margin:0 auto 40px}.problem-point{text-align:center;padding:24px}.problem-icon{width:80px;height:80px;margin:0 auto 16px;color:var(--color-primary);display:flex;align-items:center;justify-content:center;animation:iconFloat 3s ease-in-out infinite;position:relative}.problem-icon svg{width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(0,182,122,.2));animation:iconRotate 4s ease-in-out infinite}.problem-point:nth-child(1) .problem-icon svg{animation-delay:0s}.problem-point:nth-child(2) .problem-icon svg{animation-delay:.5s}.problem-point:nth-child(3) .problem-icon svg{animation-delay:1s}@keyframes iconFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.05)}}@keyframes iconRotate{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.problem-point p{font-size:1.1em;color:var(--color-text-secondary);margin:0;line-height:1.6}.problem-solution{text-align:center;font-size:1.2em;color:var(--color-text-primary);max-width:800px;margin:0 auto;line-height:1.8;font-weight:500}.landing-how-it-works{padding:100px 24px;background-color:var(--color-bg-primary);opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.landing-how-it-works.visible{opacity:1;transform:translateY(0)}.landing-how-it-works .step-card{opacity:0;transform:translateY(30px) scale(.95);transition:opacity .6s ease,transform .6s ease}.landing-how-it-works.visible .step-card{opacity:1;transform:translateY(0) scale(1)}.landing-how-it-works.visible .step-card:nth-child(1){transition-delay:.1s}.landing-how-it-works.visible .step-card:nth-child(2){transition-delay:.2s}.landing-how-it-works.visible .step-card:nth-child(3){transition-delay:.3s}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;max-width:1200px;margin:0 auto}.step-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:32px;text-align:center;box-shadow:var(--shadow-sm);transition:all .2s ease}.step-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.step-number{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,#00d4a3 100%);color:#fff;font-size:2em;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.step-title{font-size:1.4em;font-weight:700;color:var(--color-text-primary);margin-bottom:12px}.step-description{font-size:1em;color:var(--color-text-secondary);line-height:1.6;margin:0}.landing-features-section{padding:100px 24px;background-color:var(--color-bg-secondary);opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.landing-features-section.visible{opacity:1;transform:translateY(0)}.landing-features-section .feature-card{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.landing-features-section.visible .feature-card{opacity:1;transform:translateY(0)}.landing-features-section.visible .feature-card:nth-child(1){transition-delay:.05s}.landing-features-section.visible .feature-card:nth-child(2){transition-delay:.1s}.landing-features-section.visible .feature-card:nth-child(3){transition-delay:.15s}.landing-features-section.visible .feature-card:nth-child(4){transition-delay:.2s}.landing-features-section.visible .feature-card:nth-child(5){transition-delay:.25s}.landing-features-section.visible .feature-card:nth-child(6){transition-delay:.3s}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;max-width:1200px;margin:0 auto}.feature-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:32px 24px;text-align:center;box-shadow:var(--shadow-sm);transition:all .2s ease}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary)}.feature-icon{width:64px;height:64px;margin:0 auto 16px;color:var(--color-primary);display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative}.feature-icon svg{width:100%;height:100%;transition:all .3s ease;animation:iconGlow 3s ease-in-out infinite}.feature-card:nth-child(1) .feature-icon svg{animation-delay:0s}.feature-card:nth-child(2) .feature-icon svg{animation-delay:.2s}.feature-card:nth-child(3) .feature-icon svg{animation-delay:.4s}.feature-card:nth-child(4) .feature-icon svg{animation-delay:.6s}.feature-card:nth-child(5) .feature-icon svg{animation-delay:.8s}.feature-card:nth-child(6) .feature-icon svg{animation-delay:1s}.feature-card:hover .feature-icon{transform:scale(1.15) rotate(8deg);color:var(--color-primary-dark)}.feature-card:hover .feature-icon svg{filter:drop-shadow(0 6px 12px rgba(0,182,122,.4));animation:iconSpin .6s ease}@keyframes iconGlow{0%,to{opacity:1;filter:drop-shadow(0 0 0 rgba(0,182,122,0))}50%{opacity:.9;filter:drop-shadow(0 0 8px rgba(0,182,122,.3))}}@keyframes iconSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.feature-title{font-size:1.2em;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.feature-description{font-size:.95em;color:var(--color-text-secondary);margin:0;line-height:1.5}.landing-cta-section{padding:100px 24px;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-primary) 100%);text-align:center;position:relative;overflow:hidden}.landing-cta-section:before{content:"";position:absolute;inset:-50%;background:radial-gradient(circle,rgba(0,182,122,.1) 0%,transparent 70%);animation:pulseGlow 4s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.landing-cta-title{font-size:2.5em;font-weight:700;color:var(--color-text-primary);margin-bottom:16px;letter-spacing:-.02em}.landing-cta-subtitle{font-size:1.2em;color:var(--color-text-secondary);margin-bottom:32px}.landing-cta-button{background-color:var(--color-primary);color:#fff;border:none;padding:18px 48px;font-size:18px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-md)}.landing-cta-button:hover{background-color:var(--color-bg-secondary);opacity:.9;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.landing-footer{padding:48px 24px;background-color:var(--color-bg-primary);border-top:1px solid var(--color-border-light)}.landing-footer-nav{display:flex;justify-content:center;gap:32px;margin-bottom:24px;flex-wrap:wrap}.landing-footer-nav a{color:var(--color-text-secondary);text-decoration:none;font-size:15px;font-weight:500;transition:color .2s ease}.landing-footer-nav a:hover{color:var(--color-primary)}.landing-footer-text{text-align:center;font-size:14px;color:var(--color-text-tertiary);margin:0}.landing-footer-text a{color:var(--color-primary);text-decoration:none}.landing-footer-text a:hover{text-decoration:underline}@media(max-width:968px){.landing-hero-title{font-size:2.5em}.landing-universities-title{font-size:2em}.universities-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.steps-grid{grid-template-columns:1fr}.features-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:640px){.landing-hero{padding:80px 16px 60px;min-height:80vh}.landing-hero-title{font-size:2em}.landing-hero-subtitle{font-size:1.1em}.landing-hero-cta{flex-direction:column;align-items:stretch}.landing-hero-button,.landing-hero-button-secondary{width:100%}.hero-gradient-orb{display:none}.landing-universities-section,.landing-problem-section,.landing-how-it-works,.landing-features-section,.landing-cta-section,.landing-reviews-section,.landing-solution-section,.landing-stats{padding:60px 16px}.stats-grid{grid-template-columns:1fr;gap:32px}.stat-number{font-size:2.5em}.solution-content{grid-template-columns:1fr;gap:40px}.landing-reviews-grid{grid-template-columns:1fr}.landing-section-title{font-size:1.8em}.universities-grid,.problem-points,.features-grid{grid-template-columns:1fr}}.home-page{min-height:100vh;background-color:var(--color-bg-primary)}.hero-section{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-primary) 100%);padding:80px 24px 60px;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:-20% -10%;background:radial-gradient(circle at 20% 30%,rgba(0,182,122,.25) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(37,99,235,.2) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(124,58,237,.15) 0%,transparent 60%);filter:blur(80px);z-index:0;opacity:.8}.hero-section:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f9fafb66,#fff9);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);z-index:0}.hero-content{max-width:800px;margin:0 auto;text-align:center;position:relative;z-index:2}.hero-title{font-size:3.5em;font-weight:700;color:var(--color-text-primary);margin-bottom:16px;letter-spacing:-.02em}.hero-subtitle{font-size:1.25em;color:var(--color-text-secondary);margin-bottom:48px;font-weight:400}.hero-university-selector{margin-bottom:48px;position:relative;z-index:999999}.university-selector-wrapper{position:relative;display:inline-block;z-index:999999;isolation:isolate}.university-selector-container{display:flex;align-items:center;gap:0}.university-selector-text{font-size:1.25em;color:var(--color-text-secondary);font-weight:400;margin-right:4px}.university-selector-name-button{background:none;border:none;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:none}.university-selector-name-button:hover{background:none}.university-selector-name{color:var(--color-primary);font-weight:600;font-style:italic;text-decoration:underline;text-decoration-color:var(--color-primary);transition:text-decoration-thickness .2s ease;cursor:pointer}.university-selector-name-button:hover .university-selector-name{text-decoration-thickness:2px}.university-selector-arrow{color:var(--color-primary);transition:transform .2s ease;cursor:pointer;pointer-events:auto}.university-selector-arrow:hover{opacity:.7}.university-selector-arrow.open{transform:rotate(180deg)}.university-dropdown{position:fixed;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;box-shadow:0 10px 40px #00000026;min-width:280px;max-width:350px;z-index:999999;overflow:visible;max-height:calc(100vh - 200px)}.university-dropdown-list{max-height:calc(100vh - 250px);overflow-y:auto;overflow-x:visible;padding:4px 0}.university-dropdown-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 16px;background:none;border:none;text-align:left;cursor:pointer;transition:none}.university-dropdown-item:hover{background:none}.university-dropdown-item:hover .university-dropdown-name{color:var(--color-primary)}.university-dropdown-logo{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;flex-shrink:0}.university-dropdown-info{flex:1;display:flex;flex-direction:column;gap:1px}.university-dropdown-name{font-size:14px;font-weight:500;color:var(--color-text-primary);transition:color .2s ease}.university-dropdown-name.active{color:var(--color-primary);font-weight:600}.university-dropdown-count{color:var(--color-text-secondary);font-weight:400}.university-dropdown-full{font-size:12px;color:var(--color-text-secondary)}.university-dropdown-check{color:var(--color-primary);font-size:16px;font-weight:700;flex-shrink:0}.university-dropdown-empty{padding:24px 20px;text-align:center}.university-dropdown-empty-text{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.university-dropdown-empty-subtext{font-size:12px;color:var(--color-text-secondary);margin:0}.university-dropdown-divider{height:1px;background-color:var(--color-border-light);margin:4px 0}.university-dropdown-suggest{border-top:1px solid var(--color-border-light);margin-top:4px}.university-dropdown-plus{background-color:var(--color-bg-secondary)!important;color:var(--color-text-secondary);border:1px dashed var(--color-border-light)}.university-dropdown-suggest:hover .university-dropdown-name{color:var(--color-primary)}.university-dropdown-suggest:hover .university-dropdown-plus{border-color:var(--color-primary);color:var(--color-primary)}@media(max-width:640px){.university-dropdown{left:16px!important;right:16px!important;transform:none!important;min-width:auto;max-width:calc(100% - 32px);top:auto!important;bottom:0;margin:0;border-radius:16px 16px 0 0;max-height:70vh;z-index:999999;position:fixed}.university-dropdown-list{max-height:calc(70vh - 20px)}.university-selector-text{font-size:1em}.university-selector-name{display:block;margin-top:4px}.header-button{padding:6px 12px;font-size:12px;min-height:32px}.header-right{gap:6px}}.hero-search{display:flex;gap:0;max-width:600px;margin:0 auto;background:var(--color-bg-primary);border-radius:50px;box-shadow:var(--shadow-lg);overflow:hidden;border:2px solid var(--color-border-light);transition:all .3s ease}.hero-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px #00b67a1a,var(--shadow-lg)}.hero-search-input{flex:1;border:none;padding:18px 24px;font-size:16px;background:transparent;outline:none}.hero-search-input::placeholder{color:var(--color-text-muted)}.hero-search-button{background-color:var(--color-primary);color:#fff;border:none;padding:18px 32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;border-radius:0}.hero-search-button:hover{background-color:var(--color-primary-dark);transform:none}.top-contributors-page{min-height:100vh;background-color:var(--color-bg-primary);padding:16px 24px 60px}.top-contributors-page .container{position:relative;z-index:1;max-width:1200px;margin:0 auto}.top-contributors-page .back-link{display:inline-block;color:var(--color-primary);text-decoration:none;font-size:15px;font-weight:500;margin-bottom:5px;transition:all .2s ease}.top-contributors-page .back-link:hover{text-decoration:underline}.leaderboard-header{text-align:center;margin-bottom:32px;margin-top:0}.leaderboard-title{font-size:2.5em;font-weight:900;color:var(--color-text-primary);margin:0 0 8px;letter-spacing:.05em}.leaderboard-subtitle{font-size:16px;color:var(--color-text-secondary);margin:0}.top-three-section{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px;align-items:flex-end}.top-three-card{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.top-three-card.first-place{order:2;transform:scale(1.1)}.top-three-card.second-place{order:1}.top-three-card.third-place{order:3}.top-three-rank{font-size:18px;font-weight:700;color:var(--color-text-primary);margin-bottom:10px}.top-three-rank.gold{color:#fbbf24}.top-three-avatar-container{position:relative;margin-bottom:10px}.top-three-avatar{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:28px;border:3px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #0003;position:relative;z-index:2}.top-three-card.first-place .top-three-avatar{border-color:#fbbf24;box-shadow:0 4px 12px #fbbf2466}.top-three-crown{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:24px;z-index:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.top-three-wreath{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;z-index:1;pointer-events:none}.top-three-name{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:6px}.top-three-card.empty .top-three-name{color:var(--color-text-tertiary)}.top-three-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.top-three-badge{margin-bottom:8px}.top-three-score{font-size:24px;font-weight:700;color:var(--color-text-primary);margin-bottom:2px}.top-three-card.first-place .top-three-score{color:#fbbf24}.top-three-card.empty .top-three-score{color:var(--color-text-tertiary)}.top-three-label{font-size:12px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.top-three-card.empty .top-three-label{color:var(--color-text-tertiary)}.top-three-avatar.empty-avatar{background-color:var(--color-bg-secondary);color:var(--color-text-tertiary);border-color:var(--color-border-light)}.rest-contributors-section{margin-top:24px}.rest-contributors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.rest-contributor-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px;transition:all .2s ease;box-shadow:var(--shadow-sm)}.rest-contributor-card:hover:not(.empty){border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.rest-contributor-card.empty{opacity:.5;background-color:var(--color-bg-secondary)}.rest-contributor-rank{font-size:14px;font-weight:700;color:var(--color-text-primary);min-width:40px}.rest-contributor-card.empty .rest-contributor-rank{color:var(--color-text-tertiary)}.rest-contributor-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}.rest-contributor-info{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:12px}.rest-contributor-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rest-contributor-name{font-size:16px;font-weight:600;color:var(--color-text-primary)}.rest-contributor-card.empty .rest-contributor-name{color:var(--color-text-tertiary)}.rest-contributor-score{font-size:18px;font-weight:700;color:var(--color-text-primary);white-space:nowrap}.rest-contributor-card.empty .rest-contributor-score{color:var(--color-text-tertiary)}.rest-contributor-avatar.empty-avatar{background-color:var(--color-bg-secondary);color:var(--color-text-tertiary);border-color:var(--color-border-light)}.no-contributors{text-align:center;padding:60px 20px;color:#ffffffe6}.no-contributors p{font-size:18px;margin-bottom:24px}.find-courses-link{display:inline-block;padding:12px 24px;background-color:#fff3;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .2s ease;border:1px solid rgba(255,255,255,.3)}.find-courses-link:hover{background-color:#ffffff4d;transform:translateY(-2px)}.departments-overview-section{padding:60px 0;background-color:var(--color-bg-primary);border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light)}.departments-overview-title{font-size:2em;font-weight:700;color:var(--color-text-primary);margin:0 0 32px;padding:0 24px}.departments-overview-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border-light) transparent;padding:0 24px 24px;margin:0 -24px}.departments-overview-scroll::-webkit-scrollbar{height:8px}.departments-overview-scroll::-webkit-scrollbar-track{background:transparent}.departments-overview-scroll::-webkit-scrollbar-thumb{background-color:var(--color-border-light);border-radius:4px}.departments-overview-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}.departments-overview-grid{display:flex;gap:16px;min-width:max-content;padding-bottom:8px}.department-overview-card{min-width:280px;max-width:280px;background-color:var(--color-bg-primary);border:2px solid;border-radius:12px;padding:24px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;flex-shrink:0;height:240px}.department-overview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:currentColor;opacity:.3;transition:opacity .3s ease}.department-overview-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-width:3px}.department-overview-card:hover:before{opacity:.5;height:5px}.department-overview-name{font-size:1.2em;font-weight:700;margin:0;color:inherit;line-height:1.3;min-height:44px;display:flex;align-items:flex-start}.department-overview-stats-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-top:auto}.department-overview-rating-section{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.department-overview-rating-value{font-size:15px;font-weight:600;color:inherit}.department-overview-reviews-bracket{font-size:14px;color:inherit;opacity:.8;font-weight:500}.department-overview-no-rating{font-size:13px;color:var(--color-text-secondary);font-style:italic}.department-overview-courses-count{font-size:13px;color:inherit;opacity:.8;font-weight:500;white-space:nowrap;display:flex;align-items:center}.department-overview-courses-count svg{opacity:.9;flex-shrink:0}.departments-section{padding:30px 0 0;background-color:var(--color-bg-primary)}.department-section{margin-bottom:5px}.department-section:last-child{margin-bottom:0}.show-all-categories-section{margin:0;padding:0}.homepage-banner{padding:0;margin:40px 0}.homepage-banner .container{max-width:1200px;margin:0 auto;padding:0 24px}.homepage-banner-content{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:center;background:linear-gradient(135deg,#e0f7e0,#f0fdf4);border-radius:16px;padding:48px 40px;box-shadow:0 4px 20px #00000014}.homepage-banner-left{display:flex;flex-direction:column;gap:16px}.homepage-banner-title{font-size:2em;font-weight:700;color:var(--color-text-primary);margin:0}.homepage-banner-text{font-size:16px;line-height:1.6;color:var(--color-text-secondary);margin:0}.homepage-banner-button{align-self:flex-start;padding:12px 24px;background-color:var(--color-text-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.homepage-banner-button:hover{background-color:#1a1a1a;transform:translateY(-1px)}.homepage-banner-right{display:flex;justify-content:flex-end}.homepage-banner-card{background-color:#004d40;border-radius:12px;padding:24px;color:#fff;max-width:400px}.homepage-banner-card-title{font-size:18px;font-weight:700;margin:0 0 12px;color:#fff}.homepage-banner-card-text{font-size:14px;line-height:1.6;margin:0 0 16px;color:#ffffffe6}.homepage-banner-card-button{padding:10px 20px;background:transparent;color:#fff;border:1px solid white;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.homepage-banner-card-button:hover{background-color:#ffffff1a}.show-all-categories-section{text-align:center;padding:0;margin:0}.show-all-categories-button{padding:14px 32px;background-color:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.show-all-categories-button:hover{background-color:#00a870;transform:translateY(-2px);box-shadow:0 4px 12px #00b67a4d}.latest-reviews-section{padding:20px 0 0;background-color:var(--color-bg-primary);margin-top:0}.latest-reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.latest-reviews-title{font-size:2em;font-weight:700;color:var(--color-text-primary);margin:0}.latest-reviews-nav{display:flex;gap:8px}.latest-reviews-nav-button{width:40px;height:40px;border:1px solid var(--color-border-light);background-color:var(--color-bg-primary);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--color-text-primary)}.latest-reviews-nav-button:hover{border-color:var(--color-primary);background-color:var(--color-bg-secondary);color:var(--color-primary)}.latest-reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.latest-review-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px;transition:all .2s ease;cursor:pointer}.latest-review-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.latest-review-header{display:flex;align-items:center;gap:10px}.latest-review-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;flex-shrink:0}.latest-review-user-info{flex:1;min-width:0}.latest-review-name-row{display:flex;align-items:center;gap:6px}.latest-review-name{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0}.latest-review-rating{display:flex;align-items:center;gap:8px}.latest-review-time{font-size:12px;color:var(--color-text-tertiary);font-weight:400}.latest-review-text{font-size:13px;line-height:1.4;color:var(--color-text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;min-height:0;flex:1}.latest-review-course{padding-top:6px;border-top:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:2px}.latest-review-course-name{font-size:13px;font-weight:600;color:var(--color-text-primary)}.latest-review-course-code{font-size:12px;color:var(--color-text-secondary)}.department-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.department-title-wrapper{display:flex;align-items:center;gap:12px}.department-star-button{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:all .2s ease;border-radius:4px;flex-shrink:0}.department-star-button:hover{color:var(--color-primary);background-color:var(--color-bg-secondary)}.department-star-button.starred{color:#fbbf24}.department-star-button.starred:hover{color:#f59e0b}.department-title{font-size:1.5em;font-weight:700;color:var(--color-text-primary);margin:0}.see-more-button{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:8px 16px;font-size:14px;font-weight:600;border-radius:6px;transition:all .2s ease;white-space:nowrap}.see-more-button:hover{background-color:var(--color-bg-secondary);opacity:.9;transform:translateY(-1px)}.course-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%}.course-card-new{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:14px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:0;height:auto;min-height:180px;width:100%;overflow:hidden}.course-card-new:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.course-card-row-1{height:40px;display:flex;align-items:flex-start;flex-shrink:0;margin-bottom:8px}.course-card-title-new{font-size:15px;font-weight:600;color:var(--color-text-primary);line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:100%;width:100%;word-break:break-word}.course-card-row-2{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;margin-bottom:8px;flex-wrap:wrap;gap:4px}.course-card-new .course-card-row-2:not(:first-of-type){justify-content:flex-start;gap:12px}.course-card-new .course-card-row-2:not(:first-of-type) .course-card-ects{flex:0 0 auto;text-align:left}.course-card-new .course-card-row-2:not(:first-of-type) .course-card-language{flex:0 0 auto;justify-content:flex-start}.course-card-code{font-size:11px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex:1;text-align:left}.course-card-ects{font-size:11px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;flex:1;text-align:center}.course-card-language{display:flex;align-items:center;gap:6px;flex:1;justify-content:flex-end}.course-card-language svg{flex-shrink:0;color:var(--color-text-secondary);opacity:.7}.course-card-language .course-card-value{font-size:11px;color:var(--color-text-secondary);font-weight:500;white-space:nowrap}.course-card-row-3{display:flex;align-items:flex-start;gap:6px;flex-shrink:0;margin-bottom:10px;min-height:20px}.course-card-row-3 svg{flex-shrink:0;color:var(--color-text-secondary);opacity:.7;margin-top:2px}.course-card-time-value{font-size:12px;color:var(--color-text-secondary);font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.course-card-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:600}.course-card-value{font-size:12px;color:var(--color-text-secondary);font-weight:500}.course-card-row-4{display:flex;align-items:center;margin-top:auto;margin-bottom:0;height:22px;flex-shrink:0}.course-card-rating{display:flex;align-items:center;gap:4px}.rating-value{font-size:13px;font-weight:600;color:#424242;margin-left:2px}.reviews-count-inline{font-size:12px;font-weight:400;color:#424242}.no-rating{font-size:12px;color:var(--color-text-muted);font-style:italic}.course-card-reviews{display:flex;align-items:center;gap:3px;justify-content:flex-end}.reviews-count{font-size:14px;font-weight:700;color:var(--color-text-primary)}.reviews-label{font-size:12px;color:var(--color-text-tertiary)}.star-rating{display:inline-flex;gap:3px;align-items:center}.star-container{width:18px;height:18px;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden}.course-card-rating .star-rating .star-container{width:22px;height:22px;border-radius:4px}.star-icon{position:relative;z-index:1;width:60%;height:60%}.star-empty{background-color:#e0e0e0}.dark-mode .star-empty{background-color:#4a4a4a}.star-partial{background-color:#e0e0e0;position:relative}.dark-mode .star-partial{background-color:#4a4a4a}.star-partial-fill{position:absolute;top:0;left:0;height:100%;background-color:#4caf50;z-index:0}.loading-text,.no-results{text-align:center;padding:60px 20px;color:var(--color-text-tertiary);font-size:16px}.home-footer{background-color:var(--color-bg-secondary);padding:32px 0;margin-top:80px;border-top:1px solid var(--color-border-light);position:relative;z-index:1}.footer-nav{margin-top:0;padding-top:0;border-top:none;display:flex;gap:32px;justify-content:center;flex-wrap:wrap}.footer-nav a{color:#6b7280;font-size:15px;padding:8px 0;transition:all .2s ease;font-weight:500}.footer-nav a:hover{color:#00b67a;text-decoration:none}.footer-disclosure{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border-light);text-align:center}.footer-disclosure p{font-size:13px;color:var(--color-text-tertiary);line-height:1.6;max-width:800px;margin:0 auto}.footer-disclosure a{color:var(--color-primary);text-decoration:none;font-weight:500}.footer-disclosure a:hover{text-decoration:underline}.course-page{min-height:100vh;padding:0;background-color:#f9fafb}.course-page .container{padding-top:40px;padding-bottom:60px}.back-link{display:inline-flex;align-items:center;margin-bottom:32px;color:#6b7280;font-size:15px;padding:8px 0;transition:color .2s ease;font-weight:500}.dark-mode .back-link{color:#d1d5db}.back-link:hover{color:#00b67a;text-decoration:none}.course-header{background-color:#fff;padding:32px;border-radius:8px;margin-bottom:32px;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb}.course-header h1{margin-bottom:12px;font-size:2.25em}.course-header-meta{display:flex;gap:12px;flex-wrap:wrap}.course-code,.course-language,.course-ects{font-size:14px;color:#6b7280;font-weight:500;padding:6px 12px;background-color:#f9fafb;border-radius:4px;border:1px solid #e5e7eb}.course-language{color:#00b67a;background-color:#f0fdf4;border-color:#bbf7d0}.tips-section{margin-bottom:32px}.tips-section h2{font-size:1.5em;margin-bottom:24px;color:#1a1a1a;font-weight:600}.tips-list{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.tip-item{padding:24px 28px;border:1px solid #e5e7eb;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;transition:all .2s ease}.tip-item:hover{box-shadow:0 4px 12px #0000001a;border-color:#d1d5db}.tip-category{display:inline-block;font-size:11px;color:#6b7280;margin-bottom:14px;text-transform:uppercase;letter-spacing:.8px;font-weight:600;padding:6px 12px;background-color:#f9fafb;border-radius:4px;border:1px solid #e5e7eb}.tip-text{margin:0;white-space:pre-wrap;word-wrap:break-word;line-height:1.75;color:#374151;font-size:16px}.empty-state{padding:80px 40px;text-align:center;color:#6b7280;border:2px dashed #e5e7eb;background-color:#fff;border-radius:8px;font-size:16px;line-height:1.7}.add-tip-button{width:100%;margin-top:24px;padding:18px;font-size:17px;font-weight:600;background-color:#00b67a}.add-tip-button:hover{background-color:#00a870}.course-page-new{min-height:100vh;padding:0;background-color:var(--color-bg-primary)}.course-page-new .container{padding-top:24px;padding-bottom:0}.course-info-header{display:grid;grid-template-columns:1fr 420px;gap:32px;background-color:var(--color-bg-primary);padding:16px 24px;border-radius:8px;margin-bottom:16px;box-shadow:var(--shadow-sm);min-height:auto;height:auto;align-items:start;overflow:hidden}.course-info-left{display:flex;flex-direction:column;gap:8px;justify-content:flex-start;height:auto;width:100%}.course-title-main{font-size:1.5em;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.3;width:100%}.course-reviews-summary{display:flex;align-items:center;gap:10px;font-size:15px}.reviews-count-text{font-weight:600;color:var(--color-text-primary)}.reviews-separator{color:var(--color-text-muted)}.average-rating-value{font-weight:700;font-size:16px;color:var(--color-text-primary)}.no-reviews-yet{color:var(--color-text-muted);font-style:italic;font-size:14px}.course-meta-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-text-secondary)}.course-meta-item{font-weight:500}.course-department-row{display:flex;align-items:center;gap:8px;margin-top:4px;margin-bottom:4px;font-size:14px}.course-department-label{color:var(--color-text-secondary);font-weight:500}.course-department-value{color:var(--color-text-primary);font-weight:600}.course-dtu-link-row{margin-top:4px;margin-bottom:4px}.course-dtu-link{color:var(--color-primary);text-decoration:none;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:color .2s ease}.course-dtu-link:hover{color:var(--color-primary-dark);text-decoration:underline}.course-dtu-link:after{content:"↗";font-size:12px;opacity:.7}.course-meta-separator{color:var(--color-text-muted)}.course-info-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border-light)}.course-info-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--color-text-secondary)}.course-info-item{font-weight:500}.course-info-separator{color:var(--color-text-muted)}.course-badge-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--color-text-secondary);margin-top:8px}.badge-stats-label{font-weight:500}.badge-stat-item{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background-color:var(--color-bg-secondary);border-radius:4px}.badge-stat-icon{font-size:14px}.course-action-row{margin-top:8px;margin-bottom:0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.course-dtu-link-inline{color:var(--color-primary);text-decoration:none;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:color .2s ease}.course-dtu-link-inline:hover{color:var(--color-primary-dark);text-decoration:underline}.course-dtu-link-inline:after{content:"↗";font-size:12px;opacity:.7}.write-review-button-header{background-color:var(--color-primary);color:#fff;border:none;padding:10px 20px;font-size:15px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.write-review-button-header:hover,.write-review-button-header:active{background-color:var(--color-primary-dark)}.course-score-breakdown{background-color:var(--color-bg-secondary);padding:12px 16px;border-radius:8px;border:1px solid var(--color-border-light);height:auto;width:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow:visible}.score-main{display:grid;grid-template-columns:auto 1fr;gap:16px;margin-bottom:4px;align-items:start}.score-main-left{display:flex;flex-direction:column}.score-value-container{display:flex;align-items:center;gap:8px;margin-bottom:2px}.score-value{font-size:3em;font-weight:700;color:var(--color-text-primary);line-height:1}.score-info-icon,.sidebar-info-icon,.header-info-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-primary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.sidebar-info-icon{width:18px;height:18px;margin-left:4px}.header-info-icon{width:16px;height:16px;margin-left:4px}.score-info-icon:hover,.sidebar-info-icon:hover,.header-info-icon:hover{color:var(--color-primary-dark);transform:scale(1.1)}.sidebar-rating-value-container,.average-rating-container{display:flex;align-items:center;gap:4px}.score-label{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.score-stars{margin-bottom:2px}.score-reviews-text{font-size:14px;color:var(--color-text-secondary)}.score-distribution{display:flex;flex-direction:column;gap:4px;justify-content:flex-start}.distribution-item{display:grid;grid-template-columns:65px 1fr;gap:10px;align-items:center}.distribution-label{font-size:14px;color:var(--color-text-primary);font-weight:500;white-space:nowrap;display:flex;align-items:center;justify-content:flex-end}.distribution-bar-container{height:8px;background-color:#d1d5db;border-radius:4px;overflow:hidden;flex:1}.distribution-bar{height:100%;background-color:#374151;border-radius:4px;transition:width .3s ease;min-width:4px}.distribution-percentage{font-size:13px;color:var(--color-text-primary);text-align:right;min-width:40px;font-weight:500;min-width:20px}.score-separator{height:1px;background-color:var(--color-border-light);margin:8px 0}.score-footer{text-align:center;margin-top:4px;margin-bottom:0}.score-footer-link{font-size:14px;color:var(--color-text-primary);text-decoration:underline;transition:color .2s ease}.score-footer-link:hover{color:var(--color-primary)}.rating-info-popup-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;pointer-events:all;background-color:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.rating-info-popup{position:relative;background:linear-gradient(135deg,#fef3c7,#fde68a,#fff);border:2px solid #fbbf24;border-radius:12px;padding:0;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;min-width:320px;pointer-events:all;z-index:1000000;display:block;visibility:visible;opacity:1;transform:scale(1)}.rating-info-close{position:absolute;top:-32px;right:0;background:none;border:none;font-size:24px;font-weight:700;color:#6b7280;cursor:pointer;width:auto;height:auto;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s ease;z-index:1000001;line-height:1}.rating-info-close:hover{color:#1f2937}.rating-info-content{padding:20px;display:flex;flex-direction:column}.rating-info-content .rating-info-title,.rating-info-content .rating-info-text{text-align:left;width:100%}.rating-info-visual{width:100%;margin-bottom:20px}.rating-info-bar{width:100%;height:60px;background:linear-gradient(90deg,#84cc16,#65a30d);border-radius:8px;position:relative;display:flex;align-items:center;padding:0 20px;box-shadow:0 2px 8px #84cc1633}.rating-info-icon{position:absolute;left:50%;transform:translate(-50%);animation:ratingIconFloat 3s ease-in-out infinite;z-index:1}@keyframes ratingIconFloat{0%,to{transform:translate(-50%) translateY(0) rotate(0) scale(1);opacity:1}50%{transform:translate(-50%) translateY(-6px) rotate(5deg) scale(1.05);opacity:.95}}.rating-info-icon svg{display:block;filter:drop-shadow(0 2px 6px rgba(251,191,36,.4))}.rating-info-title{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 12px}.rating-info-text{font-size:14px;color:#374151;line-height:1.6;margin:0 0 16px}.rating-info-weights{display:flex;flex-direction:column;gap:10px;margin-top:16px}.rating-info-weight-item{display:flex;align-items:center;gap:12px;font-size:13px;color:#4b5563}.rating-info-weight-bar{width:60px;height:8px;border-radius:4px;flex-shrink:0}.rating-info-weight-bar.high{background:linear-gradient(90deg,#10b981,#059669)}.rating-info-weight-bar.moderate{background:linear-gradient(90deg,#f59e0b,#d97706)}.rating-info-weight-bar.low{background:linear-gradient(90deg,#94a3b8,#64748b)}.similar-courses-section-wrapper{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;margin-top:0;margin-bottom:8px}.similar-courses-section{padding:8px 0;background-color:var(--color-bg-secondary)}.similar-courses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.similar-courses-title-container{display:flex;align-items:center;gap:8px}.similar-courses-title{font-size:1.5em;font-weight:700;color:var(--color-text-primary);margin:0}.similar-courses-info-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-tertiary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.similar-courses-info-icon:hover{color:var(--color-primary)}.similar-courses-info-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;padding:12px 20px;background-color:#fff;border:1px solid var(--color-border-light);border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:14px;color:var(--color-text-primary);z-index:1000;min-width:240px;max-width:320px;width:max-content;text-align:left;line-height:1.5}.similar-courses-info-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#fff}.similar-courses-nav{display:flex;gap:8px}.similar-courses-nav-button{width:36px;height:36px;border-radius:50%;border:1px solid #3b82f6;background-color:#fff;color:#3b82f6;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.similar-courses-nav-button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}.similar-courses-nav-button:hover{background-color:#f0f9ff;border-color:#3b82f6;color:#3b82f6}.similar-courses-nav-button:disabled{background-color:#f3f4f6;border:1px solid #e5e7eb;color:#d1d5db;cursor:not-allowed}.similar-courses-nav-button:disabled svg{stroke:#d1d5db}.similar-courses-scroll{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.similar-courses-scroll::-webkit-scrollbar{display:none}.similar-courses-list{display:flex;gap:20px;padding-bottom:8px}.similar-courses-list .course-card-new{flex:0 0 220px;min-width:220px;cursor:pointer;padding:12px;min-height:140px}.course-listing-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:0;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;flex:0 0 320px;min-width:320px}.course-listing-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.course-listing-image{width:100%;height:180px;background-color:var(--color-bg-secondary);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.course-listing-image img{width:100%;height:100%;object-fit:cover}.course-listing-image-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);color:var(--color-text-tertiary)}.course-listing-image-empty svg{opacity:.3}.course-listing-category-badge{position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:12px;font-size:10px;font-weight:600;color:#fff;z-index:10;box-shadow:0 2px 4px #0003;pointer-events:none;text-transform:uppercase;letter-spacing:.3px}.course-listing-title{padding:12px 14px 8px;min-height:48px;display:flex;align-items:flex-start}.course-listing-title h3{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.course-listing-price{padding:0 14px 14px;display:flex;align-items:baseline;gap:2px}.course-listing-price-whole{font-size:22px;font-weight:700;color:#000}.course-listing-price-decimal{font-size:16px;font-weight:700;color:#000}.course-listing-price-currency{font-size:12px;font-weight:600;color:#000;margin-left:2px}.reviews-section{display:grid;grid-template-columns:360px 1fr;gap:32px;align-items:start}.reviews-content{order:2;display:flex;flex-direction:column;gap:0;max-width:600px}.reviews-sidebar{order:1;position:sticky;top:24px;background-color:transparent;border:none;border-radius:0;padding:0;box-shadow:none}.sidebar-content{display:flex;flex-direction:column;gap:24px}.sidebar-rating{display:flex;flex-direction:column;align-items:center;gap:8px;padding-bottom:20px;border-bottom:1px solid var(--color-border-light)}.sidebar-rating-value{font-size:2em;font-weight:700;color:var(--color-text-primary)}.sidebar-title{font-size:1.25em;font-weight:700;color:var(--color-text-primary)}.sidebar-subtitle{font-size:14px;color:var(--color-text-secondary)}.write-review-link{color:var(--color-primary);font-weight:500}.write-review-link:hover{text-decoration:underline}.rating-filters{display:flex;flex-direction:column;gap:2px;margin-top:4px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:16px;box-shadow:var(--shadow-sm)}.sidebar-listings-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border-light)}.sidebar-listings-title{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0 0 16px}.sidebar-listings-scroll{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;margin:0 -16px;padding:0 16px}.sidebar-listings-scroll::-webkit-scrollbar{height:6px}.sidebar-listings-scroll::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:3px}.sidebar-listings-scroll::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:3px}.sidebar-listings-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.sidebar-listings-list{display:flex;flex-direction:column;gap:12px;padding-bottom:8px;align-items:center}.sidebar-listing-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:0;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;width:80%}.sidebar-listing-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.sidebar-listing-image{width:100%;height:140px;background-color:var(--color-bg-secondary);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.sidebar-listing-image img{width:100%;height:100%;object-fit:cover}.sidebar-listing-image-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);color:var(--color-text-tertiary)}.sidebar-listing-image-empty svg{opacity:.3}.sidebar-listing-category-badge{position:absolute;top:6px;right:6px;padding:3px 8px;border-radius:10px;font-size:9px;font-weight:600;color:#fff;z-index:10;box-shadow:0 2px 4px #0003;pointer-events:none;text-transform:uppercase;letter-spacing:.3px}.sidebar-listing-title{padding:10px 12px 6px;min-height:40px;display:flex;align-items:flex-start}.sidebar-listing-title h4{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.sidebar-listing-price{padding:0 12px 12px;display:flex;align-items:baseline;gap:2px}.sidebar-listing-price-whole{font-size:18px;font-weight:700;color:#000}.sidebar-listing-price-decimal{font-size:14px;font-weight:700;color:#000}.sidebar-listing-price-currency{font-size:11px;font-weight:600;color:#000;margin-left:2px}.dark-mode .sidebar-listing-price-whole,.dark-mode .sidebar-listing-price-decimal,.dark-mode .sidebar-listing-price-currency{color:#fff!important}.rating-filter-item{display:grid;grid-template-columns:20px 65px 1fr 40px;gap:10px;align-items:center;cursor:pointer;padding:2px 8px;border-radius:6px;transition:all .2s ease}.rating-filter-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.dark-mode .rating-filter-item input[type=checkbox]{accent-color:var(--color-primary);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-medium);border-radius:3px;filter:brightness(.9)}.dark-mode .rating-filter-item input[type=checkbox]:checked{background-color:var(--color-primary);border-color:var(--color-primary);filter:brightness(1)}.filter-label{font-size:14px;color:var(--color-text-primary);font-weight:500;white-space:nowrap;display:flex;align-items:center}.filter-bar-container{height:8px;background-color:var(--color-bg-tertiary);border-radius:4px;overflow:hidden;flex:1}.filter-bar{height:100%;background-color:#374151;border-radius:4px;transition:background-color .2s ease,width .3s ease;min-width:4px}.rating-filter-item[data-rating="5"] .filter-bar{background-color:#22c55e}.rating-filter-item[data-rating="4"] .filter-bar{background-color:#84cc16}.rating-filter-item[data-rating="3"] .filter-bar{background-color:#eab308}.rating-filter-item[data-rating="2"] .filter-bar{background-color:#f97316}.rating-filter-item[data-rating="1"] .filter-bar{background-color:#ef4444}.filter-percentage{font-size:13px;color:var(--color-text-primary);text-align:right;font-weight:500;min-width:40px}.reviews-search-container{margin-bottom:16px}.reviews-search{display:flex;align-items:center;gap:12px;background-color:var(--color-bg-primary);border:1px solid #e5e7eb;border-radius:24px;padding:10px 16px;transition:all .2s ease;position:relative}.reviews-search:hover{border-color:#e5e7eb}.reviews-search:focus-within{border:2px solid #3b82f6;box-shadow:inset 0 0 0 1px #e5e7eb;background-color:var(--color-bg-primary)}.reviews-search-icon{color:var(--color-text-tertiary);flex-shrink:0;width:18px;height:18px;transition:color .2s ease}.reviews-search-input{flex:1;border:none;outline:none!important;background:transparent;font-size:15px;color:var(--color-text-primary);font-family:inherit;padding:0}.reviews-search-input::placeholder{color:var(--color-text-muted)}.reviews-search-clear{background:#0000000d;border:none;padding:6px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:all .2s ease;flex-shrink:0;width:24px;height:24px}.reviews-search-clear:hover{background:#0000001a;color:var(--color-text-primary)}.home-page-rows{min-height:100vh;background-color:var(--color-bg-primary);padding:0;width:100%;margin:0}.rows-hero-search-section{width:100%;background-color:#fcfaf6;padding:80px 24px;position:relative;overflow:hidden;margin-bottom:0;background-image:radial-gradient(circle at 0% 0%,rgba(249,115,22,.15) 0%,transparent 40%),radial-gradient(circle at 0% 100%,rgba(234,179,8,.2) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(34,197,94,.15) 0%,transparent 40%)}.rows-hero-search-container{max-width:800px;margin:0 auto;text-align:center;position:relative;z-index:1}.rows-hero-title{font-size:48px;font-weight:700;color:#000;margin:0 0 16px;line-height:1.2;letter-spacing:-.02em}.rows-hero-subtitle{font-size:20px;color:#666;margin:0 0 40px;line-height:1.5;font-weight:400}.rows-hero-search-wrapper{display:flex;gap:12px;max-width:100%;width:100%;align-items:stretch}.rows-hero-university-selector{position:relative;flex-shrink:0;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.rows-hero-university-select{appearance:none;background:transparent;border:none;outline:none;font-size:18px;font-weight:500;color:#000;padding:20px 40px 20px 20px;cursor:pointer;font-family:inherit;min-width:120px}.rows-hero-university-select:disabled{cursor:not-allowed;opacity:.7}.rows-hero-university-chevron{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:#666}.rows-hero-university-selector:has(.rows-hero-university-select:disabled) .rows-hero-university-chevron{opacity:.5}.rows-hero-search-bar{display:flex;align-items:center;background-color:#fff;border-radius:12px;padding:4px 4px 4px 20px;box-shadow:0 4px 12px #0000001a;flex:1;gap:12px}.rows-hero-search-icon{color:#9ca3af;flex-shrink:0}.rows-hero-search-input{flex:1;border:none;outline:none;font-size:18px;padding:16px 0;color:#000;background:transparent;font-family:inherit}.rows-hero-search-input::placeholder{color:#9ca3af}.rows-hero-search-clear{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:#9ca3af;transition:color .2s ease;flex-shrink:0}.rows-hero-search-clear:hover{color:#666}@media(max-width:768px){.rows-hero-search-section{padding:60px 16px}.rows-hero-title{font-size:32px}.rows-hero-subtitle{font-size:18px;margin-bottom:32px}.rows-hero-search-wrapper{flex-direction:column;gap:12px}.rows-hero-university-selector{width:100%}.rows-hero-university-select{width:100%;font-size:16px;padding:16px 40px 16px 16px;min-width:auto}.rows-hero-search-bar{padding:4px 4px 4px 16px}.rows-hero-search-input{font-size:16px;padding:14px 0}}.page-header-section{background-color:#faf9f6;padding:32px 24px;margin-bottom:24px;width:100%;max-width:100%}.page-header-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.page-header-title{font-size:32px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px;line-height:1.2;letter-spacing:-.02em}.page-header-subtitle-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:0}.page-header-subtitle{font-size:16px;color:var(--color-text-secondary);margin:0;flex:1}.page-header-action-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.page-header-action-btn:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.page-header-search{flex:1;min-width:200px;margin-top:0}.page-search-bar{display:flex;align-items:center;gap:10px;background-color:var(--color-bg-secondary);border:none;border-radius:12px;padding:10px 14px;transition:all .2s ease;min-height:44px;max-width:100%}@media(min-width:769px){.rows-search-section{margin-top:24px}.rows-search-section .page-search-bar{margin-top:5px;margin-bottom:5px}.rows-filter-buttons-section{display:flex;gap:12px;margin-bottom:32px;padding:20px 0;border-bottom:1px solid var(--color-border-light);flex-wrap:wrap}.rows-filter-dropdown-wrapper{position:relative}.rows-filter-dropdown-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background-color:#fff;border:1px solid var(--color-border-light);border-radius:8px;font-size:14px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.rows-filter-dropdown-button:hover{border-color:var(--color-primary);background-color:#f0fdf4}.rows-filter-dropdown-button.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.rows-filter-dropdown-button.active svg:first-of-type{color:#fff}.rows-filter-dropdown-chevron{transition:transform .2s ease;flex-shrink:0}.rows-filter-dropdown-chevron.open{transform:rotate(180deg)}.rows-filter-dropdown{position:absolute;top:calc(100% + 8px);left:0;background-color:#fff;border:1px solid var(--color-border-light);border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:200px;max-width:300px;max-height:300px;overflow-y:auto;z-index:100;padding:8px 0}.rows-filter-dropdown-scrollable{max-height:400px}.rows-filter-dropdown-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:14px;color:var(--color-text-primary);cursor:pointer;transition:background-color .2s ease;gap:8px}.rows-filter-dropdown-option:hover{background-color:#f9fafb}.rows-filter-dropdown-option.selected{background-color:#f0fdf4;color:var(--color-primary);font-weight:500}.rows-filter-dropdown-option.selected svg{color:var(--color-primary);flex-shrink:0}.rows-latest-reviewed-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0;padding:0}.marketplace-content-search{margin-top:24px}}.page-search-bar:hover{border:none;box-shadow:none}.page-search-bar:focus-within{border:none;box-shadow:none}.page-search-icon{color:var(--color-text-tertiary);flex-shrink:0;width:18px;height:18px;transition:color .2s ease}.page-search-bar:focus-within .page-search-icon{color:var(--color-text-tertiary)}.page-search-input{flex:1;border:none!important;outline:none!important;background:transparent;font-size:20px;color:var(--color-text-primary);font-family:inherit;padding:0;line-height:1.5;box-shadow:none}.page-search-input:focus{border:none;outline:none;box-shadow:none}.page-search-input::placeholder{color:var(--color-text-tertiary)}.page-search-input:focus{border:none!important;outline:none!important;box-shadow:none!important}.page-search-input::placeholder{color:#9ca3af;font-weight:400}.page-search-clear{background:var(--color-bg-secondary);border:none;padding:6px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:all .2s ease;flex-shrink:0}.page-search-clear:hover{background:#ef44441a;color:#ef4444;transform:scale(1.1)}@media(max-width:768px){.page-header-section{padding:40px 20px}.page-header-title{font-size:28px}.page-header-subtitle-row{flex-direction:column;align-items:flex-start;gap:12px}.page-header-subtitle{font-size:15px}.page-header-action-btn{width:100%;justify-content:center}.page-header-search{width:100%}}@media(max-width:480px){.page-header-section{padding:32px 16px}.page-header-title{font-size:24px}.page-header-subtitle{font-size:14px}}.rows-hero-section{background-color:#faf9f6;padding:80px 24px 60px;position:relative;overflow:hidden;margin-bottom:24px;width:100%;max-width:100%}.rows-hero-content{max-width:1200px;margin:0 auto;position:relative;z-index:2;text-align:center}.rows-hero-title{font-size:3em;font-weight:700;color:var(--color-text-primary);margin:0 0 16px;line-height:1.2}.rows-hero-subtitle{font-size:1.25em;color:var(--color-text-secondary);margin:0 0 40px}.rows-background-shapes{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.rows-hero-section .animated-grid{z-index:1}.rows-shape{position:absolute;border-radius:50%;opacity:.15;filter:blur(60px)}.rows-shape-orange{width:500px;height:500px;background:linear-gradient(135deg,#ff6b35,#f7931e);top:-200px;right:-150px}.rows-shape-yellow{width:600px;height:600px;background:linear-gradient(135deg,#ffd93d,#ffc107);bottom:-250px;left:-200px}.rows-shape-teal{width:550px;height:550px;background:linear-gradient(135deg,#00b67a,#14b8a6);bottom:-200px;right:-150px}.rows-page-container{width:100%;max-width:100%;padding:0;margin:0}.rows-search-container{margin-bottom:0;width:100%;display:flex;justify-content:center;align-items:center;gap:12px;padding:0;box-sizing:border-box}.rows-search{display:flex;align-items:center;gap:12px;background-color:#fff;border:2px solid #e5e7eb;border-radius:32px;padding:14px 16px 14px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;max-width:700px;width:100%;box-sizing:border-box;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.rows-search:hover{border-color:#d1d5db;box-shadow:0 10px 15px -3px #00000014,0 4px 6px -2px #0000000a;transform:translateY(-1px)}.rows-search:focus-within{border-color:#3b82f6;box-shadow:0 10px 25px -5px #3b82f640,0 8px 10px -6px #3b82f626;transform:translateY(-2px)}.rows-search-icon-left{color:#9ca3af;flex-shrink:0;transition:color .2s ease}.rows-search:focus-within .rows-search-icon-left{color:#3b82f6}.rows-search-button{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0;box-shadow:0 4px 6px -1px #3b82f64d,0 2px 4px -1px #3b82f633}.rows-search-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:scale(1.08) translateY(-1px);box-shadow:0 10px 15px -3px #3b82f666,0 4px 6px -2px #3b82f64d}.rows-search-button:active{transform:scale(.96) translateY(0);box-shadow:0 2px 4px -1px #3b82f64d}.rows-search-input{flex:1;border:none;outline:none;background:transparent;font-size:16px;color:var(--color-text-primary);font-family:inherit;padding:0;line-height:1.5;box-shadow:none}.rows-search-input:focus{outline:none;border:none;box-shadow:none}.rows-search-input::placeholder{color:#9ca3af;font-weight:400}.rows-search-clear{background:#0000000a;border:none;padding:6px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;width:28px;height:28px}.rows-search-clear:hover{background:#ef44441a;color:#ef4444;transform:scale(1.1)}.rows-search-clear:active{transform:scale(.95)}.rows-main-layout{display:flex;gap:0;align-items:flex-start;width:100%;box-sizing:border-box}.rows-sidebar{width:320px;flex-shrink:0;background-color:var(--color-bg-primary);border-right:none;padding:14px 18px;position:sticky;top:64px;align-self:flex-start;max-height:calc(100vh - 64px);overflow-y:auto;margin-left:0;border-radius:0;z-index:10}.marketplace-sidebar-course-wrapper{position:relative;width:100%}.marketplace-sidebar-course-input{width:100%;padding:8px 28px 8px 10px;border:1px solid var(--color-border-light);border-radius:4px;font-size:13px;color:var(--color-text-primary);background:#fff;transition:border-color .2s ease;box-sizing:border-box}.marketplace-sidebar-course-input:focus{outline:none;border-color:var(--color-primary)}.marketplace-sidebar-course-input::placeholder{color:var(--color-text-tertiary)}.marketplace-sidebar-clear-course{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:color .2s ease;width:20px;height:20px;flex-shrink:0}.marketplace-sidebar-clear-course:hover{color:var(--color-text-primary)}.marketplace-sidebar-course-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--color-border-light);border-radius:4px;box-shadow:0 4px 12px #0000001a;max-height:250px;overflow-y:auto;z-index:1000}.marketplace-sidebar-course-option{padding:8px 10px;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;gap:6px;font-size:13px}.marketplace-sidebar-course-option:hover{background:var(--color-bg-secondary)}.marketplace-sidebar-price-wrapper{display:flex;align-items:center;gap:6px;position:relative}.marketplace-sidebar-currency{font-size:12px;color:var(--color-text-secondary);font-weight:500;flex-shrink:0}.marketplace-sidebar-price-input{flex:1;padding:8px 28px 8px 10px;border:1px solid var(--color-border-light);border-radius:4px;font-size:13px;color:var(--color-text-primary);background:#fff;transition:border-color .2s ease;min-width:0}.marketplace-sidebar-price-input:focus{outline:none;border-color:var(--color-primary)}.marketplace-sidebar-price-input::placeholder{color:var(--color-text-tertiary)}.marketplace-sidebar-clear-price{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:color .2s ease;width:20px;height:20px;flex-shrink:0}.marketplace-sidebar-clear-price:hover{color:var(--color-text-primary)}.rows-sidebar-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--color-border-light)}.rows-filter-section{margin-bottom:24px}.rows-filter-section:last-child{margin-bottom:0}.rows-filter-section-title{font-size:14px;font-weight:700;color:var(--color-text-primary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.rows-institutions-section{margin-bottom:0}.rows-institutions-section-title{font-size:14px;font-weight:700;color:var(--color-text-primary);margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.rows-institution-card{background-color:#fff;border:1px solid var(--color-border-light);border-radius:12px;padding:16px;margin-bottom:16px;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.rows-institution-card:last-child{margin-bottom:0}.rows-institution-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--color-primary);transform:translateY(-2px)}.rows-institution-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.rows-institution-logo{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:#f9fafb}.rows-institution-name{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0}.rows-institution-description{font-size:13px;color:var(--color-text-secondary);line-height:1.6;margin:0 0 12px}.rows-institution-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-primary);text-decoration:none;transition:all .2s ease}.rows-institution-link:hover{color:var(--color-primary-dark);gap:8px}.rows-institution-link svg{transition:transform .2s ease}.rows-institution-link:hover svg{transform:translate(2px,-2px)}.rows-filter-options{display:flex;flex-direction:column;gap:4px}.rows-filter-option{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer;font-size:14px;color:var(--color-text-primary);transition:color .2s ease}.rows-filter-option:hover{color:var(--color-primary)}.rows-filter-option input[type=checkbox]{margin:0;cursor:pointer;width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0}.rows-filter-option.selected{color:var(--color-primary);font-weight:600}.rows-filter-option span{flex:1;cursor:pointer}.rows-rating-filter{display:flex;flex-direction:column;gap:4px}.rows-rating-option{display:flex;align-items:center;gap:6px}.rows-rating-option span{font-size:13px;color:var(--color-text-secondary)}.rows-see-more-link{display:flex;align-items:center;gap:4px;background:none;border:none;padding:6px 0;cursor:pointer;font-size:13px;color:#0066c0;text-decoration:none;margin-top:4px;transition:color .2s ease}.rows-see-more-link:hover{color:#c45500;text-decoration:underline}.rows-see-more-link svg{flex-shrink:0;width:12px;height:12px}@media(max-width:768px){.rows-hero-section{padding:60px 20px 40px}.rows-hero-title{font-size:2.5em}.rows-hero-subtitle{font-size:1.1em;margin-bottom:32px}.rows-main-layout{flex-direction:column;gap:16px}.rows-sidebar{width:100%;position:static;max-height:none}.rows-content{margin-left:0;width:100%;max-width:100%;padding-left:0}.rows-search{max-width:100%}}@media(max-width:480px){.rows-hero-section{padding:40px 16px 32px}.rows-hero-title{font-size:2em;margin-bottom:12px}.rows-hero-subtitle{font-size:1em;margin-bottom:24px}}.rows-content{flex:1;min-width:0;padding:0 20px;box-sizing:border-box;background-color:transparent;display:flex;flex-direction:column;visibility:visible}.marketplace-container .rows-content{padding:0;width:100%}.rows-latest-reviews-section-top{width:100%;margin:0 0 24px;padding:0;background-color:transparent;border-radius:0}@media(min-width:769px){.rows-latest-reviews-section-top{display:block}}.marketplace-results{max-width:100%;margin:0;width:100%}.marketplace-container .rows-content{width:100%;padding:0;max-width:100%}.marketplace-container .rows-sidebar{display:none!important}.rows-content-main{padding:0 24px 24px;max-width:1100px}.rows-content-main:after{content:none;display:none}.rows-featured-courses{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.rows-featured-course-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:12px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px;min-height:140px}.rows-featured-course-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.rows-featured-course-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.rows-featured-course-code{font-size:11px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.rows-featured-course-rating{display:flex;align-items:center;gap:4px;flex-shrink:0}.rows-featured-rating-value{font-size:13px;font-weight:700;color:var(--color-text-primary);line-height:1}.rows-featured-course-title{font-size:15px;font-weight:600;color:var(--color-text-primary);line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:42px;flex:1}.rows-featured-course-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;border-top:1px solid var(--color-border-light)}.rows-featured-course-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;flex:1}.rows-featured-course-degree,.rows-featured-course-ects,.rows-featured-course-language{color:var(--color-text-secondary);font-weight:500}.rows-featured-reviews-count{font-size:11px;color:var(--color-text-secondary);font-weight:500;white-space:nowrap;flex-shrink:0}@media(max-width:1024px){.rows-featured-courses{grid-template-columns:repeat(3,1fr);gap:16px}}@media(max-width:768px){.rows-featured-courses{grid-template-columns:1fr;gap:16px}.rows-featured-course-card{min-height:auto}.rows-featured-course-title{height:auto;min-height:48px}}@media(min-width:769px){.rows-search-section{max-width:800px;width:800px}}.rows-departments-wrapper{display:flex;gap:24px;align-items:flex-start}.rows-departments-container{border:none;border-radius:0;overflow:visible;background-color:transparent;width:100%;max-width:100%;box-sizing:border-box}@media(min-width:769px){.rows-departments-wrapper{display:flex;gap:24px;align-items:flex-start}.rows-departments-container{max-width:700px;width:700px;flex-shrink:0}.rows-reviews-sidebar{display:flex;flex-direction:column;gap:16px;flex:1;min-width:280px;max-width:350px}}.rows-no-courses-found{padding:48px 24px;text-align:center;max-width:600px;margin:0 auto}.rows-no-courses-message{font-size:16px;line-height:1.6;color:var(--color-text-secondary);margin:0 0 24px}.rows-no-courses-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.rows-suggest-course-button{padding:12px 24px;background-color:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.rows-suggest-course-button:hover,.rows-suggest-course-button:active{background-color:var(--color-primary-dark)}.rows-see-all-container{display:flex;justify-content:center;padding:32px 0;margin-top:24px}.rows-see-all-button{padding:12px 32px;background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.rows-see-all-button:hover{background-color:var(--color-primary);color:#fff}.rows-see-all-button:active{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.rows-clear-filters-button{padding:12px 24px;background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.rows-clear-filters-button:hover{background-color:var(--color-primary);color:#fff}.rows-clear-filters-button:active{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}@media(max-width:768px){.rows-departments-wrapper{flex-direction:column}.rows-departments-container{max-width:100%;width:100%}.rows-ads-sidebar,.rows-reviews-sidebar{display:none}}@media(min-width:769px){.rows-reviews-sidebar{display:flex;flex-direction:column;gap:16px;flex:1;min-width:280px;max-width:350px;align-self:flex-start;position:sticky;top:64px;max-height:calc(100vh - 64px);overflow-y:auto}.rows-reviews-sidebar-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px}.rows-reviews-sidebar-list{display:flex;flex-direction:column;gap:16px}.rows-sidebar-review-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:20px;transition:all .2s ease;box-shadow:0 1px 3px #0000000d;min-height:200px}.rows-sidebar-review-card:hover{box-shadow:0 4px 8px #0000001a;border-color:var(--color-primary)}.rows-sidebar-review-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.rows-sidebar-review-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;font-size:12px;font-weight:600;color:#fff}.rows-sidebar-review-user-info{flex:1;min-width:0}.rows-sidebar-review-name{font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rows-sidebar-review-time{font-size:11px;color:var(--color-text-tertiary)}.rows-sidebar-review-rating{display:flex;align-items:center;gap:6px;margin-bottom:8px}.rows-sidebar-review-text{font-size:13px;color:var(--color-text-secondary);line-height:1.6;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.rows-sidebar-review-course{font-size:12px;color:var(--color-primary);font-weight:500;padding-top:8px;border-top:1px solid var(--color-border-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rows-sidebar-review-course:hover{text-decoration:underline}.rows-sidebar-review-course-code{color:var(--color-text-tertiary);font-weight:400}}@media(max-width:768px){.rows-reviews-sidebar{display:none}}.rows-departments-container>div{margin-bottom:16px}.rows-departments-container>div:last-child{margin-bottom:0}.rows-department-group{margin-bottom:16px;border:1px solid var(--color-border-light);border-radius:4px;background-color:var(--color-bg-primary);overflow:visible}.rows-department-group:last-child{margin-bottom:0}.rows-department-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:12px 16px;background-color:var(--color-bg-primary);border:none;gap:12px;position:sticky;top:72px;z-index:100;box-shadow:0 2px 4px #0000000d;border-radius:4px 4px 0 0;cursor:pointer}.rows-department-group:has(.rows-courses-list) .rows-department-header{border-bottom:1px solid var(--color-border-light)}.rows-star-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.rows-star-button:hover{color:var(--color-primary);transform:scale(1.1);background-color:transparent}.rows-star-button.starred{color:#fbbf24}.rows-star-button.starred:hover{color:#f59e0b;background-color:transparent}.rows-expand-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.rows-expand-button:hover{color:var(--color-text-primary);background-color:var(--color-bg-secondary);border-radius:4px}.rows-star-button svg{width:18px;height:18px;transition:all .2s ease}.rows-department-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0;flex:1}.rows-department-course-count{font-size:14px;font-weight:400;color:var(--color-text-secondary);margin-left:4px}.rows-department-rating{display:flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap;margin-left:12px}.rows-sort-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:6px;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.rows-sort-button:hover{background-color:var(--color-bg-secondary);border-color:#3b82f6;color:#3b82f6}.rows-sort-button.active{background-color:#f0f9ff;border-color:#3b82f6;color:#3b82f6}.rows-sort-button svg{flex-shrink:0;width:18px;height:18px}.rows-courses-list{display:flex;flex-direction:column;gap:0;border:none;border-top:none;border-radius:0;overflow:hidden;background-color:var(--color-bg-primary);padding-left:24px}.rows-department-group:last-child .rows-courses-list{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.rows-department-group:last-child .rows-course-row:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.rows-course-row{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:all .2s ease}.rows-course-row:last-child{border-bottom:none}.rows-course-row:hover{background-color:var(--color-bg-secondary)}.rows-course-row-1{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;width:100%;margin-bottom:2px}@media(min-width:769px){.rows-course-rating-desktop{display:flex!important}.rows-course-rating-mobile{display:none!important}.rows-course-row-2{justify-content:flex-start}.rows-course-metadata{display:flex;align-items:center;gap:12px;flex-wrap:wrap}}.rows-course-title-wrapper{display:flex;align-items:flex-start;gap:8px;flex:1}.rows-course-title{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0;flex:1;line-height:1.3}.rows-course-title-wrapper .rows-course-code{font-size:15px;font-weight:600;color:var(--color-text-primary);flex-shrink:0}.rows-course-rating{display:flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap}.rows-rating-value{font-size:14px;font-weight:600;color:#424242}.rows-reviews-count{font-size:14px;font-weight:400;color:#424242}.rows-no-rating{font-size:12px;color:var(--color-text-muted);font-style:italic}.rows-course-row-2{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--color-text-secondary);line-height:1.4}.rows-course-degree-level{font-weight:600;color:var(--color-text-primary)}.rows-course-ects,.rows-course-language{color:var(--color-text-secondary)}.rows-course-time{display:flex;align-items:center;gap:6px;color:var(--color-text-secondary)}.rows-course-time svg{flex-shrink:0;color:var(--color-text-secondary);opacity:.7}.rows-top-courses-section{margin:20px 0;padding:20px 0;background-color:#00b67a14;border-radius:8px}.rows-top-courses-container{padding:0 24px}.rows-top-courses-title{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 16px}.rows-top-courses-grid{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--color-border-light) transparent;padding-bottom:8px;-webkit-overflow-scrolling:touch}.rows-top-courses-grid::-webkit-scrollbar{height:8px}.rows-top-courses-grid::-webkit-scrollbar-track{background:transparent}.rows-top-courses-grid::-webkit-scrollbar-thumb{background-color:var(--color-border-light);border-radius:4px}.rows-top-courses-grid::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}.rows-top-courses-grid .course-card-new{flex:0 0 280px;min-width:280px;max-width:280px}@media(max-width:768px){.rows-top-courses-section{margin:16px 0;padding:16px 0}.rows-top-courses-container{padding:0 16px}.rows-top-courses-title{font-size:20px;margin-bottom:12px}.rows-top-courses-grid .course-card-new{flex:0 0 260px;min-width:260px;max-width:260px}}@media(max-width:480px){.rows-top-courses-grid .course-card-new{flex:0 0 240px;min-width:240px;max-width:240px}}.rows-latest-reviews-section{margin:0 0 20px;padding:0;background-color:transparent;border-radius:0}@media(min-width:769px){.rows-latest-reviews-section{display:none}}.rows-latest-reviews-container{padding:0}.rows-latest-reviews-title-wrapper{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rows-latest-reviews-title{font-size:22px;font-weight:700;color:var(--color-text-primary);margin:0}.rows-latest-reviews-nav{display:flex;gap:8px;align-items:center}.rows-latest-reviews-nav-button{width:32px;height:32px;border:1px solid var(--color-border-light);background-color:var(--color-bg-primary);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;padding:0}.rows-latest-reviews-nav-button:hover:not(:disabled){background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-medium)}.rows-latest-reviews-nav-button:disabled{opacity:.4;cursor:not-allowed;background-color:var(--color-bg-secondary)}.rows-latest-reviews-grid{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--color-border-light) transparent;padding-bottom:8px;-webkit-overflow-scrolling:touch}.rows-latest-reviews-grid::-webkit-scrollbar{height:8px}.rows-latest-reviews-grid::-webkit-scrollbar-track{background:transparent}.rows-latest-reviews-grid::-webkit-scrollbar-thumb{background-color:var(--color-border-light);border-radius:4px}.rows-latest-reviews-grid::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}.rows-latest-reviews-grid .latest-review-card{flex:0 0 280px;min-width:280px;max-width:280px}@media(max-width:768px){.rows-latest-reviews-section{margin:16px 0;padding:16px 0}.rows-latest-reviews-container{padding:0 16px}.rows-latest-reviews-title{font-size:20px;margin-bottom:12px}.rows-latest-reviews-grid .latest-review-card{flex:0 0 260px;min-width:260px;max-width:260px}}@media(max-width:480px){.rows-latest-reviews-grid .latest-review-card{flex:0 0 240px;min-width:240px;max-width:240px}}.loading-text,.no-results{text-align:center;padding:40px 20px;color:var(--color-text-secondary);font-size:16px}.reviews-list{display:flex;flex-direction:column;gap:16px}.review-item{background-color:var(--color-bg-primary);border:none;border-radius:8px;padding:16px;box-shadow:none}.review-header{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;margin-bottom:8px}.review-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px;flex-shrink:0;transition:transform .2s ease,opacity .2s ease;object-fit:cover;aspect-ratio:1 / 1}.review-avatar:hover{transform:scale(1.05);opacity:.9}.review-name-section{display:flex;flex-direction:column;gap:4px}.review-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-count{font-size:13px;color:var(--color-text-tertiary);white-space:nowrap}.review-name{font-weight:600;color:var(--color-text-primary);font-size:16px;transition:color .2s ease}.review-name:hover{color:#0077b5}.review-meta{font-size:13px;color:var(--color-text-tertiary);width:100%;overflow:hidden}.review-meta>div{width:100%;overflow:hidden}.review-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.badge{display:inline-flex;align-items:center;gap:4px;padding:0;border-radius:0;font-size:12px;font-weight:600;line-height:1;vertical-align:middle}.badge svg{display:block;flex-shrink:0}.badge-small{font-size:11px}.badge-small svg{width:18px;height:18px}.badge-medium{font-size:12px}.badge-medium svg{width:24px;height:24px}.badge-large{font-size:14px}.badge-large svg{width:32px;height:32px}.badge-icon{font-size:1em;line-height:1}.badge-label{font-size:.9em}.badge{position:relative}.badge-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;z-index:1000;pointer-events:none;animation:tooltipFadeIn .2s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.badge-tooltip-content{background-color:#1f2937;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;position:relative}.badge-tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#1f2937}.badge-tooltip-title{font-weight:600;margin-bottom:4px}.badge-tooltip-description{font-size:11px;opacity:.9;white-space:normal;max-width:200px}.review-date{font-size:13px;color:var(--color-text-tertiary);white-space:nowrap;margin-left:auto}.review-rating{display:flex;align-items:center;gap:8px;margin-bottom:8px}.review-rating .review-date{margin-left:0}.review-comment{font-size:15px;color:var(--color-text-secondary);line-height:1.6;margin-bottom:12px;white-space:pre-wrap}.review-edit-form{margin-bottom:16px}.review-edit-rating{display:flex;align-items:center;gap:12px;margin-bottom:16px}.review-edit-label{font-size:14px;font-weight:600;color:var(--color-text-primary)}.review-edit-stars{display:flex;gap:2px;align-items:center}.review-edit-star-button{background:none;border:none;padding:2px;cursor:pointer;display:flex;align-items:center;transition:transform .2s ease;opacity:.3}.review-edit-star-button.selected{opacity:1}.review-edit-star-button:hover{transform:scale(1.15);opacity:.8}.review-edit-star-button.selected:hover{opacity:1}.review-edit-rating-value{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-left:8px}.review-edit-textarea{width:100%;min-height:120px;padding:12px;border:1px solid var(--color-border-light);border-radius:8px;resize:vertical;font-family:inherit;font-size:15px;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);margin-bottom:12px;transition:border-color .2s ease}.review-edit-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00b67a1a}.review-edit-error{color:#ef4444;font-size:14px;margin-bottom:12px;padding:8px 12px;background-color:#ef44441a;border-radius:6px;border-left:3px solid #ef4444}.review-edit-actions{display:flex;gap:12px;justify-content:flex-end}.review-edit-cancel,.review-edit-save{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-family:inherit}.review-edit-cancel{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-light)}.review-edit-cancel:hover:not(:disabled){background-color:var(--color-bg-tertiary)}.review-edit-save{background-color:var(--color-primary);color:#fff}.review-edit-save:hover:not(:disabled){background-color:var(--color-bg-secondary);opacity:.9}.review-edit-cancel:disabled,.review-edit-save:disabled{opacity:.6;cursor:not-allowed}.review-actions{display:flex;gap:16px;padding-top:12px;border-top:1px solid var(--color-border-light)}.review-action-button{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--color-text-tertiary);font-size:14px;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease;font-weight:500}.review-action-button:hover:not(:disabled){background-color:var(--color-bg-secondary);color:var(--color-text-secondary)}.review-action-button:disabled{cursor:default}.review-action-button.liked{color:var(--color-primary)}.review-action-button.reported{color:var(--color-error)}.review-delete-button{color:#666}.review-delete-button:hover{background-color:#fee2e2;border-color:#ef4444;color:#dc2626}.review-action-button svg{width:16px;height:16px}.review-helpful-count{font-size:12px;font-weight:600;margin-left:2px}.empty-reviews{text-align:center;padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:20px}.empty-reviews p{font-size:16px;color:var(--color-text-secondary);margin:0}.empty-reviews-animated{text-align:center;padding:32px 24px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe,#f0f9ff);background-size:200% 200%;border:2px dashed var(--color-primary);border-radius:12px;animation:gradientShift 8s ease infinite;position:relative;overflow:hidden}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.empty-reviews-content{position:relative;z-index:1}.first-reviewer-icon{margin-bottom:16px;display:flex;justify-content:center}.trophy-container{position:relative;display:inline-block}.trophy-icon{width:60px;height:60px;color:#fbbf24;animation:trophyBounce 2s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(251,191,36,.3))}@keyframes trophyBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.05)}}@keyframes thumbsUp{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(-5deg)}75%{transform:translateY(-4px) rotate(5deg)}}.trophy-icon .sparkle{color:#fbbf24;opacity:0;animation:sparkle 2s ease-in-out infinite}.trophy-icon .sparkle-1{animation-delay:0s}.trophy-icon .sparkle-2{animation-delay:.5s}.trophy-icon .sparkle-3{animation-delay:1s}@keyframes sparkle{0%,to{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.first-reviewer-title{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0 0 12px;background:linear-gradient(135deg,var(--color-primary) 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titlePulse 2s ease-in-out infinite}@keyframes titlePulse{0%,to{opacity:1}50%{opacity:.8}}.first-reviewer-text{font-size:14px;color:var(--color-text-secondary);line-height:1.5;max-width:500px;margin:0 auto}.first-reviewer-badge{display:inline-block;padding:12px 24px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fbbf24;border-radius:24px;animation:badgeGlow 2s ease-in-out infinite}@keyframes badgeGlow{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 20px 5px #fbbf2466}}.badge-text{font-size:16px;font-weight:700;color:#92400e;display:flex;align-items:center;gap:8px}.write-review-button{background-color:var(--color-primary);color:#fff;border:none;padding:12px 24px;font-size:16px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease}.write-review-button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.write-review-page{min-height:100vh;padding:0;background-color:var(--color-bg-secondary)}.write-review-page .container{padding-top:40px;padding-bottom:60px;max-width:800px}.review-form-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:16px 24px;box-shadow:var(--shadow-sm);margin-bottom:24px}.review-form-header{text-align:left}.review-form-title{font-size:1.5em;font-weight:700;color:var(--color-text-primary);margin-bottom:4px;text-align:left}.review-form-course{font-size:14px;color:var(--color-text-tertiary);text-align:left;margin-bottom:0}.review-badge-progress{margin-bottom:24px;padding:16px 20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid var(--color-primary);border-radius:8px;text-align:center;display:flex;flex-direction:column;gap:8px}.badge-earn-message{font-size:16px;font-weight:600;color:var(--color-primary);margin:0}.badge-earn-message.pioneer-badge-message{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:12px 16px;border-radius:8px;border:2px solid #fbbf24;margin-bottom:8px;font-weight:600}.badge-earn-message.pioneer-badge-message.anonymous-warning{border-color:#f59e0b;background:linear-gradient(135deg,#fef3c7,#fde68a);opacity:.9}.badge-progress-message{font-size:15px;color:var(--color-text-primary);margin:0;line-height:1.5}.badge-max-message{font-size:15px;color:var(--color-text-primary);margin:0;font-weight:500}.review-form{display:flex;flex-direction:column;gap:24px;width:100%;position:relative}.review-submitting-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.review-submitting-content{background-color:#fff;padding:32px 40px;border-radius:12px;text-align:center;box-shadow:0 10px 40px #0003;max-width:400px;width:90%}.review-submitting-spinner{width:48px;height:48px;border:4px solid rgba(0,182,122,.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}.review-submitting-text{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.review-submitting-hint{font-size:14px;color:var(--color-text-secondary);margin:0}.rating-section{text-align:left;padding:32px;background-color:var(--color-bg-secondary);border-radius:8px}.review-form-course-title{font-size:1.75em;font-weight:700;color:var(--color-text-primary);margin:0 0 16px;text-align:left}.rating-question{font-size:1.25em;font-weight:600;color:var(--color-text-primary);margin-bottom:24px;text-align:left}.rating-input-container{display:flex;justify-content:flex-start;align-items:center}.interactive-star-rating{display:flex;gap:12px;align-items:center;justify-content:center}.star-button{background-color:var(--color-bg-tertiary);border:none;padding:8px;cursor:pointer;color:var(--color-rating-empty);transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:4px;width:48px;height:48px}.star-button:hover{background-color:var(--color-bg-secondary);transform:scale(1.05)}.star-button.active{background-color:var(--color-bg-secondary)}.star-button svg{width:32px;height:32px;display:block}.comment-section{padding:32px;background-color:var(--color-bg-secondary);border-radius:8px;margin-top:-12px}.comment-title{font-size:1.25em;font-weight:700;color:var(--color-text-primary);margin-bottom:16px}.review-comment-textarea{width:100%;min-height:200px;padding:18px;border:2px solid var(--color-border-light);border-radius:8px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:all .2s ease}.review-comment-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00b67a1a}.review-comment-textarea::placeholder{color:var(--color-text-muted)}.review-comment-textarea:disabled{background-color:var(--color-bg-secondary);cursor:not-allowed;opacity:.6}.review-form-actions{display:flex;gap:12px;justify-content:center;padding-top:16px}.review-submit-button{background-color:var(--color-border-light);color:var(--color-text-muted);border:none;padding:16px 32px;font-size:16px;font-weight:600;border-radius:6px;cursor:not-allowed;transition:all .2s ease;min-width:160px}.review-submit-button.enabled{background-color:var(--color-primary);color:#fff;cursor:pointer}.review-submit-button.enabled:hover{background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.review-submit-button:disabled:not(.enabled){opacity:.6}.review-cancel-button{background-color:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border-light);padding:16px 32px;font-size:16px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;min-width:160px}.review-cancel-button:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-medium)}.add-tip-page{min-height:100vh;padding:0;background-color:#f9fafb}.add-tip-page .container{padding-top:40px;padding-bottom:60px}.add-tip-page .course-name{color:#6b7280;margin-bottom:32px;font-size:16px;font-weight:500}.tip-form{display:flex;flex-direction:column;gap:28px;background-color:#fff;padding:40px;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #00000014}.form-group{display:flex;flex-direction:column;gap:12px}.form-group label{font-weight:600;font-size:15px;color:#374151}.dark-mode .form-group label{color:#fff}.category-select{width:100%;padding:14px 18px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;cursor:pointer}.tip-textarea{width:100%;min-height:200px;padding:18px;border:1px solid #d1d5db;border-radius:6px;resize:vertical;font-family:inherit;line-height:1.7}.char-count{font-size:13px;color:#9ca3af;text-align:right;margin-top:6px}.error-message{color:#dc2626;font-size:14px;margin-top:8px;font-weight:500}.form-actions{display:flex;gap:12px;margin-top:12px}.submit-button{flex:1;padding:18px;font-size:16px;font-weight:600;background-color:#00b67a;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.submit-button:hover:not(:disabled){background-color:#00a870;transform:translateY(-1px);box-shadow:0 4px 12px #00b67a4d}.submit-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{background-color:#fff;color:#374151;border:1px solid #d1d5db;flex:1;padding:18px;font-size:16px;font-weight:500}.cancel-button:hover{background-color:#f9fafb;border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.about-page{min-height:100vh;padding:0;background-color:#f9fafb}.about-page .container{padding-top:40px;padding-bottom:60px}.about-content{display:flex;flex-direction:column;gap:24px;line-height:1.8;background-color:#fff;padding:48px;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #00000014}.about-section{margin-bottom:32px}.about-section:last-child{margin-bottom:0}.about-section h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 16px;line-height:1.3}.about-content p{font-size:17px;color:#374151;line-height:1.75;margin:0 0 16px}.about-content p:last-child{margin-bottom:0}.about-content strong{font-weight:600;color:var(--color-text-primary)}.privacy-terms-page{min-height:100vh;padding:0;background-color:#f9fafb}.privacy-terms-page .container{padding-top:40px;padding-bottom:60px;max-width:900px}.privacy-terms-content{background-color:#fff;padding:48px;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #00000014}.privacy-terms-content h1{font-size:32px;font-weight:700;color:#000;margin-bottom:8px}.last-updated{font-size:14px;color:#6b7280;margin-bottom:32px;font-style:italic}.privacy-terms-section{margin-bottom:48px}.privacy-terms-section:last-of-type{margin-bottom:0}.privacy-terms-section h2{font-size:24px;font-weight:700;color:#000;margin-top:0;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e5e7eb}.privacy-terms-section h3{font-size:18px;font-weight:600;color:#374151;margin-top:24px;margin-bottom:12px}.privacy-terms-section p{font-size:16px;color:#374151;line-height:1.75;margin-bottom:16px}.privacy-terms-section ul{margin:16px 0;padding-left:24px}.privacy-terms-section li{font-size:16px;color:#374151;line-height:1.75;margin-bottom:12px}.privacy-terms-section li strong{color:#000;font-weight:600}.privacy-terms-footer{margin-top:48px;padding-top:32px;border-top:1px solid #e5e7eb}.suggest-page{min-height:100vh;padding:0;background-color:#f9fafb}.dark-mode .suggest-page{background-color:var(--color-bg-primary)}.suggest-page .container{padding-top:40px;padding-bottom:60px}.suggest-page .container h1{color:#1a1a1a}.dark-mode .suggest-page .container h1{color:#fff}.feedback-form{display:flex;flex-direction:column;gap:28px;background-color:#fff;padding:40px;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #00000014}.dark-mode .feedback-form{background-color:var(--color-bg-secondary);border-color:var(--color-border-light)}.form-required-hint{font-weight:400;color:#6b7280;font-size:.9em}.dark-mode .form-required-hint{color:#d1d5db}.feedback-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:15px;transition:border-color .2s ease;background-color:#fff;color:#1a1a1a}.dark-mode .feedback-input{background-color:var(--color-bg-primary);border-color:var(--color-border-light);color:var(--color-text-primary)}.feedback-input:focus{outline:none;border-color:#00b67a;box-shadow:0 0 0 3px #00b67a1a}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:15px;color:#1a1a1a}.dark-mode .checkbox-label{color:#fff}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#00b67a;flex-shrink:0}.checkbox-label span{-webkit-user-select:none;user-select:none}.dark-mode .checkbox-label span{color:#fff}.feedback-textarea{width:100%;min-height:150px;padding:18px;border:1px solid #d1d5db;border-radius:6px;resize:vertical;font-family:inherit;line-height:1.7;background-color:#fff;color:#1a1a1a}.dark-mode .feedback-textarea{background-color:var(--color-bg-primary);border-color:var(--color-border-light);color:var(--color-text-primary)}.success-message{padding:80px 40px;text-align:center;color:#1a1a1a;background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #00000014}.dark-mode .success-message{background-color:var(--color-bg-secondary);border-color:var(--color-border);color:var(--color-text-primary)}.success-message p{margin-bottom:12px;font-size:17px;color:#374151}.dark-mode .success-message p{color:var(--color-text-secondary)}.success-message p:first-child{color:#00b67a;font-weight:600;font-size:20px}.category-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.category-option{display:flex;align-items:center;justify-content:center;padding:12px 16px;border:1.5px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .15s ease;background-color:#fff;flex:1;min-width:120px;text-align:center}.dark-mode .category-option{background-color:var(--color-bg-primary);border-color:var(--color-border-light)}.category-option:hover{border-color:#00b67a;background-color:#f0fdf4}.dark-mode .category-option:hover{background-color:#00b67a1a}.category-option.selected{border-color:#00b67a;background-color:#00b67a;color:#fff;box-shadow:0 0 0 2px #00b67a1a}.category-option-label{font-weight:500;font-size:14px;color:#1a1a1a;width:100%;text-align:center}.dark-mode .category-option-label{color:var(--color-text-primary)}.category-option.selected .category-option-label{color:#fff}.form-error{padding:12px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px}.dark-mode .form-error{background-color:#dc262626;border-color:#dc26264d;color:#fca5a5}.form-hint{display:block;margin-top:8px;font-size:13px;color:#6b7280}.dark-mode .form-hint{color:#d1d5db}@media(max-width:768px){.header-container{padding:12px 16px;gap:12px;min-height:64px}.header-left{margin-right:auto;display:flex;align-items:center;gap:8px}.header-university-selector-mobile{position:relative;margin-left:12px}.header-university-selector-button-mobile{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;min-height:32px}.header-university-selector-button-mobile:hover{background-color:var(--color-bg-primary);border-color:var(--color-primary)}.header-university-selector-button-mobile svg{width:14px;height:14px;flex-shrink:0}.header-university-dropdown-mobile{position:absolute;top:calc(100% + 8px);left:0;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;box-shadow:var(--shadow-md);min-width:120px;z-index:1000;padding:8px;overflow:hidden}.header-university-option-mobile{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:none;border:none;border-radius:6px;text-align:left;font-size:14px;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;gap:8px}.header-university-option-mobile:hover{background-color:var(--color-bg-secondary)}.dark-mode .header-university-option-mobile:hover{background-color:#00b67a1a}.header-university-option-mobile.selected{background-color:var(--color-bg-secondary);font-weight:600}.dark-mode .header-university-option-mobile.selected{background-color:#00b67a26}.header-university-option-mobile svg{width:16px;height:16px;flex-shrink:0;stroke:var(--color-primary)}.logo-text{font-size:20px}.logo-image{height:28px;width:28px}.header-center{margin:0 8px;gap:16px;flex:0 0 auto}.header-nav-link{padding:10px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.header-nav-link svg{display:block;width:24px;height:24px}.header-nav-button{padding:6px 10px;font-size:13px;gap:4px}.header-nav-button span{display:none}.header-right{gap:8px}.header-button{padding:8px 12px;font-size:13px;min-height:36px;gap:6px}.profile-picture,.profile-avatar{width:36px;height:36px;font-size:14px}.header-icon-circle{width:44px;height:44px;min-width:44px;min-height:44px}.header-icon-circle svg{width:22px;height:22px}.profile-avatar-circle{font-size:16px}.header-profile-button.header-icon-circle{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.header-profile-button.header-icon-circle .profile-avatar-circle{width:40px!important;height:40px!important}.header-profile-button.header-icon-circle .profile-avatar-circle svg{width:40px!important;height:40px!important}.profile-dropdown{min-width:160px;right:-8px}.profile-dropdown-item{padding:10px 14px;font-size:14px}.top-contributors-button{display:none}}@media(max-width:480px){.header-container{padding:8px 12px;gap:6px}.logo-text{font-size:18px}.logo-image{height:24px;width:24px}.header-center{margin:0 4px;gap:2px}.header-nav-button{padding:6px 8px;font-size:12px}.header-button{padding:6px 10px;font-size:12px;min-height:32px}.profile-picture,.profile-avatar{width:32px;height:32px;font-size:12px}.header-icon-circle{width:32px;height:32px}.header-icon-circle svg{width:16px;height:16px}.header-profile-button.header-icon-circle{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.header-profile-button.header-icon-circle .profile-avatar-circle{width:28px!important;height:28px!important}.header-profile-button.header-icon-circle .profile-avatar-circle svg{width:28px!important;height:28px!important}.profile-avatar-circle{font-size:16px}.profile-dropdown{min-width:140px;right:-12px}}@media(max-width:768px){.container{padding:24px 16px}.hero-search{flex-direction:column;border-radius:12px}.hero-search-button{border-radius:0 0 10px 10px}.department-header{flex-direction:column;align-items:flex-start;gap:12px}.department-title{font-size:1.25em}.course-cards-grid{grid-template-columns:repeat(2,1fr);gap:12px}.course-card-new{width:100%;padding:14px;min-height:auto;height:auto}.course-card-title-new{font-size:14px}.course-card-label{font-size:10px}.course-card-value{font-size:12px}.hero-section{padding:60px 20px 40px}.hero-title{font-size:2.5em}.hero-subtitle{font-size:1.1em}.homepage-banner-content{padding:40px 32px}.homepage-banner-title{font-size:1.75em}.latest-reviews-grid{grid-template-columns:repeat(2,1fr);gap:16px}.rating-value,.reviews-count{font-size:12px}.reviews-label{font-size:11px}.star{width:12px;height:12px}.course-info-header{grid-template-columns:1fr;gap:24px;height:auto;min-height:200px;padding:16px;margin-left:0;margin-right:0;border-radius:0}.newversion-course-page-wrapper .course-page{padding:16px 0}.newversion-course-page-wrapper .course-page-new .container{padding-left:0;padding-right:0;padding-top:16px}.course-info-left{order:-1}.course-score-breakdown{order:0;height:auto}.course-title-main{font-size:1.75em}.course-reviews-summary{font-size:17px}.average-rating-value{font-size:18px}.no-reviews-yet{font-size:16px}.course-meta-row{font-size:15px}.course-department-row,.course-department-value,.course-dtu-link,.course-dtu-link-inline{font-size:16px}.write-review-button-header{font-size:17px;padding:12px 24px}.course-badge-stats{font-size:15px}.badge-stat-icon{font-size:16px}.score-value{font-size:3.5em}.score-label{font-size:20px}.score-reviews-text{font-size:16px}.distribution-item{font-size:15px}.distribution-label{font-size:16px}.distribution-percentage{font-size:15px}.score-footer-link{font-size:16px}.review-content{font-size:16px;line-height:1.6}.review-date{font-size:15px}.review-author-name{font-size:16px}.reviews-section{grid-template-columns:1fr}.reviews-sidebar{position:static;margin-bottom:24px}.review-header{grid-template-columns:52px 1fr;gap:10px}.review-avatar{width:48px;height:48px;font-size:16px;border-radius:50%;object-fit:cover;aspect-ratio:1 / 1}.course-header{padding:24px}.course-header h1{font-size:1.75em}.form-actions{flex-direction:column}.submit-button,.cancel-button{width:100%}.tip-form,.feedback-form,.about-content{padding:24px}.about-section{margin-bottom:24px}.about-section h2{font-size:20px;margin-bottom:12px}.about-content p{font-size:16px;margin-bottom:12px}.tip-item{padding:20px}}.auth-page{height:100vh;max-height:100vh;background-color:#fff;display:flex;align-items:stretch;overflow:hidden;position:fixed;inset:0;width:100%}.dark-mode .auth-page,.dark-mode .auth-left,.dark-mode .auth-right{background-color:#fff!important}.dark-mode .auth-brand-text,.dark-mode .auth-header h1{color:#1a1a1a!important}.dark-mode .auth-subtitle{color:#666!important}.dark-mode .form-group label{color:#fff!important}.dark-mode .form-group input,.dark-mode .form-group select{background-color:#fff!important;color:#1a1a1a!important;border-color:#e0e0e0!important}.dark-mode .form-group input::placeholder{color:#999!important}.dark-mode .form-hint{color:#d1d5db!important}.dark-mode .terms-checkbox-label,.dark-mode .auth-footer,.dark-mode .auth-footer p{color:#1a1a1a!important}.dark-mode .auth-toggle-button{color:var(--color-primary)!important}.dark-mode .auth-promo-content,.dark-mode .auth-promo-title{color:#1a1a1a!important}.dark-mode .auth-promo-description{color:#666!important}.dark-mode .auth-stat-number{color:#1a1a1a!important}.dark-mode .auth-stat-label{color:#666!important}.dark-mode .auth-error{background-color:#dc26261a!important;color:#dc2626!important}.dark-mode .auth-success{background-color:#00b67a1a!important;color:#00b67a!important}.dark-mode .forgot-password-text,.dark-mode .reset-email-hint,.dark-mode .verification-hint{color:#666!important}.dark-mode .auth-secondary-button{color:#1a1a1a!important;border-color:#e0e0e0!important}.dark-mode .auth-secondary-button:hover{background-color:#f5f5f5!important;border-color:#d0d0d0!important}.dark-mode .email-link-sent-message,.dark-mode .email-link-sent-message p,.dark-mode .email-link-sent-message strong{color:#1a1a1a!important}.auth-container{display:flex;width:100%;height:100vh;overflow:hidden}.auth-left{flex:1;background-color:#fff;padding:32px 64px;display:flex;flex-direction:column;justify-content:center;max-width:600px;margin:0 auto;width:100%;overflow-y:auto;max-height:100vh}.auth-branding{display:flex;align-items:center;gap:12px;margin-bottom:32px;text-decoration:none;cursor:pointer;transition:opacity .2s ease;width:fit-content}.auth-branding:hover{opacity:.8;text-decoration:none}.auth-logo{width:40px;height:40px;border-radius:8px;object-fit:cover}.auth-brand-text{font-size:24px;font-weight:700;color:#1a1a1a;letter-spacing:-.02em}.auth-header{margin-bottom:24px}.auth-header h1{font-size:2em;font-weight:700;color:#1a1a1a;margin-bottom:6px;line-height:1.2}.auth-subtitle{font-size:15px;color:#666;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px;position:relative}.form-group label{font-size:14px;font-weight:600;color:var(--color-text-primary)}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;color:#999;pointer-events:none;z-index:1}.form-group input,.form-group select{padding:10px 16px 10px 48px;font-size:16px;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;color:#1a1a1a;transition:border-color .2s ease;font-family:inherit;width:100%}.form-group select{padding-left:16px}.university-select-disabled{background-color:#f5f5f5!important;cursor:not-allowed!important;opacity:.7}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00b67a1a}.form-options{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.remember-me-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#1a1a1a;-webkit-user-select:none;user-select:none}.remember-me-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary);margin:0}.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.form-hint{font-size:12px;color:var(--color-text-tertiary);margin-top:-4px}.terms-checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;line-height:1.5;color:var(--color-text-primary)}.terms-checkbox-label input[type=checkbox]{margin-top:2px;cursor:pointer;width:18px;height:18px;flex-shrink:0;accent-color:var(--color-primary)}.terms-checkbox-label span{flex:1}.anonymous-checkbox-label,.anonymous-checkbox-label span,.dark-mode .anonymous-checkbox-label,.dark-mode .anonymous-checkbox-label span{color:var(--color-text-primary)!important}.anonymous-checkbox-container p,.dark-mode .anonymous-checkbox-container p{color:var(--color-text-secondary)!important}.terms-link{color:var(--color-primary);text-decoration:underline;font-weight:500}.terms-link:hover{color:#00a066}.auth-submit-button{padding:12px 24px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;width:100%;margin-top:8px}.auth-submit-button-signin{background-color:var(--color-primary);color:#fff}.auth-submit-button-signin:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-1px)}.auth-submit-button-signup{background-color:#6366f1;color:#fff;border:2px solid #6366f1}.auth-submit-button-signup:hover:not(:disabled){background-color:#4f46e5;border-color:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.onboarding-progress{margin-bottom:32px}.progress-steps{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;position:relative}.progress-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;z-index:1}.progress-step-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;background-color:var(--color-bg-secondary);color:var(--color-text-tertiary);border:2px solid var(--color-border-light);transition:all .3s ease;margin-bottom:8px}.progress-step.active .progress-step-number,.progress-step.completed .progress-step-number{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.progress-step-label{font-size:12px;color:var(--color-text-tertiary);font-weight:500;text-align:center;transition:color .3s ease}.progress-step.active .progress-step-label,.progress-step.completed .progress-step-label{color:var(--color-text-primary);font-weight:600}.progress-bar{height:4px;background-color:var(--color-bg-secondary);border-radius:2px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background-color:var(--color-primary);border-radius:2px;transition:width .3s ease}.onboarding-page-wrapper{min-height:100vh;display:flex;flex-direction:column;background-color:#fff}.onboarding-page-wrapper .auth-page{position:relative;height:auto;max-height:none;overflow:visible;flex:1}.onboarding-step{margin-top:8px}.verification-message{text-align:center;margin-bottom:24px;padding:16px;background-color:var(--color-bg-secondary);border-radius:8px}.verification-message p{margin:8px 0;color:var(--color-text-primary);font-size:14px}.verification-message strong{color:var(--color-text-primary);font-weight:600}.verification-hint{font-size:13px;color:#666;margin-top:4px}.onboarding-actions{display:flex;gap:12px;margin-top:8px}.onboarding-actions .auth-submit-button,.onboarding-actions .auth-secondary-button{flex:1;margin-top:0}.profile-picture-preview{margin-top:12px;text-align:center}.profile-picture-preview img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border-light)}.form-group textarea{padding:12px 16px;font-size:15px;border:1px solid var(--color-border-light);border-radius:6px;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .2s ease;font-family:inherit;resize:vertical;min-height:100px}.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00b67a1a}.form-group textarea:disabled{opacity:.6;cursor:not-allowed}.form-group input[type=file]{padding:8px;font-size:16px;border:1px solid var(--color-border-light);border-radius:6px;background-color:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer}.form-group input[type=file]:disabled{opacity:.6;cursor:not-allowed}.auth-error{padding:12px 16px;background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:20px}.auth-success{padding:12px 16px;background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:6px;color:#059669;font-size:14px;margin-bottom:20px}.auth-success p{margin:0}.forgot-password-link{background:none;border:none;color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;padding:4px 0;text-align:left;margin-top:4px;text-decoration:underline;transition:color .2s ease}.forgot-password-link:hover{color:var(--color-primary-dark)}.forgot-password-link:disabled{opacity:.5;cursor:not-allowed}.forgot-password-form{margin-top:8px}.forgot-password-text{font-size:14px;color:var(--color-text-secondary);margin-bottom:20px;line-height:1.5}.reset-email-sent{margin-top:8px}.reset-email-hint{font-size:13px;margin-top:8px;opacity:.9}.auth-secondary-button{padding:12px 24px;font-size:15px;font-weight:500;background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-light);border-radius:6px;cursor:pointer;transition:all .2s ease;width:100%;margin-top:12px;font-family:inherit}.auth-secondary-button:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border)}.auth-secondary-button:disabled{opacity:.5;cursor:not-allowed}.auth-right{flex:1;background:none;background-color:#fff;background-image:none;display:flex;align-items:stretch;justify-content:center;padding:48px;position:relative;overflow:hidden;overflow-y:auto;max-height:100vh}.auth-promo-content{display:flex;flex-direction:column;justify-content:center;height:100%;width:100%;color:#fff;max-width:500px;z-index:1}.auth-promo-illustration{flex:0 0 auto;display:flex;align-items:center;justify-content:center;margin-bottom:16px;min-height:0;width:100%}.auth-illustration-img{width:100%;height:auto;object-fit:contain;max-width:600px;max-height:400px}.auth-promo-text{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-start;text-align:center;margin-top:0}.auth-promo-title{font-size:2em;font-weight:700;margin-bottom:12px;line-height:1.2}.auth-promo-description{font-size:16px;line-height:1.6;margin-bottom:32px;color:#000}.auth-promo-stats{display:flex;justify-content:space-around;gap:24px}.auth-stat{text-align:center}.auth-stat-number{font-size:2em;font-weight:700;margin-bottom:6px;line-height:1}.auth-stat-label{font-size:14px;opacity:.9}.auth-footer{text-align:center;margin-top:20px}.auth-footer p{font-size:14px;color:#666}.auth-toggle-button{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;padding:0;font-size:inherit;text-decoration:none;transition:color .2s ease}.auth-toggle-button:hover{color:var(--color-primary-dark);text-decoration:underline}.email-info-button{position:relative}.email-info-popup{position:absolute;top:100%;left:0;margin-top:8px;z-index:1000;width:280px;animation:popupFadeIn .2s ease-out}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.email-info-popup-content{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;box-shadow:0 4px 16px #00000026;position:relative}.email-info-popup-content h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#1a1a1a}.email-info-popup-content p{margin:0;font-size:14px;line-height:1.5;color:#333}.email-info-popup-close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;line-height:1}.email-info-popup-close:hover{background:#f0f0f0;color:#333}.header-user-info{display:flex;align-items:center;gap:8px;margin-right:8px}.header-user-name{font-size:14px;color:#fff;font-weight:500}.header-loading{color:#fff;font-size:14px;opacity:.7}.notification-button{background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px;display:flex;align-items:center;justify-content:center;min-width:40px}.notification-button:hover{background-color:#ffffff1a;border-color:#ffffff80}.signout-button{background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);margin-left:8px}.signout-button:hover{background-color:#ffffff1a;border-color:#ffffff80}@media(max-width:1024px){.auth-container{flex-direction:column}.auth-right{display:none}}@media(max-width:768px){.auth-page{position:relative;height:auto;min-height:100vh;overflow:visible}.auth-container{height:auto;min-height:100vh;overflow:visible}.auth-left{padding:24px 24px 100px;max-width:100%;overflow-y:visible;max-height:none;justify-content:flex-start}.auth-branding{margin-bottom:32px}.auth-header h1,.auth-promo-title{font-size:2em}.auth-footer{position:sticky;bottom:0;background:#fff;padding:16px 0 24px;margin-top:32px;border-top:1px solid #e0e0e0;z-index:10}.auth-signup-link-button{box-shadow:0 -4px 12px #0000001a!important}.auth-promo-stats{flex-direction:column;gap:24px}}@media(max-width:480px){.auth-left{padding:16px}.auth-branding{margin-bottom:12px}.auth-brand-text{font-size:18px}.auth-header{margin-bottom:16px}.auth-header h1{font-size:1.5em;margin-bottom:6px}.auth-subtitle{font-size:13px}.form-group{margin-bottom:14px}.form-group label{font-size:13px;margin-bottom:5px}.form-group input,.form-group select{padding:9px 12px;font-size:16px}.auth-submit-button{padding:11px 20px;font-size:15px;margin-top:6px}.auth-footer{margin-top:16px;padding:10px 0 12px}.auth-signup-link-button{padding:13px 20px;font-size:14px}.email-info-popup{width:calc(100vw - 32px);max-width:300px;left:auto;right:0}.email-info-popup-content{padding:12px}.email-info-popup-content h3{font-size:14px;margin-bottom:8px}.email-info-popup-content p{font-size:12px}.auth-promo-icon{width:80px;height:80px}.auth-promo-title{font-size:1.75em}.auth-promo-description{font-size:16px}}.profile-page{min-height:100vh;background-color:#fff;padding:32px 0}.dark-mode .profile-page{background-color:var(--color-bg-primary)}.profile-page .container{padding:0 24px;max-width:1200px;margin:0 auto;display:flex;justify-content:center}.profile-page:has(.admin-dashboard-layout){padding:32px 0}.profile-page:has(.admin-dashboard-layout) .container{padding:0!important;max-width:100%!important;width:100%!important;margin:0!important;box-sizing:border-box}.profile-page:has(.admin-dashboard-layout) .profile-content{display:block!important;grid-template-columns:none!important;width:100%!important;max-width:100%!important;gap:0!important;padding:0;box-sizing:border-box}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border-light);gap:24px}.profile-header-main{display:flex;align-items:center;gap:16px;flex:1}.profile-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:24px;flex-shrink:0}.profile-info{display:flex;flex-direction:column;gap:4px}.profile-name{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0}.profile-location{font-size:14px;color:var(--color-text-secondary);margin:0}.profile-referral-code{margin-top:12px}.profile-referral-label{font-size:12px;color:var(--color-text-secondary);font-weight:500;display:block;margin-bottom:8px}.profile-referral-code-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit}.profile-referral-code-button:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.profile-referral-code-button:hover .profile-referral-code-text{color:#fff}.profile-referral-code-text{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:18px;font-weight:700;color:var(--color-primary);letter-spacing:2px;transition:color .2s ease}.profile-referral-code-icon{font-size:18px;opacity:.7;transition:opacity .2s ease}.profile-referral-code-button:hover .profile-referral-code-icon{opacity:1}.profile-referral-hint{font-size:11px;color:var(--color-text-tertiary);display:block;margin-top:8px}.profile-stats{display:flex;gap:24px;align-items:center}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.profile-stat-value{font-size:20px;font-weight:700;color:var(--color-text-primary);line-height:1}.profile-stat-label{font-size:12px;color:var(--color-text-secondary)}.profile-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge-progress-section{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:20px;margin-bottom:24px}.badge-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.badge-progress-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0}.badge-info-link{background:none;border:none;color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.badge-info-link:hover{background-color:var(--color-bg-secondary);text-decoration:underline}.badge-progress-compact{display:flex;flex-direction:column;gap:16px}.badge-current-progress{padding:16px;background-color:var(--color-bg-secondary);border-radius:8px}.badge-current-info{display:flex;align-items:flex-start;gap:12px}.badge-current-text{flex:1;display:flex;flex-direction:column;gap:8px}.badge-current-label{font-size:15px;font-weight:600;color:var(--color-text-primary)}.badge-progress-mini{display:flex;flex-direction:column;gap:6px}.progress-bar-container-mini{width:100%;height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden}.progress-text-mini{font-size:12px;color:var(--color-text-secondary)}.badge-max-text{font-size:13px;color:var(--color-primary);font-weight:500}.badge-no-badge{display:flex;flex-direction:column;gap:12px}.badges-grid-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.badge-card-compact{display:flex;align-items:center;gap:10px;padding:12px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:8px;transition:all .2s ease}.badge-card-compact.unlocked{border-color:var(--color-primary);background-color:#f0f9ff}.badge-card-compact.current{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.badge-card-compact.locked{opacity:.6}.badge-card-compact-info{flex:1;display:flex;flex-direction:column;gap:2px}.badge-card-compact-label{font-size:13px;font-weight:600;color:var(--color-text-primary)}.badge-card-compact-count{font-size:11px;color:var(--color-text-secondary)}.badge-check{font-size:16px;color:var(--color-primary);font-weight:700}.no-badge-text{font-size:14px;color:var(--color-text-secondary);margin:0;font-style:italic}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.badge-info-modal{background-color:var(--color-bg-primary);border-radius:12px;padding:32px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 25px -5px #0000001a}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;color:var(--color-text-tertiary);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;line-height:1}.modal-close:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-title{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 24px}.badge-info-content{display:flex;flex-direction:column;gap:24px}.badge-info-intro{font-size:15px;color:var(--color-text-secondary);line-height:1.6;margin:0}.badge-info-list{display:flex;flex-direction:column;gap:20px}.badge-info-item{display:flex;gap:16px;padding:20px;background-color:var(--color-bg-secondary);border-radius:8px}.badge-info-badge{flex-shrink:0}.badge-info-details{flex:1}.badge-info-requirement{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.badge-info-description{font-size:14px;color:var(--color-text-secondary);line-height:1.5;margin:0}.badge-info-tip{padding:16px;background-color:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px;font-size:14px;color:#92400e;line-height:1.6}.profile-content{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:start}.profile-main{min-height:400px}.profile-empty-state{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:32px 24px;text-align:center}.profile-empty-title{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0 0 12px}.profile-empty-text{font-size:14px;color:var(--color-text-secondary);line-height:1.6;max-width:500px;margin:0 auto 24px}.profile-find-button{padding:14px 32px;font-size:16px;font-weight:600;background-color:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.profile-find-button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.profile-courses-section{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:20px;margin-bottom:24px}.profile-courses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.profile-courses-stats{display:flex;gap:24px;align-items:center}.profile-courses-stat{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.profile-courses-stat-value{font-size:20px;font-weight:700;color:var(--color-text-primary);line-height:1}.profile-courses-stat-label{font-size:12px;color:var(--color-text-secondary)}.profile-courses-list{display:flex;flex-direction:column;gap:8px}.profile-course-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:8px;text-decoration:none;transition:all .2s ease}.profile-course-item:hover{border-color:var(--color-primary);background-color:#f0f9ff;transform:translateY(-1px)}.profile-course-info{display:flex;flex-direction:column;gap:4px;flex:1}.profile-course-name{font-size:15px;font-weight:600;color:var(--color-text-primary)}.profile-course-code{font-size:13px;color:var(--color-text-secondary)}.profile-course-ects{font-size:14px;font-weight:600;color:var(--color-primary);padding:4px 10px;background-color:#2563eb1a;border-radius:6px}.profile-reviews-section{display:flex;flex-direction:column;gap:16px}.profile-section-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0}.profile-reviews-list{display:flex;flex-direction:column;gap:12px}.profile-review-item{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:16px}.profile-review-course{display:flex;align-items:center;gap:12px;margin-bottom:12px}.profile-review-course-link{font-size:16px;font-weight:600;color:var(--color-primary);text-decoration:none}.profile-review-course-link:hover{text-decoration:underline}.profile-review-code{font-size:14px;color:var(--color-text-tertiary);background-color:var(--color-bg-secondary);padding:4px 8px;border-radius:4px}.profile-review-rating{font-size:16px;margin-bottom:12px}.profile-review-text{font-size:15px;color:var(--color-text-primary);line-height:1.6;margin:0 0 12px}.profile-review-date{font-size:13px;color:var(--color-text-tertiary)}.profile-newsletter-card{position:sticky;top:24px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:24px;box-shadow:var(--shadow-sm)}.profile-newsletter-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:var(--color-text-tertiary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;line-height:1}.profile-newsletter-close:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.profile-newsletter-text{font-size:14px;color:var(--color-text-secondary);line-height:1.6;margin:0 0 20px}.profile-newsletter-button{width:100%;padding:12px 24px;font-size:15px;font-weight:600;background-color:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.profile-newsletter-button:hover{background-color:var(--color-primary-dark)}@media(max-width:968px){.profile-content{grid-template-columns:1fr}.profile-newsletter-card{position:static;order:-1}.profile-header{flex-direction:column;align-items:flex-start;gap:16px}.profile-header-main{width:100%}.badges-grid-compact{grid-template-columns:1fr}.profile-stats{grid-column:1 / -1;justify-content:flex-start;margin-top:16px;gap:24px}.profile-avatar{width:64px;height:64px;font-size:24px}.profile-name{font-size:24px}}@media(max-width:640px){.profile-page{padding:24px 16px}.profile-stats{flex-direction:column;align-items:flex-start;gap:16px}.profile-stat{width:100%}.badge-progress-header{flex-direction:column;align-items:flex-start;gap:12px}.profile-courses-header{flex-direction:column;align-items:flex-start}.profile-courses-stats{width:100%;justify-content:space-between}.badges-grid-compact{grid-template-columns:1fr}.leaderboard-title{font-size:2.5em}.top-three-section{grid-template-columns:1fr;gap:24px}.top-three-card.first-place{transform:scale(1)}.top-three-avatar{width:100px;height:100px;font-size:30px}.rest-contributor-info{flex-direction:column;align-items:flex-start;gap:8px}.header-right{gap:8px}.badge-info-button{padding:8px 12px;font-size:13px}}.admin-dashboard{width:100%;margin-bottom:48px;padding:32px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.admin-dashboard-title{font-size:28px;font-weight:700;margin-bottom:32px;color:#000}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:48px}.admin-kpi-card{padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.admin-kpi-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.admin-kpi-label{font-size:13px;color:#6b7280;font-weight:500;margin-bottom:8px;text-transform:none;letter-spacing:0}.admin-kpi-value{font-size:28px;font-weight:700;color:#111827;line-height:1.2}.admin-kpi-sublabel{font-size:11px;color:#9ca3af;margin-top:4px}.admin-charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:32px;margin-bottom:48px}.admin-chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.admin-chart-title{font-size:16px;font-weight:600;color:#111827;margin-bottom:20px}.admin-chart-container-new-users{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:24px;position:relative;min-height:400px;display:flex;flex-direction:column}.admin-chart-container-new-users>div:last-child{width:100%!important;height:350px!important;min-height:350px!important;overflow:auto!important;position:relative!important}.admin-chart-container-new-users svg{width:100%!important;height:350px!important;max-width:100%!important}.admin-chart-container-new-users .recharts-wrapper{width:100%!important;height:350px!important}.admin-chart-container-new-users .recharts-wrapper{width:100%!important;height:100%!important;min-width:0!important}.admin-chart-container-new-users .recharts-bar-rectangle{fill-opacity:1!important;opacity:1!important}.admin-chart-container-new-users .recharts-bar,.admin-chart-container-new-users .recharts-bar-rectangles{fill-opacity:1!important}.admin-chart-container-new-users .recharts-bar-rectangle[fill="#9333ea"],.admin-chart-container-new-users .recharts-bar-rectangle[fill="#a855f5"]{fill:#a855f5!important;opacity:1!important}.admin-chart-container-new-users svg .recharts-bar-rectangle{fill:#a855f5!important;opacity:1!important;stroke:none!important}.admin-chart-container-new-users svg .recharts-bar-rectangle[fill="#9333ea"]{fill:#9333ea!important}.admin-chart-container-new-users .recharts-surface{overflow:visible!important}.admin-chart-container-new-users svg{overflow:visible!important}.admin-chart-container-histogram{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:24px;position:relative;min-height:400px}.dark-mode .admin-chart-container-histogram{background:#1a1a1a;border-color:#333}.admin-chart-header-histogram{margin-bottom:24px}.admin-chart-title-histogram{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.dark-mode .admin-chart-title-histogram{color:#fff}.admin-chart-container-histogram .recharts-responsive-container{width:100%!important;height:100%!important}.admin-chart-container-histogram .recharts-wrapper{width:100%!important}.admin-chart-container-histogram .recharts-surface{overflow:visible!important}.admin-chart-container-histogram svg{overflow:visible!important}.admin-chart-container-histogram .recharts-bar-rectangle{fill-opacity:1!important;opacity:1!important}.admin-chart-container-histogram .recharts-bar,.admin-chart-container-histogram .recharts-bar-rectangles{fill-opacity:1!important}.admin-chart-container-histogram svg .recharts-bar-rectangle{fill:#3b82f6!important;opacity:1!important;stroke:none!important}.admin-chart-container-histogram svg .recharts-bar-rectangle[fill="#2563eb"]{fill:#2563eb!important}.admin-chart-container-new-users{background:#fff}.dark-mode .admin-chart-container-new-users{background:#1a1a1a}.admin-chart-container-new-users>div:last-child,.admin-chart-container-histogram>div:last-child{margin-top:16px;width:100%!important;height:350px!important;min-height:350px!important;min-width:0!important;position:relative!important;flex-shrink:0!important;overflow:visible!important}@media(min-width:769px){.admin-chart-container-new-users svg,.admin-chart-container-histogram svg{min-width:600px;display:block!important;visibility:visible!important}.admin-chart-container-new-users,.admin-chart-container-histogram{min-width:500px}}.dark-mode .admin-chart-container-new-users{background:#1a1a1a;border-color:#333}.admin-chart-header-new-users{margin-bottom:24px;width:100%}.admin-chart-header-new-users .admin-chart-header-top{display:flex;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:16px}.admin-chart-header-new-users .admin-chart-title-new-users{margin:0;flex:1}.admin-chart-header-new-users .admin-chart-percentage{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.admin-chart-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;width:100%;gap:16px}.admin-chart-title-new-users{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0;flex:1;min-width:0}.dark-mode .admin-chart-title-new-users{color:#fff}.admin-chart-percentage{display:flex;align-items:center;gap:4px;color:#10b981;font-size:14px;font-weight:600;white-space:nowrap;flex-shrink:0}.admin-chart-percentage svg{width:16px;height:16px;flex-shrink:0;display:block}.admin-chart-percentage svg{width:16px;height:16px}.admin-chart-period-buttons{display:flex;gap:8px;margin-bottom:16px}.admin-chart-period-btn{padding:6px 12px;background:transparent;border:1px solid var(--color-border-light);border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.dark-mode .admin-chart-period-btn{border-color:#333;color:#888}.admin-chart-period-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-primary);color:var(--color-text-primary)}.dark-mode .admin-chart-period-btn:hover{background:#2d2d2d;border-color:#9333ea;color:#fff}.admin-chart-period-btn.active{background:#9333ea;border-color:#9333ea;color:#fff}.admin-chart-stats{display:flex;gap:24px;width:100%;margin-top:8px}.admin-chart-stat-item{display:flex;flex-direction:column;gap:4px}.admin-chart-stat-value{font-size:18px;font-weight:600;color:var(--color-text-primary)}.dark-mode .admin-chart-stat-value{color:#fff}.admin-chart-stat-label{font-size:12px;color:var(--color-text-tertiary)}.dark-mode .admin-chart-stat-label{color:#888}.admin-section-title{font-size:20px;font-weight:600;margin-bottom:16px;color:#000}.admin-upload-section{margin-bottom:48px;padding:24px;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.admin-import-mode-toggle{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid #e5e7eb;padding-bottom:12px}.admin-import-mode-button{padding:10px 20px;background:transparent;border:1px solid #dee2e6;border-radius:6px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;font-family:inherit}.admin-import-mode-button:hover:not(:disabled){background:#f8f9fa;border-color:#000;color:#000}.admin-import-mode-button.active{background:#000;color:#fff;border-color:#000}.admin-import-mode-button:disabled{opacity:.5;cursor:not-allowed}.admin-upload-area{display:flex;align-items:center;gap:16px;margin-bottom:16px}.admin-paste-area{margin-bottom:16px}.admin-paste-textarea{width:100%;padding:12px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;line-height:1.5;color:#333;background-color:#fff;resize:vertical;min-height:200px;margin-bottom:12px;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.admin-paste-textarea:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.admin-paste-textarea:disabled{background-color:#f8f9fa;cursor:not-allowed}.admin-paste-textarea::placeholder{color:#999}.admin-upload-button{padding:12px 24px;background:#000;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease;display:inline-block}.admin-upload-button:hover{background:#333}.admin-upload-button:disabled{background:#ccc;cursor:not-allowed}.admin-upload-filename{font-size:14px;color:#666}.admin-upload-result{padding:16px;border-radius:6px;font-size:14px}.admin-upload-result.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.admin-upload-result.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.admin-upload-result ul{margin:8px 0 0;padding-left:20px}.admin-courses-section{margin-top:32px}.admin-courses-search-container{position:relative;margin-bottom:20px;max-width:600px}.admin-courses-search-input{width:100%;padding:12px 40px 12px 16px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:border-color .2s ease,box-shadow .2s ease}.admin-courses-search-input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.admin-courses-search-input::placeholder{color:#999}.admin-courses-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;transition:color .2s ease}.admin-courses-search-clear:hover{color:#000}.admin-courses-table-container{overflow-x:auto;border-radius:8px;border:1px solid #dee2e6}.admin-courses-table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}.admin-courses-table thead{background:#f8f9fa}.admin-courses-table th{padding:12px 16px;text-align:left;font-weight:600;color:#000;border-bottom:2px solid #dee2e6}.admin-sortable-header{position:relative;transition:background-color .2s ease}.admin-sortable-header:hover{background-color:#f0f0f0}.admin-sort-indicator{color:#2563eb;font-weight:700;margin-left:4px}.admin-courses-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;color:#333}.admin-course-name-link{color:#000;text-decoration:none;font-weight:500;transition:color .2s ease}.admin-course-name-link:hover{color:#2563eb;text-decoration:underline}.admin-courses-table tbody tr:hover{background:#f8f9fa}.admin-courses-table tbody tr:last-child td{border-bottom:none}.admin-delete-button{padding:6px 12px;background:#dc3545;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s ease}.admin-delete-button:hover{background:#c82333}.admin-dashboard-layout{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:24px;width:100%;margin-bottom:48px;padding:0 24px;box-sizing:border-box;max-width:none;position:relative}.admin-dashboard-layout:not(:has(.admin-sidebar)):not(:has(.profile-sidebar)){padding-left:0}.admin-dashboard-layout:has(.profile-sidebar){padding-left:24px}.admin-sidebar{width:240px;flex-shrink:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;height:fit-content;position:sticky;top:80px}.admin-sidebar-title{font-size:20px;font-weight:700;margin-bottom:24px;color:#000;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.admin-sidebar-nav{display:flex;flex-direction:column;gap:8px}.admin-sidebar-item{width:100%;padding:12px 16px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;text-align:left;cursor:pointer;transition:all .2s ease;font-family:inherit}.admin-sidebar-item:hover{background:#f3f4f6;color:#111827}.admin-sidebar-item.active{background:#000;color:#fff;font-weight:600}.profile-sidebar{width:280px;min-width:280px;max-width:280px;flex-shrink:0;flex-grow:0;background:var(--color-bg-primary);border:none;border-radius:12px;padding:24px;height:fit-content;position:sticky;top:80px;display:flex;flex-direction:column;order:1}.profile-sidebar-image{position:relative;display:flex;justify-content:center;align-items:center;width:100%;margin:0 auto 24px;cursor:pointer}.profile-sidebar-picture{width:150px;height:150px;border-radius:50%;object-fit:cover;border:none;cursor:pointer;transition:opacity .2s ease;display:block}.profile-sidebar-picture:hover{opacity:.8}.profile-sidebar-avatar{width:150px;height:150px;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:60px;font-weight:600;border:none;cursor:pointer;transition:opacity .2s ease}.profile-sidebar-avatar:hover{opacity:.8}.profile-sidebar-image:hover .profile-sidebar-edit-overlay{opacity:1}.profile-sidebar-edit-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;background-color:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;cursor:pointer;pointer-events:none}.profile-sidebar-image:hover .profile-sidebar-edit-overlay{pointer-events:auto}.profile-sidebar-edit-overlay svg{width:32px;height:32px;color:#fff}.profile-sidebar-nav{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.profile-sidebar-item{width:100%;padding:12px 16px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:var(--color-text-secondary);text-align:left;cursor:pointer;transition:all .2s ease}.profile-sidebar-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.profile-sidebar-item.active{background:#00b67a1a;color:var(--color-text-primary);font-weight:600;border-left:1px solid var(--color-primary);padding-left:15px}.profile-sidebar-separator{height:1px;background:var(--color-border-light);margin:16px 0}.profile-sidebar-logout{width:100%;padding:12px 16px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:var(--color-text-secondary);text-align:left;cursor:pointer;transition:all .2s ease;margin-top:auto}.profile-sidebar-logout:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.profile-sidebar-nav-admin{margin-bottom:0}.profile-tab-content{flex:1;min-width:0;width:60%;max-width:60%;margin-left:0;margin-right:auto;background:transparent}.dark-mode .profile-tab-content{background:transparent;color:var(--color-text-primary)}.profile-tab-title{font-size:24px;font-weight:700;margin-bottom:24px;color:var(--color-text-primary)}.profile-courses-list{display:flex;flex-direction:column;gap:0}.profile-reviews-list{display:flex;flex-direction:column;gap:16px}.profile-review-item{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease}.profile-review-item:hover{box-shadow:var(--shadow-sm);border-color:var(--color-primary)}.profile-review-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.profile-review-item-course{flex:1;min-width:0}.profile-review-item-course-name{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px;line-height:1.4}.profile-review-item-course-code{font-size:14px;color:var(--color-text-secondary);font-weight:500}.profile-review-item-rating{display:flex;align-items:center;gap:8px;flex-shrink:0}.profile-review-item-rating-value{font-size:16px;font-weight:600;color:var(--color-text-primary)}.profile-review-item-text{font-size:15px;color:var(--color-text-secondary);line-height:1.6;margin-bottom:12px}.profile-review-item-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--color-border-light)}.profile-review-item-likes{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--color-text-secondary)}.profile-review-item-likes svg{width:20px;height:20px;color:#999;fill:#999;transition:all .2s ease}.profile-review-item-likes.has-likes svg{color:var(--color-primary);fill:var(--color-primary)}.profile-review-item-likes span{font-weight:500}.profile-review-item-date{font-size:14px;color:var(--color-text-tertiary)}.profile-listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.profile-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.profile-empty-icon{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:16px}.profile-empty-title{font-size:20px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.profile-empty-text{font-size:14px;color:var(--color-text-secondary);margin-bottom:24px}.profile-empty-button{padding:12px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.profile-empty-button:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.profile-loading{padding:32px;text-align:center;color:var(--color-text-secondary)}.profile-info-form{background:#fff;border:1px solid var(--color-border-light);border-radius:12px;padding:32px;width:60%;max-width:60%;margin-left:0;margin-right:auto}.dark-mode .profile-info-form{background:var(--color-bg-primary);border-color:var(--color-border-light);color:var(--color-text-primary)}.profile-info-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.profile-info-title{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0}.profile-info-edit-icon{background:none;border:none;padding:8px;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.profile-info-edit-icon:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.profile-info-description{font-size:14px;color:var(--color-text-secondary);margin:0 0 32px}.profile-info-fields{display:flex;flex-direction:column;gap:24px}.profile-info-field{display:flex;flex-direction:column;gap:8px}.profile-info-label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.profile-info-value{font-size:14px;color:var(--color-text-secondary);min-height:20px}.profile-info-value.profile-info-bio{white-space:pre-wrap;line-height:1.6}.profile-info-link{color:var(--color-primary);text-decoration:none}.profile-info-link:hover{text-decoration:underline}.profile-info-field-group{display:flex;flex-direction:column;gap:8px}.profile-info-input,.profile-info-textarea{width:100%;padding:12px 16px;font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;font-family:inherit;transition:all .2s ease}.profile-info-input[type=select],.profile-info-input select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;cursor:pointer}.profile-info-input:focus,.profile-info-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00b67a1a}.profile-info-textarea{resize:vertical;min-height:120px;line-height:1.6}.profile-info-char-count{font-size:12px;color:var(--color-text-tertiary);text-align:right;margin-top:4px}.profile-info-actions{display:flex;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border-light)}.profile-info-save{padding:12px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.profile-info-save:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.profile-info-save:disabled{opacity:.6;cursor:not-allowed}.profile-info-cancel{padding:12px 24px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-light);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.profile-info-cancel:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary)}.profile-info-cancel:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.profile-sidebar{width:100%;position:static;margin-bottom:24px}.profile-sidebar-mobile-hidden{display:none}.profile-sidebar-image{margin-bottom:16px}.profile-sidebar-picture,.profile-sidebar-avatar{width:80px;height:80px;font-size:32px}.profile-sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:12px}.profile-sidebar-item{flex:1;min-width:100px;padding:10px 12px;font-size:13px}.profile-sidebar-separator{margin:12px 0}.profile-sidebar-logout{margin-top:0;padding:10px 12px;font-size:13px}.header-mobile-profile-menu-overlay{position:fixed;inset:0;background-color:var(--color-bg-primary);z-index:10002;display:flex;flex-direction:column;overflow-y:auto}.header-mobile-profile-menu{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.header-mobile-profile-menu-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:12px;display:flex;align-items:center;justify-content:center;z-index:1;transition:color .2s ease}.header-mobile-profile-menu-close:hover{color:var(--color-text-primary)}.header-mobile-profile-menu-items{display:flex;flex-direction:column;padding:60px 0 20px;width:100%}.header-mobile-profile-menu-item{background:none;border:none;text-align:left;padding:20px 24px;font-size:16px;color:var(--color-text-primary);cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:space-between;width:100%}.header-mobile-profile-menu-item-with-icon{justify-content:flex-start;gap:12px}.header-mobile-profile-menu-item-with-icon svg{flex-shrink:0}.header-mobile-profile-menu-item-with-icon span{flex:1}.header-mobile-profile-menu-item:hover{background-color:var(--color-bg-secondary)}.header-mobile-profile-menu-item.header-mobile-profile-menu-logout{margin-top:auto;border-top:1px solid var(--color-border-light);padding-top:20px}.header-mobile-profile-menu-separator{height:1px;background-color:var(--color-border-light);margin:0;width:100%}.profile-mobile-breadcrumb{display:flex;align-items:center;padding:16px;border-bottom:1px solid var(--color-border-light);background-color:var(--color-bg-primary);position:sticky;top:64px;z-index:1000}.profile-mobile-breadcrumb-back{background:none;border:none;padding:8px;margin-right:12px;cursor:pointer;color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.profile-mobile-breadcrumb-back:hover{color:var(--color-primary)}.profile-mobile-breadcrumb-text{font-size:18px;font-weight:600;color:var(--color-text-primary)}.admin-dashboard-layout{flex-direction:column}.admin-content{width:100%;padding:0}.profile-info-form,.profile-tab-content{width:100%!important;max-width:100%!important;margin:0!important;padding:16px!important}.dark-mode .profile-tab-content{background-color:var(--color-bg-primary)!important}.profile-listings-grid{grid-template-columns:1fr}.profile-tab-content-mobile{padding:16px;width:100%!important;max-width:100%!important;background-color:transparent}.dark-mode .profile-tab-content-mobile{background-color:var(--color-bg-primary)!important}.profile-info-form{padding:16px!important;width:100%!important;max-width:100%!important;margin:0!important;border:none!important;border-radius:0!important;box-shadow:none!important}.dark-mode .profile-info-form{background-color:var(--color-bg-primary)!important;border:none!important;box-shadow:none!important}.profile-info-title{font-size:20px}.profile-info-fields{gap:20px}}.admin-content{flex:1;flex-grow:1;flex-shrink:1;min-width:0;width:auto;max-width:none;margin-right:0;padding-right:0;overflow:visible;display:flex;flex-direction:column;order:2;background:transparent}.dark-mode .admin-content{background:transparent;color:var(--color-text-primary)}.admin-content>.profile-card-linkedin,.admin-content>.profile-bio-section{margin-left:auto;margin-right:auto;max-width:1000px;width:100%}.admin-tab-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px 0 0 12px;padding:32px;box-shadow:0 2px 8px #0000001a;margin-right:24px;width:calc(100% - 24px);max-width:none;box-sizing:border-box}.dark-mode .admin-tab-content{background:var(--color-bg-primary);border-color:var(--color-border-light);color:var(--color-text-primary);box-shadow:0 2px 8px #0000004d}.admin-tab-title{font-size:24px;font-weight:700;margin-bottom:32px;color:var(--color-text-primary)}.admin-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.admin-refresh-button{padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;font-family:inherit}.admin-refresh-button:hover{background:#e5e7eb;border-color:#9ca3af}.admin-suggestions-list{display:flex;flex-direction:column;gap:16px}.admin-suggestion-card{padding:20px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.admin-suggestion-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.admin-suggestion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.admin-suggestion-category{display:inline-block;padding:4px 12px;background:#e5e7eb;border-radius:4px;font-size:12px;font-weight:600;color:#374151;margin-right:8px;text-transform:uppercase}.admin-suggestion-date{font-size:12px;color:#9ca3af}.admin-suggestion-actions{display:flex;gap:8px;flex-shrink:0}.admin-action-button{padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;font-family:inherit}.admin-action-button:hover{background:#f3f4f6;border-color:#9ca3af}.admin-action-button.read{background:#d4edda;border-color:#c3e6cb;color:#155724}.admin-action-button.resolved{background:#d1ecf1;border-color:#bee5eb;color:#0c5460}.admin-suggestion-text{font-size:14px;color:#374151;line-height:1.6;margin-bottom:12px}.admin-suggestion-link{display:inline-block;font-size:12px;color:#2563eb;text-decoration:none;margin-bottom:12px}.admin-suggestion-link:hover{text-decoration:underline}.admin-suggestion-footer{font-size:12px;color:#9ca3af;padding-top:12px;border-top:1px solid #e5e7eb}.admin-suggestion-user{font-weight:500;color:#6b7280}.admin-reported-list{display:flex;flex-direction:column;gap:16px}.admin-reported-card-compact{padding:20px;background:#f9fafb;border:1px solid #fecaca;border-left:3px solid #ef4444;border-radius:8px;transition:all .2s ease}.admin-reported-card-compact:hover{border-color:#fca5a5;box-shadow:0 2px 8px #0000000d}.admin-reported-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.admin-reported-course-header{display:flex;align-items:center;gap:12px;flex:1}.admin-reported-course-name{font-size:18px;font-weight:600;color:#111827;margin:0}.admin-reported-course-code{font-size:14px;color:#6b7280;font-weight:500;background:#e5e7eb;padding:4px 8px;border-radius:4px}.admin-reported-rating-compact{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-reported-rating-value{font-size:14px;font-weight:600;color:#374151}.admin-reported-review-text-compact{font-size:14px;color:#374151;line-height:1.6;margin-bottom:12px}.admin-reported-meta-compact{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e5e7eb;gap:16px;flex-wrap:wrap}.admin-reported-meta-left{display:flex;align-items:center;gap:16px;flex:1;flex-wrap:wrap}.admin-reported-email-info{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.admin-reported-email-item{display:flex;align-items:baseline;gap:6px;font-size:12px}.admin-reported-email-label{font-weight:600;color:#374151;min-width:90px}.admin-reported-email-value{color:#6b7280}.admin-reported-reporter-compact,.admin-reported-author-compact{font-size:12px;color:#9ca3af}.admin-reported-course-link-compact{font-size:12px;color:#2563eb;text-decoration:none;font-weight:500}.admin-reported-course-link-compact:hover{text-decoration:underline}.admin-reported-actions-compact{display:flex;gap:8px;flex-shrink:0}.admin-action-button-compact{padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;font-family:inherit}.admin-action-button-compact:hover{background:#f3f4f6;border-color:#9ca3af}.admin-action-button-danger-compact{background:#fee2e2!important;border-color:#ef4444!important;color:#dc2626!important}.admin-action-button-danger-compact:hover{background:#fecaca!important;border-color:#dc2626!important;color:#991b1b!important}.admin-reported-card{padding:20px;background:#fff5f5;border:1px solid #fecaca;border-radius:8px;transition:all .2s ease}.admin-reported-card:hover{border-color:#fca5a5;box-shadow:0 2px 8px #0000000d}.admin-reported-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.admin-reported-reason{display:inline-block;padding:4px 12px;background:#fee2e2;border-radius:4px;font-size:12px;font-weight:600;color:#991b1b;margin-right:8px}.admin-reported-status{display:inline-block;padding:4px 12px;background:#fef3c7;border-radius:4px;font-size:12px;font-weight:600;color:#92400e;margin-right:8px}.admin-reported-date{font-size:12px;color:#9ca3af}.admin-reported-actions{display:flex;gap:12px;flex-shrink:0;justify-content:flex-end;padding-top:16px;border-top:1px solid #e5e7eb}.admin-reported-review{padding:16px;background:#fff;border-radius:6px;margin-bottom:16px;border-left:3px solid #ef4444}.admin-reported-review-text{font-size:15px;color:#374151;line-height:1.6;margin-bottom:8px}.admin-reported-rating{font-size:13px;color:#6b7280;font-weight:500;margin-top:8px}.admin-reported-info{margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:6px}.admin-reported-course-info{margin-bottom:12px}.admin-reported-course-link{font-size:14px;color:#2563eb;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:4px}.admin-reported-course-link:hover{text-decoration:underline;color:#1d4ed8}.admin-reported-reporter{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.admin-reported-reporter-label{color:#6b7280;font-weight:500}.admin-reported-reporter-name{color:#374151}.admin-reported-reason-text{font-size:13px;color:#6b7280;margin-top:8px}.admin-reported-reason-label{font-weight:500;color:#6b7280}.admin-reported-course{font-size:12px;color:#6b7280;margin-bottom:4px}.admin-reported-author{font-size:12px;color:#6b7280}.admin-reported-footer{font-size:12px;color:#9ca3af;padding-top:12px;border-top:1px solid #fecaca}.admin-sub-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e5e7eb}.admin-sub-tab{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;font-family:inherit;margin-bottom:-2px}.admin-sub-tab:hover{color:#374151;background:#f9fafb}.admin-sub-tab.active{color:#2563eb;border-bottom-color:#2563eb;background:transparent}.admin-sub-tab-content{margin-top:24px}.admin-action-button-danger{background:#fee2e2!important;border-color:#ef4444!important;color:#dc2626!important}.admin-action-button-danger:hover{background:#fecaca!important;border-color:#dc2626!important;color:#991b1b!important}.admin-deleted-list{display:flex;flex-direction:column;gap:16px}.admin-deleted-card-compact{padding:20px;background:#f9fafb;border:1px solid #d1d5db;border-left:3px solid #9ca3af;border-radius:8px;transition:all .2s ease;opacity:.85}.admin-deleted-card-compact:hover{border-color:#9ca3af;box-shadow:0 2px 8px #0000000d;opacity:1}.admin-deleted-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.admin-deleted-course-header{display:flex;align-items:center;gap:12px;flex:1}.admin-deleted-course-name{font-size:18px;font-weight:600;color:#111827;margin:0}.admin-deleted-course-code{font-size:14px;color:#6b7280;font-weight:500;background:#e5e7eb;padding:4px 8px;border-radius:4px}.admin-deleted-rating-compact{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-deleted-rating-value{font-size:14px;font-weight:600;color:#374151}.admin-deleted-review-text-compact{font-size:14px;color:#6b7280;line-height:1.6;margin-bottom:12px;font-style:italic}.admin-deleted-meta-compact{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e5e7eb;gap:16px;flex-wrap:wrap}.admin-deleted-meta-left{display:flex;align-items:center;gap:16px;flex:1;flex-wrap:wrap}.admin-deleted-email-info{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.admin-deleted-email-item{display:flex;align-items:baseline;gap:6px;font-size:12px}.admin-deleted-email-label{font-weight:600;color:#374151;min-width:60px}.admin-deleted-email-value{color:#6b7280}.admin-deleted-date-compact{font-size:12px;color:#9ca3af}.admin-deleted-course-link-compact{font-size:12px;color:#2563eb;text-decoration:none;font-weight:500}.admin-deleted-course-link-compact:hover{text-decoration:underline}.admin-deleted-author-compact{font-size:12px;color:#6b7280;flex-shrink:0}.admin-deleted-card{padding:20px;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;transition:all .2s ease;opacity:.8}.admin-deleted-card:hover{border-color:#9ca3af;box-shadow:0 2px 8px #0000000d;opacity:1}.admin-deleted-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.admin-deleted-date{display:inline-block;padding:4px 12px;background:#fee2e2;border-radius:4px;font-size:12px;font-weight:600;color:#991b1b;margin-right:8px}.admin-deleted-original-date{font-size:12px;color:#9ca3af}.admin-deleted-review{padding:16px;background:#fff;border-radius:6px;margin-bottom:12px;border-left:3px solid #9ca3af}.admin-deleted-review-text{font-size:14px;color:#6b7280;line-height:1.6;margin-bottom:8px;font-style:italic}.admin-deleted-course,.admin-deleted-author{font-size:12px;color:#6b7280;margin-bottom:4px}.admin-deleted-rating{font-size:12px;color:#6b7280}.admin-profile-section{display:flex;flex-direction:column;align-items:center;margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid #e5e7eb}.profile-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.profile-edit-button{padding:10px 20px;background-color:#000;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease;font-family:inherit}.profile-edit-button:hover{background-color:#333}.profile-edit-form{display:flex;flex-direction:column;gap:32px}.profile-edit-section{display:flex;flex-direction:column;gap:16px}.profile-edit-section-title{font-size:18px;font-weight:600;color:#000;margin:0}.profile-edit-label{font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.profile-edit-input,.profile-edit-textarea{padding:12px 16px;border:1px solid #dee2e6;border-radius:6px;font-size:15px;font-family:inherit;color:#333;background-color:#fff;transition:border-color .2s ease,box-shadow .2s ease;width:100%;box-sizing:border-box}.profile-edit-textarea{resize:vertical;min-height:100px;font-family:inherit}.profile-edit-input:focus,.profile-edit-textarea:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.profile-edit-hint{font-size:12px;color:#6b7280;margin-top:-4px}.profile-edit-actions{display:flex;gap:12px;margin-top:8px}.profile-save-button{padding:12px 24px;background-color:#000;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s ease;font-family:inherit}.profile-save-button:hover:not(:disabled){background-color:#333}.profile-save-button:disabled{opacity:.6;cursor:not-allowed}.profile-cancel-button{padding:12px 24px;background-color:transparent;color:#374151;border:1px solid #dee2e6;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.profile-cancel-button:hover:not(:disabled){background-color:#f9fafb;border-color:#d1d5db}.profile-cancel-button:disabled{opacity:.6;cursor:not-allowed}.profile-picture-upload{display:flex;gap:24px;align-items:flex-start}.profile-picture-preview{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:36px;flex-shrink:0;border:3px solid #e5e7eb;overflow:hidden}.profile-picture-img{width:100%;height:100%;object-fit:cover}.profile-picture-input-group{flex:1;display:flex;flex-direction:column;gap:8px}.profile-view{display:flex;flex-direction:column;gap:32px}.profile-linkedin-link{color:#0077b5;text-decoration:none;font-size:15px;font-weight:500;margin-top:8px;display:inline-block;transition:color .2s ease}.profile-linkedin-link:hover{color:#005885;text-decoration:underline}.profile-career-interests{margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.profile-section-title{font-size:16px;font-weight:600;color:#000;margin:0 0 12px}.profile-career-text{font-size:15px;color:#374151;line-height:1.6;margin:0;white-space:pre-wrap}.profile-empty-reviews{text-align:center;padding:60px 20px}.profile-empty-reviews p{font-size:16px;color:#6b7280;margin-bottom:24px}.admin-profile-avatar{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:48px;font-weight:700;margin-bottom:24px}.admin-profile-name{font-size:32px;font-weight:700;color:#000;margin:0}.profile-card-linkedin{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;max-width:800px;width:100%;margin:0 auto;box-shadow:0 0 0 1px #00000014,0 2px 4px #0000000d}.profile-header-top-section{background-color:#f3f2ef;padding:16px 24px;border-bottom:1px solid #e0e0e0}.profile-header-content{display:flex;align-items:center;gap:20px;max-width:100%;margin:0 auto;min-height:120px}.profile-picture-container{flex-shrink:0}.profile-avatar-linkedin{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:48px;font-weight:700;position:relative;border:4px solid #ffffff;box-shadow:0 2px 8px #00000026;flex-shrink:0}.profile-edit-overlay-small{position:absolute;inset:0;background-color:#00000080;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;opacity:0;transition:opacity .2s ease}.profile-avatar-linkedin:hover .profile-edit-overlay-small{opacity:1}.profile-edit-overlay-small svg{width:20px;height:20px}.profile-info-container{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;justify-content:center}.profile-name-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.profile-name-display{display:flex;align-items:center;gap:8px;flex:1}.profile-name-text{font-size:24px;font-weight:600;color:#000;margin:0;line-height:1.2}.profile-program-row{display:flex;align-items:center;gap:8px}.profile-program-display{display:flex;align-items:center;gap:8px;flex:1}.profile-program-text{font-size:16px;color:#666;line-height:1.4}.profile-linkedin-row{display:flex;align-items:center;gap:8px;margin-top:4px}.profile-linkedin-display{display:flex;align-items:center;gap:8px;flex:1}.profile-linkedin-link{color:#0077b5;text-decoration:none;font-size:16px;display:flex;align-items:center;gap:6px;transition:opacity .2s ease}.profile-linkedin-link:hover{opacity:.8;text-decoration:underline}.profile-add-linkedin-button{background:none;border:1px dashed #666;color:#666;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:6px;transition:all .2s ease}.profile-add-linkedin-button:hover{border-color:#0077b5;color:#0077b5;background-color:#0077b50d}.profile-edit-button-small{background:none;border:none;padding:4px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;opacity:0}.profile-name-display:hover .profile-edit-button-small,.profile-program-display:hover .profile-edit-button-small{opacity:1}.profile-edit-button-small:hover{background-color:#0000000d;color:#000}.profile-edit-button-small svg{width:16px;height:16px}.profile-bio-section{padding:20px 24px;background-color:#fff}.profile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.profile-reviews-scroll-container{display:flex;overflow-x:auto;overflow-y:hidden;gap:16px;padding-bottom:8px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border-medium) transparent}.profile-reviews-scroll-container::-webkit-scrollbar{height:6px}.profile-reviews-scroll-container::-webkit-scrollbar-track{background:transparent}.profile-reviews-scroll-container::-webkit-scrollbar-thumb{background-color:var(--color-border-medium);border-radius:3px}.profile-reviews-scroll-container::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.profile-review-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:20px;transition:all .2s ease;box-shadow:0 1px 3px #0000000d;min-width:300px;max-width:300px;flex-shrink:0;position:relative}.profile-review-card:hover{box-shadow:0 4px 8px #0000001a;border-color:var(--color-primary)}.profile-review-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-light)}.profile-review-edit-btn,.profile-review-delete-btn{padding:6px 10px;background:transparent;border:1px solid var(--color-border-medium);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--color-text-secondary)}.profile-review-edit-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.profile-review-delete-btn:hover{background:#fee2e2;border-color:#ef4444;color:#dc2626}.profile-listings-scroll-container{display:flex;overflow-x:auto;overflow-y:hidden;gap:16px;padding-bottom:8px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border-medium) transparent}.profile-listings-scroll-container::-webkit-scrollbar{height:6px}.profile-listings-scroll-container::-webkit-scrollbar-track{background:transparent}.profile-listings-scroll-container::-webkit-scrollbar-thumb{background-color:var(--color-border-medium);border-radius:3px}.profile-listings-scroll-container::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.profile-listing-card-wrapper{flex-shrink:0;min-width:250px;max-width:250px;position:relative;display:flex;flex-direction:column}.profile-listing-card-wrapper .listing-card-desktop,.profile-listing-card-wrapper .listing-card-mobile{width:100%;flex:1}.profile-listing-sold .listing-card-desktop,.profile-listing-sold .listing-card-mobile{opacity:.6}.profile-listing-sold-badge{position:absolute;top:8px;right:8px;background:#6b7280;color:#fff;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;z-index:10;pointer-events:none;box-shadow:0 2px 4px #0003}.profile-listing-actions{display:flex;gap:8px;margin-top:8px;border-top:1px solid var(--color-border-light);justify-content:center;background:var(--color-bg-primary);padding:8px;border-radius:0 0 8px 8px}.profile-listing-sold-btn,.profile-listing-delete-btn{padding:6px 10px;background:transparent;border:1px solid var(--color-border-medium);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--color-text-secondary);font-size:12px;font-weight:500}.profile-listing-sold-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.profile-listing-delete-btn:hover{background:#fee2e2;border-color:#ef4444;color:#dc2626}.profile-listing-add-card{min-width:250px;max-width:250px;height:300px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border:2px dashed var(--color-border-medium);border-radius:8px;cursor:pointer;transition:all .2s ease;gap:12px}.profile-listing-add-card:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.profile-listing-add-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:color .2s ease}.profile-listing-add-card:hover .profile-listing-add-icon{color:var(--color-primary)}.profile-listing-add-text{font-size:14px;font-weight:500;color:var(--color-text-secondary);transition:color .2s ease}.profile-listing-add-card:hover .profile-listing-add-text{color:var(--color-primary)}@media(max-width:768px){.profile-review-card{min-width:280px;max-width:280px}.profile-listing-card-wrapper{min-width:200px;max-width:200px}.profile-listing-add-card{min-width:200px;max-width:200px;height:250px}}.profile-section-title{font-size:16px;font-weight:600;color:#000;margin:0}.profile-edit-icon-thin{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:all .2s ease;margin-left:8px}.profile-edit-icon-thin:hover{color:var(--color-primary)}.profile-bio-content{font-size:15px;color:#000;line-height:1.6;white-space:pre-wrap;min-height:24px;cursor:pointer;padding:8px 12px;border-radius:4px;transition:background-color .2s ease}.profile-bio-content:hover{background-color:#f3f2ef}.profile-bio-content:empty:before{content:"Click to add a short bio";color:#999;font-style:italic}.profile-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e0e0e0}.profile-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.profile-field-value{font-size:15px;color:#000;line-height:1.5;min-height:24px}.profile-field-editable{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.profile-field-editable:hover{background-color:#f3f2ef}.profile-field-editable .profile-edit-icon{opacity:0;transition:opacity .2s ease;color:#666;flex-shrink:0;margin-left:8px}.profile-field-editable:hover .profile-edit-icon{opacity:1}.profile-bio-text{white-space:pre-wrap;min-height:60px}.profile-inline-edit{display:flex;flex-direction:column;gap:12px}.profile-inline-input,.profile-inline-textarea{padding:10px 12px;border:1px solid #d0d0d0;border-radius:4px;font-size:15px;font-family:inherit;color:#000;background-color:#fff;width:100%;transition:border-color .2s ease}.profile-inline-input:focus,.profile-inline-textarea:focus{outline:none;border-color:#0077b5;box-shadow:0 0 0 2px #0077b51a}.profile-inline-textarea{resize:vertical;min-height:100px;font-family:inherit;line-height:1.5}.profile-name-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-inline-actions{display:flex;gap:8px;justify-content:flex-end}.profile-upload-label{display:inline-block;padding:8px 16px;background-color:#0077b5;color:#fff;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;text-align:center;transition:background-color .2s ease}.profile-upload-label:hover{background-color:#005885}.profile-inline-save,.profile-inline-cancel{padding:8px 16px;font-size:14px;font-weight:600;border:none;border-radius:24px;cursor:pointer;transition:all .2s ease}.profile-inline-save{background-color:#0077b5;color:#fff}.profile-inline-save:hover:not(:disabled){background-color:#005885}.profile-inline-save:disabled{opacity:.6;cursor:not-allowed}.profile-inline-cancel{background-color:transparent;color:#666;border:1px solid #d0d0d0}.profile-inline-cancel:hover:not(:disabled){background-color:#f3f2ef;border-color:#b0b0b0}.profile-inline-cancel:disabled{opacity:.6;cursor:not-allowed}.admin-profile-reviews-section{margin-top:32px}.admin-reviews-list{display:flex;flex-direction:column;gap:24px}.admin-review-item{padding:24px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.admin-review-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.admin-review-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.admin-review-course-name{font-size:18px;font-weight:600;color:#111827;margin:0}.admin-review-course-code{font-size:14px;color:#6b7280;font-weight:500}.admin-review-rating{display:flex;align-items:center;gap:8px;margin-bottom:12px}.admin-review-rating-value{font-size:14px;font-weight:600;color:#374151}.admin-review-text{font-size:14px;color:#374151;line-height:1.6;margin-bottom:12px}.admin-review-meta{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e5e7eb;gap:16px;flex-wrap:wrap}.admin-review-date{font-size:12px;color:#9ca3af}.admin-review-link{font-size:12px;color:#2563eb;text-decoration:none;font-weight:500}.admin-review-link:hover{text-decoration:underline}.admin-review-actions{display:flex;align-items:center;gap:12px;margin-left:auto;margin-right:16px}.admin-review-action-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.admin-review-action-button:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.admin-review-action-button.liked{background:#dbeafe;border-color:#3b82f6;color:#2563eb}.admin-review-action-button.liked:hover{background:#bfdbfe}.admin-review-action-button.reported{background:#fee2e2;border-color:#ef4444;color:#dc2626}.admin-review-action-button.reported:hover{background:#fecaca}.admin-review-action-button svg{flex-shrink:0}.admin-review-action-count{font-size:12px;font-weight:600}.admin-review-card{padding:24px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;transition:all .2s ease}.admin-review-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.admin-review-card .admin-review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px}.admin-review-user{display:flex;align-items:flex-start;gap:12px;flex:1}.admin-review-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600;flex-shrink:0}.admin-review-user-info{flex:1;min-width:0}.admin-review-user-name{font-size:15px;font-weight:600;color:#111827;margin-bottom:4px}.admin-review-course-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-review-course-link{font-size:14px;font-weight:500;color:#2563eb;text-decoration:none}.admin-review-course-link:hover{text-decoration:underline}.admin-review-course-code{font-size:12px;color:#6b7280;padding:2px 8px;background:#e5e7eb;border-radius:4px}.admin-review-card .admin-review-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.admin-review-card .admin-review-rating{display:flex;align-items:center;gap:6px}.admin-review-card .admin-review-rating-value{font-size:14px;font-weight:600;color:#374151}.admin-review-card .admin-review-date{font-size:12px;color:#9ca3af}.admin-review-card .admin-review-text{font-size:14px;color:#374151;line-height:1.6;margin:0}@media(max-width:1024px){.admin-dashboard-layout{flex-direction:column!important}.profile-sidebar{width:100%;min-width:100%;max-width:100%;position:static;order:1}.admin-content{order:2;width:100%}.admin-sidebar{width:100%;position:static}.admin-sidebar-nav{flex-direction:row;flex-wrap:wrap}.admin-sidebar-item{flex:1;min-width:120px}.course-cards-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.course-cards-grid{grid-template-columns:repeat(2,1fr)}.admin-dashboard{padding:24px 16px}.admin-kpi-grid{grid-template-columns:repeat(2,1fr)}.admin-charts-section{gap:24px;grid-template-columns:1fr}.admin-courses-table-container{font-size:12px}.admin-courses-table th,.admin-courses-table td{padding:8px}}@media(max-width:640px){.course-cards-grid,.homepage-banner-content{grid-template-columns:1fr}.homepage-banner-card{max-width:100%}.latest-reviews-grid{grid-template-columns:1fr}.latest-reviews-header{flex-direction:column;align-items:flex-start;gap:16px}.hero-section{padding:40px 16px 32px;min-height:auto}.hero-content{max-width:100%}.hero-title{font-size:2em;margin-bottom:12px;line-height:1.2}.hero-subtitle{font-size:1em;margin-bottom:32px}.hero-university-selector{margin-bottom:32px}.university-selector-text{font-size:1em;display:block;margin-bottom:4px}.university-selector-name-button{display:inline-flex;padding:4px 0;min-height:44px}.university-selector-name{font-size:1.1em}.hero-search{max-width:100%;border-radius:12px;border-width:1px}.hero-search-input{padding:14px 16px;font-size:16px}.hero-search-button{padding:14px 24px;min-width:50px}.department-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.department-title-wrapper{width:100%;align-items:center}.department-star-button{min-width:44px;min-height:44px;padding:8px}.department-title{font-size:1.25em;line-height:1.3}.see-more-button{width:100%;padding:12px 16px;font-size:15px;min-height:44px}.course-card-new{padding:14px;min-height:auto;height:auto}.course-card-row-1{height:auto;min-height:42px;margin-bottom:8px}.course-card-title-new{font-size:14px;line-height:1.4}.course-card-row-2{height:auto;min-height:38px;margin-bottom:8px}.course-card-label{font-size:10px}.course-card-value{font-size:12px}.course-card-row-semester{margin-bottom:8px}.course-card-value-semester{font-size:12px}.course-card-row-3{margin-top:auto;padding-top:8px}.course-card-rating{flex-wrap:wrap;gap:6px}.rating-value{font-size:13px}.reviews-count-inline{font-size:12px}.homepage-banner{margin:24px 0}.homepage-banner .container{padding:0 16px}.homepage-banner-content{padding:32px 24px;gap:24px}.homepage-banner-title{font-size:1.5em;margin-bottom:12px}.homepage-banner-text{font-size:14px;line-height:1.6;margin-bottom:20px}.homepage-banner-button{width:100%;padding:12px 24px;font-size:15px;min-height:44px}.homepage-banner-card{padding:24px}.homepage-banner-card-title{font-size:1.25em;margin-bottom:12px}.homepage-banner-card-text{font-size:14px;line-height:1.6;margin-bottom:16px}.homepage-banner-card-button{width:100%;padding:10px 20px;font-size:14px;min-height:44px}.latest-reviews-section{padding-top:16px}.latest-reviews-section .container{padding:0 16px 40px}.latest-reviews-title{font-size:1.5em}.latest-reviews-nav{align-self:flex-end}.latest-reviews-nav-button{width:44px;height:44px}.latest-review-card{padding:16px}.latest-review-header{gap:10px}.latest-review-avatar{width:36px;height:36px;font-size:14px}.latest-review-name{font-size:13px}.latest-review-text{font-size:13px;line-height:1.5}.latest-review-course{padding-top:10px}.latest-review-course-name{font-size:12px}.latest-review-course-code{font-size:11px}.show-all-categories-section{padding:0 16px;margin:24px 0}.show-all-categories-button{width:100%;padding:14px 24px;font-size:15px;min-height:44px}.departments-section{padding:20px 0 0}.department-section{margin-bottom:32px}.home-footer{padding:32px 0}.home-footer .container{padding:0 16px}.footer-nav{flex-direction:column;gap:12px;align-items:flex-start}.footer-nav a{font-size:14px;padding:8px 0;min-height:44px;display:flex;align-items:center}}@media(max-width:1024px){.latest-reviews-grid{grid-template-columns:repeat(2,1fr)}}.not-found-page{min-height:100vh;background-color:var(--color-bg-primary)}.not-found-hero{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-primary) 100%);padding:120px 24px 80px;position:relative;overflow:hidden;text-align:center}.not-found-hero:before{content:"";position:absolute;inset:-20% -10%;background:radial-gradient(circle at 20% 30%,rgba(0,182,122,.25) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(37,99,235,.2) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(124,58,237,.15) 0%,transparent 60%);filter:blur(80px);z-index:0;opacity:.8}.not-found-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f9fafb66,#fff9);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);z-index:0}.not-found-hero-content{max-width:800px;margin:0 auto;position:relative;z-index:2}.not-found-icon-container{margin-bottom:32px;display:flex;justify-content:center}.not-found-icon{width:280px;height:280px;color:var(--color-primary);animation:trophyBounce 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,182,122,.2));position:relative}.not-found-icon svg{width:100%;height:100%}.not-found-icon .sparkle{color:var(--color-primary);opacity:0;animation:sparkle 2s ease-in-out infinite}.not-found-icon .sparkle-1{animation-delay:0s}.not-found-icon .sparkle-2{animation-delay:.5s}.not-found-icon .sparkle-3{animation-delay:1s}.not-found-icon .sparkle-4{animation-delay:1.5s}.not-found-title{font-size:3.5em;font-weight:700;color:var(--color-text-primary);margin-bottom:20px;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-primary) 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titlePulse 2s ease-in-out infinite}.not-found-subtitle{font-size:1.5em;color:var(--color-text-secondary);margin-bottom:16px;font-weight:500;line-height:1.6}.not-found-description{font-size:1.1em;color:var(--color-text-tertiary);margin-bottom:40px;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}.not-found-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.not-found-button{background-color:var(--color-primary);color:#fff;border:none;padding:16px 32px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit;box-shadow:var(--shadow-md)}.not-found-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.not-found-button-secondary{background-color:transparent;color:var(--color-text-primary);border:2px solid var(--color-border-medium);padding:16px 32px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit}.not-found-button-secondary:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.not-found-help-section{padding:80px 24px;background-color:var(--color-bg-primary)}.not-found-help-title{font-size:2em;font-weight:700;color:var(--color-text-primary);margin-bottom:40px;text-align:center;letter-spacing:-.02em}.not-found-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;max-width:1000px;margin:0 auto}.not-found-link-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:32px 24px;text-align:center;box-shadow:var(--shadow-sm);transition:all .2s ease;cursor:pointer}.not-found-link-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:var(--color-primary)}.not-found-link-icon{font-size:3em;margin-bottom:16px;display:inline-block;animation:ratingIconFloat 3s ease-in-out infinite}.not-found-link-title{font-size:1.2em;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.not-found-link-text{font-size:.95em;color:var(--color-text-secondary);margin:0;line-height:1.5}@media(max-width:768px){.not-found-title{font-size:2.5em}.not-found-subtitle{font-size:1.2em}.not-found-description{font-size:1em}.not-found-icon{width:200px;height:200px}.not-found-actions{flex-direction:column;align-items:stretch}.not-found-button,.not-found-button-secondary{width:100%}.not-found-links-grid{grid-template-columns:1fr}}.review-guidelines-link{font-size:14px;color:var(--color-primary);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:4px;transition:all .2s ease;white-space:nowrap}.review-guidelines-link:hover{color:var(--color-primary-dark);text-decoration:underline}.review-guidelines-link:after{content:"→";margin-left:2px;transition:transform .2s ease}.review-guidelines-link:hover:after{transform:translate(2px)}@media(max-width:768px){.comment-title{margin-bottom:8px}.review-guidelines-link{font-size:12px}}.review-guidelines-page{min-height:100vh;background-color:var(--color-bg-primary);padding:0}.guidelines-wrapper{display:grid;grid-template-columns:60% 40%;gap:48px;max-width:1400px;margin:0 auto;padding:40px 48px 60px}.guidelines-container{max-width:100%;min-width:0}.guidelines-back-link{display:inline-block;color:var(--color-text-secondary);text-decoration:none;font-size:14px;margin-bottom:32px;transition:color .2s ease}.guidelines-back-link:hover{color:var(--color-primary);text-decoration:underline}.guidelines-header{margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--color-border-light)}.guidelines-main-title{font-size:2.5em;font-weight:700;color:var(--color-text-primary);margin-bottom:16px;line-height:1.2;letter-spacing:-.02em}.guidelines-intro{font-size:1.1em;color:var(--color-text-secondary);line-height:1.7;margin:0}.guidelines-article{display:flex;flex-direction:column;gap:48px}.guidelines-content-section{margin-bottom:0}.guidelines-section-heading{font-size:1.75em;font-weight:700;color:var(--color-text-primary);margin-bottom:20px;line-height:1.3;letter-spacing:-.01em}.guidelines-paragraph{font-size:1em;color:var(--color-text-secondary);line-height:1.7;margin-bottom:20px}.guidelines-tips-section{margin-bottom:0}.guidelines-tips-list{list-style:none;counter-reset:tip-counter;padding:0;margin:0}.guidelines-tip-item{counter-increment:tip-counter;margin-bottom:32px;padding-left:0;position:relative}.guidelines-tip-item:before{content:counter(tip-counter);position:absolute;left:0;top:0;width:36px;height:36px;background-color:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1em;flex-shrink:0}.guidelines-tip-title{font-size:1.25em;font-weight:700;color:var(--color-text-primary);margin-bottom:12px;margin-left:52px;line-height:1.4}.guidelines-tip-text{font-size:1em;color:var(--color-text-secondary);line-height:1.7;margin-left:52px;margin-top:0}.guidelines-simple-list{list-style:none;padding:0;margin:20px 0}.guidelines-simple-list li{padding:12px 0;font-size:1em;color:var(--color-text-secondary);line-height:1.7;border-bottom:1px solid var(--color-border-light)}.guidelines-simple-list li:last-child{border-bottom:none}.guidelines-simple-list li strong{color:var(--color-text-primary);font-weight:600}.guidelines-warning-section{background-color:#fef2f2;padding:32px;border-radius:8px;border:1px solid #fecaca}.guidelines-warning-list li{border-bottom-color:#fecaca}.guidelines-examples-group{margin-bottom:48px}.guidelines-examples-group:last-child{margin-bottom:0}.guidelines-examples-subtitle{font-size:1.3em;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.guidelines-examples-subtitle.guidelines-examples-bad{color:#dc2626}.guidelines-examples-note{font-size:.95em;color:var(--color-text-tertiary);margin-bottom:20px;font-style:italic}.guidelines-examples-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}.guidelines-review-example{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:6px;padding:16px 20px;transition:all .2s ease}.guidelines-review-example:hover{border-color:var(--color-primary);box-shadow:0 2px 4px #0000000d}.guidelines-review-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.guidelines-review-rating{flex-shrink:0}.guidelines-review-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--color-text-secondary)}.guidelines-review-name{font-weight:600;color:var(--color-text-primary)}.guidelines-review-separator{color:var(--color-text-tertiary)}.guidelines-review-course{color:var(--color-text-secondary)}.guidelines-review-text{font-size:15px;line-height:1.6;color:var(--color-text-secondary);margin:0}.users-page{min-height:100vh;background-color:var(--color-bg-primary);padding:32px 0 60px}.users-page .container{max-width:1200px;margin:0 auto;padding:0 24px}.users-page-header{margin-bottom:32px}.users-page-header h1{font-size:32px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px}.users-page-header p{font-size:16px;color:var(--color-text-secondary);margin:0}.users-search-container{margin-bottom:32px}.users-search-input{width:100%;max-width:500px;padding:12px 16px;font-size:16px;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;color:var(--color-text-primary);transition:border-color .2s ease,box-shadow .2s ease}.users-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0077b51a}.users-search-input::placeholder{color:var(--color-text-tertiary)}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-bottom:32px}.user-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;text-decoration:none!important;color:inherit;transition:box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column;box-shadow:0 0 0 1px #00000014,0 2px 4px #0000000d}.user-card,.user-card *,.user-card:hover,.user-card:hover *,.user-card a,.user-card:hover a{text-decoration:none!important}.user-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#d0d0d0}.user-card-header{display:grid;grid-template-columns:auto 1fr;gap:16px;margin-bottom:16px;align-items:flex-start}.user-card-avatar{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:32px;flex-shrink:0;border:3px solid #ffffff;box-shadow:0 2px 8px #0000001a}.user-card-info{display:flex;flex-direction:column;gap:6px;min-width:0}.user-card-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-card-name{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.3;text-decoration:none!important}.user-card:hover .user-card-name,.user-card:visited .user-card-name{text-decoration:none!important}.user-card-badges{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.user-card-program{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.4;text-decoration:none!important}.user-card:hover .user-card-program,.user-card:visited .user-card-program{text-decoration:none!important}.user-card-body{flex:1;display:flex;flex-direction:column;gap:8px}.user-card-bio{font-size:14px;color:var(--color-text-secondary);margin:8px 0 0;line-height:1.5;display:-webkit-box;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none!important}.user-card:hover .user-card-bio,.user-card:visited .user-card-bio{text-decoration:none!important}.user-card-stats{margin-top:auto;padding-top:12px;border-top:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;gap:12px}.user-card-reviews{font-size:13px;color:var(--color-text-tertiary);font-weight:500;text-decoration:none!important}.user-card:hover .user-card-reviews,.user-card:visited .user-card-reviews{text-decoration:none!important}.user-card-linkedin-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:#0077b5;color:#fff;text-decoration:none;border-radius:6px;font-size:13px;font-weight:500;transition:background-color .2s ease;flex-shrink:0}.user-card-linkedin-button:hover{background-color:#005885;color:#fff;text-decoration:none}.user-card-linkedin-button svg{flex-shrink:0}.users-empty-state{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.users-empty-state p{font-size:18px;margin-bottom:16px}.users-clear-search-button{padding:10px 20px;background-color:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.users-clear-search-button:hover{background-color:#005885}.users-load-more-container{display:flex;justify-content:center;margin-top:32px}.users-load-more-button{padding:12px 32px;background-color:#fff;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.users-load-more-button:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.users-load-more-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.users-page{padding:24px 0 40px}.users-page .container{padding:0 16px}.users-page-header h1{font-size:28px}.users-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.user-card{padding:16px}.user-card-avatar{width:80px;height:80px;font-size:28px}.user-card-header{gap:12px}.user-card-name{font-size:16px}}@media(max-width:480px){.users-grid{grid-template-columns:1fr}.users-search-input{max-width:100%}}.guidelines-bad-example{background-color:#fef2f2;border-color:#fecaca;opacity:.95}.guidelines-bad-example:hover{border-color:#f87171;background-color:#fee2e2}.guidelines-faq-list{display:flex;flex-direction:column;gap:24px;margin-top:24px}.guidelines-faq-item{padding-bottom:24px;border-bottom:1px solid var(--color-border-light)}.guidelines-faq-item:last-child{border-bottom:none;padding-bottom:0}.guidelines-faq-question{font-size:1.1em;font-weight:700;color:var(--color-text-primary);margin-bottom:8px;line-height:1.4}.guidelines-faq-answer{font-size:1em;color:var(--color-text-secondary);line-height:1.7;margin:0}.guidelines-footer{margin-top:48px;padding-top:32px;border-top:1px solid var(--color-border-light);text-align:center}.guidelines-footer-text{font-size:1em;color:var(--color-text-secondary);margin:0}.guidelines-footer-link{color:var(--color-primary);text-decoration:none;font-weight:600;transition:color .2s ease}.guidelines-footer-link:hover{color:var(--color-primary-dark);text-decoration:underline}@media(max-width:768px){.guidelines-container{padding:24px 16px 40px}.guidelines-main-title{font-size:2em}.guidelines-intro{font-size:1em}.guidelines-section-heading{font-size:1.5em}.guidelines-tip-item:before{width:32px;height:32px;font-size:1em}.guidelines-tip-title{margin-left:48px;font-size:1.1em}.guidelines-tip-text{margin-left:48px;font-size:.95em}.guidelines-warning-section{padding:24px 16px}.guidelines-review-header{flex-direction:column;align-items:flex-start;gap:8px}.guidelines-review-meta{font-size:13px}.guidelines-review-text{font-size:14px}}.guidelines-sidebar{position:relative}.guidelines-toc{position:sticky;top:80px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:24px;max-height:calc(100vh - 100px);overflow-y:auto}.guidelines-toc-title{font-size:15px;font-weight:700;color:var(--color-text-primary);margin:0 0 20px;text-transform:uppercase;letter-spacing:.5px}.guidelines-toc-nav{display:flex;flex-direction:column;gap:10px}.guidelines-toc-link{font-size:14px;color:var(--color-text-secondary);text-decoration:none;padding:10px 12px;margin:0 -12px;border-radius:6px;transition:all .2s ease;line-height:1.6;display:block;position:relative}.guidelines-toc-link:hover{color:var(--color-primary);text-decoration:none;background-color:var(--color-bg-secondary)}.guidelines-toc-link:active,.guidelines-toc-link:focus{color:var(--color-primary);outline:none}.guidelines-toc-link.active{color:var(--color-primary);font-weight:600;background-color:#00b67a1a}.guidelines-toc-link.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--color-primary);border-radius:0 2px 2px 0}html{scroll-behavior:smooth}.guidelines-article section{scroll-margin-top:100px}.services-home-page{min-height:calc(100vh - 200px);padding:80px 24px;background:#fff}.services-container{max-width:1200px;margin:0 auto}.services-hero{text-align:center;margin-bottom:80px;padding-bottom:60px;border-bottom:1px solid var(--color-border-light)}.services-hero-title{font-size:56px;font-weight:800;color:var(--color-text-primary);margin-bottom:24px;letter-spacing:-.03em;line-height:1.1}.services-hero-subtitle{font-size:22px;color:var(--color-text-secondary);max-width:700px;margin:0 auto 40px;line-height:1.6;font-weight:400}.services-hero-features{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:40px}.hero-feature{display:flex;align-items:center;gap:10px;color:var(--color-text-primary);font-size:16px;font-weight:600;padding:12px 20px;background:var(--color-bg-secondary);border-radius:8px}.hero-feature svg{color:var(--color-primary);flex-shrink:0}.section-title{font-size:36px;font-weight:700;color:var(--color-text-primary);margin-bottom:12px;letter-spacing:-.02em}.section-subtitle{font-size:17px;color:var(--color-text-secondary);margin-bottom:40px;max-width:600px;line-height:1.5}.services-section{margin-bottom:100px}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:32px;margin-top:40px}.service-card{background:#fff;border:1px solid var(--color-border-light);border-radius:12px;padding:36px;transition:all .2s ease;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--service-color);transform:scaleX(0);transition:transform .2s ease}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{border-color:var(--service-color);box-shadow:0 4px 16px #00000014}.service-card.coming-soon{opacity:.6;cursor:not-allowed}.service-card.coming-soon:hover{transform:none;border-color:var(--color-border-light);box-shadow:none}.service-card-icon{margin-bottom:20px;opacity:.9}.service-card-content{position:relative}.service-card-title{font-size:22px;font-weight:700;color:var(--color-text-primary);margin-bottom:10px;letter-spacing:-.01em}.service-card-description{font-size:15px;color:var(--color-text-secondary);line-height:1.6;margin-bottom:0}.service-coming-soon-badge{display:inline-block;padding:6px 12px;background:var(--color-bg-tertiary);color:var(--color-text-tertiary);border-radius:6px;font-size:14px;font-weight:600}.service-card-arrow{position:absolute;top:32px;right:32px;color:var(--service-color);opacity:0;transition:all .3s ease;transform:translate(-8px)}.service-card:hover .service-card-arrow{opacity:1;transform:translate(0)}.useful-links-section{margin-bottom:100px;padding-top:60px;border-top:1px solid var(--color-border-light)}.useful-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:40px}.useful-link-card{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid var(--color-border-light);border-radius:10px;padding:24px;text-decoration:none;color:inherit;transition:all .2s ease;position:relative}.useful-link-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000000f;text-decoration:none}.useful-link-icon{color:var(--color-primary);flex-shrink:0;margin-top:2px}.useful-link-content{flex:1;min-width:0}.useful-link-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin-bottom:6px}.useful-link-description{font-size:14px;color:var(--color-text-secondary);line-height:1.5}.useful-link-arrow{color:var(--color-text-tertiary);flex-shrink:0;margin-top:2px;transition:transform .2s ease}.useful-link-card:hover .useful-link-arrow{transform:translate(4px);color:var(--color-primary)}.tips-section{margin-bottom:60px;padding-top:60px;border-top:1px solid var(--color-border-light)}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:40px}.tip-card{background:#fff;border:1px solid var(--color-border-light);border-radius:10px;padding:24px;transition:all .2s ease}.tip-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000000f}.tip-icon{font-size:36px;margin-bottom:14px;line-height:1}.tip-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin-bottom:10px}.tip-description{font-size:14px;color:var(--color-text-secondary);line-height:1.6}@media(max-width:768px){.services-home-page{padding:50px 16px}.services-hero{margin-bottom:60px;padding-bottom:40px}.services-hero-title{font-size:36px}.services-hero-subtitle{font-size:18px;margin-bottom:32px}.services-hero-features{gap:12px;justify-content:center}.hero-feature{font-size:14px;padding:10px 16px}.section-title{font-size:28px}.section-subtitle{font-size:15px;margin-bottom:32px}.services-section,.useful-links-section,.tips-section{margin-bottom:60px;padding-top:40px}.services-grid,.useful-links-grid,.tips-grid{grid-template-columns:1fr;gap:16px;margin-top:32px}.service-card{padding:28px 24px}.service-card-arrow{top:24px;right:24px}.useful-link-card,.tip-card{padding:20px}}@media(max-width:1024px){.guidelines-wrapper{grid-template-columns:1fr;gap:32px;padding:40px 32px 60px}.guidelines-sidebar{order:-1}.guidelines-toc{position:relative;top:0;max-height:none}}@media(max-width:768px){.guidelines-wrapper{padding:24px 20px 40px}}.marketplace-browse-page{min-height:calc(100vh - 200px);padding:0 16px 40px;background:var(--color-bg-primary)!important;display:block!important;visibility:visible!important;width:100%;position:relative}.marketplace-browse-page .newversion-search-section{margin-top:0;padding-top:16px}.marketplace-container{max-width:1400px;margin:0 auto;display:block!important;visibility:visible!important;width:100%;position:relative}@media(min-width:769px){.marketplace-browse-page{background:var(--color-bg-primary)!important;display:block!important;visibility:visible!important}.marketplace-container{display:block!important;visibility:visible!important}.rows-main-layout{display:flex!important}.rows-content{display:block!important;visibility:visible!important;overflow-x:visible!important}.rows-sidebar{display:block!important;visibility:visible!important}}.marketplace-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px}.marketplace-title{font-size:28px;font-weight:700;color:var(--color-text-primary);margin-bottom:4px;letter-spacing:-.02em}.marketplace-subtitle{font-size:15px;color:var(--color-text-secondary)}.marketplace-create-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.marketplace-create-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.marketplace-guided-search{background:#fff;border:1px solid var(--color-border-light);border-radius:8px;padding:20px;margin-bottom:24px}.guided-search-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:flex-end}.guided-search-field{display:flex;flex-direction:column;gap:8px}.guided-search-label{font-size:13px;font-weight:600;color:var(--color-text-primary)}.guided-search-select{padding:10px 12px;border:1px solid var(--color-border-light);border-radius:6px;font-size:14px;color:var(--color-text-primary);background:#fff;cursor:pointer;width:100%;height:42px;box-sizing:border-box}.guided-search-select:focus{outline:none;border-color:var(--color-border-medium)}.guided-search-course-wrapper{position:relative;width:100%}.guided-search-course-input{width:100%;padding:10px 32px 10px 12px;border:1px solid var(--color-border-light);border-radius:6px;font-size:14px;color:var(--color-text-primary);background:#fff;transition:border-color .2s ease}.guided-search-course-input:focus{outline:none;border-color:var(--color-primary)}.guided-search-course-input::placeholder{color:var(--color-text-tertiary)}.guided-search-clear-course{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);padding:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.guided-search-clear-course:hover{color:var(--color-text-primary)}.guided-search-course-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--color-border-light);border-radius:6px;box-shadow:0 4px 12px #0000001a;max-height:300px;overflow-y:auto;z-index:1000}.guided-search-course-option{padding:10px 12px;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;gap:8px}.guided-search-course-option:hover{background:var(--color-bg-secondary)}.guided-search-course-option:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.guided-search-course-option:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.course-option-code{font-size:12px;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;flex-shrink:0}.course-option-name{font-size:14px;color:var(--color-text-primary);flex:1}.guided-search-price-wrapper{position:relative;display:flex;align-items:center;border:1px solid var(--color-border-light);border-radius:6px;background:#fff;transition:border-color .2s ease}.guided-search-price-wrapper:focus-within{border-color:var(--color-primary)}.guided-search-currency{padding:10px 8px 10px 12px;font-size:14px;font-weight:600;color:var(--color-text-secondary);border-right:1px solid var(--color-border-light);flex-shrink:0}.guided-search-price-input{flex:1;padding:10px 32px 10px 8px;border:none;outline:none;font-size:14px;color:var(--color-text-primary);background:transparent}.guided-search-price-input::placeholder{color:var(--color-text-tertiary)}.guided-search-clear-price{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);padding:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.guided-search-clear-price:hover{color:var(--color-text-primary)}.guided-search-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-light)}.guided-search-clear-btn{padding:8px 16px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-light);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.guided-search-clear-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-medium);color:var(--color-text-primary)}.marketplace-content-search{margin-bottom:16px;position:relative;z-index:10000}.marketplace-content-search .page-search-bar{max-width:100%}.unified-search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;box-shadow:var(--shadow-lg);z-index:10001;max-height:500px;overflow-y:auto}.search-suggestions-section{padding:8px 0}.search-suggestions-header{padding:8px 16px;font-size:12px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.search-suggestion-item{padding:12px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid var(--color-border-light);position:relative;z-index:inherit}.search-suggestion-item:last-child{border-bottom:none}.search-suggestion-item:hover{background-color:var(--color-bg-secondary)}.search-suggestion-course{display:flex;flex-direction:column;gap:8px}.search-suggestion-course-info{display:flex;flex-direction:column;gap:6px}.search-suggestion-course-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-suggestion-course-code{font-weight:600;color:var(--color-primary);font-size:14px}.search-suggestion-course-title{font-size:15px;font-weight:500;color:var(--color-text-primary)}.search-suggestion-course-stats{display:flex;align-items:center;gap:8px;font-size:13px}.search-suggestion-review-count{color:var(--color-text-secondary)}.search-suggestion-no-reviews{color:var(--color-text-tertiary);font-style:italic}.search-suggestion-item-row{display:flex;align-items:center;gap:12px}.search-suggestion-item-image{width:48px;height:48px;object-fit:cover;border-radius:8px;flex-shrink:0;border:1px solid #e5e7eb}.search-suggestion-item-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;border-radius:8px;flex-shrink:0;color:#6b7280}.search-suggestion-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.search-suggestion-item-title{font-size:15px;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-suggestion-item-course{font-size:13px;color:var(--color-text-secondary);display:flex;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-suggestion-item-course span:first-child{font-weight:600;color:var(--color-primary)}.marketplace-results{margin-top:0}.marketplace-results-header{margin-bottom:12px}.marketplace-results-count{font-size:14px;color:var(--color-text-secondary);font-weight:600}.marketplace-listings-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;max-width:1600px;margin:0 auto;width:100%}@media(min-width:1400px){.marketplace-listings-grid{max-width:1600px;gap:20px}}@media(min-width:1200px)and (max-width:1399px){.marketplace-listings-grid{max-width:1400px;gap:18px}}@media(min-width:992px)and (max-width:1199px){.marketplace-listings-grid{max-width:1200px;gap:16px}}.listing-card-desktop{background:#fff;border:1px solid var(--color-border-light);border-radius:8px;overflow:hidden;position:relative;display:flex;flex-direction:column;transition:all .2s ease;cursor:pointer}.listing-card-desktop:hover{border-color:var(--color-border-medium);box-shadow:0 2px 8px #00000014}.listing-card-desktop-image-section{width:100%;height:180px;position:relative;background-color:var(--color-bg-secondary);overflow:hidden}.listing-card-desktop-image-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary)}.listing-card-desktop-image{width:100%;height:100%;object-fit:contain;display:block}.listing-card-desktop-image-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-tertiary);color:var(--color-text-muted)}.listing-card-desktop-category-badge{position:absolute;top:8px;left:8px;padding:4px 8px;border-radius:4px;color:#fff;font-size:11px;font-weight:600;z-index:2}.listing-card-desktop-pdf-link{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;background:var(--color-bg-secondary)}.listing-card-desktop-pdf-preview{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px}.listing-card-desktop-pdf-preview svg{color:var(--color-primary);width:40px;height:40px}.listing-card-desktop-pdf-preview span{font-size:13px;font-weight:600;color:var(--color-primary)}.listing-card-desktop-content{padding:8px 12px 10px;display:flex;flex-direction:column;gap:4px;text-align:left}.listing-card-desktop-price{font-size:1.2em;font-weight:700;color:#000;line-height:1.1;padding:0;margin:0}.listing-card-desktop-price-whole,.listing-card-desktop-price-decimal{font-size:1.2em;font-weight:700;color:#000}.listing-card-desktop-title{font-size:14px;font-weight:400;color:#000;line-height:1.2;margin:0;padding:0;text-align:left;word-wrap:break-word;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.listing-card-desktop .listing-card-sold-overlay{top:8px;right:8px}.dark-mode .listing-card-desktop{background:var(--color-bg-secondary);border-color:var(--color-border-light)}.dark-mode .listing-card-desktop:hover{border-color:var(--color-border-medium)}.dark-mode .listing-card-desktop-price,.dark-mode .listing-card-desktop-price-whole,.dark-mode .listing-card-desktop-price-decimal,.dark-mode .listing-card-desktop-title{color:#fff!important}.listing-card-horizontal{background:#fff;border:1px solid var(--color-border-light);border-radius:8px;padding:12px;display:flex;flex-direction:row;gap:16px;transition:all .2s ease;position:relative;align-items:flex-start}.listing-card-horizontal:hover{border-color:var(--color-border-medium);box-shadow:0 2px 8px #00000014}.listing-card-compact:hover{border-color:var(--color-border-medium)}.listing-card-sold{background:#f9fafb;opacity:.75}.listing-card-sold-overlay{position:absolute;top:8px;right:8px;z-index:10}.listing-card-horizontal .listing-card-sold-overlay{top:12px;right:12px}.listing-sold-badge-text{padding:3px 8px;background:#6b7280;color:#fff;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.listing-card-image-placeholder{width:100%;aspect-ratio:3 / 4;max-height:240px;background:var(--color-bg-secondary);border-radius:6px;margin-bottom:12px;border:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.listing-card-image{width:100%;height:100%;object-fit:contain;display:block}.listing-card-image-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:1px dashed var(--color-border-light);color:var(--color-text-tertiary)}.listing-card-image-empty svg{opacity:.3}.listing-card-pdf-link{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;background:var(--color-bg-secondary)}.listing-card-pdf-preview{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px}.listing-card-pdf-preview svg{color:var(--color-primary);width:48px;height:48px}.listing-card-pdf-preview span{font-size:13px;font-weight:600;color:var(--color-primary)}.listing-card-department{display:flex;align-items:center;gap:6px;margin-bottom:8px}.listing-card-folder-icon{color:var(--color-text-secondary);flex-shrink:0;width:16px;height:16px}.listing-card-department-name{font-size:13px;color:var(--color-text-secondary);font-weight:500}.listing-card-course-link{text-decoration:none;color:inherit;display:block;margin-bottom:12px}.listing-card-course-link:hover{text-decoration:none}.listing-card-course{display:flex;align-items:flex-start;gap:6px}.listing-card-course-icon{color:var(--color-text-secondary);flex-shrink:0;width:16px;height:16px;margin-top:2px}.listing-card-course-title{font-size:13px;font-weight:500;color:var(--color-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;flex:1}.listing-card-course-link:hover .listing-card-course-title{color:var(--color-primary-dark);text-decoration:underline}.listing-card-meta-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.listing-compact-type-badge{padding:3px 8px;border-radius:4px;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.listing-compact-condition-badge{padding:3px 8px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap}.listing-compact-date{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}.listing-card-row-3{min-height:60px}.listing-compact-description{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.listing-card-row-4{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;border-top:1px solid var(--color-border-light)}.listing-compact-price{font-size:16px;font-weight:700;color:var(--color-primary);white-space:nowrap;flex-shrink:0}.listing-compact-action{flex-shrink:0}.listing-compact-contact-btn{padding:6px 14px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.listing-compact-contact-btn:hover{background:var(--color-primary-dark)}.listing-compact-sold-text{font-size:12px;font-weight:600;color:var(--color-text-tertiary);font-style:italic;padding:6px 14px;background:var(--color-bg-tertiary);border-radius:6px;white-space:nowrap}.listing-compact-email{display:flex;align-items:center;gap:6px}.listing-compact-email-link{font-size:11px;color:var(--color-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.listing-compact-email-link:hover{text-decoration:underline}.listing-compact-copy-btn{padding:3px;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;transition:color .2s ease;flex-shrink:0}.listing-compact-copy-btn:hover{color:var(--color-primary)}.listing-card-sold .listing-card-course-title,.listing-card-sold .listing-compact-description,.listing-card-sold .listing-compact-price{color:var(--color-text-tertiary)}.listing-card-image-section{width:240px;min-width:240px;background:var(--color-bg-secondary);border-radius:6px;border:1px solid var(--color-border-light);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;overflow:visible;flex-shrink:0;padding-bottom:8px}.listing-card-category-badge{position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;z-index:10;box-shadow:0 2px 4px #0003;pointer-events:none;text-transform:uppercase;letter-spacing:.3px}.listing-card-image-horizontal{width:100%;height:100%;object-fit:contain;display:block;background:var(--color-bg-secondary);transition:opacity .2s ease}.listing-card-image-wrapper{width:100%;height:240px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:6px 6px 0 0}.listing-card-image-wrapper:hover{opacity:.95}.listing-card-image-counter{position:absolute;bottom:8px;right:8px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;z-index:1}.listing-card-image-dots{display:flex;justify-content:center;align-items:center;gap:6px;padding:8px 0 0;margin-top:4px;z-index:1}.listing-card-image-dot{width:8px;height:8px;border-radius:50%;border:none;background-color:#d1d5db;cursor:pointer;padding:0;transition:all .2s ease}.listing-card-image-dot:hover{background-color:#9ca3af;transform:scale(1.2)}.listing-card-image-dot.active{background-color:var(--color-primary);width:24px;border-radius:4px}.listing-card-details-section{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0;position:relative;margin-left:20px}.listing-card-row-1{margin-bottom:0}.listing-card-title-horizontal{font-size:25px;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.listing-card-row-2{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;font-size:13px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;margin-top:4px}.listing-card-course-reference{display:flex;align-items:center;gap:4px;text-decoration:underline;color:#000;font-weight:500;transition:opacity .2s ease;flex:0 1 auto;min-width:0}.listing-card-course-reference:hover{opacity:.7;text-decoration:underline}.listing-card-course-code{font-weight:600;flex-shrink:0;color:#000;text-decoration:underline}.listing-card-course-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:450px;display:inline-block;color:#000;text-decoration:underline}.listing-card-in-text{color:var(--color-text-tertiary);font-weight:400;flex-shrink:0;margin:0 4px}.listing-card-department-name{color:var(--color-text-secondary);font-weight:500;flex-shrink:0}.listing-card-row-3{display:flex;align-items:flex-start;gap:30px;margin:20px 0 8px;min-width:0;overflow:hidden}.listing-card-left-section{display:flex;flex-direction:column;gap:12px;flex:0 0 35%;min-width:0;padding-right:30px;border-right:1px solid var(--color-border-light)}.listing-card-description-section{flex:0 0 65%;min-width:0;display:flex;flex-direction:column;gap:8px}.listing-card-description-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.4}.listing-card-price-section{flex-shrink:0}.listing-card-price-horizontal{font-size:28px;font-weight:700;color:#000;white-space:nowrap;line-height:1.2;margin:0;display:inline-flex;align-items:baseline}.listing-card-price-whole{color:#000;font-size:28px;font-weight:700}.listing-card-price-decimal{color:#000;font-size:20px;font-weight:700}.listing-card-price-currency{color:#000;font-size:12px;font-weight:600;margin-left:4px}.listing-card-description-section{flex:0 1 auto;min-width:0;max-width:500px;min-height:130px;height:auto;max-height:none;padding:0;overflow:visible;box-sizing:border-box}.listing-card-description-horizontal{color:var(--color-text-secondary);line-height:1.5;margin:0;font-size:35px;display:block;overflow:visible;word-wrap:break-word;white-space:normal;text-overflow:clip;-webkit-line-clamp:none!important;line-clamp:none!important}.listing-card-description-horizontal p{margin:0;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:none!important;line-clamp:none!important;display:block!important;white-space:normal!important;word-wrap:break-word!important}.listing-card-meta-horizontal{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.listing-card-condition{font-size:13px;color:var(--color-text-secondary);font-weight:500}.listing-card-type-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.listing-card-description-horizontal{color:var(--color-text-secondary);line-height:1.4;margin:2px 0;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.listing-card-description-horizontal p{margin:0}.listing-description-empty{color:var(--color-text-tertiary);font-style:italic}.listing-card-seller-compact{display:flex;align-items:center;gap:6px;flex-shrink:0}.listing-card-seller-avatar-compact{width:20px;height:20px;border-radius:50%;object-fit:cover;border:1px solid var(--color-border-light);flex-shrink:0}.listing-card-seller-avatar-fallback-compact{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:600;flex-shrink:0;border:1px solid var(--color-border-light)}.listing-card-seller-name-compact{font-size:11px;color:var(--color-text-tertiary);font-weight:500;white-space:nowrap}.listing-card-meta-compact{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0}.listing-card-condition-compact{font-size:12px;color:var(--color-text-secondary);font-weight:500}.listing-card-type-badge-compact{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.listing-card-price-horizontal{font-size:22px;font-weight:700;color:var(--color-primary);white-space:nowrap;margin:4px 0;line-height:1.2}.listing-card-seller-info-row{display:flex;align-items:center;gap:8px;flex-shrink:0}.listing-card-seller-avatar-row{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid var(--color-border-light);flex-shrink:0}.listing-card-seller-avatar-fallback-row{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:600;flex-shrink:0;border:1px solid var(--color-border-light)}.listing-card-seller-name-row{font-size:13px;color:var(--color-text-secondary);font-weight:500;white-space:nowrap}.listing-card-action-horizontal{display:flex;align-items:center;gap:8px;width:100%}.listing-card-action-horizontal button{width:100%}.listing-contact-btn-horizontal{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.listing-contact-btn-horizontal:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.listing-sold-text-horizontal{padding:10px 20px;background:var(--color-bg-tertiary);color:var(--color-text-tertiary);border-radius:6px;font-size:14px;font-weight:600;white-space:nowrap}.listing-email-horizontal{display:flex;align-items:center;gap:8px}.listing-email-link-horizontal{color:var(--color-primary);text-decoration:none;font-size:14px;font-weight:500}.listing-email-link-horizontal:hover{text-decoration:underline}.listing-copy-btn-horizontal{padding:6px;background:transparent;border:1px solid var(--color-border-light);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .2s ease}.listing-copy-btn-horizontal:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-medium);color:var(--color-text-primary)}.listing-card-sold .listing-card-price-horizontal{color:var(--color-text-tertiary)}.marketplace-loading,.marketplace-empty{text-align:center;padding:60px 24px;color:var(--color-text-secondary)}.marketplace-empty svg{margin-bottom:16px;color:var(--color-text-tertiary)}.marketplace-empty h3{font-size:20px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.marketplace-empty p{font-size:14px;margin-bottom:16px}.marketplace-create-btn-secondary{padding:12px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.marketplace-create-btn-secondary:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.listing-card{background:#fff;border:1px solid var(--color-border-light);border-radius:8px;padding:14px;transition:all .2s ease;display:flex;flex-direction:column;gap:10px;position:relative}.listing-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.listing-card-sold{background:#f9fafb;opacity:.75;border-color:var(--color-border-medium)}.listing-card-sold:hover{border-color:var(--color-border-medium);box-shadow:none;transform:none}.listing-card-sold .listing-card-title,.listing-card-sold .listing-card-description,.listing-card-sold .listing-card-price,.listing-card-sold .listing-seller-name{color:var(--color-text-tertiary)}.listing-card-sold .listing-type-badge{opacity:.6}.listing-sold-badge{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:4px;padding:4px 8px;background:#6b7280;color:#fff;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;z-index:10}.listing-sold-badge svg{width:12px;height:12px}.listing-sold-message{width:100%;padding:8px;background:var(--color-bg-tertiary);color:var(--color-text-tertiary);border-radius:6px;font-size:13px;font-weight:600;text-align:center;font-style:italic}.listing-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.listing-type-badge{padding:4px 8px;border-radius:4px;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.listing-condition{padding:4px 8px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:4px;font-size:11px;font-weight:600}.listing-card-title{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.listing-card-description{font-size:13px;color:var(--color-text-secondary);line-height:1.6;margin:0;flex:1}.listing-card-course{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--color-bg-secondary);border-radius:4px;font-size:12px;color:var(--color-text-secondary);text-decoration:none;transition:all .2s ease;cursor:pointer}.listing-card-course:hover{background:var(--color-primary);color:#fff;text-decoration:none}.listing-card-course:hover svg{color:#fff}.listing-card-course svg{color:var(--color-primary)}.listing-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--color-border-light);margin-top:4px}.listing-card-price{font-size:18px;font-weight:700;color:var(--color-primary)}.listing-card-seller{display:flex;align-items:center;gap:6px}.listing-seller-name{font-size:12px;font-weight:600;color:var(--color-text-primary)}.listing-seller-university{font-size:11px;color:var(--color-text-tertiary)}.listing-card-actions{margin-top:6px}.listing-contact-btn{width:100%;padding:8px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.listing-contact-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.listing-email-revealed{display:flex;align-items:center;gap:8px;padding:8px;background:var(--color-bg-secondary);border-radius:6px}.listing-email-link{flex:1;color:var(--color-primary);text-decoration:none;font-weight:600;word-break:break-all}.listing-email-link:hover{text-decoration:underline}.listing-copy-email-btn{padding:6px;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;transition:color .2s ease}.listing-copy-email-btn:hover{color:var(--color-primary)}.listing-card-date{font-size:11px;color:var(--color-text-tertiary);text-align:right;margin-top:4px}.create-listing-page{min-height:calc(100vh - 200px);padding:24px 16px 40px;background:var(--color-bg-secondary)}.create-listing-container{max-width:700px;margin:0 auto}.create-listing-header{margin-bottom:20px}.create-listing-back-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:1px solid var(--color-border-light);border-radius:6px;color:var(--color-text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:12px}.create-listing-back-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.create-listing-title{font-size:24px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.01em;margin:0}.create-listing-form,.create-listing-form-scrollable{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;padding:24px}.create-listing-form-scrollable{display:flex;flex-direction:column;gap:32px}.create-listing-error{padding:10px 12px;background:#dc26261a;color:#dc2626;border-radius:6px;margin-bottom:16px;font-size:13px}.dark-mode .create-listing-error{background:#dc262633;color:#fca5a5}.create-listing-success{text-align:center;padding:60px 24px}.create-listing-success svg{color:var(--color-primary);margin-bottom:16px}.create-listing-success h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.form-section{display:flex;flex-direction:column;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--color-border-light)}.form-section:last-of-type{border-bottom:none}.form-label-desktop{display:flex;align-items:center;gap:4px;margin-bottom:8px;font-size:14px;color:var(--color-text-primary)}.form-label-desktop .form-label-text{font-weight:500}.form-label-desktop .form-label-required{color:#dc2626;font-weight:600}.form-label-desktop .form-label-optional{color:var(--color-text-tertiary);font-size:12px;font-weight:400;margin-left:0}.form-label-desktop.form-label-with-info{justify-content:flex-start;gap:4px}.form-label-desktop.form-label-with-info .form-info-icon-desktop{margin-left:auto}.form-info-icon-desktop{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);cursor:help;position:relative}.form-info-icon-desktop:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 8px);right:0;max-width:min(calc(100vw - 32px),280px);width:max-content;min-width:200px;background-color:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;z-index:10000;box-shadow:0 4px 12px #0000004d;pointer-events:none;text-align:left}.dark-mode .form-info-icon-desktop:hover:after{background-color:#fffffff2;color:#000;box-shadow:0 4px 12px #00000080}.form-price-input-wrapper-desktop{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border-light);border-radius:8px;padding:0 12px;background-color:var(--color-bg-primary)}.form-price-currency-desktop{font-size:14px;color:var(--color-text-secondary);font-weight:500;flex-shrink:0}.form-price-input-desktop{border:none;padding:10px 0;flex:1;background:transparent;color:var(--color-text-primary)}.form-price-input-desktop::placeholder{color:var(--color-text-tertiary)}.form-price-input-desktop:focus{outline:none}.selected-course-link-desktop{flex:1;text-decoration:none;color:var(--color-primary);font-weight:500;cursor:pointer;transition:color .2s ease}.selected-course-link-desktop:hover{color:var(--color-primary-dark);text-decoration:underline}.selected-course{display:flex;align-items:center;justify-content:space-between;gap:8px}.form-section-header{display:flex;flex-direction:column;gap:8px}.form-section-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0}.form-section-description{font-size:14px;color:var(--color-text-secondary);line-height:1.5;margin:0}.form-section-description strong{color:var(--color-primary);font-weight:600}.form-group{margin-bottom:12px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.required{color:var(--color-error);font-weight:600}.form-hint-required{font-size:11px;color:var(--color-text-tertiary);margin-top:4px;font-style:italic}.form-input,.form-select,.form-textarea{width:100%;padding:8px 10px;border:1px solid var(--color-border-light);border-radius:6px;font-size:16px;color:var(--color-text-primary);background:var(--color-bg-secondary);transition:border-color .2s ease;font-family:inherit}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary)}.form-textarea{resize:vertical;min-height:80px;font-size:16px}.image-upload-area{position:relative;width:100%}.image-upload-input{position:absolute;opacity:0;width:0;height:0}.image-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;border:1px dashed var(--color-border-light);border-radius:6px;background:var(--color-bg-secondary);cursor:pointer;transition:all .2s ease;text-align:center;width:100%;aspect-ratio:3 / 4;max-height:240px}.image-upload-label:hover{border-color:var(--color-primary);background:var(--color-bg-tertiary)}.image-upload-label svg{color:var(--color-text-secondary);width:24px;height:24px}.image-upload-label span{font-size:12px;font-weight:600;color:var(--color-text-primary)}.image-upload-hint{font-size:11px;color:var(--color-text-tertiary);font-weight:400}.image-preview-container{position:relative;width:100%;aspect-ratio:3 / 4;max-height:240px;border-radius:6px;overflow:hidden;border:1px solid var(--color-border-light)}.image-preview{width:100%;height:100%;object-fit:contain;display:block;background:var(--color-bg-secondary)}.image-remove-btn{position:absolute;top:8px;right:8px;padding:6px 12px;background:#000000b3;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s ease}.image-remove-btn:hover{background:#000000e6}.images-upload-container-asymmetric{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start;width:100%}.image-slot-main{width:100%;aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.image-main-badge{position:absolute;bottom:8px;left:50%;transform:translate(-50%);padding:4px 12px;background:#000000b3;color:#fff;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.images-upload-container{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.image-preview-item{position:relative;width:100%;height:100%;border-radius:6px;overflow:hidden}.image-preview-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.image-remove-btn-small{position:absolute;top:4px;right:4px;padding:4px;background:#000000b3;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.image-remove-btn-small:hover{background:#000000e6}.image-upload-slot{position:relative;width:100%;aspect-ratio:1}.image-upload-slot-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;border:1px dashed var(--color-border-light);border-radius:6px;background:var(--color-bg-secondary);cursor:pointer;transition:all .2s ease;text-align:center;width:100%;height:100%;box-sizing:border-box}.image-upload-slot-label:hover{border-color:var(--color-primary);background:var(--color-bg-tertiary)}.image-upload-slot-label svg{color:var(--color-text-secondary);width:24px;height:24px}.image-upload-slot-label span:first-of-type{font-size:13px;font-weight:600;color:var(--color-text-primary)}.image-upload-slot-hint{font-size:11px;color:var(--color-text-tertiary);font-weight:400}.price-input-wrapper{display:flex;align-items:center;border:1px solid var(--color-border-light);border-radius:6px;overflow:hidden;background:var(--color-bg-secondary)}.price-currency{padding:8px 12px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:13px;font-weight:600;border-right:1px solid var(--color-border-light);white-space:nowrap}.price-input{flex:1;border:none;padding:8px 12px}.price-input:focus{outline:none;box-shadow:none}.price-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #00b67a1a}.department-display{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:6px;color:var(--color-text-primary);font-size:14px;font-weight:500}.department-display svg{color:var(--color-text-secondary);flex-shrink:0}.form-hint{font-size:11px;color:var(--color-text-tertiary);margin-top:2px}.course-select-wrapper{position:relative}.selected-course{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:8px;font-size:15px;color:var(--color-text-primary)}.remove-course-btn{padding:4px;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;transition:color .2s ease}.remove-course-btn:hover{color:var(--color-error)}.course-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:6px;max-height:250px;overflow-y:auto;z-index:1000;box-shadow:0 2px 8px #0000001a}.course-dropdown-item{width:100%;padding:8px 12px;background:none;border:none;text-align:left;cursor:pointer;transition:background .2s ease;display:flex;flex-direction:column;gap:3px}.course-dropdown-item:hover{background:var(--color-bg-secondary)}.course-dropdown-item strong{color:var(--color-text-primary);font-size:14px}.course-dropdown-item span{color:var(--color-text-secondary);font-size:13px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border-light)}.form-cancel-btn{padding:6px 14px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.form-cancel-btn:hover{background:var(--color-border-medium)}.form-submit-btn{padding:6px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.form-submit-btn:hover:not(:disabled){background:var(--color-primary-dark)}.form-submit-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1200px){.listing-row{grid-template-columns:180px 90px 80px 1fr 140px 90px 90px;gap:12px;padding:10px 12px}.listing-row-course{min-width:180px;max-width:180px}.listing-row-category{min-width:90px;max-width:90px}.listing-row-condition{min-width:80px;max-width:80px}.listing-row-user{min-width:140px;max-width:140px}.listing-row-price,.listing-row-actions{min-width:90px;max-width:90px}}@media(max-width:768px){.marketplace-browse-page{padding:16px 12px 32px}.marketplace-header{flex-direction:column;align-items:stretch;margin-bottom:16px}.marketplace-title{font-size:24px}.marketplace-subtitle{font-size:14px}.marketplace-create-btn{width:100%;justify-content:center;padding:10px 16px}.guided-search-row{grid-template-columns:1fr;gap:16px}.marketplace-guided-search{padding:16px}.marketplace-listings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.listing-card-horizontal{flex-direction:column;gap:12px;padding:12px}.listing-card-image-section{width:100%;min-width:100%;height:180px}.listing-card-details-section{gap:6px;min-height:auto}.listing-card-title-horizontal{font-size:16px}.listing-card-row-2{flex-direction:column;align-items:flex-start;gap:4px;flex-wrap:wrap;white-space:normal}.listing-card-course-reference{flex-wrap:wrap;width:100%}.listing-card-course-name{max-width:100%}.listing-card-in-text{margin:0 4px 0 0}.listing-card-row-3{flex-direction:column;gap:12px}.listing-card-row-3{flex-direction:column;gap:16px}.listing-card-left-section{width:100%;min-width:0}.listing-card-action-horizontal button{width:100%}.listing-card-description-section{width:100%;max-width:100%}.listing-card-footer-horizontal{flex-direction:column;align-items:flex-start;gap:12px;padding-top:8px}.listing-card-price-horizontal{font-size:20px}.listing-contact-btn-horizontal{width:100%;padding:12px}.listing-card-new{padding:16px;min-height:auto}.listing-card-footer{flex-wrap:wrap;gap:10px}.listing-card-price-section{order:2;width:100%;justify-content:flex-start;margin-top:4px}.listing-card-action-section{order:3;width:100%}.listing-card-contact-btn,.listing-card-sold-message{width:100%}.create-listing-form,.create-listing-form-scrollable{padding:16px}.form-section{gap:12px;padding-bottom:20px}.form-section-title{font-size:16px}.form-section-description{font-size:13px}.images-upload-container{grid-template-columns:repeat(2,1fr);gap:10px}.images-upload-container-asymmetric{grid-template-columns:1fr;gap:12px;max-width:100%}.price-input-wrapper{flex-direction:column;align-items:stretch}.price-currency{border-right:none;border-bottom:1px solid var(--color-border-light);text-align:center}}.home-page-newversion{min-height:calc(100vh - 64px);background-color:var(--color-bg-primary)}.newversion-breadcrumb{display:none;align-items:center;gap:8px;padding:12px 24px;background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-light);font-size:14px;color:var(--color-text-secondary);overflow:hidden;white-space:nowrap}.newversion-breadcrumb-home{background:none;border:none;padding:0;font-size:14px;color:var(--color-text-secondary);cursor:pointer;transition:color .2s ease;text-decoration:none;flex-shrink:0}.newversion-breadcrumb-home:hover{color:var(--color-primary);text-decoration:underline}.newversion-breadcrumb-separator{color:var(--color-text-tertiary);font-size:14px;flex-shrink:0}.newversion-breadcrumb-course{color:var(--color-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.newversion-container{display:flex;flex-direction:column;gap:0;width:100%;max-width:100%;margin:0;padding:0}.newversion-main-content{display:flex;gap:0;align-items:flex-start;width:100%;min-height:calc(100vh - 64px)}.newversion-search-section{width:100%;padding:24px;background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-light);display:flex}.newversion-search-section{flex-direction:column;justify-content:center}.newversion-search-container{display:flex;align-items:center;gap:12px;max-width:800px;width:100%;margin:0 auto;position:relative}.newversion-university-selector{position:relative;flex-shrink:0;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;overflow:hidden;width:100px}.newversion-university-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:transparent;border:none;outline:none;font-size:14px;font-weight:500;color:var(--color-text-primary);padding:10px 32px 10px 14px;cursor:pointer;font-family:inherit;width:100%;height:44px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.newversion-university-select:focus{outline:none}.newversion-university-select:disabled{cursor:not-allowed;opacity:.7}.newversion-university-select option{padding:8px;white-space:normal}.newversion-university-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-tertiary)}.newversion-university-selector-wrapper{position:relative;flex-shrink:0}.newversion-university-selector-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;height:44px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;min-width:80px}.newversion-university-selector-button:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.newversion-university-selector-button svg{flex-shrink:0;stroke:var(--color-text-primary);color:var(--color-text-primary)}.newversion-university-dropdown{position:absolute;top:calc(100% + 8px);left:0;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;box-shadow:var(--shadow-md);min-width:120px;z-index:1000;padding:8px;overflow:hidden}.newversion-university-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:none;border:none;border-radius:6px;text-align:left;font-size:14px;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;gap:8px}.newversion-university-option:hover{background-color:#f5f5f5}.dark-mode .newversion-university-option:hover{background-color:#00b67a1a}.newversion-university-option.selected{background-color:#f0fdf4;color:var(--color-primary);font-weight:500}.dark-mode .newversion-university-option.selected{background-color:#00b67a26}.newversion-university-option.selected svg{color:var(--color-primary);flex-shrink:0}.newversion-university-option span{flex:1}.newversion-university-divider{height:1px;background-color:var(--color-border-light);margin:4px 0}.newversion-university-suggest{color:var(--color-primary);font-weight:500}.newversion-university-suggest:hover{background-color:#f0fdf4;color:var(--color-primary)}.newversion-university-suggest svg{color:var(--color-primary);stroke:var(--color-primary)}.newversion-search-bar{flex:1;display:flex;align-items:center;gap:10px;background-color:var(--color-bg-secondary);border:none;border-radius:12px;padding:10px 14px;transition:all .2s ease;min-height:44px}.newversion-search-bar:focus-within{border:none;box-shadow:none}.newversion-search-icon{flex-shrink:0;color:var(--color-text-tertiary);width:18px;height:18px}.newversion-search-input{flex:1;border:none;outline:none;font-size:20px;color:var(--color-text-primary);background:transparent;padding:0;box-shadow:none;line-height:1.5}.newversion-search-input:focus{border:none;outline:none;box-shadow:none}.newversion-search-input::placeholder{color:var(--color-text-tertiary)}.newversion-search-clear{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);padding:4px;transition:color .2s ease;min-width:32px;min-height:32px;width:auto;height:18px}.newversion-search-clear:hover{color:var(--color-text-primary)}.newversion-filter-button-wrapper{position:relative;flex-shrink:0;display:flex!important;visibility:visible!important;opacity:1!important}.newversion-filter-button{display:flex!important;align-items:center;justify-content:center;gap:6px;padding:0 8px;height:44px;min-width:auto;background-color:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;color:var(--color-text-primary)!important;visibility:visible!important;opacity:1!important}.newversion-filter-text{color:var(--color-text-primary)!important;font-size:14px;font-weight:500;white-space:nowrap}.dark-mode .newversion-filter-text,.newversion-filter-button,.newversion-filter-button *,.dark-mode .newversion-filter-button,.dark-mode .newversion-filter-button *{color:var(--color-text-primary)!important}.newversion-filter-button svg{display:block!important;color:var(--color-text-primary)!important;stroke:var(--color-text-primary)!important;fill:none!important;visibility:visible!important;opacity:1!important}.newversion-filter-button svg line{stroke:var(--color-text-primary)!important;stroke-width:2.5px!important;fill:none!important;color:var(--color-text-primary)!important;visibility:visible!important;opacity:1!important}.newversion-filter-button svg circle{stroke:var(--color-text-primary)!important;fill:var(--color-text-primary)!important;color:var(--color-text-primary)!important;visibility:visible!important;opacity:1!important}.newversion-filter-button svg *{stroke:var(--color-text-primary)!important;fill:var(--color-text-primary)!important;color:var(--color-text-primary)!important;visibility:visible!important;opacity:1!important}.newversion-filter-button:hover{background-color:transparent;opacity:.7}.newversion-filter-buttons-row{width:100%;padding:16px 0;background-color:var(--color-bg-primary)}.newversion-filter-buttons-container{display:flex;align-items:center;gap:12px;max-width:1400px;margin:0 auto;flex-wrap:wrap}.newversion-search-section .newversion-filter-buttons-container{margin-left:0;margin-right:auto;padding-left:24px}.newversion-quick-filter-wrapper{position:relative;flex-shrink:0}.newversion-quick-filter-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;height:36px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:20px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:var(--color-text-primary);white-space:nowrap}.newversion-quick-filter-button:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-medium)}.newversion-quick-filter-button.active{background-color:#00b67a26;border-color:var(--color-primary);color:var(--color-primary)}.newversion-quick-filter-button svg{flex-shrink:0;stroke:var(--color-text-primary);color:var(--color-text-primary)}.newversion-quick-filter-button.active svg{stroke:var(--color-primary);color:var(--color-primary)}.dark-mode .newversion-quick-filter-button.active{background-color:#00b67a33;border-color:var(--color-primary);color:var(--color-primary)}.newversion-quick-filter-dropdown{position:absolute;top:calc(100% + 8px);left:0;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;box-shadow:var(--shadow-md);min-width:200px;max-width:300px;max-height:300px;overflow-y:auto;z-index:1000;padding:8px}.newversion-quick-filter-dropdown-scrollable{max-height:250px}.newversion-quick-filter-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:none;border:none;border-radius:6px;text-align:left;font-size:14px;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;gap:8px}.newversion-quick-filter-option:hover{background-color:var(--color-bg-secondary)}.newversion-quick-filter-option.selected{background-color:#00b67a26;color:var(--color-primary);font-weight:500}.dark-mode .newversion-quick-filter-option.selected{background-color:#00b67a33}.newversion-quick-filter-option.selected svg{color:var(--color-primary);flex-shrink:0}.newversion-quick-filter-option span{flex:1}.newversion-quick-filter-option svg:first-child{flex-shrink:0}.newversion-filter-button.active{background-color:#00b67a26}.dark-mode .newversion-filter-button.active{background-color:#00b67a33}.newversion-filter-button-wrapper:hover .newversion-filter-button{background-color:var(--color-bg-secondary);border-color:var(--color-border-light)}.newversion-filter-badge{position:absolute;top:-6px;right:-6px;background-color:var(--color-primary);color:#fff;font-size:11px;font-weight:600;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-bg-primary)}.newversion-filter-dropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:12px;box-shadow:var(--shadow-lg);min-width:280px;max-width:320px;max-height:500px;overflow-y:auto;z-index:1000;padding:16px}.newversion-filter-group{margin-bottom:20px}.newversion-filter-group:last-child{margin-bottom:0}.newversion-filter-group-title{font-size:13px;font-weight:700;color:var(--color-text-primary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.newversion-filter-options{display:flex;flex-direction:column;gap:6px}.newversion-filter-options-scrollable{max-height:200px;overflow-y:auto;padding-right:4px}.newversion-filter-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:none;border:1px solid var(--color-border-light);border-radius:8px;text-align:left;font-size:14px;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;gap:8px}.newversion-filter-option:hover{border-color:var(--color-primary);background-color:var(--color-bg-secondary)}.newversion-filter-option.selected{background-color:#f0fdf4;border-color:var(--color-primary);color:var(--color-primary);font-weight:500}.newversion-filter-option.selected svg:last-child{color:var(--color-primary);flex-shrink:0}.newversion-filter-option span{flex:1}.newversion-filter-option svg:first-child{flex-shrink:0}.newversion-sidebar{width:360px;flex-shrink:0;background-color:var(--color-bg-primary);padding:14px 20px;position:sticky;top:64px;align-self:flex-start;max-height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;border-right:none}.newversion-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border-light)}.newversion-course-count{font-size:13px;color:var(--color-text-tertiary);margin:0}.newversion-sort-button-wrapper{position:relative}.newversion-sort-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.newversion-sort-button:hover{border-color:var(--color-border-light);background-color:var(--color-bg-secondary)}.newversion-sort-button svg{flex-shrink:0}.newversion-sort-chevron{transition:transform .2s ease;flex-shrink:0}.newversion-sort-chevron.open{transform:rotate(180deg)}.newversion-sort-dropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;box-shadow:var(--shadow-md);min-width:140px;z-index:100;padding:8px 0;overflow:hidden}.newversion-sort-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:13px;color:var(--color-text-primary);cursor:pointer;transition:background-color .2s ease;gap:8px}.newversion-sort-option:hover{background-color:var(--color-bg-secondary)}.newversion-sort-option.selected{background-color:var(--color-bg-secondary);color:var(--color-primary);font-weight:500}.dark-mode .newversion-sort-option.selected{background-color:#00b67a26}.newversion-sort-option.selected svg:last-child{color:var(--color-primary);flex-shrink:0}.newversion-sort-option svg:first-child{flex-shrink:0}.newversion-loading{padding:24px;text-align:center;color:var(--color-text-secondary)}.newversion-no-courses{padding:48px 24px;display:flex;justify-content:center;align-items:center;min-height:200px}.newversion-no-courses-content{text-align:center;max-width:400px}.newversion-no-courses-message{font-size:16px;color:var(--color-text-secondary);margin-bottom:24px}.newversion-suggest-course-button{padding:12px 24px;background-color:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.newversion-suggest-course-button:hover{background-color:#00a87a}.newversion-suggest-course-button:active{background-color:#008f68}.newversion-loading-more{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:12px;color:var(--color-text-secondary);font-size:14px}.newversion-loading-spinner{width:32px;height:32px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.newversion-courses-list{display:flex;flex-direction:column;gap:0}.newversion-course-card{padding:12px 0;min-height:100px;display:flex;flex-direction:column;gap:3px;background-color:transparent;border:none;border-top:1px solid var(--color-border-light);border-radius:0;box-shadow:none;cursor:pointer;transition:all .2s ease}.newversion-course-card:first-child{border-top:none}.newversion-course-card:last-child{border-bottom:1px solid var(--color-border-light)}.newversion-course-card:hover{background-color:var(--color-bg-secondary);box-shadow:none}.newversion-course-card.selected{background-color:#00b67a0d;border-color:var(--color-primary);box-shadow:none}.newversion-course-card.selected:hover{background-color:#00b67a14}.dark-mode .newversion-course-card.selected{background-color:#00b67a1a;box-shadow:none}.dark-mode .newversion-course-card.selected:hover{background-color:#00b67a26}.newversion-course-mobile-title{margin-bottom:1px}.newversion-course-mobile-title-text{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.newversion-course-mobile-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:12px;font-weight:400;color:var(--color-text-secondary);margin-bottom:1px}.newversion-course-mobile-code{font-size:12px;font-weight:400;color:var(--color-text-secondary)}.newversion-course-mobile-separator{font-size:12px;color:var(--color-text-tertiary)}.newversion-course-mobile-degree,.newversion-course-mobile-ects{font-size:12px;font-weight:400;color:var(--color-text-secondary)}.newversion-course-mobile-department{font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:3px}.newversion-course-mobile-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:6px;border-top:none}.newversion-course-mobile-rating{display:flex;align-items:center;gap:4px}.newversion-course-mobile-rating .star-rating-container svg{width:16px;height:16px}.newversion-rating-value{font-size:13px;font-weight:600}.newversion-reviews-count,.newversion-no-rating{font-size:12px;color:var(--color-text-secondary)}.newversion-course-mobile-time-ago{font-size:12px;color:var(--color-text-tertiary)}.newversion-course-row-1{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.newversion-course-title-wrapper{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.newversion-course-code{font-size:12px;font-weight:600;color:var(--color-text-tertiary);flex-shrink:0}.newversion-course-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.newversion-course-row-2{display:flex;justify-content:space-between;align-items:center;gap:8px}.newversion-course-rating{display:flex;align-items:center;gap:4px;flex-shrink:0}.newversion-rating-value{font-size:13px;font-weight:600;color:var(--color-text-primary)}.newversion-reviews-count,.newversion-no-rating{font-size:12px;color:var(--color-text-tertiary)}.newversion-course-metadata{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.newversion-course-degree-level{font-size:11px;color:var(--color-text-tertiary);background-color:var(--color-bg-secondary);padding:2px 6px;border-radius:4px}.newversion-course-ects{font-size:11px;color:var(--color-text-tertiary)}.newversion-content{flex:1;min-width:0;background-color:var(--color-bg-primary);margin:0 24px 24px;display:flex;flex-direction:column;overflow:visible}@media(max-width:768px){.newversion-content{margin:0}}.newversion-course-page-wrapper{width:100%;height:auto;min-height:auto;padding:0;overflow:visible;flex:1}.newversion-course-page-wrapper .course-page{max-width:100%;padding:24px;height:auto;min-height:100%;overflow:visible}@media(max-width:768px){.newversion-course-page-wrapper .course-page{padding:16px 0}.newversion-course-page-wrapper .course-page-new .container{padding-left:0;padding-right:0;padding-top:16px}.newversion-course-page-wrapper .course-info-header{padding:16px;margin-left:0;margin-right:0;border-radius:0}}.newversion-course-page-wrapper .course-page-container{max-width:100%;height:auto;overflow:visible}.newversion-course-page-wrapper .similar-courses-section-wrapper{width:100%;position:relative;left:0;right:0;margin:0 0 8px;overflow:hidden}.newversion-course-page-wrapper .similar-courses-section{width:100%;padding:4px 0;background-color:var(--color-bg-secondary)}.newversion-course-page-wrapper .similar-courses-section .container{padding-top:8px;padding-bottom:8px}.newversion-course-page-wrapper .similar-courses-header{padding:0 24px}.newversion-course-page-wrapper .similar-courses-scroll{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;width:100%;padding:0 24px;box-sizing:border-box}.newversion-course-page-wrapper .similar-courses-scroll::-webkit-scrollbar{display:none}.newversion-course-page-wrapper .similar-courses-list{display:flex;gap:20px;padding-bottom:8px;width:max-content}.newversion-course-page-wrapper .container{max-width:100%;overflow:visible;box-sizing:border-box;padding-bottom:48px;height:auto;min-height:auto}.newversion-course-page-wrapper .course-page-new{width:100%;overflow:visible;height:auto;min-height:auto}.newversion-placeholder{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 64px);padding:48px 24px}.newversion-placeholder-content{text-align:center;max-width:400px}.newversion-placeholder-content svg{color:var(--color-text-tertiary);margin-bottom:16px}.newversion-placeholder-content h3{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.newversion-placeholder-content p{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.6}@media(max-width:768px){.newversion-container{flex-direction:column}.newversion-breadcrumb{display:flex;padding:12px 16px;font-size:15px;border-bottom:none}.newversion-breadcrumb-course{max-width:none}.newversion-search-section{padding:16px}.newversion-search-container{flex-direction:column;gap:12px;align-items:stretch}.newversion-search-bar{width:100%;min-height:56px;padding:12px 16px}.newversion-search-input{font-size:16px}.newversion-search-clear{min-width:40px;min-height:40px;padding:8px}.newversion-search-clear svg{width:22px;height:22px}.newversion-mobile-filter-buttons{display:flex;gap:8px;width:100%}.newversion-mobile-filter-button,.newversion-mobile-rating-button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 20px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;font-size:16px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;min-height:56px;position:relative}.newversion-mobile-filter-button:hover,.newversion-mobile-rating-button:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.newversion-mobile-filter-button.active,.newversion-mobile-rating-button.active{background-color:#00b67a1a;border-color:var(--color-primary);color:var(--color-primary)}.newversion-mobile-filter-button svg,.newversion-mobile-rating-button svg{width:22px;height:22px;flex-shrink:0}.newversion-mobile-filter-menu,.newversion-mobile-rating-menu{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-bg-primary);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 20px #00000026;z-index:10000;transform:translateY(100%);transition:transform .3s ease-out;display:flex;flex-direction:column;max-height:70vh}.newversion-mobile-rating-menu{max-height:30vh}.newversion-mobile-filter-menu.open,.newversion-mobile-rating-menu.open{transform:translateY(0)}.newversion-mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-light)}.newversion-mobile-menu-header h3{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.newversion-mobile-menu-close{width:48px;height:48px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-primary);transition:background-color .2s ease}.newversion-mobile-menu-close svg{width:28px;height:28px}.newversion-mobile-menu-close:hover{background-color:var(--color-bg-secondary)}.newversion-mobile-menu-content{flex:1;overflow-y:auto;padding:24px}.newversion-mobile-filter-group{margin-bottom:16px;border-bottom:1px solid var(--color-border-light)}.newversion-mobile-filter-group:last-child{margin-bottom:0;border-bottom:none}.newversion-mobile-filter-group-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 0;min-height:56px;background:none;border:none;cursor:pointer;transition:all .2s ease;text-align:left}.newversion-mobile-filter-group-header:hover{opacity:.7}.newversion-mobile-filter-group-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0;text-align:left}.newversion-mobile-filter-group-arrow{width:24px;height:24px;min-width:24px;min-height:24px;flex-shrink:0;color:var(--color-text-primary);transition:transform .3s ease;transform:rotate(0)}.newversion-mobile-filter-group-arrow.expanded{transform:rotate(180deg)}.newversion-mobile-filter-options{padding-bottom:16px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.newversion-mobile-filter-options{display:flex;flex-direction:column;gap:12px}.newversion-mobile-filter-option{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;min-height:56px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:8px;font-size:16px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;text-align:left}.newversion-mobile-filter-option span{text-align:left;flex:1}.newversion-mobile-filter-option:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.newversion-mobile-filter-option.selected{background-color:#00b67a1a;border-color:var(--color-primary);color:var(--color-primary)}.newversion-mobile-rating-segmented{display:flex;width:100%;border:1px solid var(--color-border-light);border-radius:8px;overflow:hidden;background-color:var(--color-bg-primary);gap:0}.newversion-mobile-rating-segment{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border:none;border-right:1px solid var(--color-border-light);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px}.newversion-mobile-rating-segment:last-child{border-right:none}.newversion-mobile-rating-segment.selected{background-color:#2563eb;color:#fff}.newversion-mobile-rating-segment.selected svg{fill:#fff}.newversion-mobile-rating-segment:not(.selected) svg{fill:var(--color-text-primary)}.newversion-mobile-rating-segment:active{opacity:.8}.newversion-mobile-menu-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--color-border-light)}.newversion-mobile-menu-reset{flex:1;padding:16px 20px;min-height:56px;background:none;border:1px solid var(--color-border-light);border-radius:8px;font-size:16px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.newversion-mobile-menu-reset:hover{background-color:var(--color-bg-secondary)}.newversion-mobile-menu-apply{flex:2;padding:16px 20px;min-height:56px;background-color:var(--color-primary);border:none;border-radius:8px;font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.newversion-mobile-menu-apply:hover{background-color:#00a066}.newversion-mobile-menu-overlay{position:fixed;inset:0;background-color:#00000080;z-index:9999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.newversion-main-content{position:relative}.newversion-sidebar{width:100%;position:static;max-height:none;border-right:none;border-bottom:1px solid var(--color-border-light);transition:transform .3s ease,opacity .3s ease}.newversion-sidebar.newversion-sidebar-hidden{display:none}.newversion-content{max-height:none;width:100%;transition:transform .3s ease,opacity .3s ease}.newversion-content.newversion-content-hidden{display:none}.newversion-loading-more{padding:32px 24px;font-size:16px}.newversion-loading-spinner{width:40px;height:40px;border-width:4px}.newversion-courses-list{gap:0}.newversion-course-card{padding:14px 0;min-height:110px;display:flex;flex-direction:column;gap:0;background-color:transparent;border:none;border-top:1px solid var(--color-border-light);border-radius:0;box-shadow:none}.newversion-course-card:first-child{border-top:none}.newversion-course-card:last-child{border-bottom:1px solid var(--color-border-light)}.newversion-course-card:hover{background-color:var(--color-bg-secondary);box-shadow:none}.newversion-course-card.selected{background-color:#00b67a0d;border-color:var(--color-primary);box-shadow:none}.newversion-course-card.selected:hover{background-color:#00b67a14}.newversion-course-mobile-title{margin-bottom:6px}.newversion-course-mobile-title-text{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.newversion-course-mobile-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;font-weight:400;color:var(--color-text-secondary);margin-bottom:6px}.newversion-course-mobile-code{font-size:13px;font-weight:400;color:var(--color-text-secondary)}.newversion-course-mobile-separator{font-size:13px;color:var(--color-text-tertiary)}.newversion-course-mobile-degree,.newversion-course-mobile-ects{font-size:13px;font-weight:400;color:var(--color-text-secondary)}.newversion-course-mobile-department{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:8px}.newversion-course-mobile-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:0}.newversion-course-mobile-rating{display:flex;align-items:center;gap:6px;flex:1}.newversion-course-mobile-rating .newversion-rating-value{font-size:15px;font-weight:600}.newversion-course-mobile-rating .newversion-reviews-count,.newversion-course-mobile-rating .newversion-no-rating{font-size:14px;color:var(--color-text-secondary)}.newversion-course-mobile-time-ago{font-size:13px;color:var(--color-text-tertiary);flex-shrink:0;margin-left:12px}}.public-profile-content{max-width:800px;margin:0 auto;padding:40px 24px}.public-profile-picture-section{display:flex;justify-content:center;margin-bottom:40px}.public-profile-picture{width:200px;height:200px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:80px;font-weight:600;color:#fff;border:none}.public-profile-info{display:flex;flex-direction:column;gap:32px}.public-profile-field{display:flex;flex-direction:column;gap:8px}.public-profile-label{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.public-profile-value{font-size:16px;color:var(--color-text-primary);line-height:1.5}.public-profile-link{color:var(--color-primary);text-decoration:none;transition:opacity .2s ease}.public-profile-link:hover{opacity:.8;text-decoration:underline}.public-profile-empty{color:var(--color-text-tertiary);font-style:italic}.public-profile-bio{white-space:pre-wrap;word-wrap:break-word}.public-profile-reviews{margin-top:8px}.public-profile-reviews-list{display:flex;flex-direction:column;gap:16px}.public-profile-review-item{padding:20px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:8px;cursor:pointer;transition:all .2s ease}.public-profile-review-item:hover{background-color:var(--color-bg-primary);border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.public-profile-review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.public-profile-review-course{flex:1}.public-profile-review-course-name{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.public-profile-review-course-code{font-size:14px;color:var(--color-text-secondary)}.public-profile-review-rating{display:flex;align-items:center;gap:8px;flex-shrink:0}.public-profile-review-rating-value{font-size:16px;font-weight:600;color:var(--color-text-primary)}.public-profile-review-text{font-size:15px;color:var(--color-text-primary);line-height:1.6;white-space:pre-wrap;word-wrap:break-word}@media(max-width:768px){.public-profile-content{padding:24px 16px}.public-profile-picture{width:160px;height:160px;font-size:64px}.public-profile-info{gap:24px}.public-profile-review-item{padding:16px}.public-profile-review-header{flex-direction:column;gap:12px}.public-profile-review-rating{align-self:flex-start}}
