@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Manrope:wght@600;700;800&family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";:root{color:#2c3437;--font-headline:"Manrope", "Inter", sans-serif;--primary:#4456ba;--primary-dim:#3749ad;--on-primary:#faf8ff;--surface:#f7f9fb;--surface-container-lowest:#fff;--surface-container-low:#f0f4f7;--surface-container-high:#e3e9ed;--surface-container-highest:#dce4e8;--on-surface:#2c3437;--on-surface-variant:#596064;--danger:#a8364b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f9fb;font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--on-surface);background:radial-gradient(circle at top right, #8596ff33 0%, transparent 28%), radial-gradient(circle at left center, #8596ff1f 0%, transparent 24%), var(--surface)}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin:0}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;direction:ltr;font-family:Material Symbols Outlined,sans-serif;font-style:normal;font-weight:400;line-height:1;display:inline-block}.app-shell{min-height:100vh;color:var(--on-surface);flex-direction:column;display:flex}.topbar{z-index:50;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#f7f9fbe0;position:sticky;top:0;box-shadow:0 12px 32px -14px #4456ba29}.topbar-inner{grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:1rem;width:min(1360px,96vw);margin:0 auto;padding:.75rem 0;display:grid}.brand{font-family:var(--font-headline);color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.7rem;font-size:1.25rem;font-weight:800;display:inline-flex}.brand-dot{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dim) 100%);border-radius:999px;width:.8rem;height:.8rem;box-shadow:0 0 0 .35rem #4456ba1f}.nav-search{grid-template-columns:1fr auto;align-items:center;gap:.45rem;display:grid}.nav-search input{background:var(--surface-container-highest);width:100%;color:var(--on-surface);font:inherit;border:none;border-radius:999px;padding:.82rem 1rem}.search-trigger{background:var(--surface-container-highest);color:var(--on-surface-variant);font-family:var(--font-headline);cursor:pointer;border:none;border-radius:999px;padding:.82rem 1rem;font-weight:700}.nav-links,.auth-actions,.actions,.hero-actions,.review-tags,.toggle-actions,.footer-links,.review-filter-pills,.faculty-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.nav-link,.button-primary,.button-secondary,.tab,.pill,.tag-chip,.reaction-button{cursor:pointer;font:inherit;border:none;border-radius:999px;transition:transform .14s,box-shadow .14s,background-color .14s,color .14s}.nav-link,.button-secondary,.tab{color:var(--on-surface-variant);font-family:var(--font-headline);background:0 0;padding:.75rem 1rem;font-weight:700}.nav-link.active,.tab.active{color:var(--primary);box-shadow:inset 0 -2px 0 var(--primary)}.button-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dim) 100%);color:var(--on-primary);font-family:var(--font-headline);padding:.95rem 1.55rem;font-weight:800;box-shadow:0 14px 30px -14px #4456ba8c}.button-secondary{background:var(--surface-container-highest);padding:.95rem 1.25rem}.button-primary:hover,.button-secondary:hover,.tab:hover,.nav-link:hover,.pill:hover,.tag-chip:hover,.reaction-button:hover,.search-trigger:hover,.link-button:hover{transform:translateY(-1px)}.lecturer-sort-row{flex-wrap:wrap;gap:.55rem;margin-bottom:1rem;display:flex}.page{flex:1;width:min(1360px,96vw);margin:0 auto;padding:0 0 2.5rem}.panel{background:var(--surface-container-lowest);border-radius:1rem;box-shadow:0 12px 32px -16px #4456ba2e}.muted{color:var(--on-surface-variant)}.eyebrow{color:var(--primary);letter-spacing:.11em;text-transform:uppercase;background:#8596ff2e;border-radius:999px;margin-bottom:.8rem;padding:.35rem .75rem;font-size:.76rem;font-weight:800;display:inline-block}.section-head{justify-content:space-between;align-items:end;gap:1rem;display:flex}.section-head h2,.home-hero h1,.lecturer-hero h1,.profile-hero h1,.review-page-header h1,.auth-card h1,.footer strong{font-family:var(--font-headline);margin:0}.link-button{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-weight:700}.link-button.danger{color:var(--danger)}.full-width{width:100%}.pill{background:var(--surface-container-high);color:var(--on-surface-variant);padding:.55rem .95rem;font-size:.78rem;font-weight:700}.pill.active{background:var(--surface-container-lowest);color:var(--primary);box-shadow:0 8px 20px -16px #4456ba8c}.home-page{gap:1.8rem;padding-top:1rem;display:grid}.home-hero{text-align:center;background:linear-gradient(135deg,#f7f9fbfa 0%,#8596ff2e 100%);border-radius:0 0 1.75rem 1.75rem;padding:4rem 1rem 2.5rem}.home-hero-copy{max-width:840px;margin:0 auto 1.5rem}.home-hero h1{font-size:clamp(2.8rem,7vw,4.5rem);line-height:1.02}.home-hero p{max-width:620px;margin:1rem auto 0;font-size:1.05rem}.home-search{grid-template-columns:1fr auto;gap:.75rem;width:min(980px,100%);margin:0 auto;display:grid}.home-search input{background:var(--surface-container-lowest);font:inherit;border:none;border-radius:.9rem;padding:1rem 1.1rem;box-shadow:0 12px 32px -20px #4456ba38}.home-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0 .25rem;display:grid}.stat-card{padding:2rem}.home-stat-card{align-content:center;gap:.55rem;min-height:160px;display:grid}.stat-card strong{font-size:clamp(2rem,4vw,3rem)}.stat-card span{letter-spacing:.12em;text-transform:uppercase;color:var(--on-surface-variant);font-size:.8rem;font-weight:700}.stat-icon{width:2.1rem;height:2.1rem;color:var(--primary);background:#4456ba1f;border-radius:.55rem;place-items:center;font-size:.72rem;display:grid}.home-insights{padding:0 .25rem}.home-section-head{margin-bottom:1rem}.home-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.home-review-card{background:var(--surface-container-lowest);border-radius:1rem;gap:1rem;padding:1.3rem;display:grid;box-shadow:0 12px 32px -18px #4456ba33}.home-review-score{align-items:center;gap:.45rem;display:flex}.home-review-stars{color:var(--primary);letter-spacing:.08em;font-weight:700}.mini-score{border-radius:.25rem;justify-content:center;align-items:center;min-width:2rem;padding:.22rem .45rem;font-size:.76rem;font-weight:800;display:inline-flex}.mini-score-good{color:#1f2d8c;background:#8596ff47}.mini-score-mid{color:#4a5257;background:#dce4e8f2}.mini-score-bad{color:#8b1832;background:#f9738647}.home-review-copy{color:var(--on-surface-variant);margin:0;font-size:.95rem;font-style:italic;line-height:1.7}.home-review-card h3{font-family:var(--font-headline);margin:0 0 .25rem}.home-review-card p:last-child{color:var(--on-surface-variant);margin:0;font-size:.8rem}.home-cta{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dim) 100%);color:var(--on-primary);text-align:center;border-radius:1.5rem;padding:3.25rem 1rem}.home-cta h2{font-family:var(--font-headline);margin:0 0 .8rem;font-size:clamp(2rem,4vw,3rem)}.home-cta p{color:#faf8ffe0;max-width:650px;margin:0 auto 1.5rem}.home-cta-button{background:var(--surface-container-lowest);color:var(--primary);font:inherit;font-family:var(--font-headline);cursor:pointer;border:none;border-radius:999px;padding:.9rem 1.7rem;font-weight:800}.auth-layout{place-items:center;min-height:calc(100vh - 180px);padding:2rem 0;display:grid}.auth-canvas{place-items:center;width:100%;min-height:760px;display:grid;position:relative;overflow:hidden}.auth-orb{filter:blur(120px);opacity:.45;pointer-events:none;border-radius:999px;position:absolute}.auth-orb-primary{background:#8596ff73;width:32rem;height:32rem;top:-8%;right:-8%}.auth-orb-secondary{background:#e0e1f9e6;width:26rem;height:26rem;bottom:-8%;left:-8%}.auth-panel{z-index:1;width:min(480px,100%);position:relative}.auth-frame{background:var(--surface-container-lowest);border-radius:1rem;overflow:hidden;box-shadow:0 12px 32px -4px #4456ba0f}.auth-tab-bar{background:var(--surface-container-low);gap:0;padding:.5rem;display:flex}.auth-tab{color:var(--on-surface-variant);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:.75rem;flex:1;padding:.95rem 1rem;font-weight:600}.auth-tab.active{background:var(--surface-container-lowest);color:var(--primary);box-shadow:0 4px 10px #4456ba14}.auth-card{background:var(--surface-container-lowest);text-align:center;padding:2rem 2rem 1.5rem}.auth-heading{margin-bottom:2.25rem}.auth-heading h2{font-family:var(--font-headline);color:var(--on-surface);letter-spacing:-.02em;margin:0 0 .45rem;font-size:2rem;font-weight:800}.auth-heading p{margin:0;font-size:.92rem}.form{gap:1rem;display:grid}.form label{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);gap:.35rem;font-size:.78rem;font-weight:800;display:grid}.auth-form{gap:1.25rem}.auth-field{gap:.5rem}.auth-field>span:first-child,.auth-field-head>span{margin-left:.25rem}.auth-field-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.auth-field-head a{color:var(--primary);letter-spacing:0;text-transform:none;font-size:.76rem;font-weight:600;text-decoration:none}.auth-submit{margin-top:.25rem}.form input,.form textarea,.form select{background:var(--surface-container-highest);width:100%;color:var(--on-surface);font:inherit;border:none;border-radius:.9rem;padding:.95rem 1rem}.form textarea{resize:vertical;min-height:160px}.auth-divider{text-align:center;justify-content:center;margin:.25rem 0;display:flex;position:relative}.auth-divider:before{content:"";border-top:1px solid #acb3b74d;position:absolute;inset:50% 0 auto}.auth-divider span{background:var(--surface-container-lowest);color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;padding:0 1rem;font-size:.72rem;font-weight:600;position:relative}.auth-social-button{background:var(--surface-container-low);width:100%;color:var(--on-surface);font:inherit;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.75rem;padding:.95rem 1.25rem;font-weight:600;display:flex}.auth-google-mark{background:var(--surface-container-lowest);width:1.5rem;height:1.5rem;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;display:inline-flex;box-shadow:0 1px 2px #00000014}.auth-secondary-action{background:var(--surface-container-low)}.auth-card-footer{text-align:center;background:#f0f4f780;border-top:1px solid #acb3b71f;padding:1.5rem}.auth-card-footer p{color:var(--on-surface-variant);margin:0;font-size:.78rem}.auth-bottom{color:var(--on-surface-variant);justify-content:center;gap:2rem;margin-top:1.25rem;font-size:.82rem;display:flex}.auth-bottom-item{align-items:center;gap:.45rem;display:flex}.lecturers-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;min-height:calc(100vh - 80px);display:grid}.lecturers-sidebar{background:var(--surface-container-low);flex-direction:column;height:calc(100vh - 80px);padding:1.25rem 1rem;display:flex;position:sticky;top:80px;overflow:hidden}.sidebar-head h2{font-family:var(--font-headline);margin:0 0 1rem}.faculty-chip{background:var(--surface-container-highest);color:var(--on-surface-variant);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.42rem .8rem;font-size:.74rem;font-weight:700;transition:transform .18s,border-color .18s,color .18s,background .18s;display:inline-flex}.faculty-chip.active{color:var(--primary);background:#4456ba1f;border-color:#4456ba38}.faculty-chip-expand{min-width:3rem}.lecturer-list{align-content:start;gap:.75rem;margin-top:1.25rem;padding-right:.35rem;display:grid;overflow-y:auto}.lecturer-list-item{background:var(--surface-container-lowest);text-align:left;border-radius:.9rem;justify-content:space-between;align-items:start;gap:.75rem;width:100%;padding:1rem;display:flex;box-shadow:0 8px 16px -18px #4456ba29}.lecturer-list-item.active{box-shadow:inset 4px 0 0 var(--primary), 0 16px 32px -20px #4456ba4d}.lecturer-list-item strong{font-family:var(--font-headline);margin-bottom:.2rem;font-size:1.05rem;display:block}.lecturer-list-item p{color:var(--on-surface-variant);margin:0;font-size:.82rem}.lecturer-list-meta{margin-top:.55rem;font-size:.74rem;display:block}.lecturer-list-more{width:100%;color:var(--primary);text-align:center;background:#ffffffb3;border:1px solid #4456ba29;border-radius:.9rem;padding:.95rem 1rem;font-weight:800;box-shadow:0 8px 16px -18px #4456ba29}.lecturer-list-more:hover,.faculty-chip:hover{transform:translateY(-1px)}.lecturers-main{align-content:start;gap:1.8rem;width:min(100%,1120px);margin:0 auto;padding:2rem;display:grid}.lecturer-hero{grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:2rem;display:grid}.lecturer-hero-copy h1{font-size:clamp(3rem,7vw,5.3rem);line-height:.92}.lecturer-subtitle{color:var(--on-surface-variant);margin:1rem 0 0;font-size:1.2rem}.lecturer-hero-copy .hero-actions{margin-top:1.8rem}.lecturer-score-wrap{justify-content:flex-end;padding:.75rem 1.25rem 1.6rem 0;display:flex}.lecturer-score-card{aspect-ratio:1/.92;background:linear-gradient(145deg, var(--primary) 0%, var(--primary-dim) 100%);width:min(250px,100%);color:var(--on-primary);text-align:center;border-radius:1.15rem;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;padding:2.1rem 1.35rem 2.5rem;display:flex;position:relative;overflow:visible;transform:rotate(3deg);box-shadow:0 24px 40px -22px #4456ba99}.lecturer-score-card>strong{font-size:4.35rem;font-family:var(--font-headline);line-height:1;display:block}.lecturer-score-card>span{letter-spacing:.14em;text-transform:uppercase;opacity:.82;font-size:.8rem}.lecturer-score-floating{background:var(--surface-container-lowest);color:var(--primary);text-align:center;border-radius:.75rem;min-width:7rem;padding:.85rem 1rem .7rem;position:absolute;bottom:-.85rem;right:-.9rem;transform:none;box-shadow:0 18px 30px -20px #4456ba73}.lecturer-score-floating strong{font-size:1.15rem;display:block}.lecturer-score-floating span{color:var(--on-surface-variant);letter-spacing:.06em;text-transform:none;font-size:.65rem;display:block}.lecturer-metrics-grid{grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr);gap:1rem;display:grid}.lecturer-sentiment-panel,.lecturer-summary-panel{padding:1.6rem}.lecturer-sentiment-panel h2{font-family:var(--font-headline);margin:0 0 1rem}.distribution{gap:1rem;display:grid}.distribution-row{grid-template-columns:3.5rem 1fr 3rem;align-items:center;gap:.9rem;display:grid}.distribution-row div:first-child{color:var(--on-surface-variant);font-size:.82rem;font-weight:700}.bar-track{background:var(--surface-container-low);border-radius:999px;height:.45rem;overflow:hidden}.bar-fill{background:linear-gradient(135deg, var(--primary) 0%, #6979d8 100%);border-radius:999px;height:100%}.distribution-row strong{text-align:right;font-size:.82rem}.lecturer-summary-panel{text-align:center;align-content:center;display:grid}.summary-metric strong{font-size:2.4rem;font-family:var(--font-headline);color:var(--primary);display:block}.summary-metric span{letter-spacing:.12em;text-transform:uppercase;color:var(--on-surface-variant);font-size:.76rem;font-weight:800}.summary-divider{background:var(--surface-container-low);height:1px;margin:1.4rem 0}.lecturer-reviews-section{gap:1rem;display:grid}.lecturer-reviews-head{align-items:center}.review-list{gap:1rem;display:grid}.review-card{padding:1.5rem}.review-card-detailed,.profile-review-card{box-shadow:0 12px 32px -18px #4456ba38}.review-card-top{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem;display:flex}.review-identity{align-items:center;gap:.85rem;display:flex}.review-avatar,.profile-avatar{color:var(--primary);font-family:var(--font-headline);flex:none;place-items:center;font-weight:800;display:grid}.review-avatar{background:var(--surface-container-low);border-radius:999px;width:3rem;height:3rem}.review-identity h3{font-family:var(--font-headline);margin:0;font-size:1.1rem}.review-meta{margin:.25rem 0 0;font-size:.84rem}.score-chip{border-radius:.3rem;padding:.45rem .75rem}.score-chip-value{font-family:var(--font-headline);font-size:1.1rem}.score-chip-good{color:#1b2a87;background:#8596ff42}.score-chip-mid{color:#50595e;background:#dce4e8f2}.score-chip-bad{color:#881931;background:#f9738640}.profile-review-meta{justify-items:end;gap:.4rem;display:grid}.review-copy{margin:0 0 1rem;line-height:1.75}.tag-chip{background:var(--surface-container-high);color:var(--on-surface-variant);border-radius:.6rem;padding:.5rem .85rem;font-size:.82rem;font-weight:700}.tag-chip.active{color:var(--primary);background:#8596ff42}.review-actions-row{border-top:1px solid #acb3b759;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.review-reactions{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}.reaction-button{color:var(--on-surface-variant);background:0 0;border-radius:0;align-items:center;gap:.38rem;padding:0;font-size:.82rem;font-weight:500;display:inline-flex}.reaction-like-active{color:#1c7a50}.reaction-dislike-active{color:#9a2038}.review-feedback{font-size:.82rem}.reaction-static{align-items:center;gap:.38rem;display:inline-flex}.reaction-icon{justify-content:center;align-items:center;width:1.2rem;height:1.2rem;line-height:1;display:inline-flex}.reaction-icon-svg{flex:none;width:.95rem;height:.95rem}.review-page{padding:1.5rem 0 0}.review-editor-shell{gap:2rem;display:grid}.review-page-header{max-width:760px}.review-page-header h1{font-size:clamp(2.4rem,6vw,4.1rem);line-height:.98}.review-page-header h1 span{color:var(--primary)}.breadcrumb{align-items:center;gap:.45rem;margin-bottom:1rem;font-size:.9rem;display:flex}.review-editor-grid{grid-template-columns:260px minmax(0,1fr);gap:1.5rem;display:grid}.review-guidelines{background:var(--surface-container-low);height:fit-content;padding:1.4rem;position:relative;overflow:hidden}.review-guidelines h3{color:var(--primary);font-family:var(--font-headline);margin:0 0 1rem}.review-guidelines ul{color:var(--on-surface-variant);gap:.8rem;margin:0;padding-left:0;list-style:none;display:grid}.review-guidelines li{z-index:1;align-items:flex-start;gap:.55rem;display:flex;position:relative}.review-guidelines li .material-symbols-outlined{color:var(--on-surface-variant);font-size:1rem;line-height:1.2}.review-guidelines-mark{opacity:.1;position:absolute;bottom:-.65rem;right:-.65rem}.review-guidelines-mark .material-symbols-outlined{font-size:5.5rem}.review-form-panel{padding:2rem;box-shadow:0 12px 32px -4px #4456ba0f}.review-editor-form{gap:1.6rem}.score-selector label,.tag-selector label{letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:.6rem;font-size:.78rem;font-weight:800;display:block}.score-selector-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.score-star{background:var(--surface-container-highest);color:#a9b4bc;cursor:pointer;border:none;border-radius:.75rem;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex}.score-star.active{color:#7789f0}.score-star .material-symbols-outlined{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;font-size:1.95rem}.review-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.review-toggle{background:var(--surface-container-low);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.review-toggle h4{font-family:var(--font-headline);margin:0 0 .2rem}.review-toggle .pill{background:var(--surface-container-highest);color:var(--on-surface);padding:.55rem 1.25rem}.review-toggle .pill.active{background:var(--primary);color:var(--on-primary);box-shadow:0 8px 18px -14px #4456ba8c}.tag-selector-grid{flex-wrap:wrap;gap:.6rem;display:flex}.tag-selector-grid .tag-chip{border-radius:.55rem;align-items:center;gap:.35rem;padding:.6rem .9rem;font-size:.8rem;display:inline-flex}.tag-selector-grid .tag-chip .material-symbols-outlined{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;font-size:.95rem}.character-count{color:var(--on-surface-variant);font-size:.74rem}.review-textarea-field{gap:.55rem}.review-textarea-head{justify-content:space-between;align-items:end;gap:1rem;display:flex}.review-textarea-field textarea{background:var(--surface-container-highest);min-height:9rem}.review-submit-button{padding-inline:2rem;font-size:1rem}.review-cancel-button{color:var(--on-surface-variant);font:inherit;cursor:pointer;background:0 0;border:none;padding:.9rem 1rem;font-weight:700}.profile-page{padding-top:1.5rem}.profile-hero{align-items:end;gap:1rem;margin-bottom:2rem;display:flex}.profile-avatar{background:linear-gradient(135deg, #8596ffe6 0%, var(--primary) 100%);width:5rem;height:5rem;color:var(--on-primary);border-radius:1rem;font-size:1.45rem;box-shadow:0 16px 28px -20px #4456ba85}.profile-hero h1{font-size:clamp(2.5rem,6vw,4rem);line-height:.95}.profile-grid{grid-template-columns:320px minmax(0,1fr);gap:1.5rem;display:grid}.profile-summary{padding:1.5rem}.profile-summary h2{font-family:var(--font-headline);color:var(--primary);margin:0 0 1.5rem}.profile-summary-item+.profile-summary-item{margin-top:1.25rem}.profile-summary-item span{letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:.35rem;font-size:.75rem;font-weight:800;display:block}.profile-summary-item strong{font-size:1rem}.profile-reviews{gap:1rem;display:grid}.empty-state{text-align:center;padding:3rem 1rem}.empty-state h2{font-family:var(--font-headline);margin:0 0 .6rem}.footer{background:#f0f4f7f2;border-top:1px solid #acb3b747;margin-top:auto}.footer-inner{justify-content:space-between;align-items:center;gap:1rem;width:min(1360px,96vw);margin:0 auto;padding:1.25rem 0;display:flex}.footer strong{margin-bottom:.2rem;display:block}.footer p{color:var(--on-surface-variant);margin:0;font-size:.84rem}.footer-links{color:var(--on-surface-variant);font-size:.84rem}.toast{color:#fff;background:#111827;border-radius:.85rem;padding:.85rem 1rem;position:fixed;bottom:1rem;right:1rem;box-shadow:0 18px 36px #1118273d}.brand:focus-visible,.nav-link:focus-visible,.button-primary:focus-visible,.button-secondary:focus-visible,.tab:focus-visible,.search-trigger:focus-visible,.link-button:focus-visible,.pill:focus-visible,.tag-chip:focus-visible,.reaction-button:focus-visible,.lecturer-list-item:focus-visible,.score-star:focus-visible,.form input:focus-visible,.form textarea:focus-visible,.form select:focus-visible,.nav-search input:focus-visible,.home-search input:focus-visible{outline-offset:2px;outline:3px solid #4456ba47}@media (width<=1100px){.topbar-inner{grid-template-columns:1fr}.nav-search{order:4}.lecturers-layout,.profile-grid,.review-editor-grid,.lecturer-metrics-grid,.lecturer-hero{grid-template-columns:1fr}.lecturers-sidebar{border-radius:1rem;height:auto;margin-top:1rem;position:static}.lecturers-main{width:100%;padding:1.5rem 0 0}.lecturer-score-wrap{justify-content:center;padding-right:0}.review-guidelines{order:2}}@media (width<=860px){.home-search,.home-stats,.home-review-grid,.review-field-grid{grid-template-columns:1fr}.review-actions-row,.review-card-top,.review-toggle,.footer-inner,.profile-hero{flex-direction:column;align-items:flex-start}.auth-bottom{flex-direction:column;align-items:center;gap:.4rem}}
