@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Manrope:wght@400;500;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4efe3;--panel:#fffcf5e0;--panel-strong:#fff9ed;--ink:#1d2a23;--muted:#5f665d;--accent:#a04e1a;--accent-strong:#7f3c12;--moss:#315343;--line:#1d2a231f;--shadow:0 28px 60px #3b2f1c24}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 0 0,#a04e1a29,#0000 35%),radial-gradient(circle at 100% 100%,#3153432e,#0000 30%),linear-gradient(#f7f2e9 0%,#f1ebde 100%);margin:0;font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}#root{min-height:100vh}.shell{width:min(100%,1760px);margin:0 auto;padding:24px clamp(20px,3vw,44px)}.masthead{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);background:#fffbf1c7;border-radius:24px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;padding:18px 22px;display:flex}.brand-lockup{align-items:center;gap:14px;display:flex}.brand-lockup strong,.eyebrow,h1,h2{font-family:Fraunces,serif}.brand-lockup strong{font-size:1.2rem;display:block}.brand-lockup small{color:var(--muted);display:block}.brand-mark{flex:none;width:56px;height:56px}.top-nav{align-items:center;gap:16px;display:flex}.top-nav a,.ghost-button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;padding:10px 14px}.top-nav .active,.top-nav a:hover,.ghost-button:hover{border-color:var(--line);color:var(--ink);background:#fff9edcc}.pill-link,.primary-link,.secondary-link,.vote-actions button,.review-form button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;transition:transform .16s,background .16s;display:inline-flex}.pill-link,.primary-link,.review-form button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fffaf4;padding:12px 18px}.secondary-link,.vote-actions button{color:var(--ink);border-color:var(--line);background:#fffaf2e6;padding:12px 18px}.page-frame,.stack-xxl,.stack-xl,.stack-lg,.stack-md{display:grid}.stack-xxl{gap:40px}.stack-xl{gap:32px}.stack-lg{gap:24px}.stack-md{gap:16px}.hero-panel,.course-hero{grid-template-columns:1fr;gap:24px;display:grid}.hero-copy,.hero-stats,.panel,.vote-panel,.form-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:30px}.hero-copy{padding:40px}.hero-copy h1,.course-copy h1,.section-heading h1{margin:8px 0 16px;font-size:clamp(2.6rem,6vw,4.3rem);line-height:1}.lede{color:var(--muted);max-width:62ch;font-size:1.1rem;line-height:1.7}.hero-lede{max-width:none}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:24px;display:flex}.hero-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding:24px;display:grid}.hero-stats article,.vote-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:24px;padding:22px}.hero-stats span,.vote-card span,.review-meta span,.review-meta em,.course-meta span,.status-message,.notice-banner,.professor-card span,.result-card small,.list-card small,.department-row small{color:var(--muted)}.hero-stats strong,.vote-card strong{margin-top:8px;font-size:2rem;display:block}.feature-grid,.two-column-grid,.results-grid,.professor-grid,.vote-grid,.list-grid{gap:18px;display:grid}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.two-column-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.panel,.vote-panel,.form-panel{padding:28px}.auth-panel{max-width:720px;margin:0 auto}.info-card,.result-card,.list-card,.professor-card,.review-card,.department-row{border:1px solid var(--line);background:#fffcf5e0;border-radius:24px}.info-card,.result-card,.list-card,.professor-card,.department-row{padding:20px}.section-heading h2,.section-heading h1,.course-copy h1{margin:0}.compact-title{line-height:1.15;font-size:clamp(1.35rem,2.6vw,1.9rem)!important}.section-heading{gap:8px;display:grid}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.95rem}.list-card,.result-card,.department-row,.professor-card{gap:8px;display:grid}.search-bar,.auth-form,.review-form{gap:14px;display:grid}.search-bar input,.auth-form input,.review-form input,.review-form select,.review-form textarea,.search-bar select{border:1px solid var(--line);background:#fffcf6f2;border-radius:18px;width:100%;padding:14px 16px}.search-bar button{background:var(--moss);color:#fff;border:0;border-radius:18px;padding:0 18px}.course-hero{align-items:start}.course-copy{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:30px;padding:36px}.course-description{max-width:none}.course-meta{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.course-meta span{border:1px solid var(--line);background:#fffaf0d9;border-radius:999px;padding:8px 12px}.vote-grid,.professor-grid,.results-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.vote-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.vote-actions button[data-active=true]{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fffaf4;border-color:#0000}.vote-actions button[data-pending=true]{background:linear-gradient(135deg, var(--moss), #406b58);color:#fffaf4;opacity:1;border-color:#0000;box-shadow:inset 0 0 0 1px #ffffff1f}.vote-actions button[data-disabled=true]{opacity:.6;cursor:not-allowed}.vote-status{margin-top:4px}.pending-note{color:var(--muted);margin-top:10px;display:block}.review-list{gap:14px;display:grid}.review-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px;display:flex}.compact-field{gap:8px;min-width:min(100%,320px);display:grid}.compact-field span,.toolbar-summary{color:var(--muted)}.toolbar-summary{margin:0}.results-footer{justify-items:center;gap:12px;padding-bottom:8px;display:grid}.results-sentinel{width:100%;height:1px}.review-card{padding:18px 20px}.pending-review-card{opacity:.72;background:#e1dcd1c7;border-style:dashed}.review-meta{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.review-meta em{font-style:normal}.notice-banner,.status-message{background:#a04e1a14;border:1px solid #a04e1a33;border-radius:18px;margin:0;padding:14px 16px}.admin-actions{margin-top:12px}.admin-actions button,.ghost-button{cursor:pointer}.department-table{display:grid}.department-row{grid-template-columns:120px minmax(0,1fr) 120px;align-items:center}.turnstile-shell{min-height:66px}@media (width<=900px){.masthead,.hero-panel,.course-hero,.feature-grid,.two-column-grid,.vote-grid,.results-grid{grid-template-columns:1fr}.shell{padding:18px}.masthead{flex-direction:column;align-items:stretch}.top-nav{flex-wrap:wrap;justify-content:center}.search-bar,.department-row{grid-template-columns:1fr}}.top-nav{flex-wrap:wrap}.session-pill{border:1px solid var(--line);background:#fff9edc2;border-radius:18px;gap:2px;padding:10px 14px;display:grid}.session-pill strong{font-size:.92rem}.session-pill small{color:var(--muted)}.search-bar{grid-template-columns:minmax(0,1.2fr) minmax(220px,280px) minmax(220px,280px) auto}.department-summary{border:1px solid var(--line);background:#fffcf5eb;border-radius:22px;gap:6px;padding:18px 20px;display:grid}.department-summary strong{font-size:1.7rem}.department-summary small{color:var(--muted)}.auth-copy{color:var(--muted);margin:0}.auth-copy a{color:var(--accent-strong);text-decoration:underline;text-decoration-thickness:1px}.site-footer{text-align:center;color:var(--muted);margin-top:28px;padding:18px 10px 8px}.site-footer p{margin:0}.search-note{color:var(--muted);margin:0}.search-note a{color:var(--accent-strong);text-decoration:underline;text-decoration-thickness:1px}.course-search-bar{grid-template-columns:minmax(0,1fr) minmax(220px,280px) auto}.professor-result-card,.course-link-card{gap:6px;display:grid}.offering-card{gap:6px}.offerings-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.course-group-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:18px;display:flex}.course-group-heading>small{color:var(--muted)}.course-link-card{border:1px solid var(--line);background:#fffcf5eb;border-radius:22px;padding:18px 20px}.login-wall-card{border:1px solid var(--line);background:#fffcf5eb;border-radius:24px;gap:14px;padding:22px;display:grid}@media (width<=900px){.search-bar{grid-template-columns:1fr}}
