:root{--navy:#071426;--navy2:#0d223d;--ink:#101820;--paper:#f5f6f7;--white:#fff;--line:#d5d9de;--serif:Georgia,serif;--sans:Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px}.utility{height:34px;background:#020812;color:#cbd4de;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.utility nav{display:flex;gap:24px}.utility a{color:inherit;text-decoration:none}header{height:88px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.98);z-index:20}.brand{display:flex;align-items:center;gap:13px;color:var(--navy);text-decoration:none;letter-spacing:.12em;font-size:.88rem}.brand img{width:54px;height:54px}.brand b{font-family:var(--serif);font-size:1.5rem;letter-spacing:.02em}header nav{display:flex;gap:20px;align-items:center}header nav a{color:var(--navy);text-decoration:none;font-size:.84rem;font-weight:700}header nav a.active{border-bottom:2px solid var(--navy);padding-bottom:8px}.menu{display:none}.hero{min-height:610px;background:linear-gradient(105deg,rgba(4,14,28,.98),rgba(8,29,53,.88)),radial-gradient(circle at 85% 18%,#496782,transparent 40%);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;padding:84px max(24px,calc((100vw - 1240px)/2)) 74px;gap:70px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;font-weight:700;color:#9fb6d0}.hero h1,.page-head h1{font-family:var(--serif);font-weight:400;line-height:.96;margin:.18em 0;font-size:clamp(3.8rem,8vw,7.5rem);max-width:900px}.hero p{font-size:1.15rem;line-height:1.7;max-width:590px;color:#d6dee7}.actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;background:#fff;color:var(--navy);text-decoration:none;font-weight:700;border:1px solid #fff;cursor:pointer}.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.ghost{background:transparent;color:#fff}.hero-card{border-top:1px solid #75879a;padding-top:28px;margin-bottom:8px}.hero-card strong{display:block;font-family:var(--serif);font-size:2rem;font-weight:400}.hero-card p{font-size:.96rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy)}.stat{color:#fff;padding:30px;text-align:center;border-right:1px solid #31445c}.stat b{display:block;font-family:var(--serif);font-size:2.2rem}.stat span{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:#aebdcd}.section{padding:88px max(24px,calc((100vw - 1240px)/2))}.section.alt{background:var(--paper)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section h2{font:400 clamp(2.4rem,5vw,4.6rem)/1 var(--serif);margin:0}.section-title p{max-width:500px;line-height:1.6;color:#55606c}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);background:#fff;padding:28px;min-height:200px;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0c1c2d14}.card .num{color:#6b7a89;font-size:.75rem;letter-spacing:.14em}.card h3{font:400 1.65rem/1.15 var(--serif);margin:28px 0 12px}.card p{color:#58636e;line-height:1.55}.card a{color:var(--navy);font-weight:700;text-decoration:none}.page-head{background:var(--navy);color:#fff;padding:72px max(24px,calc((100vw - 1240px)/2));min-height:330px;display:flex;flex-direction:column;justify-content:end}.page-head h1{font-size:clamp(3rem,7vw,6rem)}.page-head p{max-width:700px;color:#cbd6e2;line-height:1.6}.tools{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap}.tools input,.tools select,.form input,.form select,.form textarea{font:inherit;padding:14px 16px;border:1px solid #bbc2ca;background:#fff;min-width:230px}.tools input{flex:1}.directory{display:grid;gap:10px}.row{display:grid;grid-template-columns:130px 1.15fr 1fr 1.5fr;gap:18px;align-items:center;padding:18px 20px;border:1px solid var(--line);background:#fff}.row .code{font-weight:800;color:var(--navy)}.row small{color:#6d7680}.pill{display:inline-block;font-size:.72rem;padding:5px 8px;border:1px solid #aab4be;text-transform:uppercase;letter-spacing:.08em}.faculty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.faculty-card{padding:24px;border-top:4px solid var(--navy);background:#fff;box-shadow:0 2px 12px #0b1d3010}.avatar{width:50px;height:50px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:1.1rem}.faculty-card h3{margin:20px 0 6px;font:400 1.35rem var(--serif)}.faculty-card p{margin:0;color:#5d6873}.detail{margin-top:12px;font-size:.8rem;color:#65717d}.accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font:400 1.5rem var(--serif);list-style:none;display:flex;justify-content:space-between}summary:after{content:"+"}details[open] summary:after{content:"−"}.dept{padding:22px 0 4px;display:grid;grid-template-columns:1fr 2fr;gap:28px}.dept h4{margin:0}.dept ul{margin:0;padding-left:20px;line-height:1.8}.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.timeline{border-left:2px solid var(--navy);padding-left:28px}.timeline article{margin-bottom:40px}.timeline b{font-family:var(--serif);font-size:1.5rem}.news-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:16px}.news-card{padding:28px;background:#fff;border:1px solid var(--line)}.news-card.featured{background:var(--navy2);color:#fff}.news-card h3{font:400 1.8rem/1.2 var(--serif)}.form{max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{display:grid;gap:7px;font-weight:600}.form .full{grid-column:1/-1}.form textarea{min-height:120px}.notice{padding:16px;background:#e9f0f7;border-left:4px solid var(--navy);margin-bottom:26px}footer{background:#020812;color:#c5cfda;padding:60px max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:40px}footer a{display:block;color:#c5cfda;text-decoration:none;margin-top:10px}footer p{line-height:1.6;font-size:.85rem}.footer-mark{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.25rem}.footer-mark img{width:56px}
@media(max-width:1000px){header nav{display:none;position:absolute;top:88px;left:0;right:0;background:white;padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}header nav.open{display:flex}.menu{display:block;border:0;background:var(--navy);color:#fff;padding:10px 14px}.hero{grid-template-columns:1fr;min-height:660px}.hero-card{display:none}.grid,.faculty-grid{grid-template-columns:1fr 1fr}.row{grid-template-columns:95px 1fr}.row>:nth-child(3),.row>:nth-child(4){grid-column:2}.story,.news-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr 1fr}}@media(max-width:560px){.utility{display:none}header{height:72px}.brand img{width:45px}.brand b{font-size:1.15rem}.hero{padding-top:60px}.stats,.grid,.faculty-grid,.form{grid-template-columns:1fr}.form .full{grid-column:auto}.section{padding-top:64px;padding-bottom:64px}.section-title{display:block}.row{grid-template-columns:1fr}.row>:nth-child(n){grid-column:1}.dept{grid-template-columns:1fr}footer{grid-template-columns:1fr}}
@media(max-width:1000px){header nav{display:none;position:absolute;top:88px;left:0;right:0;background:#070b12;padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid #273143}header nav.open{display:flex}.menu{display:block;border:1px solid #62728b;background:#0b1220;color:#fff;padding:10px 14px}.hero{grid-template-columns:1fr;min-height:660px}.hero-seal{display:none}.grid,.faculty-grid{grid-template-columns:1fr 1fr}.row{grid-template-columns:95px 1fr}.row>:nth-child(3),.row>:nth-child(4){grid-column:2}.story,.news-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr 1fr}}@media(max-width:560px){.utility{display:none}header{height:72px}.brand img{width:45px}.brand b{font-size:1.15rem}.hero{padding-top:60px}.stats,.grid,.faculty-grid,.form{grid-template-columns:1fr}.form .full{grid-column:auto}.section{padding-top:64px;padding-bottom:64px}.section-title{display:block}.row{grid-template-columns:1fr}.row>:nth-child(n){grid-column:1}.dept{grid-template-columns:1fr}footer{grid-template-columns:1fr}}

/* WRSU dark campus theme */
:root{--navy:#05080f;--navy2:#0b1220;--ink:#edf2f8;--paper:#090e17;--white:#101722;--line:#263142;--accent:#7fa2d8}body{background:#05080f;color:var(--ink)}.utility{background:#000;color:#9ba9ba;border-bottom:1px solid #1c2532}header{background:rgba(5,8,15,.97);border-color:#273143}.brand,header nav a{color:#fff}.brand img{width:66px;height:66px;object-fit:contain}.hero{background:radial-gradient(circle at 78% 42%,#152a4d 0,transparent 34%),linear-gradient(110deg,#03050a 12%,#07101e 75%,#05080f);border-bottom:1px solid #243249}.hero-seal{display:grid;place-items:center}.hero-seal img{width:min(430px,40vw);filter:drop-shadow(0 25px 55px #000b)}.stats{background:#02040a}.stat{border-color:#202a3a}.section.alt{background:#080d15}.section-title p,.card p,.faculty-card p,.row small,.detail{color:#aab6c5}.card,.faculty-card,.row,.news-card{background:#0e1520;border-color:#283445}.card:hover{box-shadow:0 16px 45px #0008;border-color:#506886}.card a{color:#adc9f0}.page-head{background:radial-gradient(circle at 85% 20%,#162a4a,transparent 35%),#040710;border-bottom:1px solid #27344a}.tools input,.tools select,.form input,.form select,.form textarea{background:#0b111b;color:#eef3f9;border-color:#344257}.tools option,.form option{background:#0b111b}.pill{border-color:#50627b;color:#bed1ea}.avatar{background:#18273d}.faculty-photo{width:100%;height:250px;object-fit:cover;object-position:center;border:1px solid #2d394a;background:#111925;display:block}.faculty-card{padding:0;overflow:hidden}.faculty-card .faculty-body{padding:22px}.faculty-card h3{margin-top:12px}.admin-photo{width:100%;height:340px;object-fit:cover;object-position:center 25%;display:block;border-bottom:1px solid #2c394d}.admin-card{padding:0;overflow:hidden}.admin-card .faculty-body{padding:28px}.news-card.featured{background:#101d31}.notice{background:#101d31;color:#dbe8f7;border-color:#7fa2d8}footer{background:#000;border-top:1px solid #1c2532}.footer-mark img{width:110px;height:110px;object-fit:contain}

/* Refined WRSU presentation */
body{background:radial-gradient(circle at 12% 8%,rgba(42,78,128,.13),transparent 30rem),radial-gradient(circle at 88% 34%,rgba(18,44,79,.12),transparent 34rem),#05080f}
header{top:0;height:96px;box-shadow:0 12px 40px rgba(0,0,0,.3)}
header:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#7196ca,transparent);opacity:.5}
header nav a{position:relative;padding:12px 0!important;border:0!important;white-space:nowrap}
header nav a:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:#9cbae4;transform:scaleX(0);transition:transform .2s ease;transform-origin:center}
header nav a:hover:after,header nav a.active:after{transform:scaleX(1)}
.brand img{width:76px;height:76px}.hero{position:relative;isolation:isolate;overflow:hidden}
.hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(143,177,221,.14);border-radius:50%;right:-120px;top:-220px;box-shadow:0 0 0 60px rgba(123,156,202,.025),0 0 0 120px rgba(123,156,202,.018);z-index:-1}
.hero-seal img{filter:drop-shadow(0 30px 65px rgba(0,0,0,.82));max-height:470px;object-fit:contain}
.stats{grid-template-columns:repeat(3,1fr);border-bottom:1px solid #202c3e}
.card,.faculty-card,.row,.news-card{background:linear-gradient(145deg,#111a27,#0b111b);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.card{position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(#7fa2d8,transparent);opacity:.55}
.card:hover{transform:none;box-shadow:0 14px 34px rgba(0,0,0,.18);border-color:#5a7191}
.row .code{color:#b9d4fa!important;text-shadow:0 0 18px rgba(127,162,216,.22)}
.faculty-card{transition:border-color .2s ease,box-shadow .2s ease}.faculty-card:hover{border-color:#5f789a;box-shadow:0 16px 40px rgba(0,0,0,.32)}
.faculty-card .faculty-full-name{margin:-1px 0 11px;color:#8491a2;font-size:.82rem;letter-spacing:.025em}
.faculty-photo{height:280px;background:#080d15}.faculty-body{position:relative}.faculty-body:before{content:"";position:absolute;left:22px;top:0;width:44px;height:2px;background:#8caede}
.btn{transition:background .2s ease,color .2s ease,border-color .2s ease;letter-spacing:.02em}.btn:hover{background:#b9d4fa;color:#07101d;border-color:#b9d4fa}.btn.ghost:hover{background:#fff;color:#07101d}
.section h2,.page-head h1,.hero h1{letter-spacing:-.035em}.page-head{position:relative;overflow:hidden}.page-head:after{content:"WRSU";position:absolute;right:4vw;bottom:-.25em;font:700 clamp(6rem,16vw,14rem)/1 Georgia,serif;color:rgba(255,255,255,.025);letter-spacing:-.08em;pointer-events:none}
.notice.success{border-color:#51c58b;background:#0b251d}.notice.error{border-color:#df6b76;background:#291219}.form button:disabled{opacity:.65;cursor:wait}
@media(max-width:1000px){header nav{top:96px}.faculty-photo{height:240px}}@media(max-width:560px){header{height:78px}.brand img{width:56px;height:56px}.stats{grid-template-columns:1fr}.faculty-photo{height:290px}}

/* History and university portal */
.history-long{max-width:1180px;margin:auto}.history-intro{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:0 0 72px;border-bottom:1px solid var(--line)}.history-intro p{font:400 1.25rem/1.75 var(--serif);margin:0;color:#cad4df}.history-chapters article{display:grid;grid-template-columns:90px 1fr;gap:38px;padding:64px 0;border-bottom:1px solid var(--line)}.history-chapters article>span{font:700 3rem/1 var(--serif);color:#293a51}.history-chapters article>div{max-width:780px}.history-chapters h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:28px}.history-chapters p{color:#b6c1ce;line-height:1.8;font-size:1.02rem}.history-chapters blockquote{margin:38px 0 0;padding:26px 30px;border-left:3px solid #8caede;background:#0d1725;font:400 1.35rem/1.8 var(--serif)}.archive-photo{filter:grayscale(1) contrast(1.08);animation:archiveReveal .55s ease}@keyframes archiveReveal{from{opacity:.2;transform:scale(.97)}to{opacity:1;transform:none}}
.portal-section{min-height:600px;background:linear-gradient(180deg,#080d15,#05080f)}.portal-head{min-height:290px}.portal-loading,.portal-empty{padding:30px;border:1px dashed #344257;color:#91a0b2;text-align:center}.portal-auth{max-width:980px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:linear-gradient(145deg,#101a28,#090f18);border:1px solid #2a3749;padding:52px}.portal-auth.single{align-items:start}.portal-auth h2,.portal-shell h2{font:400 clamp(2.5rem,5vw,4.5rem)/1 var(--serif);margin:12px 0 22px}.portal-auth p,.portal-top p{color:#aab6c5;line-height:1.65}.portal-form{display:grid;gap:18px}.portal-form label,.schedule-form label,.admin-controls label,.admin-enrollment-form label{display:grid;gap:7px;font-weight:700;font-size:.82rem;color:#bcc8d6}.portal-form input,.schedule-form select,.admin-controls select,.admin-enrollment-form select{width:100%;font:inherit;padding:14px;background:#070c13;color:#edf2f8;border:1px solid #39475b}.portal-small{font-size:.85rem!important;margin:2px 0 0}.portal-small a,.portal-auth a{color:#b9d4fa}.portal-shell{max-width:1240px;margin:auto}.portal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:42px}.portal-button{border:1px solid #6e89ad;background:#142238;color:#edf5ff;padding:11px 16px;font:700 .78rem var(--sans);cursor:pointer;letter-spacing:.02em}.portal-button:hover{background:#b9d4fa;color:#07101d}.portal-button.subtle{background:transparent;border-color:#3b4a60;color:#aebed0}.portal-button.small{padding:8px 12px}.portal-button:disabled,.btn:disabled{opacity:.55;cursor:wait}.pending-state{max-width:680px;margin:20px auto;text-align:center;padding:70px 35px;border:1px solid #344257;background:radial-gradient(circle at 50% 0,#172b48,transparent 54%),#090f18}.pending-state h2{font:400 clamp(2.5rem,7vw,5rem)/1 var(--serif);margin:18px 0}.pending-state p{color:#b4bfcc}.pending-icon{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 28px;border:1px solid #7697c2;border-radius:50%;font:400 3rem var(--serif)}.pending-user{margin:25px 0;color:#8292a5}.progress-card{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;padding:34px;margin-bottom:20px;background:linear-gradient(145deg,#111d2e,#0a101a);border:1px solid #2e3c50}.progress-ring{--progress:0%;width:140px;height:140px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,#0b121d 60%,transparent 62%),conic-gradient(#8fb5e8 var(--progress),#243044 0)}.progress-ring strong{font:400 2rem var(--serif)}.progress-ring span{font-size:.7rem;text-transform:uppercase;color:#8797aa;letter-spacing:.12em}.progress-card h3,.portal-panel h3{font:400 2.1rem var(--serif);margin:8px 0}.progress-card p{color:#aab6c5}.requirement-pills{display:flex;gap:8px;flex-wrap:wrap}.requirement-pills span{padding:7px 10px;border:1px solid #46556a;color:#9aa8b9;font-size:.77rem}.requirement-pills .done{border-color:#3c9d72;color:#8bd6b2;background:#0c211a}.portal-panel{padding:32px;margin-top:20px;background:linear-gradient(145deg,#0e1723,#080e17);border:1px solid #283548}.portal-panel-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.portal-panel-head p{color:#8d9bad}.schedule-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.schedule-day{min-height:180px;border:1px solid #283548;background:#080d15}.schedule-day h4{padding:13px;margin:0;border-bottom:1px solid #283548;font:400 1rem var(--serif)}.schedule-day>p{padding:12px;color:#536276}.schedule-day article{display:grid;gap:4px;margin:9px;padding:11px;background:#111f32;border-left:2px solid #88abe0}.schedule-day time{font-size:.7rem;color:#93a9c4}.schedule-day b{font-size:.82rem}.schedule-day span{font-size:.75rem;color:#b5c0cd;line-height:1.35}.record-list{display:grid;gap:8px}.record-list article{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #2a3749;background:#090f18}.record-list article>div{display:grid;grid-template-columns:90px 1fr;gap:4px 14px;flex:1;align-items:center}.record-list small{grid-column:2;color:#7f8ea1}.pill.complete{border-color:#3f9f75;color:#88d5b1}.icon-button{width:32px;height:32px;border:1px solid #533844;background:#24131a;color:#e6a7b4;cursor:pointer}.portal-catalog{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:560px;overflow:auto;padding-right:4px}.portal-catalog article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid #283548;background:#090f18}.portal-catalog h4{margin:7px 0;font:400 1rem var(--serif)}.portal-catalog p{margin:0;color:#8291a3;font-size:.78rem}.major-filter{font-size:.8rem;color:#aeb9c7}.schedule-form,.admin-enrollment-form{display:grid;grid-template-columns:1.5fr 1fr 1fr auto auto;gap:12px;align-items:end;margin-top:18px;padding:20px;border:1px solid #435570;background:#111c2b}.schedule-form h4{margin:8px 0 0}.faculty-teaching{display:flex;flex-wrap:wrap;gap:8px}.faculty-teaching span{padding:9px 12px;border:1px solid #34445a;background:#0a1019;font-size:.8rem}.subheading{font:400 1.35rem var(--serif);margin:30px 0 14px}.portal-table{display:grid;gap:8px}.portal-table>div{display:flex;justify-content:space-between;padding:13px 15px;background:#090f18;border:1px solid #293649}.portal-table span{color:#91a1b4;font-size:.82rem}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-stats>div{padding:26px;border:1px solid #2d3b4f;background:#0c1420}.admin-stats b{font:400 2.4rem var(--serif);display:block}.admin-stats span{color:#8e9caf;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.admin-user{padding:0;border:1px solid #2b394c;margin:9px 0;background:#090f18}.admin-user summary{padding:18px 20px;align-items:center}.admin-user summary:after{margin-left:14px}.admin-user summary span:first-child{display:grid;gap:5px}.admin-user summary b{font:700 1rem var(--sans)}.admin-user summary small{font-size:.75rem;color:#8392a5}.admin-user-body{padding:24px;border-top:1px solid #2b394c}.application-copy{padding:18px;border-left:2px solid #7598c7;background:#0d1725;margin-bottom:18px}.application-copy p{color:#b5c0cd;line-height:1.6}.application-copy small{color:#8090a3}.admin-controls{display:grid;grid-template-columns:1fr auto 1fr 1.3fr auto 1fr auto;gap:10px;align-items:end}.pill.pending{color:#f0cd86}.pill.approved{color:#82d5ae}.pill.declined{color:#e6a1ad}.notice a{color:#c8dcf6}
@media(max-width:1100px){header nav{gap:12px}header nav a{font-size:.76rem}.schedule-grid{grid-template-columns:repeat(3,1fr)}.admin-controls{grid-template-columns:1fr 1fr}.schedule-form,.admin-enrollment-form{grid-template-columns:1fr 1fr}.portal-catalog{grid-template-columns:1fr}}
@media(max-width:720px){.history-intro,.portal-auth{grid-template-columns:1fr;gap:35px}.history-chapters article{grid-template-columns:1fr;gap:18px}.portal-auth{padding:30px 22px}.portal-top,.portal-panel-head{display:block}.portal-top .portal-button{margin-top:16px}.progress-card{grid-template-columns:1fr}.progress-ring{width:110px;height:110px}.schedule-grid{grid-template-columns:1fr}.portal-panel{padding:22px 16px}.record-list article,.portal-table>div{align-items:flex-start}.record-list article>div{grid-template-columns:1fr}.record-list small{grid-column:1}.admin-stats{grid-template-columns:1fr}.admin-controls,.schedule-form,.admin-enrollment-form{grid-template-columns:1fr}.portal-catalog article{align-items:flex-start}.major-filter{display:block;margin-top:12px}}

/* Square, uncropped faculty and administration portraits */
.faculty-photo{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;object-position:center;background:#080d15}
@media(max-width:1000px){.faculty-photo{height:auto}}
@media(max-width:560px){.faculty-photo{height:auto}}

/* Course arcade */
[hidden]{display:none!important}.learning-panel{border-top:3px solid #9fbee7}.learn-count{font:3rem Georgia;text-align:right}.learn-count small{display:block;font:12px Arial;color:#afbed1}.track-summary{background:linear-gradient(120deg,#132845,#0d1522);padding:28px;margin-bottom:24px;border:1px solid #3b5271}.track-summary h4{font:2rem Georgia;margin:12px 0}.track-summary progress{width:100%;height:14px;accent-color:#8cb9f4}.track-summary p,.challenge-card p{color:#acbbce;line-height:1.6}.track-picker select,.learning-panel select{background:#09121f;color:white;padding:12px;border:1px solid #50647e;max-width:100%;width:100%}.track-picker{margin-bottom:30px}.track-picker ol{line-height:1.9;color:#aabbd0}.challenge-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.challenge-card{padding:22px;background:linear-gradient(140deg,#17273d,#0a121e);border:1px solid #33455e;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.challenge-card h4{font:1.5rem Georgia;margin:0}.challenge-card p{font-size:.85rem;flex:1}.challenge-icon{font-size:2.6rem}.challenge-card .portal-button{width:100%;margin-top:12px}.game-dialog{padding:0;color:#edf2f8;background:#0a1321;border:1px solid #718bab;width:min(840px,95vw);max-height:92vh;overflow:auto;box-shadow:0 25px 100px #000c}.game-dialog::backdrop{background:#01060ddc;backdrop-filter:blur(8px)}.game-toolbar{display:flex;justify-content:space-between;padding:18px 25px;border-bottom:1px solid #33445d;align-items:center}.game-toolbar button{background:none;border:1px solid #6a7d98;color:white;font-size:24px;cursor:pointer}.game-intro{padding:25px 30px 10px}.game-intro h3{font:1.8rem Georgia}.game-intro .eyebrow{display:block;margin-top:10px}.game-intro p{color:#bbcadd}.game-board{padding:10px 30px;min-height:240px}.game-actions{padding:20px 30px;display:flex;justify-content:space-between;gap:12px}.game-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.game-tiles.four{grid-template-columns:repeat(4,1fr)}.game-tile{background:#152840;color:#edf4ff;border:1px solid #506888;min-height:70px;padding:14px;cursor:pointer;font:16px Arial;border-radius:8px}.game-tile span,.game-tile strong{display:block;margin:6px 0}.game-tile:hover,.game-tile:focus-visible{outline:2px solid #b5d6ff;background:#24466b}.game-tile.selected{background:#305a79;border-color:#b6e7fa}.game-tile:disabled{opacity:.5;cursor:default}.memory-brief,.number-pattern{background:#162a43;padding:22px;text-align:center;font:1.3rem Georgia;margin-bottom:20px}.pair-list{display:grid;gap:10px}.pair-list label{display:flex;align-items:center;justify-content:space-between;gap:20px}.pair-list select{width:55%}.route-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.route-grid button{min-height:50px;padding:6px}.signal-track{position:relative;height:95px;background:#152136;border:1px solid #435e81;margin:40px 0;overflow:hidden}.signal-target{position:absolute;height:100%;background:#2d6390;border:2px solid #b8ddfa}.signal-pointer{position:absolute;top:22px;font-size:32px;transform:translateX(-50%)}#gameFeedback{padding:0 30px;color:#bcd9fc;min-height:24px}.game-finish{text-align:center;padding:60px 30px}.game-finish h3{font:3rem Georgia}.game-finish p{color:#bac8da}.learning-panel button:disabled{opacity:.5}.learn-message{color:#b9d6fa}button:focus-visible,a:focus-visible{outline:2px solid #b6d9ff;outline-offset:4px}@media(max-width:950px){.challenge-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.challenge-cards{grid-template-columns:1fr}.game-board,.game-intro{padding:16px}.game-tiles{grid-template-columns:repeat(2,1fr)}.game-tiles.four{grid-template-columns:repeat(4,1fr);gap:5px}.game-tiles.four .game-tile{padding:5px;font-size:12px}.game-actions{padding:16px}.learn-count{text-align:left;margin-top:15px}.route-grid .game-tile{font-size:12px}}

.student-controller{border:1px solid #647bac}.controller-tabs{display:flex;gap:12px;margin:20px 0}.controller-tabs [aria-pressed="true"]{background:#dce7ff;color:#101827}.student-controller .portal-shell{margin-top:20px}.student-controller progress{width:100%;accent-color:#92b5ff}.student-controller .record-list{max-height:360px;overflow:auto}.student-controller .pending-state{padding:40px 20px}

.major-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.earned-degrees{padding:20px;border:1px solid #34435c;border-radius:12px;margin:20px 0}.earned-degrees summary{cursor:pointer;font-weight:700}.phone-feed{width:min(100%,320px);height:440px;margin:auto;overflow-y:auto;scroll-snap-type:y mandatory;border:7px solid #34435c;border-radius:30px;background:#080e18}.phone-post{height:426px;box-sizing:border-box;padding:24px;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(150deg,#111d36,#243d58);border-bottom:1px solid #506080}.reel-visual{font-size:76px;text-align:center}.phone-post h4{margin:4px 0}.phone-post p{font-size:14px}.case-choices{display:grid;gap:12px}.case-choices .game-tile{min-height:65px;text-align:left;padding:18px}.learning-panel .track-summary progress{width:100%}
