@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;900&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;font-family:inherit}html,body,#root{height:100%;width:100%;overflow-x:clip}body{font-family:Nunito,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s;-webkit-tap-highlight-color:transparent;background-color:#fff}html.dark body{background-color:#1a1a1a}.safari-tint-sentinel{position:fixed;left:0;right:0;bottom:0;height:4px;background:#fff;pointer-events:none;z-index:999999}html.dark .safari-tint-sentinel{background:#1a1a1a}html.dark{background-color:#1a1a1a}#root{overflow-x:clip}img{max-width:100%;height:auto}html{background-color:#fff}.husky-email{font-weight:700;color:#d6394c}.dropdown{position:relative;-webkit-user-select:none;user-select:none}.dropdown-trigger{display:flex;align-items:center;gap:6px;background:transparent;border:none;font-family:Nunito,sans-serif;font-size:.92rem;font-weight:700;color:#333;cursor:pointer;padding:6px 8px 6px 20px;outline:none;transition:color .2s}.dropdown-trigger:hover{color:#d6394c}.dropdown-trigger.placeholder{color:#999}.dropdown-trigger-label{white-space:nowrap}.dropdown-chevron{width:14px;height:14px;flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1);color:#888}.dropdown-chevron.rotated{transform:rotate(180deg)}.dropdown-trigger:hover .dropdown-chevron{color:#d6394c}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:8px;min-width:180px;background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:6px 0;list-style:none;box-shadow:0 8px 30px #0000001a,0 2px 8px #0000000a;z-index:100;animation:menuOpen .25s cubic-bezier(.4,0,.2,1) forwards;transform-origin:top left}@keyframes menuOpen{0%{opacity:0;transform:scale(.92) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 16px;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:600;color:#444;cursor:pointer;transition:background .15s,color .15s;border-radius:6px;margin:2px 6px;animation:itemSlideIn .25s ease both}@keyframes itemSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.dropdown-item:hover{background:#fef0f0;color:#d6394c}.dropdown-item.active{color:#d6394c;font-weight:700;background:#fef0f0}.dropdown-check{width:14px;height:14px;color:#d6394c;flex-shrink:0}.dropdown.search-dropdown .dropdown-trigger{padding:18px 10px 18px 25px;font-size:1.15rem;gap:7px}.dropdown.search-dropdown .dropdown-chevron{width:18px;height:18px}.dropdown.search-dropdown .dropdown-menu{left:6px;min-width:200px;border-radius:14px;padding:7px 0}.dropdown.search-dropdown .dropdown-item{padding:11px 18px;font-size:1rem}.dropdown.feedback-dropdown{width:100%;margin-bottom:18px}.dropdown.feedback-dropdown .dropdown-trigger{width:100%;padding:10px 12px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:.88rem;justify-content:space-between;transition:border-color .2s,background .2s}.dropdown.feedback-dropdown .dropdown-trigger:hover{border-color:#ccc}.dropdown.feedback-dropdown .dropdown-trigger.open{border-color:#d6394c}.dropdown.feedback-dropdown .dropdown-menu{left:0;right:0;min-width:100%}.dark .dropdown-trigger{color:#e0e0e0}.dark .dropdown-trigger:hover{color:#d6394c}.dark .dropdown-trigger.placeholder{color:#666}.dark .dropdown-chevron{color:#777}.dark .dropdown-menu{background:#2a2a2a;border-color:#444;box-shadow:0 8px 30px #0000004d,0 2px 8px #00000026}.dark .dropdown-item{color:#ccc}.dark .dropdown-item:hover{background:#3a2020;color:#d6394c}.dark .dropdown-item.active{color:#d6394c;background:#3a2020}.dark .dropdown.feedback-dropdown .dropdown-trigger{border-color:#444;background:#2a2a2a;color:#e0e0e0}.dark .dropdown.feedback-dropdown .dropdown-trigger.open{border-color:#d6394c}.dark .dropdown.feedback-dropdown .dropdown-trigger.placeholder{color:#666}@media(max-width:768px){.dropdown.search-dropdown .dropdown-trigger{padding:14px 8px 14px 16px;font-size:.92rem;gap:5px}.dropdown.search-dropdown .dropdown-chevron{width:14px;height:14px}.dropdown.search-dropdown .dropdown-menu{min-width:150px}.dropdown.search-dropdown .dropdown-item{padding:10px 14px;font-size:.88rem}.dropdown.feedback-dropdown .dropdown-trigger{padding:10px 12px;font-size:.85rem}}.search-wrapper{position:relative;z-index:2;width:100%;max-width:775px;animation:fadeUp .6s .3s ease both}.search-bar{display:flex;align-items:center;background:#fff;border:1.5px solid #ddd;border-radius:35px;overflow:visible;transition:box-shadow .25s,border-color .25s;animation:pulseGlow 3s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 #d6394c00}50%{box-shadow:0 0 20px 2px #d6394c1f}}.search-bar:focus-within{border-color:#d6394c;box-shadow:0 2px 16px #d6394c2e;animation:none}.search-divider{width:1px;height:32px;background:#ddd;flex-shrink:0}.search-icon{display:flex;align-items:center;justify-content:center;padding:0 12px 0 15px;color:#999;flex-shrink:0}.search-icon svg{width:22px;height:22px}.search-input{flex:1;border:none;outline:none;font-family:Nunito,sans-serif;font-size:1.18rem;padding:18px 25px 18px 5px;color:#333;background:transparent}.search-input::placeholder{color:#aaa}.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:16px;padding:6px 0;list-style:none;margin:0;box-shadow:0 8px 30px #0000001a,0 2px 8px #0000000a;z-index:200;animation:suggestionsIn .15s ease-out;overflow:hidden}@keyframes suggestionsIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.suggestion-item{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;cursor:pointer;transition:background .12s;gap:12px}.suggestion-item:hover,.suggestion-item.active{background:#fef0f0}.suggestion-main{display:flex;flex-direction:column;gap:2px;min-width:0}.suggestion-name{font-weight:700;font-size:.95rem;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-code{color:#d6394c;font-weight:800;font-size:.88rem}.suggestion-dept{font-size:.78rem;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-rating{flex-shrink:0;font-weight:800;font-size:.9rem;color:#d6394c;background:#fef0f0;padding:4px 10px;border-radius:8px}.dark .search-bar{background:#2a2a2a;border-color:#444;animation:pulseGlowDark 3s ease-in-out infinite}@keyframes pulseGlowDark{0%,to{box-shadow:0 0 #d6394c00}50%{box-shadow:0 0 20px 2px #d6394c2e}}.dark .search-bar:focus-within{border-color:#d6394c;box-shadow:0 2px 16px #d6394c40;animation:none}.dark .search-divider{background:#444}.dark .search-icon{color:#777}.dark .search-input{color:#e0e0e0}.dark .search-input::placeholder{color:#666}.dark .search-suggestions{background:#2a2a2a;border-color:#444;box-shadow:0 8px 30px #0000004d,0 2px 8px #00000026}.dark .suggestion-item:hover,.dark .suggestion-item.active{background:#3a2020}.dark .suggestion-name{color:#e0e0e0}.dark .suggestion-dept{color:#777}.dark .suggestion-rating{background:#3a2020}@media(max-width:768px){.search-wrapper{max-width:100%;padding:0 8px}.search-bar{border-radius:24px}.search-input{font-size:.95rem;padding:14px 16px 14px 4px}.search-icon svg{width:18px;height:18px}.search-icon{padding:0 8px 0 10px}.search-divider{height:24px}.search-suggestions{border-radius:12px}.suggestion-item{padding:10px 16px}.suggestion-name{font-size:.88rem}.suggestion-dept{font-size:.72rem}.suggestion-rating{font-size:.82rem;padding:3px 8px}}.ask-result{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:16px;padding:16px 20px;box-shadow:0 8px 30px #0000001a,0 2px 8px #0000000a;z-index:200;animation:suggestionsIn .15s ease-out;max-height:calc(30vh - 20px);overflow-y:auto;text-align:left;font-family:Nunito,sans-serif}.ask-thinking{margin:0;color:#888;font-style:italic}.ask-thinking-dots span{display:inline-block;animation:askThinkingDot 1.4s infinite ease-in-out both}.ask-thinking-dots span:nth-child(2){animation-delay:.2s}.ask-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes askThinkingDot{0%,80%,to{opacity:.2}40%{opacity:1}}.ask-answer{margin:0 0 12px;color:#222;font-size:.95rem;line-height:1.5;white-space:pre-wrap}.ask-sources{margin:0 0 12px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}.ask-sources li{font-size:.85rem;line-height:1.4}.ask-source-link{color:#d6394c;font-weight:700;text-decoration:none;margin-right:6px}a.ask-source-link:hover{text-decoration:underline}.ask-sources a{color:#d6394c;font-weight:700;text-decoration:none;margin-right:6px}.ask-sources a:hover{text-decoration:underline}.ask-source-badge{display:inline-block;font-size:.7rem;font-weight:700;color:#d6394c;background:#fef0f0;border-radius:6px;padding:1px 6px;margin-right:6px;vertical-align:middle}.ask-source-snippet{color:#555}.ask-disclaimer{margin:0;font-size:.75rem;color:#999}.dark .ask-result{background:#2a2a2a;border-color:#444;box-shadow:0 8px 30px #0000004d,0 2px 8px #00000026}.dark .ask-answer{color:#e8e8e8}.dark .ask-source-snippet{color:#bbb}.dark .ask-disclaimer{color:#888}.dark .ask-thinking{color:#aaa}@media(max-width:600px){.ask-result{border-radius:12px;padding:14px 16px}}.footer{background:#fff;border-top:1px solid #e8e8e8;font-family:Nunito,sans-serif}.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 80px 20px 48px;gap:16px}.footer-brand{display:flex;align-items:center;gap:8px;text-decoration:none}.footer-brand-logo{width:36px;height:36px;object-fit:cover;border-radius:50%}.footer-brand-name{font-size:1.1rem;font-weight:900;letter-spacing:-.3px;color:#333}.footer-brand-name span{color:#d6394c}.footer-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:flex-end}.footer-copy{font-size:.85rem;color:#888}.footer-copy a{color:#d6394c;text-decoration:none;font-weight:700}.footer-copy a:hover{text-decoration:underline}.footer-links{display:flex;align-items:center;gap:8px;font-size:.85rem}.footer-links a{color:#666;text-decoration:none}.footer-links a:hover{color:#d6394c}.footer-divider{color:#ccc}@media(max-width:640px){.footer-inner{flex-direction:column;align-items:center;padding:12px 24px;text-align:center}.footer-meta{flex-direction:column;gap:6px;align-items:center}}.dark .footer{background:#1e1e1e;border-top-color:#333}.dark .footer-brand-name{color:#e0e0e0}.dark .footer-copy{color:#777}.dark .footer-links a{color:#999}.dark .footer-links a:hover{color:#d6394c}.dark .footer-divider{color:#444}.homepage{font-family:Nunito,sans-serif;display:flex;flex-direction:column;background-color:#f5f5f5;color:#333;position:relative}.home-ask-bubble{position:absolute;top:88px;right:clamp(16px,3vw,40px);z-index:30;display:flex;align-items:flex-start;gap:12px;max-width:320px;background:#fff;border-radius:14px;border-left:4px solid #d6394c;box-shadow:0 8px 28px #0000001f;padding:14px 14px 14px 16px;animation:home-ask-bubble-in .4s ease}@keyframes home-ask-bubble-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.home-ask-bubble-icon{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#fef0f0;color:#d6394c;display:flex;align-items:center;justify-content:center;font-size:.95rem}.home-ask-bubble-body{flex:1;min-width:0}.home-ask-bubble-label{font-size:.72rem;font-weight:800;color:#d6394c;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.home-ask-bubble-text{font-size:.85rem;font-weight:600;color:#555;line-height:1.45}.home-ask-bubble-text strong{color:#333;font-weight:800}.home-ask-bubble-trynow{background:none;border:none;padding:0;margin:0;font:inherit;font-weight:800;color:#d6394c;text-decoration:underline;cursor:pointer}.home-ask-bubble-trynow:hover{color:#b82d3e}.home-ask-bubble-close{flex-shrink:0;background:none;border:none;cursor:pointer;color:#bbb;padding:3px;display:flex;align-items:center;border-radius:6px;transition:color .15s,background .15s}.home-ask-bubble-close:hover{color:#888;background:#f0f0f0}@media(max-width:768px){.home-ask-bubble{top:76px;right:16px;left:16px;max-width:none}}.dark .home-ask-bubble{background:#242424;box-shadow:0 8px 28px #00000059}.dark .home-ask-bubble-icon{background:#3a2020;color:#e06070}.dark .home-ask-bubble-label{color:#e06070}.dark .home-ask-bubble-text{color:#aaa}.dark .home-ask-bubble-text strong{color:#e0e0e0}.dark .home-ask-bubble-trynow{color:#e06070}.dark .home-ask-bubble-trynow:hover{color:#ec8592}.dark .home-ask-bubble-close{color:#555}.dark .home-ask-bubble-close:hover{color:#aaa;background:#333}.homepage-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:20;padding:120px 24px 60px;background-color:#f5f5f5;overflow:hidden}.hero-bg-pattern{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background-size:180px 180px;background-repeat:repeat;opacity:.045;transform:rotate(-25deg);pointer-events:none;z-index:0}.homepage-hero .search-wrapper{position:relative;z-index:10}.hero-tagline,.hero-subtitle{position:relative;z-index:1}.hero-tagline{font-size:3.25rem;font-weight:900;text-align:center;margin-bottom:14px;animation:fadeUp .6s ease both}.hero-tagline span{color:#d6394c}.hero-subtitle{font-size:1.3rem;color:#777;text-align:center;margin-bottom:44px;animation:fadeUp .6s .15s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.stats-banner{display:flex;justify-content:center;gap:48px;padding:48px 24px;background:#d6394c;color:#fff;contain:content}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-value{font-size:2rem;font-weight:900;font-variant-numeric:tabular-nums}.stat-label{font-size:.85rem;font-weight:700;opacity:.85;text-transform:uppercase;letter-spacing:.8px}.section{padding:60px clamp(16px,3vw,48px)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.section-title{font-size:1.5rem;font-weight:900}.goat-college-tabs{position:relative;display:flex;gap:8px;margin-bottom:28px;overflow-x:auto;flex-wrap:nowrap;padding:4px;background:#00000008;border-radius:24px;-ms-overflow-style:none;scrollbar-width:none}.goat-college-tabs{-webkit-mask-image:linear-gradient(to right,transparent 0px,black 40px,black calc(100% - 40px),transparent 100%);mask-image:linear-gradient(to right,transparent 0px,black 40px,black calc(100% - 40px),transparent 100%)}.goat-college-tabs.scrolled-start{-webkit-mask-image:linear-gradient(to right,black 0px,black calc(100% - 40px),transparent 100%);mask-image:linear-gradient(to right,black 0px,black calc(100% - 40px),transparent 100%)}.goat-college-tabs.scrolled-end{-webkit-mask-image:linear-gradient(to right,transparent 0px,black 40px,black 100%);mask-image:linear-gradient(to right,transparent 0px,black 40px,black 100%)}.goat-college-tabs.scrolled-start.scrolled-end{-webkit-mask-image:none;mask-image:none}.goat-pill-background{position:absolute;top:4px;bottom:4px;left:0;background:#d6394c;border-radius:20px;box-shadow:0 4px 12px #d6394c40;z-index:0;pointer-events:none}.goat-pill-background.animate{transition:transform .4s cubic-bezier(.4,0,.2,1),width .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}.goat-tab{position:relative;z-index:1;background:transparent;border:none;border-radius:20px;padding:8px 20px;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:700;color:#666;cursor:pointer;transition:color .3s ease;white-space:nowrap;flex-shrink:0}.goat-tab:hover{color:#d6394c}.goat-tab.active{color:#fff!important}.goat-scroll-wrap{position:relative}.goat-scroll-wrap:before,.goat-scroll-wrap:after{content:"";position:absolute;top:0;bottom:0;width:72px;pointer-events:none;z-index:3;opacity:0;transition:opacity .2s;border-radius:16px;display:none}.goat-scroll-wrap:before{left:0;background:linear-gradient(to right,rgba(255,255,255,.97) 20%,transparent)}.goat-scroll-wrap:after{right:0;background:linear-gradient(to left,rgba(255,255,255,.97) 20%,transparent)}.goat-scroll-wrap.fade-left:before{opacity:1}.goat-scroll-wrap.fade-right:after{opacity:1}.goat-leaderboard{background:#fff;border-radius:16px;overflow:visible;box-shadow:0 2px 12px #0000000f;position:relative;transition:opacity .2s;min-height:608px}.goat-skeleton-row{pointer-events:none}.skeleton-bone{display:inline-block;height:14px;border-radius:6px;background:linear-gradient(90deg,#e8e8e8 25%,#f5f5f5,#e8e8e8 75%);background-size:200% 100%;animation:skeletonShimmer 1.4s ease-in-out infinite}.skeleton-rank{width:20px}.skeleton-name{width:70%}.skeleton-dept{width:60%}.skeleton-rating{width:50px}.skeleton-reviews{width:36px}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dark .skeleton-bone{background:linear-gradient(90deg,#2a2a2a 25%,#333,#2a2a2a 75%);background-size:200% 100%;animation:skeletonShimmer 1.4s ease-in-out infinite}.goat-view-all{display:flex;align-items:center;justify-content:center;width:fit-content;margin:16px auto 0;padding:8px 22px;font-family:Nunito,sans-serif;font-size:.84rem;font-weight:700;color:#d6394c;text-decoration:none;border:1.5px solid rgba(214,57,76,.35);border-radius:999px;background:transparent;transition:background .15s,border-color .15s,color .15s}.goat-view-all:hover{background:#fff2f4;border-color:#d6394c;color:#b82e3f;text-decoration:none}.goat-header-row{display:grid;grid-template-columns:36px 1.6fr 2.2fr 1.4fr .7fr;align-items:center;padding:0 24px;height:48px;background:#f0f0f0;border-radius:16px 16px 0 0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#999}.goat-header-row>span{font-size:inherit;font-weight:inherit;color:inherit}.goat-row{display:grid;grid-template-columns:36px 1.6fr 2.2fr 1.4fr .7fr;align-items:center;padding:0 24px;height:56px;border-bottom:1px solid #f0f0f0;transition:background .15s;cursor:pointer}.goat-row:last-child{border-bottom:none}.goat-row:hover{background:#fef8f8}.goat-top3{background:#fffaf5}.goat-top3:hover{background:#fff3ea}.goat-col-rank{font-size:1.1rem;font-weight:900;color:#888;display:flex;align-items:center;justify-content:center;text-align:center}.goat-top3 .goat-col-rank{font-size:1.3rem}.goat-col-name{display:flex;align-items:center;min-width:0}.goat-name-text{font-weight:900;font-size:.92rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goat-col-dept{font-size:.82rem;color:#888;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goat-col-rating{display:flex;align-items:center;gap:6px;min-width:0;padding-right:24px}.goat-score{font-weight:900;font-size:.95rem;color:#d6394c}.goat-col-reviews{font-size:.85rem;color:#888;font-weight:700;text-align:left}.stars-wrapper{position:relative;display:inline-block;font-size:.9rem;line-height:1;white-space:nowrap}.stars-empty{color:#ddd;letter-spacing:1px}.stars-filled{position:absolute;top:0;left:0;overflow:hidden;color:#f5a623;letter-spacing:1px;white-space:nowrap}.goat-rating-wrapper{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.goat-rating-hint{font-size:.7rem;opacity:.35;margin-left:0;transition:opacity .15s}.goat-rating-wrapper:hover .goat-rating-hint{opacity:.8}.goat-rating-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:100;background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:12px 16px;min-width:160px;box-shadow:0 8px 24px #0000001f;animation:tooltipFadeIn .15s ease-out;pointer-events:auto}.goat-rating-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:#fff;border-left:1px solid #e0e0e0;border-top:1px solid #e0e0e0}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tooltip-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:.85rem}.tooltip-label{color:#888;font-weight:500}.tooltip-value{font-weight:600;font-variant-numeric:tabular-nums;color:#333}.tooltip-blended{color:#d6394c;font-weight:800}.tooltip-divider{height:1px;background:#e8e8e8;margin:6px 0}.randomizer-section{background:#fff}.randomizer-content{display:flex;align-items:center;justify-content:space-between;gap:48px;max-width:1100px;margin:0 auto}.randomizer-text{flex:1}.randomizer-desc{font-size:1.05rem;color:#777;line-height:1.6;margin-top:12px;margin-bottom:28px}.randomizer-btn{display:inline-flex;align-items:center;gap:10px;background:#d6394c;color:#fff;border:none;border-radius:14px;padding:14px 32px;font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:900;cursor:pointer;transition:background .2s,transform .15s}.randomizer-btn:hover{background:#b82e3f;transform:scale(1.03)}.randomizer-btn:active{transform:scale(.97)}.randomizer-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.randomizer-btn svg{width:20px;height:20px}.wheel-spinner{flex-shrink:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:14px}.wheel-shell{--wheel-label-radius: -166px;position:relative;width:410px;height:410px;border-radius:50%;background:radial-gradient(circle at 30% 26%,#fff,#e9dfe0 62%,#c5b7b9);border:7px solid #8b1a27;box-shadow:0 14px 34px #0003,inset 0 0 0 3px #fff9;display:grid;place-items:center}.wheel-disc{width:372px;height:372px;border-radius:50%;position:relative;box-shadow:0 0 0 3px #ffffff80,inset 0 0 0 2px #0000001f}.wheel-spinner.idle .wheel-disc{animation:wheelIdleSpin 20s linear infinite}@keyframes wheelIdleSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wheel-face{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(#d6394c 0deg 22.5deg,#981727 22.5deg 45deg)}.wheel-face:before{content:"";position:absolute;inset:14px;border-radius:50%;border:2px dashed rgba(255,255,255,.35)}.wheel-face:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 22%,#ffffff3d,#fff0 45%)}.wheel-slice-name{position:absolute;top:50%;left:50%;transform-origin:0 0;z-index:2;pointer-events:none}.wheel-slice-name span{display:block;width:120px;margin-left:8px;transform:rotate(90deg);transform-origin:left center;font-size:.64rem;font-weight:800;letter-spacing:.04em;color:#fff;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wheel-spinner.idle .wheel-slice-name span{opacity:0}.wheel-pointer{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:28px solid #161212;z-index:8;filter:drop-shadow(0 4px 6px rgba(0,0,0,.22))}.wheel-center-btn{position:absolute;width:126px;height:126px;border-radius:50%;border:3px solid #fff;background:radial-gradient(circle at 34% 28%,#ed5a6a,#d6394c 62%,#981727);color:#fff;font-family:Nunito,sans-serif;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 16px #0000003d;transition:transform .18s ease,box-shadow .18s ease;z-index:10}.wheel-center-btn:hover{transform:scale(1.05);box-shadow:0 10px 18px #00000047}.wheel-center-btn:active{transform:scale(.96)}.wheel-center-btn:disabled{cursor:not-allowed;opacity:.72;transform:none}.wheel-center-btn.winner{width:138px;height:138px;background:radial-gradient(circle at 34% 28%,#f26f7d,#cf2f44 58%,#7d1320)}.wheel-spinner.spinning .wheel-shell{box-shadow:0 18px 40px #d6394c4d,0 14px 34px #0003,inset 0 0 0 3px #fff9}.wheel-result-card{width:100%;max-width:300px;border-radius:12px;border:1px solid rgba(214,57,76,.25);background:linear-gradient(180deg,#fff,#fef5f6);padding:10px 12px;text-align:center;cursor:pointer;animation:wheelResultPop .4s ease-out}.wheel-result-name{display:block;font-size:.92rem;font-weight:900;color:#bf2c3f}.wheel-result-sub{display:block;font-size:.74rem;color:#777}@keyframes wheelResultPop{0%{opacity:0;transform:translateY(6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dark .homepage{background-color:#1a1a1a;color:#e0e0e0}.dark .homepage-hero{background-color:#1a1a1a}.dark .hero-bg-pattern{opacity:.03;filter:invert(1)}.dark .hero-subtitle{color:#999}.dark .goat-college-tabs{background:#ffffff08}.dark .goat-tab{color:#aaa}.dark .goat-tab:hover{color:#fff}.dark .goat-tab.active{color:#fff!important}.dark .goat-view-all{color:#e06070;border-color:#e0607059}.dark .goat-view-all:hover{color:#e06070;background:#3a2328;border-color:#e06070}.dark .goat-leaderboard{background:#242424;box-shadow:0 2px 12px #0003}.dark .goat-scroll-wrap:before{background:linear-gradient(to right,rgba(36,36,36,.97) 20%,transparent)}.dark .goat-scroll-wrap:after{background:linear-gradient(to left,rgba(36,36,36,.97) 20%,transparent)}.dark .goat-header-row{background:#2a2a2a;color:#777}.dark .goat-row{border-bottom-color:#333}.dark .goat-row:hover{background:#2e2020}.dark .goat-top3{background:#2a2218}.dark .goat-top3:hover{background:#332818}.dark .goat-col-rank{color:#777}.dark .goat-col-dept{color:#999}.dark .goat-col-reviews{color:#777}.dark .randomizer-section{background:#1e1e1e}.dark .randomizer-desc{color:#999}.dark .wheel-shell{background:radial-gradient(circle at 30% 26%,#3a3536,#2a2325 62%,#181315);border-color:#7d1320;box-shadow:0 16px 38px #00000080,inset 0 0 0 3px #ffffff14}.dark .wheel-face{background:repeating-conic-gradient(#ca3246 0deg 22.5deg,#7b1120 22.5deg 45deg)}.dark .wheel-face:before{border-color:#fff3}.dark .wheel-pointer{border-top-color:#f6e8ea}.dark .wheel-result-card{background:linear-gradient(180deg,#251f20,#1c1718);border-color:#d6394c59}.dark .wheel-result-name{color:#f26676}.dark .wheel-result-sub{color:#9f9698}.dark .stars-empty{color:#444}.dark .goat-rating-tooltip{background:#2a2a2a;border-color:#444;box-shadow:0 8px 24px #00000059}.dark .goat-rating-tooltip:before{background:#2a2a2a;border-left-color:#444;border-top-color:#444}.dark .tooltip-label{color:#999}.dark .tooltip-value{color:#e0e0e0}.dark .tooltip-divider{background:#444}@media(max-width:768px){.homepage-hero{padding:100px 16px 50px}.hero-tagline{font-size:2rem;padding:0 8px}.hero-subtitle{font-size:1rem;padding:0 8px}.stats-banner{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;padding:36px 24px}.stat-value{font-size:1.5rem}.section{padding:40px 16px}.section-title{font-size:1.25rem}.randomizer-content{flex-direction:column;text-align:center;gap:24px}.randomizer-btn{width:100%;justify-content:center}.wheel-shell{--wheel-label-radius: -140px;width:348px;height:348px}.wheel-disc{width:316px;height:316px}.wheel-slice-name span{width:100px;font-size:.58rem}.wheel-center-btn{width:108px;height:108px;font-size:.8rem}.goat-leaderboard{overflow-x:auto;-webkit-overflow-scrolling:touch;min-height:548px}.goat-scroll-wrap:before,.goat-scroll-wrap:after{display:block}.goat-header-row,.goat-row{min-width:660px;padding:0 16px;height:50px}.goat-college-tabs{gap:6px}.goat-tab{padding:6px 14px;font-size:.78rem}.goat-col-name{padding-left:6px}.goat-col-dept,.goat-col-reviews{padding-left:12px}.goat-name-text,.goat-score{font-size:.82rem}.goat-rating-tooltip{min-width:140px;padding:10px 14px;left:auto;right:0;transform:none}.goat-rating-tooltip:before{left:auto;right:20px;transform:rotate(45deg)}}@media(max-width:480px){.homepage-hero{padding:80px 12px 40px}.hero-tagline{font-size:1.6rem}.hero-subtitle{font-size:.88rem;margin-bottom:28px}.stats-banner{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;padding:28px 16px}.stat-value{font-size:1.2rem}.stat-label{font-size:.72rem}.section{padding:32px 12px}.section-title{font-size:1.1rem}.goat-leaderboard{min-height:528px}.goat-header-row,.goat-row{min-width:620px;padding:0 12px;height:48px}.goat-name-text{font-size:.78rem}.goat-col-rank{font-size:.9rem}.goat-top3 .goat-col-rank{font-size:1.1rem}.goat-col-name{padding-left:6px}.goat-col-dept{font-size:.72rem;padding-left:12px}.goat-col-reviews{font-size:.75rem;text-align:left;padding-left:12px}.randomizer-desc{font-size:.9rem}.randomizer-btn{padding:12px 24px;font-size:.95rem}.wheel-shell{--wheel-label-radius: -118px;width:292px;height:292px}.wheel-disc{width:264px;height:264px}.wheel-slice-name span{width:78px;font-size:.52rem;margin-left:3px}.wheel-center-btn{width:90px;height:90px;font-size:.7rem}.wheel-center-btn.winner{width:100px;height:100px}.stars-wrapper{font-size:.78rem}.goat-score{font-size:.8rem}.goat-rating-tooltip{min-width:130px;padding:10px 12px;left:0;right:auto;transform:none;font-size:.8rem}.goat-rating-tooltip:before{left:16px;right:auto;transform:rotate(45deg)}}.not-found-page{display:flex;flex-direction:column;min-height:100vh;font-family:Nunito,sans-serif;background:#f5f5f5}.not-found-main{position:relative;flex:1;min-height:100vh;display:flex;align-items:center;padding:112px 24px 72px;overflow:hidden}.not-found-main:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(214,57,76,.12) 0,transparent 28%),radial-gradient(circle at 82% 14%,rgba(214,57,76,.08) 0,transparent 24%),linear-gradient(180deg,#ffffffd1,#f5f5f5f5);pointer-events:none}.not-found-shell{position:relative;z-index:1;width:100%;padding:0 clamp(16px,3vw,48px)}.not-found-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:36px;align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:30px;padding:42px;box-shadow:0 24px 60px #00000014;position:relative;z-index:2}.not-found-copy{max-width:580px}.not-found-copy h1{font-size:clamp(2.9rem,7vw,5.3rem);line-height:.96;letter-spacing:-.04em;color:#1f1f1f;margin-bottom:18px}.not-found-copy p{font-size:1.08rem;line-height:1.7;color:#666;max-width:48ch}.not-found-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.not-found-primary-btn,.not-found-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:14px;text-decoration:none;font-size:.95rem;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.not-found-primary-btn{background:#d6394c;color:#fff;box-shadow:0 12px 26px #d6394c3d}.not-found-primary-btn:hover{background:#b82e3f;transform:translateY(-2px);box-shadow:0 16px 32px #d6394c47}.not-found-secondary-btn{background:#ffffffeb;color:#d6394c;border:1.5px solid rgba(214,57,76,.24)}.not-found-secondary-btn:hover{background:#fff0f2;border-color:#d6394c80;transform:translateY(-2px)}.not-found-visual{position:relative;min-height:100%;display:flex;align-items:center;justify-content:center}.not-found-visual-glow{position:absolute;inset:12% 10%;background:radial-gradient(circle,rgba(214,57,76,.2) 0%,rgba(214,57,76,.03) 56%,transparent 74%);filter:blur(8px)}.not-found-visual-card{position:relative;width:min(100%,450px);aspect-ratio:.95;padding:28px;border-radius:30px;background:#f8f8f8;border:1px solid rgba(214,57,76,.12);box-shadow:0 28px 48px #0000001f;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.not-found-husky{position:relative;z-index:1;width:clamp(220px,62%,320px);filter:drop-shadow(0 14px 22px rgba(0,0,0,.12))}@media(max-width:980px){.not-found-main{padding-top:96px}.not-found-hero{grid-template-columns:1fr;padding:32px}.not-found-copy,.not-found-copy p{max-width:none}.not-found-visual{min-height:360px}}@media(max-width:640px){.not-found-main{padding:88px 16px 56px}.not-found-hero{gap:26px;padding:24px;border-radius:24px}.not-found-copy h1{font-size:clamp(2.5rem,14vw,3.6rem)}.not-found-copy p{font-size:1rem}.not-found-actions{flex-direction:column}.not-found-primary-btn,.not-found-secondary-btn{width:100%}.not-found-visual-card{width:100%;padding:22px}}.dark .not-found-page{background:#1a1a1a}.dark .not-found-main:before{background:radial-gradient(circle at 18% 20%,rgba(214,57,76,.18) 0,transparent 28%),radial-gradient(circle at 82% 14%,rgba(214,57,76,.12) 0,transparent 24%),linear-gradient(180deg,#171717f0,#1c1c1cfa)}.dark .not-found-hero{background:#242424;border-color:#333;box-shadow:0 24px 60px #00000047}.dark .not-found-copy h1{color:#f3f3f3}.dark .not-found-copy p{color:#b0b0b0}.dark .not-found-secondary-btn{background:#ffffff0a;color:#f06a7a;border-color:#f06a7a38}.dark .not-found-secondary-btn:hover{background:#d6394c1f;border-color:#f06a7a75}.dark .not-found-visual-card{background:#2a2a2a;border-color:#d6394c2e;box-shadow:0 28px 48px #00000052}.star-rating{position:relative;display:inline-block;line-height:1;white-space:nowrap}.star-rating-empty{color:#ddd;letter-spacing:1px}.star-rating-filled{position:absolute;top:0;left:0;overflow:hidden;color:#f5a623;letter-spacing:1px;white-space:nowrap}.star-rating-sm{font-size:.78rem}.star-rating-md{font-size:.95rem}.star-rating-lg{font-size:1.3rem}.dark .star-rating-empty{color:#444}.rating-bar-row{display:flex;align-items:center;gap:12px}.rating-bar-star{font-size:.9rem;font-weight:700;color:#f5a623;width:40px;text-align:right;flex-shrink:0}.rating-bar-track{flex:1;height:12px;background:#eee;border-radius:6px;overflow:hidden}.rating-bar-fill{height:100%;background:linear-gradient(90deg,#d6394c,#e06070);border-radius:6px;transition:width 1s cubic-bezier(.4,0,.2,1)}.rating-bar-count{font-size:.9rem;font-weight:700;color:#555;width:40px;text-align:left;font-variant-numeric:tabular-nums}.dark .rating-bar-track{background:#333}.dark .rating-bar-star{color:#f5a623}.dark .rating-bar-count{color:#999}.breadcrumbs{max-width:1200px;margin:0 auto;padding:12px 48px 0;position:relative;z-index:1}.breadcrumbs-list{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}.breadcrumbs-item{display:flex;align-items:center;gap:0}.breadcrumbs-link{font-size:.82rem;font-weight:600;color:#d6394c;text-decoration:none;transition:color .15s}.breadcrumbs-link:hover{color:#b82e3f;text-decoration:underline}.breadcrumbs-separator{display:flex;align-items:center;color:#bbb;margin:0 8px}.breadcrumbs-current{font-size:.82rem;font-weight:600;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.dark .breadcrumbs-link{color:#e06070}.dark .breadcrumbs-link:hover{color:#d6394c}.dark .breadcrumbs-separator{color:#555}.dark .breadcrumbs-current{color:#777}.prof-hero .breadcrumbs{padding:0 0 16px;max-width:none;margin:0;z-index:1;position:relative}.compare-page .breadcrumbs{padding:12px 24px 0}.course-shell .breadcrumbs{padding:12px 0 0;max-width:none;margin:0}@media(max-width:768px){.breadcrumbs{padding:10px 20px 0}}@media(max-width:480px){.breadcrumbs{padding:8px 16px 0}.breadcrumbs-current{max-width:180px}}.signin-modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:modalFadeIn .2s ease}.signin-modal-overlay.closing{animation:modalFadeOut .2s ease forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSlideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(16px) scale(.97)}}.signin-modal{position:relative;background:#fff;border-radius:20px;padding:40px 36px 32px;max-width:400px;width:100%;text-align:center;box-shadow:0 20px 60px #0003;animation:modalSlideUp .3s ease;font-family:Nunito,sans-serif}.signin-modal.closing{animation:modalSlideDown .2s ease forwards}.signin-modal-close{position:absolute;top:14px;right:14px;background:none;border:none;cursor:pointer;padding:4px;border-radius:8px;transition:background .15s}.signin-modal-close:hover{background:#f0f0f0}.signin-modal-close svg{width:20px;height:20px;color:#999}.signin-modal-title{font-size:1.5rem;font-weight:900;color:#1a1a1a;margin-bottom:12px}.signin-modal-desc{font-size:.9rem;color:#666;line-height:1.55;margin-bottom:24px}.signin-modal-desc strong{color:#d6394c;font-weight:800}.signin-modal-logo{width:64px;height:64px;margin-bottom:24px;opacity:.9}.signin-modal-terms{font-size:.75rem;color:#aaa;line-height:1.5;margin-bottom:20px}.signin-modal-terms a{color:#999;text-decoration:underline;transition:color .15s}.signin-modal-terms a:hover{color:#d6394c}.signin-modal-google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 24px;background:#fff;border:1.5px solid #e0e0e0;border-radius:12px;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:700;color:#333;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.signin-modal-google-btn:hover{border-color:#ccc;box-shadow:0 2px 12px #00000014;background:#fafafa}.signin-modal-google-btn:active{transform:scale(.98)}.google-icon{width:20px;height:20px;flex-shrink:0}.dark .signin-modal{background:#232323;box-shadow:0 20px 60px #00000080}.dark .signin-modal-close:hover{background:#333}.dark .signin-modal-close svg{color:#666}.dark .signin-modal-title{color:#e0e0e0}.dark .signin-modal-desc{color:#999}.dark .signin-modal-terms{color:#666}.dark .signin-modal-terms a{color:#888}.dark .signin-modal-google-btn{background:#1a1a1a;border-color:#3a3a3a;color:#e0e0e0}.dark .signin-modal-google-btn:hover{border-color:#555;background:#2a2a2a;box-shadow:0 2px 12px #0000004d}@media(max-width:480px){.signin-modal{padding:32px 24px 24px;border-radius:16px}.signin-modal-title{font-size:1.3rem}.signin-modal-logo{width:52px;height:52px}}.prof-page{font-family:Nunito,sans-serif;background:#f5f5f5;min-height:100vh;display:flex;flex-direction:column}.prof-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:100vh;color:#999;font-size:.95rem;font-weight:600}.prof-loading-spinner{width:40px;height:40px;border:3.5px solid rgba(214,57,76,.12);border-top-color:#d6394c;border-radius:50%;animation:profSpin .7s linear infinite}@keyframes profSpin{to{transform:rotate(360deg)}}.prof-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 24px 60px;text-align:center}.prof-error-icon{font-size:4rem;margin-bottom:20px}.prof-error h2{font-size:1.6rem;font-weight:900;margin-bottom:8px}.prof-error p{color:#888;margin-bottom:28px;line-height:1.5}.prof-back-btn{background:#d6394c;color:#fff;border:none;border-radius:14px;padding:12px 36px;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s}.prof-back-btn:hover{background:#b82e3f;transform:scale(1.03)}.prof-hero{position:relative;padding:80px clamp(16px,3vw,48px) 52px;background:#f5f5f5;border-bottom:1px solid #e8e8e8;overflow:hidden}.prof-hero-bg{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background-size:160px 160px;background-repeat:repeat;opacity:.04;transform:rotate(-25deg);pointer-events:none;z-index:0}.prof-hero-glow{position:absolute;top:-120px;left:50%;transform:translate(-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(214,57,76,.08) 0%,transparent 70%);pointer-events:none;z-index:0}.prof-hero-inner{position:relative;z-index:1;display:flex;align-items:flex-start;gap:36px;animation:profFadeIn .5s ease both}@keyframes profFadeIn{0%{opacity:0}to{opacity:1}}.prof-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#d6394c,#b82e3f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:900;flex-shrink:0;box-shadow:0 8px 28px #d6394c4d;animation:profPopIn .5s .2s cubic-bezier(.34,1.56,.64,1) both}@keyframes profPopIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.prof-hero-info{flex:1;min-width:0}.prof-name{font-size:2.8rem;font-weight:900;color:#222;margin-bottom:4px;letter-spacing:-.3px;animation:profSlideUp .5s .15s ease both}@keyframes profSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.prof-dept{font-size:1.15rem;color:#888;font-weight:600;margin-bottom:0;animation:profSlideUp .5s .25s ease both}.prof-hero-actions-row{margin:20px 0 0;padding:0 clamp(16px,3vw,48px);display:flex;gap:10px;animation:profSlideUp .5s .45s ease both}.prof-compare-btn,.prof-rmp-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:10px;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s}.prof-compare-btn{background:#d6394c;color:#fff;border:none;box-shadow:0 2px 8px #d6394c33}.prof-compare-btn svg{width:14px;height:14px}.prof-compare-btn:hover{background:#b82e3f;transform:scale(1.03);box-shadow:0 4px 16px #d6394c4d}.prof-rmp-btn{background:transparent;color:#d6394c;border:1.5px solid #d6394c}.prof-rmp-btn:hover{background:#fef0f0;transform:scale(1.03)}.prof-stats{margin:24px 0 0;padding:0 clamp(16px,3vw,48px);display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative;z-index:2}@media(min-width:1280px){.prof-stats{grid-template-columns:repeat(6,1fr);gap:14px}}.prof-stat-card{background:#fff;border-radius:16px;padding:22px 18px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 2px 12px #0000000f;transition:transform .2s,box-shadow .2s;animation:profCardIn .5s ease both;position:relative}.prof-stat-card:nth-child(1){animation-delay:.05s}.prof-stat-card:nth-child(2){animation-delay:.1s}.prof-stat-card:nth-child(3){animation-delay:.15s}.prof-stat-card:nth-child(4){animation-delay:.2s}.prof-stat-card:nth-child(5){animation-delay:.25s}.prof-stat-card:nth-child(6){animation-delay:.3s}.prof-stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #0000001a;z-index:10}@keyframes profCardIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.prof-stat-breakdown{position:absolute;bottom:0;left:50%;transform:translate(-50%) translateY(100%);background:#333;color:#fff!important;padding:8px 12px;border-radius:6px;font-size:.8rem!important;display:flex;gap:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap;box-shadow:0 4px 12px #00000026;z-index:10}.prof-stat-breakdown:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);border-width:0 5px 5px 5px;border-style:solid;border-color:transparent transparent #333 transparent}.prof-stat-card:hover .prof-stat-breakdown{opacity:1;transform:translate(-50%) translateY(85%)}.prof-stat-value{font-size:clamp(1.6rem,2.5vw,2.3rem);font-weight:900;color:#333;line-height:1}.prof-stat-value.accent{color:#d6394c}.prof-stat-value.green{color:#27ae60}.prof-stat-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#aaa;text-align:center;display:flex;align-items:center;justify-content:center;gap:4px;margin-top:2px}.prof-stat-clickable{cursor:pointer}.prof-stat-hint{font-size:.72rem;color:#bbb;font-weight:600;margin-top:2px;transition:color .2s}.prof-stat-clickable:hover .prof-stat-hint{color:#d6394c}.prof-difficulty-bar{width:100%;height:8px;background:#eee;border-radius:3px;overflow:hidden;margin-top:4px}.prof-difficulty-fill{height:100%;border-radius:3px;transition:width 1.2s cubic-bezier(.4,0,.2,1),background .5s ease}.prof-section{padding:48px clamp(16px,3vw,48px) 0;width:100%}.prof-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.prof-section-title{font-size:1.6rem;font-weight:900;color:#333;margin-bottom:0}.prof-section-actions{display:flex;gap:12px}.prof-action-link{background:transparent;border:none;color:#d6394c;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:800;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s}.prof-action-link:hover{background:#fef0f0}.prof-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-left:clamp(12px,2.5vw,40px);padding-right:clamp(12px,2.5vw,40px);padding-bottom:28px}.prof-chart-card{background:#fff;border-radius:16px;padding:28px 32px;box-shadow:0 4px 20px #0000000f;outline:none}.prof-chart-card:focus,.prof-chart-card *:focus{outline:none}.prof-chart-card svg,.prof-chart-card svg *{outline:none}.prof-chart-title{font-size:1.1rem;font-weight:800;color:#333;margin-bottom:18px}.prof-distribution{display:flex;flex-direction:column;gap:12px}.prof-grades{display:flex;flex-direction:column;gap:9px}.prof-grade-row{display:flex;align-items:center;gap:10px}.prof-grade-label{font-size:.88rem;font-weight:800;width:32px;text-align:center;flex-shrink:0}.prof-grade-track{flex:1;height:12px;background:#eee;border-radius:6px;overflow:hidden}.prof-grade-fill{height:100%;border-radius:5px;transition:width 1s cubic-bezier(.4,0,.2,1)}.prof-grade-count{font-size:.82rem;font-weight:700;color:#888;width:32px;font-variant-numeric:tabular-nums}.prof-courses-compact{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000000f}.prof-course-row{padding:16px 28px;border-bottom:1px solid #f0f0f0;transition:all .2s;cursor:pointer;-webkit-user-select:none;user-select:none}.prof-course-row:last-child{border-bottom:none}.prof-course-row:hover{background:#fef8f8}.prof-course-row.selected{background:#fff5f5;border-left:4px solid #d6394c;padding-left:24px}.prof-course-row-main{display:flex;align-items:center;gap:12px}.prof-course-code{font-weight:800;font-size:.95rem;color:#d6394c;min-width:100px;flex-shrink:0}.prof-course-title{flex:1;font-size:.95rem;font-weight:600;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prof-course-terms{font-size:.82rem;color:#999;font-weight:600;white-space:nowrap;flex-shrink:0}.prof-course-term-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;align-items:center}.prof-course-term-tag{font-size:.72rem;font-weight:700;color:#d6394c;background:#fef0f0;padding:2px 8px;border-radius:8px;white-space:nowrap}.prof-course-term-more{color:#999;background:#f0f0f0;font-style:italic;cursor:pointer;transition:background .15s,color .15s}.prof-course-term-more:hover{background:#e4e4e4;color:#d6394c}.prof-course-lower{display:flex;align-items:flex-end;justify-content:space-between;margin-top:6px;gap:8px}.prof-course-view{display:flex;flex-shrink:0}.prof-course-view-btn{font-size:.78rem;font-weight:700;color:#d6394c;text-decoration:none;padding:4px 10px;border-radius:6px;border:1.5px solid #d6394c;transition:background .15s,color .15s}.prof-course-view-btn:hover{background:#d6394c;color:#fff}.prof-course-term-hidden{display:none;opacity:0;transform:scale(.85)}.prof-course-term-hidden.visible{display:inline-flex;opacity:1;transform:scale(1);animation:termTagIn .25s ease both}.prof-course-term-hidden.visible.closing{animation:termTagOut .2s ease both}@keyframes termTagIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes termTagOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}.prof-term-chevron{display:block}.prof-course-term-more.closing{pointer-events:none;animation:termTagOut .2s ease both}.prof-courses-extra{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}.prof-courses-extra.open{grid-template-rows:1fr}.prof-courses-extra>div{min-height:0;overflow:hidden}.prof-courses-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:14px;border:none;border-top:1px solid #f0f0f0;background:transparent;color:#d6394c;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .2s}.prof-courses-toggle:hover{background:#fef8f8}.prof-courses-toggle-icon{transition:transform .3s ease}.prof-courses-toggle-icon.expanded{transform:rotate(180deg)}.prof-reviews-section{padding-bottom:60px}.prof-reviews-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:20px}.prof-review-tabs{position:relative;display:flex;gap:10px;background:#00000008;padding:4px;border-radius:24px}.prof-review-pill-background{position:absolute;top:4px;bottom:4px;left:0;background:#d6394c;border-radius:20px;box-shadow:0 4px 12px #d6394c40;z-index:0;pointer-events:none}.prof-review-pill-background.animate{transition:transform .4s cubic-bezier(.4,0,.2,1),width .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}.prof-review-tab{position:relative;z-index:1;background:transparent;border:none;border-radius:20px;padding:10px 24px;font-family:Nunito,sans-serif;font-size:.92rem;font-weight:700;color:#555;cursor:pointer;transition:color .3s ease}.prof-review-tab:hover{color:#d6394c}.prof-review-tab.active{color:#fff!important;background:transparent!important;border:none!important}.prof-review-tab-short{display:none}.prof-review-tab-full{display:inline}.prof-reviews-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.prof-reviews-filters .feedback-dropdown{width:auto;min-width:180px;margin-bottom:0}.prof-reviews-list{display:flex;flex-direction:column;gap:14px}.prof-no-reviews{text-align:center;color:#999;padding:40px 0;font-size:.95rem}.prof-review-card{background:#fff;border-radius:14px;padding:26px 28px;box-shadow:0 2px 12px #0000000d;border-left:4px solid #ddd;transition:box-shadow .2s,transform .15s;animation:profReviewIn .35s ease both}.prof-review-card:hover{box-shadow:0 6px 24px #00000014;transform:translateY(-1px)}@keyframes profReviewIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.prof-review-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.prof-review-ratings{display:flex;gap:10px}.prof-review-rating-item{display:flex;flex-direction:column;align-items:center;gap:3px}.prof-review-rating-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#aaa}.prof-review-rating-value{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.2rem;color:#fff}.prof-review-rating-value[data-score="5"]{background:#1a9850}.prof-review-rating-value[data-score="4"]{background:#66bd63}.prof-review-rating-value[data-score="3"]{background:#f39c12}.prof-review-rating-value[data-score="2"]{background:#e67e22}.prof-review-rating-value[data-score="1"]{background:#e74c3c}.prof-review-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.prof-review-course{font-size:.82rem;font-weight:800;color:#d6394c;background:#fef0f0;padding:3px 10px;border-radius:8px}.prof-review-date{font-size:.8rem;color:#aaa}.prof-review-comment{font-size:1rem;color:#444;line-height:1.75;margin-bottom:12px}.prof-review-bottom{display:flex;flex-direction:column;gap:10px}.prof-review-tags{display:flex;flex-wrap:wrap;gap:6px}.prof-review-tag{font-size:.78rem;font-weight:700;padding:5px 12px;border-radius:10px;color:#555;background:#f0f0f0;border:1px solid #e0e0e0}.prof-review-pills{display:flex;flex-wrap:wrap;gap:6px}.prof-review-pill{font-size:.78rem;font-weight:600;color:#888;background:#f5f5f5;padding:5px 12px;border-radius:8px}.prof-trace-controls{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.trace-search-container{flex:1;min-width:250px;position:relative}.trace-search-input{width:100%;padding:10px 16px;border-radius:12px;border:1.5px solid #ddd;font-family:Nunito,sans-serif;font-size:.9rem;background:#fff;transition:all .2s}.trace-search-input:focus{outline:none;border-color:#d6394c;box-shadow:0 0 0 3px #d6394c1a}.trace-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#aaa;pointer-events:none}.prof-trace-categories{display:flex;flex-direction:column;gap:12px}.prof-trace-paywall{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;background:#fff;border-radius:16px;border:1.5px dashed #e0e0e0;margin-top:8px}.paywall-lock-icon{width:40px;height:40px;color:#d6394c;margin-bottom:16px}.prof-trace-paywall h3{font-size:1.1rem;font-weight:800;color:#1a1a1a;margin-bottom:8px}.prof-trace-paywall p{font-size:.88rem;color:#888;line-height:1.5;max-width:400px;margin-bottom:20px}.paywall-signin-btn{background:#d6394c;color:#fff;border:none;border-radius:12px;padding:11px 32px;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:800;cursor:pointer;transition:background .15s,transform .15s}.paywall-signin-btn:hover{background:#b82e3f;transform:scale(1.03)}.dark .prof-trace-paywall{background:#1e1e1e;border-color:#333}.dark .prof-trace-paywall h3{color:#e0e0e0}.dark .prof-trace-paywall p{color:#777}.trace-category-paywall{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px;border-top:1px solid #f0f0f0}.paywall-lock-icon-sm{width:28px;height:28px;color:#d6394c;margin-bottom:10px}.trace-category-paywall p{font-size:.82rem;color:#888;line-height:1.5;max-width:320px;margin-bottom:12px}.trace-category-paywall p strong{color:#d6394c;font-weight:800}.paywall-signin-btn.small{padding:8px 24px;font-size:.85rem;border-radius:10px}.dark .trace-category-paywall{border-top-color:#333}.dark .trace-category-paywall p{color:#777}.trace-category-item{background:#fff;border-radius:14px;border:1px solid #e8e8e8;overflow:hidden;transition:all .2s ease;box-shadow:0 2px 8px #0000000a}.trace-category-item.expanded{box-shadow:0 4px 16px #00000014;border-color:#d6394c}.trace-category-header{padding:18px 24px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;transition:background .2s}.trace-category-header:hover{background:#fef8f8}.trace-category-title-wrap{display:flex;flex-direction:column;gap:4px;flex:1}.trace-category-title{font-size:1.05rem;font-weight:800;color:#333;line-height:1.4}.trace-category-subtitle{font-size:.78rem;color:#888;font-weight:600;display:flex;align-items:center;gap:8px}.trace-comment-count{background:#f0f0f0;color:#666;padding:2px 8px;border-radius:6px;font-size:.7rem}.trace-chevron{width:20px;height:20px;color:#aaa;transition:transform .3s ease;margin-left:16px}.trace-category-item.expanded .trace-chevron{transform:rotate(180deg);color:#d6394c}.trace-category-content{padding:0 24px 24px;display:flex;flex-direction:column;gap:12px;background:#fff;border-top:1px solid #f8f8f8}.trace-comment-bubble{padding:16px;background:#f9f9f9;border-radius:12px;font-size:.95rem;line-height:1.6;color:#444;position:relative;animation:traceFadeIn .3s ease both;display:flex;flex-direction:column;gap:8px}.trace-comment-term{font-size:.72rem;font-weight:800;color:#d6394c;background:#fef0f0;padding:2px 8px;border-radius:6px;width:fit-content;text-transform:uppercase;letter-spacing:.3px}.trace-comment-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.trace-comment-course{font-size:.72rem;font-weight:800;color:#d6394c;background:#fef0f0;padding:2px 8px;border-radius:6px;margin-left:auto;text-transform:uppercase;letter-spacing:.3px}.trace-category-actions{display:flex;justify-content:center;gap:12px;margin-top:16px;flex-wrap:wrap}.reddit-comment-bubble{padding:16px;background:#f9f9f9;border-radius:12px;font-size:.95rem;line-height:1.6;color:#444;position:relative;animation:traceFadeIn .3s ease both;display:flex;flex-direction:column;gap:10px}.reddit-comment-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.reddit-comment-date{font-size:.72rem;font-weight:800;color:#d6394c;background:#fef0f0;padding:2px 8px;border-radius:6px;width:fit-content;text-transform:uppercase;letter-spacing:.3px}.reddit-comment-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.reddit-comment-score{font-size:.78rem;font-weight:800;color:#888}.reddit-comment-link{font-size:.78rem;font-weight:700;color:#d6394c;text-decoration:none}.reddit-comment-link:hover{text-decoration:underline}.reddit-comment-body{margin:0}.reddit-sentiment{position:relative;margin-top:36px}.reddit-sentiment-pointer{position:absolute;bottom:100%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;white-space:nowrap}.reddit-sentiment-label{font-size:.75rem;font-weight:800}.reddit-sentiment-arrow{font-size:.7rem;line-height:1}.reddit-sentiment-track{height:6px;border-radius:3px;background:linear-gradient(to right,#e74c3c,#f39c12,#27ae60)}.dark .reddit-comment-bubble{background:#2a2a2a;color:#ccc}.dark .reddit-comment-score{color:#999}.dark .reddit-comment-date{color:#e06070;background:#3a2020}.trace-action-btn{display:flex;align-items:center;gap:8px;background:#f5f5f5;border:1px solid #e0e0e0;color:#666;padding:8px 16px;border-radius:10px;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s}.trace-action-btn:hover{background:#eee;border-color:#ccc;color:#333}.trace-action-btn.primary{background:#fef0f0;border-color:#fcdada;color:#d6394c}.trace-action-btn.primary:hover{background:#d6394c;color:#fff}.dark .trace-action-btn{background:#333;border-color:#444;color:#aaa}.dark .trace-action-btn:hover{background:#444;color:#eee}.dark .trace-action-btn.primary{background:#3a2020;border-color:#4a2a2a;color:#e06070}.dark .trace-action-btn.primary:hover{background:#d6394c;color:#fff}.dark .trace-category-item{background:#242424;border-color:#333}.dark .trace-category-header{background:#242424}.dark .trace-category-header:hover{background:#2d2424}.dark .trace-category-title{color:#e0e0e0}.dark .trace-category-content{background:#242424;border-top-color:#333}.dark .trace-comment-bubble{background:#2a2a2a;color:#ccc}.dark .trace-comment-count{background:#333;color:#999}.dark .trace-search-input{background:#242424;border-color:#444;color:#e0e0e0}.dark .trace-category-item.expanded{border-color:#d6394c}.prof-load-more{display:block;margin:24px auto 0;background:transparent;border:2px solid #d6394c;color:#d6394c;border-radius:14px;padding:14px 40px;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s,transform .15s}.prof-load-more:hover{background:#d6394c;color:#fff;transform:scale(1.02)}.prof-back-to-top{position:fixed;bottom:24px;left:24px;z-index:250;width:42px;height:42px;border-radius:50%;background:#d6394c;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #d6394c59;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .3s,transform .3s,background .2s}.prof-back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.prof-back-to-top:hover{background:#b82e3f;box-shadow:0 6px 24px #d6394c73}.prof-back-to-top svg{width:20px;height:20px}.dark .prof-page{background:#1a1a1a}.dark .prof-hero{background:#1a1a1a;border-bottom-color:#333}.dark .prof-hero-bg{opacity:.025;filter:invert(1)}.dark .prof-hero-glow{background:radial-gradient(circle,rgba(214,57,76,.06) 0%,transparent 70%)}.dark .prof-name{color:#e0e0e0}.dark .prof-dept{color:#999}.dark .prof-compare-btn{box-shadow:0 2px 8px #d6394c26}.dark .prof-rmp-btn{color:#e06070;border-color:#e06070}.dark .prof-rmp-btn:hover{background:#3a2020}.dark .prof-stat-card{background:#1e1e1e;box-shadow:0 2px 12px #00000040}.dark .prof-stat-card:hover{box-shadow:0 8px 28px #00000059}.dark .prof-stat-breakdown{background:#444;color:#e0e0e0!important;box-shadow:0 4px 12px #0000004d}.dark .prof-stat-breakdown:before{border-color:transparent transparent #444 transparent}.dark .prof-stat-value{color:#e0e0e0}.dark .prof-stat-value.green{color:#27ae60}.dark .prof-stat-label{color:#777}.dark .prof-stat-hint{color:#555}.dark .prof-stat-clickable:hover .prof-stat-hint{color:#d6394c}.dark .prof-difficulty-bar{background:#333}.dark .prof-section-title{color:#e0e0e0}.dark .prof-chart-card{background:#242424;box-shadow:0 4px 20px #0003}.dark .prof-chart-title{color:#e0e0e0}.dark .prof-radar-section{background:#242424;box-shadow:0 4px 20px #0003;--radar-grid: #333;--radar-label: #ccc;--radar-tooltip-bg: #2a2a2a;--radar-tooltip-border: #444;--radar-tooltip-text: #e0e0e0}.dark .prof-radar-subtitle{color:#777}.dark .prof-radar-metric-name{color:#e0e0e0}.dark .prof-radar-metric-desc{color:#666}.dark .prof-radar-legend-labels{border-top-color:#333}.dark .prof-grade-track{background:#333}.dark .prof-grade-count{color:#777}.dark .prof-distribution{background:transparent;box-shadow:none}.dark .prof-courses-compact{background:#242424;box-shadow:0 4px 20px #0003}.dark .prof-course-row{border-bottom-color:#333}.dark .prof-course-row:hover{background:#2e2020}.dark .prof-course-row.selected{background:#2e2020;border-left-color:#d6394c}.dark .prof-course-title{color:#ccc}.dark .prof-course-terms{color:#777}.dark .prof-course-term-tag{color:#e06070;background:#3a2020}.dark .prof-course-term-more{color:#777;background:#333}.dark .prof-course-term-more:hover{background:#3a3a3a;color:#e06070}.dark .prof-course-view-btn{color:#e06070;border-color:#e06070}.dark .prof-course-view-btn:hover{background:#e06070;color:#1a1a1a}.dark .prof-courses-toggle{border-top-color:#333;color:#e06070}.dark .prof-courses-toggle:hover{background:#2d2020}.dark .trace-comment-term,.dark .trace-comment-course{color:#e06070;background:#3a2020}.dark .prof-action-link{color:#e06070}.dark .prof-action-link:hover{background:#3a2020}.dark .prof-review-tabs{background:#ffffff08}.dark .prof-review-tab{color:#aaa}.dark .prof-review-tab:hover{color:#fff}.dark .prof-review-tab.active{color:#fff!important}.dark .prof-review-card{background:#242424;box-shadow:0 2px 12px #0003;border-left-color:#555}.dark .prof-review-card:hover{box-shadow:0 6px 24px #0000004d}.dark .prof-review-comment{color:#ccc}.dark .prof-review-course{background:#3a2020;color:#e06070}.dark .prof-review-pill{background:#2a2a2a;color:#999}.dark .prof-review-tag{background:#333;border-color:#444;color:#ccc}.dark .prof-review-date{color:#666}.dark .prof-review-rating-label,.dark .prof-loading{color:#777}.dark .prof-error h2{color:#e0e0e0}.dark .prof-error p{color:#777}.dark .trace-card .prof-trace-question{color:#e06070}.dark .prof-back-to-top{background:#d6394c;box-shadow:0 4px 16px #0000004d}.dark .prof-image-modal{border-color:#d6394c8c}.dark .prof-image-modal-close{background:#141414b3}@media(max-width:768px){.prof-hero{padding:72px clamp(12px,3vw,20px) 36px}.prof-hero-inner{flex-direction:row;align-items:center;text-align:left;gap:16px}.prof-avatar{width:72px;height:72px;font-size:1.6rem}.prof-name{font-size:1.5rem}.prof-hero-actions-row{justify-content:center}.prof-stats{grid-template-columns:repeat(3,1fr);gap:12px}.prof-section{padding:36px clamp(12px,3vw,20px) 0}.prof-charts-row{grid-template-columns:1fr;padding-bottom:8px}.prof-reviews-header{flex-direction:row;align-items:center;gap:10px}.prof-review-top{flex-direction:row}.prof-review-meta{flex-direction:column;align-items:flex-end;gap:4px}.prof-reviews-filters{flex-direction:column}.prof-reviews-filters .feedback-dropdown{width:100%;min-width:unset}.prof-course-row-main{gap:8px}.prof-course-code{min-width:70px;font-size:.82rem}.prof-course-title{font-size:.82rem}.prof-back-to-top{bottom:20px;left:16px;width:40px;height:40px}.prof-back-to-top svg{width:18px;height:18px}.prof-review-tabs{width:100%;gap:4px}.prof-review-tab{flex:1 1 0;padding:8px 6px;font-size:.8rem;text-align:center;white-space:nowrap}.prof-review-tab-full{display:none}.prof-review-tab-short{display:inline}}@media(max-width:480px){.prof-hero{padding:64px clamp(12px,3vw,16px) 28px}.prof-name{font-size:1.4rem}.prof-dept{font-size:.88rem}.prof-avatar{width:60px;height:60px;font-size:1.3rem}.prof-hero-actions-row{flex-direction:column;align-items:center}.prof-compare-btn,.prof-rmp-btn{justify-content:center;min-width:180px}.prof-stats{grid-template-columns:repeat(2,1fr);gap:10px}.prof-stat-value{font-size:1.5rem}.prof-stat-card{padding:18px 12px 16px}.prof-section{padding:28px clamp(12px,3vw,16px) 0}.prof-section-title{font-size:1.15rem}.prof-review-card{padding:16px 18px}.prof-review-rating-value{width:38px;height:38px;font-size:.95rem;border-radius:10px}.prof-back-to-top{bottom:16px;left:12px;width:38px;height:38px}.prof-image-modal{width:min(92vw,560px);border-radius:14px}.prof-image-modal-close{width:32px;height:32px;font-size:1.35rem}}.prof-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#d6394c,#b82e3f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:900;flex-shrink:0;box-shadow:0 8px 28px #d6394c4d;animation:profPopIn .5s .2s cubic-bezier(.34,1.56,.64,1) both;overflow:hidden;position:relative}.prof-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.prof-avatar-clickable{cursor:zoom-in}.prof-avatar-clickable:focus-visible{outline:3px solid rgba(214,57,76,.45);outline-offset:4px}.prof-image-modal-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#0e0c0db8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px;animation:profImageModalFade .2s ease-out}.prof-image-modal{position:relative;width:min(86vw,720px);max-height:86vh;border-radius:20px;border:2px solid rgba(255,255,255,.7);overflow:hidden;box-shadow:0 18px 56px #00000073;animation:profImageModalPop .22s ease-out}.prof-image-modal-img{width:100%;height:auto;max-height:86vh;display:block;object-fit:contain;background:#111}.prof-image-modal-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border:none;border-radius:50%;background:#00000094;color:#fff;font-size:1.55rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.prof-image-modal-close:hover{background:#d6394ceb}@keyframes profImageModalFade{0%{opacity:0}to{opacity:1}}@keyframes profImageModalPop{0%{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.prof-avatar-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.prof-radar-section{background:#fff;border-radius:16px;padding:28px 32px 24px;margin:20px clamp(12px,2.5vw,40px) 24px;box-shadow:0 2px 12px #0000000f;outline:none}.prof-radar-section:focus,.prof-radar-section *:focus{outline:none}.prof-radar-section svg,.prof-radar-section svg *{outline:none}.prof-radar-header{display:flex;align-items:center;gap:12px;margin-bottom:4px;flex-wrap:wrap}.prof-radar-term{font-size:.8rem;font-weight:700;color:#fff;background:#d6394c;border-radius:20px;padding:3px 10px;letter-spacing:.02em;flex-shrink:0}.prof-radar-subtitle{color:#888;font-size:.88rem;margin:0 0 20px;line-height:1.5}.prof-radar-charts{width:100%}.prof-radar-legend-labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 20px;margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.prof-radar-metric-info{display:flex;flex-direction:column;gap:2px}.prof-radar-metric-name{font-size:.82rem;font-weight:800;color:#333;text-transform:uppercase;letter-spacing:.04em}.prof-radar-metric-desc{font-size:.78rem;color:#999;line-height:1.4}@media(max-width:600px){.prof-radar-section{padding:20px 16px 18px;margin:20px 12px}.prof-radar-legend-labels{grid-template-columns:1fr 1fr}.prof-radar-metric-info:last-child:nth-child(odd){grid-column:1 / -1;width:fit-content;margin:0 auto;text-align:center;align-items:center}}.prof-course-tip-wrapper{padding:28px clamp(16px,3vw,48px) 0}@media(max-width:768px){.prof-course-tip-wrapper{padding:24px 20px 0}}@media(max-width:480px){.prof-course-tip-wrapper{padding:20px 16px 0}}.prof-course-tip{display:flex;align-items:flex-start;gap:16px;background:#fff;border-radius:16px;border-left:4px solid #d6394c;box-shadow:0 4px 20px #0000000f;padding:18px 20px 18px 22px;font-family:Nunito,sans-serif}.prof-course-tip-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#fef0f0;display:flex;align-items:center;justify-content:center;color:#d6394c;margin-top:1px}.prof-course-tip-body{flex:1;min-width:0}.prof-course-tip-label{font-size:.8rem;font-weight:800;color:#d6394c;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.prof-course-tip-text{font-size:.9rem;font-weight:600;color:#555;line-height:1.55}.prof-course-tip-text strong{color:#333;font-weight:800}.prof-course-tip-close{flex-shrink:0;background:none;border:none;cursor:pointer;color:#bbb;padding:4px;display:flex;align-items:center;border-radius:6px;transition:color .15s,background .15s;align-self:center}.prof-course-tip-close:hover{color:#888;background:#f0f0f0}.dark .prof-course-tip{background:#242424;box-shadow:0 4px 20px #0003;border-left-color:#d6394c}.dark .prof-course-tip-icon{background:#3a2020;color:#e06070}.dark .prof-course-tip-label{color:#e06070}.dark .prof-course-tip-text{color:#aaa}.dark .prof-course-tip-text strong{color:#e0e0e0}.dark .prof-course-tip-close{color:#555}.dark .prof-course-tip-close:hover{color:#aaa;background:#333}.prof-review-card.is-ask-pinned,.reddit-comment-bubble.is-ask-pinned,.trace-comment-bubble.is-ask-pinned{position:relative;box-shadow:0 0 0 2px #d6394c59;background:#d6394c0a}.ask-pinned-label{display:inline-block;margin-bottom:6px;padding:2px 8px;font-size:11px;font-weight:700;color:#d6394c;background:#d6394c1a;border-radius:999px}.catalog-page{min-height:100vh;padding-top:72px;background:#f7f8fa;font-family:Nunito,sans-serif}.catalog-layout{display:flex;padding:0 clamp(16px,3vw,48px) 60px;gap:28px}.catalog-sidebar{width:290px;flex-shrink:0;font-family:Nunito,sans-serif}.catalog-sidebar button,.catalog-sidebar input{font-family:Nunito,sans-serif}.sidebar-inner{position:sticky;top:88px;background:#fff;border-radius:14px;border:1px solid #e8e8e8;padding:20px;max-height:calc(100vh - 108px);overflow-x:hidden;overflow-y:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.sidebar-title{font-weight:700;font-size:1rem;color:#1a1a1a}.clear-btn{font-size:.78rem;color:#d6394c;background:none;border:none;cursor:pointer;font-weight:600;padding:0}.clear-btn:hover{text-decoration:underline}.filter-section{border-top:1px solid #f0f0f0;padding-top:16px;margin-top:16px}.filter-label{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#999;margin-bottom:10px}.college-pills{display:flex;flex-wrap:wrap;gap:6px}.college-pill{padding:4px 11px;border-radius:20px;font-size:.76rem;font-weight:600;cursor:pointer;border:1.5px solid #e0e0e0;background:#fff;color:#666;transition:border-color .15s,color .15s,background .15s}.college-pill:hover{border-color:#d6394c;color:#d6394c}.college-pill.active{background:#d6394c;border-color:#d6394c;color:#fff}.dept-clear-btn{float:right;background:none;border:none;color:#d6394c;font-size:.78rem;font-weight:600;cursor:pointer;padding:0}.dept-clear-btn:hover{text-decoration:underline}.dept-filter{display:flex;flex-direction:column;gap:6px;position:relative}.dept-filter-trigger{position:relative}.filter-tags{display:flex;flex-wrap:wrap;gap:4px}.filter-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:99px;border:1px solid #d6394c;background:#fff0f1;color:#d6394c;font-size:.76rem;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.filter-tag:hover{background:#fde0e3}.filter-tag-x{font-size:.85rem;line-height:1;opacity:.7}.dept-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border-radius:8px;border:1px solid #e0e0e0;background:#f8f8f8;font-family:Nunito,sans-serif;font-size:.88rem;color:#333;cursor:pointer;transition:border-color .2s,background .2s}.dept-toggle:hover{border-color:#ccc;background:#f0f0f0}.dept-toggle.open{border-color:#d6394c;background:#fff}.dept-toggle-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.dept-toggle-icon{display:flex;flex-direction:column;justify-content:center;gap:3px;width:16px;height:16px;flex-shrink:0;margin-left:8px}.dept-bar{display:block;width:100%;height:2px;background:#888;border-radius:1px;transition:transform .3s ease,opacity .3s ease;transform-origin:center}.dept-toggle.open .dept-bar:nth-child(1){transform:translateY(5px) rotate(45deg)}.dept-toggle.open .dept-bar:nth-child(2){opacity:0}.dept-toggle.open .dept-bar:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.dept-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1000;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #e0e0e0;background:#fff;box-shadow:0 4px 16px #0000001a;animation:dept-slide-in .2s ease;font-family:Nunito,sans-serif}@keyframes dept-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dept-search{width:100%;padding:9px 12px;border-radius:8px;border:1px solid #e0e0e0;font-family:Nunito,sans-serif;font-size:.88rem;background:#f8f8f8;color:#333;outline:none;transition:border-color .15s,background .15s;box-sizing:border-box}.dept-search:focus{border-color:#d6394c;background:#fff}.dept-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto;overscroll-behavior:contain}.dept-list::-webkit-scrollbar{width:5px}.dept-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.dept-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-family:Nunito,sans-serif;font-size:.88rem;color:#444}.dept-option:hover{background:#f5f5f5}.dept-option input[type=radio],.dept-option input[type=checkbox]{accent-color:#d6394c;cursor:pointer}.dept-empty{font-size:.85rem;color:#aaa;padding:4px}.slider-value{font-weight:600;color:#d6394c;font-size:.8rem;text-transform:none;letter-spacing:0}.dual-range{position:relative;height:28px;width:100%}.dual-range-track{position:absolute;top:50%;left:0;right:0;height:4px;transform:translateY(-50%);background:#e0e0e0;border-radius:2px;pointer-events:none}.dual-range-fill{position:absolute;height:100%;background:#d6394c;border-radius:2px}.dual-range-input{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}.dual-range-input::-webkit-slider-runnable-track{height:4px;background:transparent}.dual-range-input::-moz-range-track{height:4px;background:transparent;border:none}.dual-range-input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#d6394c;border:2px solid #fff;box-shadow:0 1px 4px #0000002e;cursor:pointer;pointer-events:auto;margin-top:-6px}.dual-range-input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#d6394c;border:2px solid #fff;box-shadow:0 1px 4px #0000002e;cursor:pointer;pointer-events:auto}.slider-tick-marks{display:flex;justify-content:space-between;padding:0 8px;margin-top:2px}.tick-mark{display:flex;flex-direction:column;align-items:center;width:1px}.tick-line{width:1px;height:6px;background:#ccc}.tick-label{font-size:.65rem;color:#aaa;margin-top:2px;min-height:12px}.reviews-input-row{display:flex;align-items:center;gap:8px;margin-top:8px;max-width:100%;overflow:hidden}.reviews-separator{color:#aaa;font-weight:600;font-size:.85rem}.reviews-number-input{flex:1;width:0;min-width:0;max-width:45%;padding:4px 7px;border-radius:7px;border:1.5px solid #e0e0e0;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;font-family:Nunito,sans-serif;font-weight:600;color:#444;background:#f8f8f8;text-align:center;outline:none;transition:border-color .15s,background .15s;appearance:textfield;-moz-appearance:textfield}.reviews-number-input::-webkit-outer-spin-button,.reviews-number-input::-webkit-inner-spin-button{-webkit-appearance:none}.reviews-number-input:focus{border-color:#d6394c;background:#fff}.dark .dual-range-track{background:#444}.dark .dual-range-input::-webkit-slider-thumb{border-color:#232323}.dark .dual-range-input::-moz-range-thumb{border-color:#232323}.dark .tick-line{background:#555}.dark .tick-label,.dark .reviews-separator{color:#666}.catalog-main{flex:1;min-width:0}.catalog-header{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;padding:24px clamp(16px,3vw,48px) 0}.catalog-title{font-size:1.7rem;font-weight:900;color:#1a1a1a}.catalog-count{font-size:.88rem;color:#aaa;font-weight:500}.catalog-search-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.catalog-search-wrap{position:relative;flex:1;min-width:0;max-width:560px}@keyframes catalogSearchPulse{0%,to{box-shadow:0 0 #d6394c00}50%{box-shadow:0 0 20px 2px #d6394c1f}}.catalog-search{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid #e2e2e2;background:#fff;font-size:.96rem;color:#222;font-family:Nunito,sans-serif;outline:none;transition:border-color .25s,box-shadow .25s;animation:catalogSearchPulse 3s ease-in-out infinite}.catalog-search:focus{border-color:#d6394c;box-shadow:0 2px 16px #d6394c2e;animation:none}.catalog-search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:6px 0;list-style:none;margin:0;box-shadow:0 8px 28px #0000001a;z-index:30;overflow:hidden}.catalog-suggestion-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;cursor:pointer;transition:background .12s}.catalog-suggestion-item:hover,.catalog-suggestion-item.active{background:#fef0f0}.catalog-suggestion-main{min-width:0;display:flex;flex-direction:column;gap:2px}.catalog-suggestion-name{font-size:.9rem;font-weight:700;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-suggestion-dept{font-size:.76rem;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-suggestion-rating{flex-shrink:0;color:#d6394c;background:#fef0f0;border-radius:8px;padding:4px 8px;font-size:.8rem;font-weight:800}.catalog-disclaimer{font-size:.78rem;color:#bbb;margin-bottom:18px;margin-top:-8px}.catalog-disclaimer span{color:#ccc}.catalog-view-toggle{display:flex;gap:4px;margin-left:auto}.catalog-view-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1.5px solid #e0e0e0;background:#fff;color:#999;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.catalog-view-btn:hover{border-color:#d6394c;color:#d6394c}.catalog-view-btn.active{background:#d6394c;border-color:#d6394c;color:#fff}.catalog-list{display:flex;flex-direction:column;background:#fff;border-radius:14px;border:1px solid #e8e8e8;overflow:hidden}.prof-list-item{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .12s;position:relative}.prof-list-item:last-child{border-bottom:none}.prof-list-item:hover{background:#fef8f8}.prof-list-item:focus-visible{outline:2px solid #d6394c;outline-offset:-2px}.prof-list-item.skeleton{min-height:52px;background:linear-gradient(90deg,#f0f0f0 25%,#e6e6e6,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;cursor:default;pointer-events:none}.prof-list-avatar{width:54px;height:54px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,#d6394c,#a02030);color:#fff;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.prof-list-avatar .prof-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.prof-list-avatar .prof-avatar-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.prof-list-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.prof-list-name{font-size:1rem;font-weight:700;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prof-list-college{font-size:.76rem;color:#888;font-weight:600;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prof-list-dept{font-size:.76rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prof-list-rating-center{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.prof-list-avg-num{font-size:1.1rem;font-weight:800;color:#d6394c}.prof-list-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.prof-list-stat{font-size:.78rem;color:#666;white-space:nowrap}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}@media(max-width:700px){.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.prof-card{border-radius:12px}.prof-card-photo{height:130px}.catalog-page .prof-name{font-size:.84rem}.prof-card-info{padding:10px 12px}.prof-card-footer{margin-top:6px}.prof-rating-count{font-size:.56rem}}.prof-card{background:#fff;border:1px solid #e8e8e8;border-radius:14px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .15s;text-align:left}.prof-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014;border-color:#d6394c40}.prof-card:focus-visible{outline:2px solid #d6394c;outline-offset:2px}.prof-card-photo{width:100%;height:160px;flex-shrink:0;overflow:hidden}.catalog-page .prof-avatar{width:100%;height:100%;border-radius:0;background:linear-gradient(135deg,#d6394c,#a02030);color:#fff;font-weight:900;font-size:2.2rem;display:flex;align-items:center;justify-content:center;letter-spacing:1px;overflow:hidden;position:relative}.catalog-page .prof-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:0;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.catalog-page .prof-avatar-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.prof-card-info{display:flex;flex-direction:column;gap:3px;padding:14px;flex:1}.prof-card-info-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.prof-college{display:block;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#888}.prof-dept-label{display:block;font-size:.62rem;font-weight:600;color:#bbb;text-transform:uppercase;letter-spacing:.06em;margin-top:-1px}.catalog-page .prof-name{font-size:.97rem;font-weight:700;color:#1a1a1a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 2px;line-height:1.3;min-height:2.522rem;flex:1;min-width:0}.prof-card-rating-row{display:flex;align-items:center;gap:6px;margin-top:0;flex-shrink:0}.prof-avg-num{font-size:1.1rem;font-weight:800;color:#d6394c;line-height:1}.prof-card-footer{display:flex;justify-content:space-between;align-items:center;gap:2px;margin-top:4px}.prof-rating-count{font-size:.6rem;color:#bbb;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prof-rating-count--center{flex:0 0 auto;margin:0 auto;text-align:center}.prof-rating-count:last-child{text-align:right}.prof-sub-ratings{display:flex;gap:6px;width:100%;margin-top:auto}.sub-rating-item{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 0;border-radius:8px;flex:1}.sub-rating-item[data-color=high]{background:#e8f8ef}.sub-rating-item[data-color=mid]{background:#fef9e7}.sub-rating-item[data-color=low]{background:#fdedec}.sub-rating-item[data-color=neutral]{background:#f0f0f0}.sub-rating-val{font-size:.82rem;font-weight:700;color:#333}.sub-rating-lbl{font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#bbb}.sub-rating-item[data-color=high] .sub-rating-val{color:#1e8449}.sub-rating-item[data-color=mid] .sub-rating-val{color:#b7950b}.sub-rating-item[data-color=low] .sub-rating-val{color:#c0392b}.sub-rating-item[data-color=neutral] .sub-rating-val{color:#bbb}.prof-rating-row{display:flex;align-items:center;gap:6px;position:absolute;top:18px;right:18px;margin-bottom:0}.prof-avg{font-size:.94rem;font-weight:700;color:#333}.prof-avg.na{color:#bbb;font-weight:600}.prof-badges{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.prof-meta{font-size:.74rem;color:#aaa;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.meta-dot{color:#ddd}.prof-card.skeleton{min-height:156px;background:linear-gradient(90deg,#f0f0f0 25%,#e6e6e6,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;cursor:default;pointer-events:none;border:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.catalog-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;text-align:center;color:#aaa;font-size:1rem}.clear-btn.prominent{padding:10px 24px;background:#d6394c;color:#fff;border-radius:8px;font-size:.9rem;border:none;cursor:pointer;font-weight:600}.clear-btn.prominent:hover{background:#b8303f;text-decoration:none}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:40px}.page-btn{min-width:36px;height:36px;padding:0 10px;border-radius:8px;border:1.5px solid #e0e0e0;background:#fff;color:#555;font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.page-btn:hover:not(:disabled){border-color:#d6394c;color:#d6394c}.page-btn.active{background:#d6394c;border-color:#d6394c;color:#fff}.page-btn:disabled{opacity:.35;cursor:default}.page-ellipsis{color:#ccc;padding:0 4px;line-height:36px}.catalog-filter-toggle{display:none;align-items:center;gap:8px;padding:12px 14px;border-radius:10px;border:1.5px solid #e0e0e0;background:#fff;font-size:.88rem;font-weight:600;color:#555;cursor:pointer;position:relative}.filter-toggle-icon{display:flex;flex-direction:column;justify-content:center;gap:4px;width:18px;flex-shrink:0}.filter-toggle-bar{display:block;width:100%;height:2px;background:currentColor;border-radius:2px;transition:all .3s ease}.catalog-filter-toggle.open .filter-toggle-bar:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.catalog-filter-toggle.open .filter-toggle-bar:nth-child(2){opacity:0}.catalog-filter-toggle.open .filter-toggle-bar:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.filter-active-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#d6394c;border-radius:9px;color:#fff;font-size:11px;font-weight:600;line-height:1}.catalog-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:105}@media(max-width:900px){.catalog-search-wrap{max-width:none}.catalog-filter-toggle{display:flex;flex-shrink:0;align-self:stretch;margin:0;white-space:nowrap}.catalog-layout{padding:0 10px 40px}.catalog-sidebar{position:fixed;top:0;left:-290px;width:280px;height:100dvh;z-index:106;padding-top:0;background:#fff;overflow-y:auto;transition:left .22s ease}.catalog-sidebar.open{left:0}.catalog-overlay{display:block;background:transparent!important}.sidebar-inner{position:static;top:auto;border-radius:0;border:none;border-right:1px solid #e8e8e8;height:100%;max-height:100%;overflow-y:auto;padding-top:60px;background:#fff}}@media(max-width:540px){.catalog-layout{padding:0 12px 32px;width:100%;box-sizing:border-box}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prof-card{min-width:0}.prof-card-photo{height:120px}.prof-card-info{padding:10px;gap:4px}.prof-sub-ratings{gap:4px;margin-top:4px}.sub-rating-item{padding:4px 2px}.prof-card-footer{margin-top:6px}.prof-rating-count{font-size:.55rem}.catalog-list .prof-list-item{padding:14px 12px;min-height:72px}.catalog-list .prof-list-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-list .prof-list-dept{font-size:.74rem;white-space:normal;overflow:visible;text-overflow:unset}.catalog-list .prof-list-rating-center{flex-direction:row;flex-wrap:nowrap;left:55%}.catalog-list .prof-list-avg-num{font-size:.76rem}.catalog-list .prof-list-stat{font-size:.7rem}}@media(max-width:340px){.catalog-grid{grid-template-columns:1fr}}.dark .catalog-page,.dark .catalog-sidebar{background:#1a1a1a}.dark .sidebar-inner{background:#232323;border-color:#333}.dark .sidebar-title{color:#e0e0e0}.dark .filter-label{color:#666}.dark .filter-section{border-top-color:#2e2e2e}.dark .college-pill{background:#232323;border-color:#444;color:#aaa}.dark .college-pill:hover{border-color:#d6394c;color:#d6394c}.dark .college-pill.active{background:#d6394c;border-color:#d6394c;color:#fff}.dark .dept-toggle{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dark .dept-toggle:hover{background:#333;border-color:#555}.dark .dept-toggle.open{border-color:#d6394c;background:#2e2e2e}.dark .dept-bar{background:#aaa}.dark .dept-dropdown{background:#1e1e1e;border-color:#444;box-shadow:0 4px 16px #0006}.dark .dept-clear-btn{color:#e06070}.dark .dept-search{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dark .dept-search::placeholder{color:#555}.dark .dept-search:focus{border-color:#d6394c;background:#2e2e2e}.dark .dept-option{color:#bbb}.dark .dept-option:hover{background:#2a2a2a}.dark .dept-list::-webkit-scrollbar-thumb{background:#555}.dark .dept-empty{color:#555}.dark .filter-tag{background:#2a1a1c;border-color:#d6394c;color:#f08090}.dark .filter-tag:hover{background:#3a1f22}.dark .catalog-title{color:#e0e0e0}.dark .catalog-count{color:#666}.dark .catalog-search{background:#232323;border-color:#3a3a3a;color:#e0e0e0}.dark .catalog-search::placeholder{color:#6f6f6f}.dark .catalog-search:focus{border-color:#d6394c;box-shadow:0 2px 16px #d6394c40;animation:none}.dark .catalog-search-suggestions{background:#232323;border-color:#3a3a3a;box-shadow:0 8px 28px #00000059}.dark .catalog-suggestion-item:hover,.dark .catalog-suggestion-item.active{background:#3a2020}.dark .catalog-suggestion-name{color:#e0e0e0}.dark .catalog-suggestion-dept{color:#7c7c7c}.dark .catalog-suggestion-rating{background:#3a2020}.dark .catalog-disclaimer{color:#555}.dark .catalog-disclaimer span{color:#4a4a4a}.dark .reviews-number-input{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dark .reviews-number-input:focus{border-color:#d6394c;background:#2e2e2e}.dark .catalog-view-btn{background:#232323;border-color:#3a3a3a;color:#777}.dark .catalog-view-btn:hover{border-color:#d6394c;color:#d6394c}.dark .catalog-view-btn.active{background:#d6394c;border-color:#d6394c;color:#fff}.dark .catalog-list{background:#232323;border-color:#333}.dark .prof-list-item{border-bottom-color:#2e2e2e}.dark .prof-list-item:hover{background:#2d2020}.dark .prof-list-item.skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#333,#2a2a2a 75%);background-size:200% 100%}.dark .prof-list-name{color:#e0e0e0}.dark .prof-list-college{color:#999}.dark .prof-list-dept{color:#777}.dark .prof-list-avg-num{color:#e05565}.dark .prof-list-stat{color:#999}.dark .prof-card{background:#232323;border-color:#333}.dark .prof-card:hover{box-shadow:0 6px 24px #0006;border-color:#d6394c4d}.dark .catalog-page .prof-name{color:#e0e0e0}.dark .prof-dept-label{color:#555}.dark .prof-avg-num{color:#e05565}.dark .prof-avg{color:#ccc}.dark .prof-avg.na{color:#555}.dark .prof-meta{color:#666}.dark .meta-dot{color:#444}.dark .prof-college{color:#999}.dark .prof-rating-count{color:#555}.dark .sub-rating-val{color:#ccc}.dark .sub-rating-lbl{color:#555}.dark .sub-rating-item[data-color=high]{background:#1a3a25}.dark .sub-rating-item[data-color=mid]{background:#3a3218}.dark .sub-rating-item[data-color=low]{background:#3a1a1a}.dark .sub-rating-item[data-color=neutral]{background:#2a2a2a}.dark .sub-rating-item[data-color=high] .sub-rating-val{color:#2ecc71}.dark .sub-rating-item[data-color=mid] .sub-rating-val{color:#f1c40f}.dark .sub-rating-item[data-color=low] .sub-rating-val{color:#e74c3c}.dark .sub-rating-item[data-color=neutral] .sub-rating-val{color:#555}.dark .prof-card.skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#333,#2a2a2a 75%);background-size:200% 100%;border:none}.dark .catalog-empty{color:#666}.dark .page-btn{background:#232323;border-color:#3a3a3a;color:#aaa}.dark .page-btn:hover:not(:disabled){border-color:#d6394c;color:#d6394c}.dark .page-btn.active{background:#d6394c;border-color:#d6394c;color:#fff}.dark .page-ellipsis{color:#555}.dark .catalog-filter-toggle{background:#232323;border-color:#3a3a3a;color:#aaa}.dark .filter-active-badge{background:#e05265}.dark .catalog-overlay{background:#000000a6}.dark .sidebar-inner{border-right-color:#333}.sidebar-inner.dept-open{overflow:visible;max-height:none}.sidebar-inner.dept-open .dept-dropdown{position:static}.course-card-header{width:100%;height:80px;flex-shrink:0;background:linear-gradient(135deg,#d6394c,#a02030);display:flex;align-items:center;justify-content:center;overflow:hidden}.course-card-code{font-size:1.3rem;font-weight:900;color:#fff;letter-spacing:.04em;opacity:.95}.dark .course-card-header{background:linear-gradient(135deg,#8c1f2c,#5a1018)}.course-card{height:100%}.course-card .prof-body{display:flex;flex-direction:column;flex:1;padding:14px;gap:3px;height:100%}.course-card .prof-name{font-size:.97rem;font-weight:700;color:#1a1a1a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden;margin:4px 0 2px;line-height:1.3}.dark .course-card .prof-name{color:#e0e0e0}.course-card .prof-dept{font-size:.62rem;font-weight:600;color:#bbb;text-transform:uppercase;letter-spacing:.06em}.dark .course-card .prof-dept{color:#555}.course-card .prof-rating-row{position:static;margin-top:auto;padding-top:10px;border-top:1px solid #f0f0f0;gap:6px}.dark .course-card .prof-rating-row{border-top-color:#2e2e2e}.course-card .prof-avg{font-size:1.1rem;font-weight:800;color:#1a1a1a;line-height:1}.dark .course-card .prof-avg{color:#e0e0e0}.course-card .prof-avg.na{color:#bbb;font-weight:600;font-size:.94rem}.dark .course-card .prof-avg.na{color:#555}.course-suggestion-code{display:inline-block;font-size:.72rem;padding:2px 6px;border-radius:6px;background:#e9f5f2;color:#1b6d5e;margin-right:6px}.dark .course-suggestion-code{background:#1c3d38;color:#84d4c3}@media(max-width:540px){.courses-grid{grid-template-columns:1fr;gap:8px}.course-card-header{height:60px}.course-card-code{font-size:1.3rem}.course-card .prof-body{padding:12px}}.sh-chart-wrap{--sh-grid: #e8e8e8;--sh-axis: #7c7c7c;--sh-tooltip-bg: #fff;--sh-tooltip-border: #e0e0e0;--sh-tooltip-text: #222;--sh-toggle-bg: #f0f0f0;--sh-toggle-active-bg: #d6394c;--sh-toggle-active-text: #fff;--sh-toggle-text: #555;--sh-select-bg: #f5f5f5;--sh-select-border: #d0d0d0;--sh-select-text: #333}.dark .sh-chart-wrap{--sh-grid: #333;--sh-axis: #8a8a8a;--sh-tooltip-bg: #2a2a2a;--sh-tooltip-border: #444;--sh-tooltip-text: #e0e0e0;--sh-toggle-bg: #2a2a2a;--sh-toggle-active-bg: #d6394c;--sh-toggle-active-text: #fff;--sh-toggle-text: #aaa;--sh-select-bg: #2a2a2a;--sh-select-border: #444;--sh-select-text: #d0d0d0}.sh-chart-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap;padding-right:20px}.sh-toggle{position:relative;display:inline-flex;gap:2px;background:var(--sh-toggle-bg);padding:4px;border-radius:24px}.sh-pill-bg{position:absolute;top:4px;bottom:4px;left:0;background:var(--sh-toggle-active-bg);border-radius:20px;box-shadow:0 4px 12px #d6394c40;z-index:0;pointer-events:none}.sh-pill-bg.animate{transition:transform .4s cubic-bezier(.4,0,.2,1),width .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}.sh-toggle-btn{position:relative;z-index:1;padding:7px 18px;border:none;border-radius:20px;background:transparent;color:var(--sh-toggle-text);font-size:.82rem;font-weight:700;cursor:pointer;transition:color .3s ease}.sh-toggle-btn:hover:not(.active){color:var(--sh-toggle-active-bg)}.sh-toggle-btn.active{color:var(--sh-toggle-active-text)!important;background:transparent!important}.sh-range-dropdown .dropdown-menu{left:auto;right:0}.sh-range-dropdown .dropdown-trigger{padding:9px 10px;font-size:.82rem;border:1.5px solid #e0e0e0;border-radius:8px}.dark .sh-range-dropdown .dropdown-trigger{border-color:#444;background:#2a2a2a}.sh-range-dropdown .dropdown-trigger.open{border-color:#d6394c}.sh-chart-container{width:100%;min-height:300px;-webkit-user-select:none;user-select:none}.sh-chart-wrap .recharts-legend-item-text{font-size:.8rem!important;color:var(--sh-axis)!important}.sh-no-data{display:flex;align-items:center;justify-content:center;height:120px;font-size:.85rem;color:var(--sh-axis)}.sh-prof-filter{position:relative;display:flex;flex-direction:column;gap:6px}.sh-prof-toggle{display:flex;align-items:center;justify-content:center;position:relative;padding:9px 30px 9px 14px;font-size:.82rem;font-weight:500;border:1.5px solid #e0e0e0;border-radius:8px;background:#f9f9f9;color:#333;cursor:pointer;transition:border-color .2s,background .2s;width:fit-content;flex-shrink:0}.sh-prof-toggle:hover{border-color:#ccc;background:#f0f0f0}.sh-prof-toggle.open{border-color:#d6394c;background:#fff}.sh-prof-toggle-label{white-space:nowrap}.sh-prof-toggle-icon{display:flex;flex-direction:column;justify-content:center;gap:3px;width:14px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.sh-prof-bar{display:block;width:100%;height:2px;background:#888;border-radius:2px;transition:transform .25s ease,opacity .25s ease;transform-origin:center}.sh-prof-toggle.open .sh-prof-bar:nth-child(1){transform:translateY(5px) rotate(45deg)}.sh-prof-toggle.open .sh-prof-bar:nth-child(2){opacity:0}.sh-prof-toggle.open .sh-prof-bar:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.sh-prof-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:100;min-width:210px;max-width:290px;background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 16px #0000001a;padding:8px;animation:sh-drop-in .15s ease}@keyframes sh-drop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.sh-prof-search{width:100%;padding:7px 10px;border-radius:7px;border:1.5px solid #e0e0e0;font-size:.82rem;color:#333;background:#f9f9f9;box-sizing:border-box;margin-bottom:4px;outline:none}.sh-prof-search:focus{border-color:#d6394c;background:#fff}.sh-prof-actions{display:flex;gap:10px;padding:2px 4px 6px}.sh-prof-action-link{background:none;border:none;color:#d6394c;font-size:.78rem;cursor:pointer;padding:0;text-decoration:underline}.sh-prof-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto;overscroll-behavior:contain}.sh-prof-list::-webkit-scrollbar{width:5px}.sh-prof-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.sh-prof-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;cursor:pointer;font-size:.82rem;color:#444;transition:background .15s}.sh-prof-option:hover{background:#f5f5f5}.sh-prof-option input[type=checkbox]{accent-color:#d6394c;cursor:pointer;flex-shrink:0}.sh-prof-empty{padding:8px;font-size:.82rem;color:#999;text-align:center}.dark .sh-prof-toggle{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dark .sh-prof-toggle:hover{background:#333;border-color:#555}.dark .sh-prof-toggle.open{border-color:#d6394c;background:#2e2e2e}.dark .sh-prof-bar{background:#aaa}.dark .sh-prof-dropdown{background:#1e1e1e;border-color:#444;box-shadow:0 4px 16px #0006}.dark .sh-prof-search{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dark .sh-prof-search::placeholder{color:#555}.dark .sh-prof-search:focus{border-color:#d6394c;background:#2e2e2e}.dark .sh-prof-option{color:#bbb}.dark .sh-prof-option:hover{background:#2a2a2a}.dark .sh-prof-list::-webkit-scrollbar-thumb{background:#555}.course-page{min-height:100vh;padding-top:78px;background:#f7f8fa;font-family:Nunito,sans-serif}.course-shell{max-width:none;margin:0;padding:0 clamp(24px,4vw,64px) 56px;animation:courseFadeIn .5s ease both}.course-breadcrumb{display:flex;gap:8px;align-items:center;color:#8a8a8a;font-size:.85rem;margin-bottom:14px}.course-breadcrumb a{color:#d6394c;text-decoration:none;font-weight:700}.course-hero{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:24px;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px;animation:courseCardIn .5s ease both}.course-hero h1{margin:0;color:#1b1b1b;font-size:1.5rem;font-weight:900;animation:courseSlideUp .5s .12s ease both}.course-code{margin:0 0 8px;font-size:.76rem;font-weight:800;letter-spacing:.07em;color:#1b6d5e;text-transform:uppercase}.course-dept{margin:8px 0 0;color:#767676;font-weight:600;animation:courseSlideUp .5s .2s ease both}.course-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;position:relative;z-index:2}@media(min-width:768px){.course-stats-grid{grid-template-columns:repeat(6,1fr)}}.course-stat-card{background:#fff;border-radius:16px;padding:22px 18px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:130px;box-shadow:0 2px 12px #0000000f;transition:transform .2s,box-shadow .2s;animation:courseCardIn .5s ease both;position:relative}.course-stat-breakdown{position:absolute;bottom:0;left:50%;transform:translate(-50%) translateY(100%);background:#333;color:#fff;padding:8px 12px;border-radius:6px;font-size:.8rem;display:flex;gap:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap;box-shadow:0 4px 12px #00000026;z-index:10}.course-stat-breakdown:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);border-width:0 5px 5px 5px;border-style:solid;border-color:transparent transparent #333 transparent}.course-stat-card:hover .course-stat-breakdown{opacity:1;transform:translate(-50%) translateY(85%)}.course-stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #0000001a;z-index:10}.course-stat-card:nth-child(1){animation-delay:.05s}.course-stat-card:nth-child(2){animation-delay:.1s}.course-stat-card:nth-child(3){animation-delay:.15s}.course-stat-card:nth-child(4){animation-delay:.2s}.course-stat-card:nth-child(5){animation-delay:.25s}.course-stat-card:nth-child(6){animation-delay:.3s}.course-stat-value{font-size:clamp(1.6rem,2.5vw,2.3rem);font-weight:900;color:#333;line-height:1;white-space:nowrap}.course-stat-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#aaa;text-align:center;margin-top:auto}.course-stat-last-taught .course-stat-value{display:block;width:100%;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:clamp(1.6rem,2.5vw,2.3rem)}.course-stat-card.course-stat-last-taught{padding-left:10px;padding-right:10px}.course-difficulty-bar{width:100%;align-self:stretch;height:8px;background:#eee;border-radius:3px;overflow:hidden;margin-top:4px}.course-difficulty-fill{height:100%;border-radius:3px;transition:width 1.2s cubic-bezier(.4,0,.2,1),background .5s ease}.course-panel{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:18px;margin-bottom:16px;animation:courseCardIn .5s ease both}.course-panel:nth-of-type(1){animation-delay:.18s}.course-panel:nth-of-type(2){animation-delay:.24s}.course-panel:nth-of-type(3){animation-delay:.3s}.course-panel-header h2{margin:0 0 12px;color:#1b1b1b;font-size:1.15rem;font-weight:800;display:flex;align-items:flex-end;gap:6px}.course-panel-subheader{font-size:.78rem;font-weight:600;color:#8a8a8a;line-height:1.6}.course-top-prof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px}.course-top-prof-card{background:#fff;border:1px solid #e8e8e8;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .15s;text-decoration:none}.course-top-prof-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014;border-color:#d6394c40}.course-top-prof-photo{width:100%;height:150px;flex-shrink:0;overflow:hidden;position:relative}.course-top-prof-avatar{width:100%;height:100%;background:linear-gradient(135deg,#d6394c,#a02030);color:#fff;font-weight:900;font-size:2rem;display:flex;align-items:center;justify-content:center;letter-spacing:1px}.course-top-prof-img{width:100%;height:100%;object-fit:cover}.course-top-prof-rank{position:absolute;top:8px;right:8px;font-size:.72rem;font-weight:800;color:#d6394c;background:#ffffffeb;border:1px solid #ffd5dd;border-radius:999px;padding:2px 8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.course-top-prof-body{padding:12px 14px;display:flex;flex-direction:column;gap:6px;flex:1}.course-top-prof-body-top{overflow:hidden}.course-top-prof-name{margin:0;font-size:.92rem;font-weight:800;color:#1b1b1b;line-height:1.3}.course-top-prof-rating{float:right;display:flex;align-items:center;gap:4px;margin-left:6px;margin-bottom:2px}.course-top-prof-avg{font-size:1rem;font-weight:800;color:#d6394c;line-height:1}.course-top-prof-footer{display:flex;justify-content:space-between;gap:4px;margin-top:auto;padding-top:8px;border-top:1px solid #f0f0f0}.course-top-prof-footer span{font-size:.62rem;font-weight:600;color:#bbb;flex:1;word-break:break-word}.course-top-prof-footer--center{flex:0 0 auto!important;margin:0 auto;text-align:center}.course-top-prof-footer--right{text-align:right}.course-top-prof-card.disabled{cursor:default;pointer-events:none;opacity:.92}.instructor-scroll-wrap{position:relative}.instructor-scroll-wrap:before,.instructor-scroll-wrap:after{content:"";position:absolute;top:0;bottom:0;width:64px;pointer-events:none;z-index:3;opacity:0;transition:opacity .2s;display:none}.instructor-scroll-wrap:before{left:0;background:linear-gradient(to right,rgba(255,255,255,.97) 20%,transparent)}.instructor-scroll-wrap:after{right:0;background:linear-gradient(to left,rgba(255,255,255,.97) 20%,transparent)}.instructor-scroll-wrap.fade-left:before{opacity:1}.instructor-scroll-wrap.fade-right:after{opacity:1}.instructor-scroll-inner{overflow:visible}.instructor-header-row,.instructor-row{display:flex;align-items:center;gap:24px;padding:0 8px;border-bottom:1px solid #efefef}.instructor-header-row span,.instructor-row span{flex:1;text-align:left;min-width:0}.instructor-header-row span:first-child,.instructor-row span:first-child{flex:2}.instructor-header-row{height:40px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7c7c7c;white-space:nowrap}.instructor-row{height:48px;font-size:.88rem;color:#333}.instructor-row:last-child{border-bottom:none}.course-expand-controls{margin-top:12px;display:flex;justify-content:center;align-items:center;gap:8px}.course-expand-btn{width:28px;height:28px;padding:0;border:1px solid #dfdfdf;background:#fff;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s}.course-expand-btn:hover{border-color:#d6394c;background:#fff6f7}.course-expand-btn:disabled{opacity:.42;cursor:default}.course-expand-btn:disabled:hover{border-color:#dfdfdf;background:#fff}.course-expand-chevron{display:block;width:7px;height:7px;border-right:2px solid #a0a0a0;border-bottom:2px solid #a0a0a0}.course-expand-chevron.down{transform:rotate(45deg) translate(-1px,-1px)}.course-expand-chevron.up{transform:rotate(225deg) translate(-1px,-1px)}.course-expand-btn:hover .course-expand-chevron{border-color:#d6394c}.course-table th,.course-table td{border-bottom:1px solid #efefef;padding:10px 8px;text-align:left;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-table th{color:#7c7c7c;font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.04em}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes courseFadeIn{0%{opacity:0}to{opacity:1}}@keyframes courseSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes courseCardIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.course-question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.course-question-card{border:1px solid #e8e8e8;border-radius:10px;padding:12px;background:#fafafa;display:flex;flex-direction:column;gap:7px}.course-question-card p{margin:0;color:#444;font-size:.86rem}.course-question-card strong{color:#1f5f58}.course-question-card span{color:#888;font-size:.8rem}.course-loading{padding:80px 20px;text-align:center;color:#7b7b7b;font-size:1rem}@media(max-width:740px){.course-shell{padding:0 14px 40px}.course-hero{flex-direction:column}}@media(max-width:540px){.course-shell{padding:0 10px 32px}.course-hero{padding:16px;border-radius:12px}.course-hero h1{font-size:1.2rem}.course-panel{padding:14px 12px;border-radius:12px}.course-panel-header h2{font-size:1rem}.course-stats-grid{grid-template-columns:repeat(3,1fr);gap:10px}.course-stat-card{padding:18px 12px 16px;min-height:105px}.course-stat-value{font-size:1.5rem;white-space:normal}.course-stat-last-taught .course-stat-value{font-size:1.5rem;white-space:nowrap}.course-stat-card.course-stat-last-taught{padding-left:8px;padding-right:8px}.course-top-prof-grid{grid-template-columns:repeat(2,1fr)}.section-table th:nth-child(5),.section-table td:nth-child(5),.section-table th:nth-child(6),.section-table td:nth-child(6){display:none}.instructor-scroll-inner{overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.instructor-scroll-wrap:before,.instructor-scroll-wrap:after{display:block}.instructor-header-row,.instructor-row{min-width:360px}}.dark .course-page{background:#1a1a1a}.dark .course-hero,.dark .course-panel{background:#232323;border-color:#333}.dark .course-stat-card{background:#1e1e1e;box-shadow:0 2px 12px #00000040}.dark .course-stat-card:hover{box-shadow:0 8px 28px #00000059}.dark .course-stat-value{color:#e0e0e0}.dark .course-stat-label{color:#777}.dark .course-difficulty-bar{background:#333}.dark .course-hero h1,.dark .course-panel-header h2{color:#e3e3e3}.dark .course-panel-subheader{color:#6a6a6a}.dark .course-dept,.dark .course-breadcrumb,.dark .instructor-header-row,.dark .course-question-card span{color:#8a8a8a}.dark .instructor-row,.dark .course-question-card p{color:#d0d0d0}.dark .course-expand-btn{background:#252525;border-color:#3a3a3a}.dark .course-expand-btn:hover{border-color:#d6394c;background:#332128}.dark .course-expand-btn:disabled:hover{border-color:#3a3a3a;background:#252525}.dark .course-expand-chevron{border-color:#8f8f8f}.dark .course-expand-btn:hover .course-expand-chevron{border-color:#f06d7d}.dark .course-stat-breakdown{background:#444;color:#e0e0e0;box-shadow:0 4px 12px #0000004d}.dark .course-stat-breakdown:before{border-color:transparent transparent #444 transparent}.dark .course-question-card strong,.dark .course-code{color:#89d7c6}.dark .instructor-header-row,.dark .instructor-row{border-bottom-color:#303030}.dark .instructor-scroll-wrap:before{background:linear-gradient(to right,rgba(35,35,35,.97) 20%,transparent)}.dark .instructor-scroll-wrap:after{background:linear-gradient(to left,rgba(35,35,35,.97) 20%,transparent)}.dark .course-question-card{background:#202020;border-color:#343434}.dark .course-top-prof-card{background:#232323;border-color:#333}.dark .course-top-prof-rank{color:#f06d7d;background:#232323eb;border-color:#59333b}.dark .course-top-prof-name{color:#e3e3e3}.dark .course-top-prof-avg{color:#f06d7d}.dark .course-top-prof-footer{border-top-color:#333}.dark .course-top-prof-footer span{color:#555}.back-to-top{position:fixed;bottom:24px;left:24px;z-index:250;width:42px;height:42px;border-radius:50%;background:#d6394c;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #d6394c59;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .3s,transform .3s,background .2s}.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:#b82e3f;box-shadow:0 6px 24px #d6394c73}.back-to-top svg{width:20px;height:20px}@media(max-width:420px){.course-top-prof-grid{grid-template-columns:1fr}}.course-rating-history-paywall{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;background:#fff;border-radius:16px;border:1.5px dashed #e0e0e0;margin-top:8px}.course-rating-history-paywall .paywall-lock-icon{width:40px;height:40px;color:#d6394c;margin-bottom:16px}.course-rating-history-paywall h3{font-size:1.1rem;font-weight:800;color:#1a1a1a;margin-bottom:8px}.course-rating-history-paywall p{font-size:.88rem;color:#888;line-height:1.5;max-width:340px;margin-bottom:20px}.course-rating-history-paywall p strong{color:#d6394c;font-weight:800}.course-rating-history-paywall .paywall-signin-btn{background:#d6394c;color:#fff;border:none;padding:11px 32px;border-radius:12px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s,transform .15s}.course-rating-history-paywall .paywall-signin-btn:hover{background:#b82e3f;transform:scale(1.03)}.dark .course-rating-history-paywall{background:#1e1e1e;border-color:#333}.dark .course-rating-history-paywall h3{color:#e0e0e0}.dark .course-rating-history-paywall p{color:#777}.dept-hub-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid #f0f0f0;text-decoration:none;transition:background .12s}.dept-hub-item:last-child{border-bottom:none}.dept-hub-item:hover{background:#fef8f8}.dept-hub-info{min-width:0;display:flex;flex-direction:column;gap:2px}.dept-hub-name{font-size:1rem;font-weight:700;color:#1a1a1a}.dept-hub-count{font-size:.78rem;color:#888}.dept-hub-rating{font-size:1.1rem;font-weight:800;color:#d6394c;flex-shrink:0}.dark .dept-hub-item{border-bottom-color:#333}.dark .dept-hub-item:hover{background:#2a1e1e}.dark .dept-hub-name{color:#f0f0f0}.dark .dept-hub-count{color:#999}.dept-table-wrap{overflow-x:auto}.dept-hub-table{width:100%;border-collapse:collapse}.dept-sort-btn{background:none;border:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.dept-sort-btn:hover{color:#d6394c}.dark .dept-sort-btn:hover{color:#f06d7d}.compare-page{min-height:100vh;padding-top:60px;background:#f5f5f5;font-family:Nunito,sans-serif;color:#272727}@keyframes compareFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes compareShimmer{0%{background-position:160% 0}to{background-position:-60% 0}}.compare-hero{position:relative;padding:12px clamp(16px,3vw,48px) 12px;border-bottom:1px solid #e7e7e7;background:radial-gradient(circle at 90% -20%,rgba(214,57,76,.14),transparent 45%),radial-gradient(circle at 15% 10%,rgba(214,57,76,.08),transparent 40%),#f8f8f8;overflow:hidden}.compare-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);background-size:220% 100%;animation:compareShimmer 5.5s ease-in-out infinite;pointer-events:none}.compare-hero-inner{position:relative;z-index:1;animation:compareFadeUp .45s ease both}.compare-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#d6394c;margin-bottom:4px}.compare-hero h1{font-size:clamp(1.5rem,3vw,2rem);line-height:1.1;margin-bottom:6px;font-weight:900}.compare-subtitle{max-width:720px;color:#666;font-size:.88rem;line-height:1.4}.compare-controls{position:relative;z-index:3;margin:12px 0 0;padding:0 clamp(16px,3vw,48px);display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;animation:compareFadeUp .55s ease both}.compare-control-card{position:relative;z-index:2;background:#fff;border:1px solid #e6e6e6;border-radius:16px;box-shadow:0 4px 18px #0000000d;padding:14px;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.compare-control-card:first-child{z-index:3}.compare-control-card:hover{border-color:#dfd6d7;box-shadow:0 10px 24px #00000012;transform:translateY(-1px)}.compare-control-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.compare-control-title-row h2{font-size:1rem;font-weight:900}.compare-inline-btn{background:transparent;border:none;color:#d6394c;font-weight:800;font-size:.8rem;cursor:pointer;padding:4px 6px;border-radius:8px}.compare-inline-btn:hover{background:#fef0f0}.compare-search{width:100%;border:1.5px solid #e2e2e2;border-radius:10px;font-size:.92rem;font-family:Nunito,sans-serif;padding:9px 11px;outline:none;transition:border-color .15s,box-shadow .15s}.compare-search:focus{border-color:#d6394c;box-shadow:0 0 0 3px #d6394c1a}.compare-suggestion-list{position:absolute;top:100%;left:0;right:0;margin-top:4px;display:flex;flex-direction:column;gap:6px;max-height:264px;overflow:auto;background:#fff;border:1px solid #e6e6e6;border-radius:12px;padding:6px;box-shadow:0 8px 24px #0000001a;z-index:10}.compare-suggestion{width:100%;text-align:left;border:1px solid #ececec;background:#fff;border-radius:10px;padding:8px 9px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}.compare-suggestion:hover{transform:translateY(-1px);border-color:#d6394c;background:#fff7f7}.compare-suggestion.active{border-color:#d6394c;background:#fff1f2}.compare-suggestion-main{display:block;font-weight:800;color:#2d2d2d;font-size:.9rem}.compare-suggestion-meta{display:block;font-size:.78rem;color:#777;margin-top:2px}.compare-middle-actions{display:flex;align-items:center;justify-content:center;height:100%;min-width:106px}.compare-swap-btn{border:none;background:#d6394c;color:#fff;border-radius:999px;padding:9px 14px;font-family:Nunito,sans-serif;font-size:.86rem;font-weight:800;cursor:pointer;transition:background .15s ease,transform .15s ease}.compare-swap-btn:hover:not(:disabled){background:#b82e3f;transform:translateY(-1px)}.compare-swap-btn:disabled{background:#d2d2d2;cursor:not-allowed}.compare-status{margin:16px 0 0;padding:0 clamp(16px,3vw,48px);color:#686868;font-size:.9rem}.compare-profile-card .compare-status{margin:auto;padding:0;text-align:center}.compare-status-error{color:#c0392b;font-weight:700}.compare-panels{margin:10px 0 0;padding:0 clamp(16px,3vw,48px);display:grid;grid-template-columns:1fr 1fr;gap:14px;animation:compareFadeUp .65s ease both}.compare-profile-card{min-height:160px;background:#fff;border-radius:16px;border:1px solid #e9e9e9;box-shadow:0 4px 18px #0000000d;padding:14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;justify-content:space-evenly;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.compare-profile-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000014;border-color:#dfd5d6}.compare-avatar-wrap{width:58px;height:58px;border-radius:50%;overflow:hidden;box-shadow:0 6px 20px #d6394c33;transition:transform .18s ease}.compare-profile-card:hover .compare-avatar-wrap{transform:scale(1.03)}.compare-avatar-img{width:100%;height:100%;object-fit:cover;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.compare-avatar-fallback{width:100%;height:100%;background:linear-gradient(135deg,#d6394c,#b82e3f);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.45rem}.compare-profile-card h3{font-size:1.25rem;line-height:1.2;font-weight:900}.compare-profile-card p{color:#777;font-size:.9rem}.compare-rating-line{display:flex;align-items:center;gap:8px}.compare-rating-line strong{color:#222;font-size:1rem}.compare-profile-link{text-decoration:none;color:#d6394c;font-weight:800;font-size:.84rem}.compare-profile-link:hover{text-decoration:underline}.compare-metrics{margin:10px 0 0;padding:0 clamp(16px,3vw,48px) 24px;animation:compareFadeUp .75s ease both}.compare-metrics-header{margin-bottom:6px;text-align:center}.compare-metrics-header h2{font-size:1.28rem;font-weight:900}.compare-metrics-header p{margin-top:5px;font-size:.86rem;color:#868686}.compare-table{border-radius:16px;overflow:hidden;border:1px solid #e8e8e8;background:#fff;box-shadow:0 4px 18px #0000000d}.compare-row{display:grid;grid-template-columns:1fr 220px 1fr;border-bottom:1px solid #efefef;align-items:stretch;transition:background .15s ease}.compare-row:hover{background:#fff7f7}.compare-row:last-child{border-bottom:none}.compare-cell{padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:.94rem}.compare-cell-winner{background:linear-gradient(90deg,#27ae601f,#27ae600f);box-shadow:inset 0 0 0 1px #27ae604d}.compare-cell-winner span{font-weight:800}.compare-row:nth-child(1){animation:compareFadeUp .2s ease both}.compare-row:nth-child(2){animation:compareFadeUp .28s ease both}.compare-row:nth-child(3){animation:compareFadeUp .36s ease both}.compare-row:nth-child(4){animation:compareFadeUp .44s ease both}.compare-row:nth-child(5){animation:compareFadeUp .52s ease both}.compare-row:nth-child(6){animation:compareFadeUp .6s ease both}.compare-row:nth-child(7){animation:compareFadeUp .68s ease both}.compare-cell span{line-height:1.3}.compare-lock-prompt{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;max-width:100%;text-align:center;line-height:1.15;font-weight:800;font-size:.72rem;color:#7b7b7b;word-break:break-word}.compare-lock-icon{width:16px;height:16px;flex:none;color:#d6394c}.compare-cell small{font-size:.73rem;color:#8e8e8e;line-height:1.25}.compare-cell-left,.compare-cell-right{text-align:center}.compare-cell-label{background:#fafafa;border-left:1px solid #efefef;border-right:1px solid #efefef;justify-content:center;text-align:center;font-size:.75rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#8a8a8a}.compare-value-good,.compare-value-mid,.compare-value-hard{color:inherit;font-weight:inherit}.compare-value-muted{color:inherit}.dark .compare-page{background:#1a1a1a;color:#e8e8e8}.dark .compare-hero{border-bottom:1px solid #2a2b2d;background:radial-gradient(circle at 88% -24%,rgba(214,57,76,.22),transparent 48%),radial-gradient(circle at 12% 8%,rgba(214,57,76,.12),transparent 44%),#1f2022}.dark .compare-hero:after{background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%)}.dark .compare-subtitle{color:#afb3b8}.dark .compare-control-card,.dark .compare-profile-card,.dark .compare-table{background:#242628;border-color:#2c3035;box-shadow:0 8px 20px #00000059}.dark .compare-control-card:hover,.dark .compare-profile-card:hover{border-color:#3a3f45;box-shadow:0 12px 28px #0006}.dark .compare-inline-btn{color:#ff7e8d}.dark .compare-inline-btn:hover{background:#d6394c24}.dark .compare-search{background:#1e2023;border-color:#343941;color:#e9edf1}.dark .compare-search::placeholder{color:#7f8791}.dark .compare-search:focus{border-color:#d9586a;box-shadow:0 0 0 3px #d6394c33}.dark .compare-suggestion-list{background:#1a1c1e;border-color:#2f343a;box-shadow:0 8px 24px #0006}.dark .compare-suggestion{border-color:#2f343a;background:#212325}.dark .compare-suggestion:hover{border-color:#d9586a;background:#231b1e}.dark .compare-suggestion.active{border-color:#d9586a;background:#2b1f24}.dark .compare-suggestion-main{color:#f2f3f5}.dark .compare-suggestion-meta,.dark .compare-status,.dark .compare-metrics-header p,.dark .compare-cell small,.dark .compare-profile-card p{color:#a1a7af}.dark .compare-swap-btn{background:#cf4a5d}.dark .compare-swap-btn:hover:not(:disabled){background:#e55f72}.dark .compare-swap-btn:disabled{background:#4a4f56;color:#9ba1a8}.dark .compare-rating-line strong,.dark .compare-profile-card h3,.dark .compare-metrics-header h2{color:#f5f6f7}.dark .compare-profile-link{color:#ff7e8d}.dark .compare-row{border-bottom-color:#2c3035}.dark .compare-row:hover{background:#282a2d}.dark .compare-cell-label{background:#1e2023;border-left-color:#2c3035;border-right-color:#2c3035;color:#8f98a2}.dark .compare-cell-winner{background:linear-gradient(90deg,#5dcf802e,#5dcf801a);box-shadow:inset 0 0 0 1px #5dcf8059}.dark .compare-value-good,.dark .compare-value-mid,.dark .compare-value-hard,.dark .compare-value-muted{color:inherit}.compare-verdict{margin:10px 0 0;padding:0 clamp(16px,3vw,48px) 24px;animation:compareFadeUp .85s ease both}.compare-verdict-inner{background:#fff;border-radius:16px;border:1px solid #e9e9e9;box-shadow:0 4px 18px #0000000d;padding:24px;text-align:center}.compare-verdict-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#d6394c;margin-bottom:6px}.compare-verdict-title{font-size:1.4rem;font-weight:900;color:#272727;margin-bottom:8px}.compare-verdict-body{font-size:.9rem;color:#666;max-width:600px;margin:0 auto;line-height:1.5}.dark .compare-verdict-inner{background:#242628;border-color:#2c3035;box-shadow:0 8px 20px #00000059}.dark .compare-verdict-title{color:#f5f6f7}.dark .compare-verdict-body{color:#a1a7af}@media(max-width:1000px){.compare-controls{grid-template-columns:1fr}.compare-middle-actions{min-width:0}.compare-panels{grid-template-columns:1fr 1fr;gap:10px}.compare-profile-card{min-height:160px;padding:14px 10px}.compare-avatar-wrap{width:56px;height:56px}.compare-avatar-fallback{font-size:1.1rem}.compare-profile-card h3{font-size:.95rem}.compare-profile-card p{font-size:.78rem}.compare-rating-line strong{font-size:.88rem}.compare-profile-link{font-size:.78rem}.compare-row{grid-template-columns:1fr 100px 1fr}.compare-cell{padding:10px 8px;font-size:.82rem}.compare-cell-label{font-size:.65rem;letter-spacing:.04em}.compare-cell small{font-size:.65rem}}@media(prefers-reduced-motion:reduce){.compare-hero:after,.compare-hero-inner,.compare-controls,.compare-panels,.compare-metrics,.compare-row{animation:none!important}.compare-control-card,.compare-profile-card,.compare-avatar-wrap,.compare-swap-btn,.compare-suggestion,.compare-row{transition:none!important}}@media(max-width:640px){.compare-page{padding-top:54px}.compare-hero{padding:24px 16px 18px}.compare-controls,.compare-status,.compare-panels,.compare-metrics{padding-left:12px;padding-right:12px}.compare-panels{grid-template-columns:1fr 1fr;gap:8px}.compare-profile-card{min-height:140px;padding:12px 8px;gap:4px}.compare-avatar-wrap{width:46px;height:46px}.compare-avatar-fallback{font-size:.95rem}.compare-profile-card h3{font-size:.82rem}.compare-profile-card p{font-size:.7rem}.compare-rating-line{gap:4px}.compare-rating-line strong{font-size:.8rem}.compare-profile-link{font-size:.72rem}.compare-row{grid-template-columns:1fr 80px 1fr}.compare-cell{padding:8px 6px;font-size:.76rem}.compare-cell-label{font-size:.6rem;padding:8px 4px}.compare-cell small{font-size:.6rem}.compare-lock-prompt{font-size:.58rem;gap:3px}.compare-lock-icon{width:14px;height:14px}}.terms-page{display:flex;flex-direction:column;min-height:100vh;font-family:Nunito,sans-serif;background:#f5f5f5}.terms-main{flex:1;padding:112px 24px 72px}.terms-shell{max-width:820px;margin:0 auto}.terms-header{text-align:center;margin-bottom:40px}.terms-header h1{font-size:clamp(2rem,5vw,2.8rem);font-weight:800;letter-spacing:-.03em;color:#1f1f1f;margin-bottom:10px;line-height:1.1}.terms-meta{font-size:.9rem;color:#888}.terms-body{background:#fff;border:1px solid #e8e8e8;border-radius:20px;padding:40px 48px;box-shadow:0 8px 32px #0000000f}.terms-section{margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid #eee}.terms-section--last{margin-bottom:0;padding-bottom:0;border-bottom:none}.terms-section h2{font-size:1.05rem;font-weight:800;color:#1f1f1f;margin-bottom:10px;letter-spacing:-.01em}.terms-section p{font-size:.97rem;line-height:1.75;color:#555;margin-bottom:10px}.terms-section p:last-child{margin-bottom:0}.terms-section ul{margin:10px 0 10px 20px;padding:0}.terms-section ul li{font-size:.97rem;line-height:1.75;color:#555;margin-bottom:6px}.terms-section ul li:last-child{margin-bottom:0}.terms-section a{color:#5b9bd5;text-decoration:none}.terms-section a:hover{text-decoration:underline}.dark .terms-section a{color:#7ab3e0}.terms-section code{font-family:Menlo,Monaco,Courier New,monospace;font-size:.88em;background:#f0f0f0;border-radius:4px;padding:1px 5px;color:#d6394c}@media(max-width:640px){.terms-main{padding:96px 16px 56px}.terms-body{padding:28px 24px;border-radius:16px}.terms-header h1{font-size:1.8rem}.terms-section{margin-bottom:28px;padding-bottom:28px}}.dark .terms-page{background:#1a1a1a}.dark .terms-header h1{color:#f3f3f3}.dark .terms-meta{color:#666}.dark .terms-body{background:#242424;border-color:#333;box-shadow:0 8px 32px #0000003d}.dark .terms-section{border-bottom-color:#333}.dark .terms-section h2{color:#f3f3f3}.dark .terms-section p,.dark .terms-section ul li{color:#b0b0b0}.dark .terms-section code{background:#2e2e2e;color:#f06a7a}.navbar{position:fixed;top:0;left:0;right:0;z-index:110;display:flex;align-items:center;justify-content:space-between;padding:12px 28px;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06);font-family:Nunito,sans-serif;-webkit-transform:translateZ(0);transform:translateZ(0)}.navbar-logo{font-size:1.35rem;font-weight:900;letter-spacing:-.3px;text-decoration:none;color:#333}.navbar-logo span{color:#d6394c}.navbar-right{display:flex;align-items:center;gap:16px}.nav-links-container{position:relative;display:flex;align-items:center;background:#00000008;padding:4px;border-radius:24px}.nav-pill-background{position:absolute;top:4px;bottom:4px;left:0;background:#d6394c;border-radius:20px;box-shadow:0 4px 12px #d6394c40;z-index:0;pointer-events:none}.nav-pill-background.animate{transition:transform .4s cubic-bezier(.4,0,.2,1),width .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}.nav-link{position:relative;z-index:1;display:flex;align-items:center;gap:6px;font-size:.88rem;font-weight:700;color:#666;text-decoration:none;cursor:pointer;padding:8px 16px;border-radius:20px;transition:color .3s ease}.nav-link:hover{color:#d6394c}.nav-link.active{color:#fff!important;background:transparent!important;box-shadow:none!important}.nav-link svg{width:16px;height:16px;transition:transform .3s ease}.nav-link.active svg{transform:scale(1.1)}.signin-btn{background:#d6394c;color:#fff;border:none;border-radius:18px;padding:7px 20px;font-size:.85rem;font-weight:700;font-family:Nunito,sans-serif;cursor:pointer;transition:background .2s}.signin-btn:hover{background:#b82e3f}.navbar-user{position:relative}.navbar-user-btn{display:flex;align-items:center;gap:8px;background:none;border:1.5px solid transparent;border-radius:24px;padding:4px 12px 4px 4px;cursor:pointer;transition:border-color .15s,background .15s;font-family:Nunito,sans-serif}.navbar-user-btn:hover{border-color:#e0e0e0;background:#00000005}.navbar-user-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover}.navbar-user-name{font-size:.85rem;font-weight:700;color:#333}.navbar-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 8px 28px #0000001f;padding:14px 16px;min-width:200px;z-index:200;animation:userDropIn .15s ease}@keyframes userDropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.navbar-user-email{font-size:.8rem;color:#888;margin-bottom:0;padding-bottom:0;word-break:break-all}.navbar-user-signout{width:100%;padding:10px 0 0;margin-top:10px;background:none;border:none;border-top:1px solid #f0f0f0;color:#d6394c;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:700;cursor:pointer;transition:color .15s}.navbar-user-signout:hover{color:#b82e3f}.dark .navbar-user-btn{border-color:transparent;background:transparent}.dark .navbar-user-btn:hover{border-color:#333;background:transparent}.dark .navbar-user-name{color:#e0e0e0}.dark .navbar-user-dropdown{background:#232323;border-color:#3a3a3a;box-shadow:0 8px 28px #0006}.dark .navbar-user-email{color:#777;border-bottom-color:#333}.dark .navbar-user-signout{border-top-color:#333}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:4px;z-index:110}.hamburger span{display:block;width:100%;height:2.5px;background:#333;border-radius:2px;transition:transform .3s ease,opacity .3s ease;will-change:transform,opacity}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.navbar-overlay,.navbar-util-spacer,.navbar-utilities{display:none}.dark .navbar{background:#1a1a1ad9;border-bottom-color:#ffffff0f}.dark .navbar-logo{color:#e0e0e0}.dark .nav-links-container{background:#ffffff08}.dark .nav-link{color:#aaa}.dark .nav-link:hover{color:#fff;background:#d6394c1a}.dark .nav-link.active{color:#fff;background:#d6394c}.dark .signin-btn{background:#d6394c;color:#fff}.dark .hamburger span{background:#e0e0e0}@media(max-width:768px){.navbar{padding:10px 16px;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.navbar-logo{font-size:1.15rem}.hamburger{display:flex}.navbar-right{position:fixed;top:0;right:0;width:260px;height:100dvh;flex-direction:column;align-items:flex-start;gap:0;padding:48px 28px 28px;overflow-y:auto;background:#fff;box-shadow:-4px 0 20px #0000001a;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform;z-index:110}.navbar-right.show{transform:translate(0)}.nav-links-container{flex-direction:column;width:100%;background:transparent;padding:0;gap:0;border-radius:0}.nav-pill-background{display:none}.navbar-right .nav-link{width:100%;padding:22px 0;font-size:1.05rem;border-bottom:1px solid #f0f0f0;border-radius:0}.navbar-right .nav-link.active{background:transparent!important;color:#d6394c!important;box-shadow:none!important;font-weight:800}.navbar-right .nav-link svg{width:20px;height:20px}.navbar-right .signin-btn{margin-top:0;width:100%;text-align:left;padding:22px 0;font-size:1.05rem;border-radius:0;background:none;color:#d6394c;font-weight:800;border-bottom:1px solid #f0f0f0}.navbar-right .navbar-user{margin-top:0;width:100%;border-bottom:1px solid #f0f0f0}.navbar-right .navbar-user-btn{width:100%;padding:22px 0;border-color:transparent!important;background:transparent!important}.navbar-right .navbar-user-btn:hover,.navbar-right .navbar-user-btn:focus,.navbar-right .navbar-user-btn:active{border-color:transparent!important;background:transparent!important;outline:none}.navbar-right .navbar-user-avatar{width:20px;height:20px}.navbar-right .navbar-user-name{font-size:1.05rem;color:#666}.navbar-right .navbar-user-dropdown{position:static;box-shadow:none;border:none;border-radius:12px;padding:12px 14px;margin-top:0;margin-bottom:16px;min-width:0;animation:none;background:#f5f5f5}.navbar-overlay{display:block;position:fixed;top:0;left:0;width:calc(100vw - 260px);height:100vh;background:transparent;z-index:106;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dark .navbar{background:#1a1a1a;backdrop-filter:none;-webkit-backdrop-filter:none}.dark .navbar-right{background:#1a1a1a;box-shadow:-4px 0 20px #0009;border-left:1px solid #2a2a2a}.dark .navbar-right .nav-link{color:#ccc;border-bottom-color:#333}.dark .navbar-right .nav-link.active{color:#d6394c!important;background:transparent!important}.dark .navbar-right .nav-link:hover{color:#e06070;background:transparent}.dark .nav-links-container{background:transparent}.dark .navbar-right .navbar-user{border-bottom-color:#333}.dark .navbar-right .navbar-user-name{color:#ccc}.dark .navbar-right .navbar-user-btn{border-color:transparent!important;background:transparent!important}.dark .navbar-right .navbar-user-btn:hover,.dark .navbar-right .navbar-user-btn:focus,.dark .navbar-right .navbar-user-btn:active{border-color:transparent!important;background:transparent!important;outline:none}.dark .navbar-right .signin-btn{background:none;color:#e06070;border-bottom-color:#333}.dark .navbar-right .navbar-user-dropdown{background:#2a2a2a;border-top-color:#333}.dark .navbar-right .navbar-user-signout{border-top-color:#333}.navbar-util-spacer{display:flex;flex:1}.navbar-utilities{display:block;width:100%;border-top:1px solid #f0f0f0}.navbar-utility-item{display:flex;align-items:center;gap:10px;width:100%;padding:22px 0;font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:600;color:#444;background:none;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;text-align:left}.navbar-utility-item svg{width:20px;height:20px;flex-shrink:0}.dark .navbar-utilities{border-top-color:#333}.dark .navbar-utility-item{color:#ccc;border-bottom-color:#333}}.feedback-tab{position:fixed;left:0;bottom:80px;z-index:200;writing-mode:vertical-rl;text-orientation:mixed;background:#d6394c;color:#fff;font-family:Nunito,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:14px 8px;border-radius:0 6px 6px 0;cursor:pointer;border:none;box-shadow:2px 2px 8px #00000026;transition:background .2s}.feedback-tab:hover{background:#b82e3f}.feedback-overlay{position:fixed;inset:0;z-index:300;background:#00000059;display:flex;align-items:center;justify-content:flex-start;padding:24px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-modal{position:relative;background:#fff;border-radius:16px;width:360px;max-height:90vh;overflow-y:auto;overflow-x:hidden;padding:32px 28px;box-shadow:0 12px 40px #0000002e;display:flex;flex-direction:column;align-items:center;font-family:Nunito,sans-serif;animation:slideIn .25s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.feedback-modal-shrink{animation:shrinkModal .5s cubic-bezier(.4,0,.2,1) forwards;width:280px;max-height:60vh}@keyframes shrinkModal{0%{transform:scale(1);opacity:1}40%{transform:scale(.92);opacity:.7}to{transform:scale(1);opacity:1}}.feedback-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 0;animation:successFade .4s .3s ease both}@keyframes successFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.feedback-success-icon{width:56px;height:56px;border-radius:50%;background:#d6394c;color:#fff;font-size:1.6rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin-bottom:16px;animation:popIn .4s .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.feedback-success-msg{font-size:.88rem;color:#777;line-height:1.5;margin-top:6px;margin-bottom:24px}.feedback-done-btn{background:#d6394c;color:#fff;border:none;border-radius:24px;padding:10px 36px;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s}.feedback-done-btn:hover{background:#b82e3f}.feedback-error{width:100%;background:#fef0f0;color:#d6394c;font-size:.82rem;font-weight:700;padding:10px 14px;border-radius:8px;margin-bottom:14px;text-align:center;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.feedback-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;line-height:1;transition:color .2s}.feedback-close:hover{color:#333}.feedback-mascot{margin-bottom:16px}.feedback-mascot-placeholder{width:80px;height:80px;border-radius:50%;background:#fef0f0;display:flex;align-items:center;justify-content:center;font-size:2rem}.feedback-mascot-img{width:100px;height:auto;object-fit:contain}.feedback-title{font-size:1.2rem;font-weight:900;color:#333;margin-bottom:6px;text-align:center}.feedback-subtitle{font-size:.85rem;color:#888;text-align:center;line-height:1.45;margin-bottom:24px}.feedback-label{align-self:flex-start;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#555;margin-bottom:6px;width:100%}.feedback-required{color:#d6394c}.feedback-input,.feedback-textarea{width:100%;border:1.5px solid #e0e0e0;border-radius:8px;padding:10px 12px;font-family:Nunito,sans-serif;font-size:.88rem;color:#333;background:#fff;outline:none;margin-bottom:18px;transition:border-color .2s}.feedback-input:focus,.feedback-textarea:focus{border-color:#d6394c}.feedback-textarea{resize:vertical;min-height:90px}.feedback-input::placeholder,.feedback-textarea::placeholder{color:#bbb}.feedback-turnstile{margin:12px 0 16px;display:flex;justify-content:center;min-height:70px}.feedback-submit{background:#d6394c;color:#fff;border:none;border-radius:24px;padding:10px 36px;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;margin-top:4px;transition:background .2s}.feedback-submit:hover{background:#b82e3f}.feedback-fab{display:none;position:fixed;bottom:80px;right:16px;z-index:200;width:42px;height:42px;border-radius:50%;background:#d6394c;color:#fff;border:none;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;transition:background .2s}.feedback-fab svg{width:20px;height:20px}.feedback-fab:hover{background:#b82e3f}@media(max-width:768px){.feedback-tab,.feedback-fab{display:none}.feedback-fab svg{width:16px;height:16px}.feedback-overlay{justify-content:center;align-items:center;padding:16px}.feedback-modal{width:100%;max-width:100%;border-radius:16px;max-height:85vh;padding:28px 20px}.feedback-mascot-img{width:72px}.feedback-title{font-size:1.05rem}.feedback-subtitle{font-size:.8rem}}.dark .feedback-modal{background:#242424}.dark .feedback-close{color:#777}.dark .feedback-close:hover,.dark .feedback-title{color:#e0e0e0}.dark .feedback-subtitle{color:#999}.dark .feedback-label{color:#bbb}.dark .feedback-input,.dark .feedback-textarea{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dark .feedback-input:focus,.dark .feedback-textarea:focus{border-color:#d6394c}.dark .feedback-input::placeholder,.dark .feedback-textarea::placeholder{color:#666}.dark .feedback-success-msg{color:#999}.dark .feedback-error{background:#3a2020;color:#e06070}.dark .feedback-fab{background:#b82e3f}.dark .feedback-fab:hover{background:#9e2535}.theme-toggle{position:fixed;right:24px;bottom:24px;z-index:200;width:42px;height:42px;border-radius:50%;border:1.5px solid #ddd;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:#f5a623;transition:background .3s,border-color .3s,color .3s;box-shadow:0 2px 8px #00000026}.theme-toggle svg{width:20px;height:20px}.theme-toggle:hover{border-color:#d6394c}.dark .theme-toggle{background:#2a2a2a;border-color:#555;color:#ccc}.dark .theme-toggle:hover{border-color:#d6394c}@media(max-width:768px){.theme-toggle{display:none}}.page-transition-wrapper{opacity:1}.page-fade-in{animation:pageFadeIn .2s ease-out}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}
