:root{--text:#f7faff;--muted:#c4d4ec;--surface:#19385f;--line:#46617e;--bg:linear-gradient(140deg,#124697,#0b192d);color-scheme:dark}html.light{--text:#172e4d;--muted:#4c6381;--surface:#fff;--line:#cdd9e7;--bg:#edf3fa;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px 'Prompt',Tahoma,sans-serif;min-height:100vh}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;text-decoration:none;cursor:pointer}button.primary{background:#ffbc00;color:#142541;border-color:#ffbc00}a{color:var(--text)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ffbc00;outline-offset:3px}.shell{display:flex;min-height:100vh;position:relative}aside{width:220px;flex-shrink:0;background:#0d2345;color:#fff;padding:28px 16px;border-right:1px solid #30496b}.brand{display:grid;justify-items:center;text-align:center;gap:16px;margin-bottom:32px}.brand img{width:82px;height:82px;object-fit:contain;background:#fff;border-radius:50%;padding:5px}aside nav a{display:flex;gap:14px;align-items:center;padding:14px 10px;border-radius:10px;text-decoration:none;color:#d0def0}aside nav a:first-child{color:#ffbc00;background:#25436a}main{min-width:0;flex:1;max-width:1250px;margin:0 auto;padding:28px 32px}.toolbar,.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.toolbar{margin-bottom:30px}h1{font:500 32px 'Kanit','Prompt',Tahoma,sans-serif;margin:8px 0}h2{font-size:19px;font-weight:500}p,dt,label{color:var(--muted)}.eyebrow{color:#ffbc00;font-size:12px;letter-spacing:2px}html.light .eyebrow{color:#846000}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;margin:20px 0;box-shadow:0 12px 32px #00000015}label{display:block;margin-bottom:7px}input,select{min-height:46px;width:100%;background:#fff;color:#173252;border:1px solid #bccbde;border-radius:9px;padding:10px 12px}select:disabled{opacity:.65}.query{display:flex;gap:12px}.query input{flex:1;min-width:0}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.controls label{margin:0}.controls select{width:auto}.alumni-list{width:100%;border-collapse:collapse;text-align:left}.alumni-list th{font-size:12px;font-weight:500;color:var(--muted);padding:12px 8px;border-bottom:1px solid var(--line)}.alumni-list td{padding:16px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.details{font-size:12px;padding:8px}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px}dl{display:grid;grid-template-columns:1fr 1fr;gap:24px}dd{margin:6px 0 0;font-weight:500}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;min-height:32px}footer{margin:32px 0 10px;text-align:center;font-size:12px}footer a{color:var(--muted)}.error{border-color:#e99595}.skip{position:absolute;left:8px;top:-100px;z-index:10;background:#fff;color:#142541;padding:12px}.skip:focus{top:8px}.collapsed aside{width:76px;padding:28px 10px}.collapsed .nav-label{display:none}.collapsed .brand img{width:48px;height:48px}.collapsed aside nav a{justify-content:center}.backdrop{display:none}[hidden]{display:none!important}
@media(max-width:1000px){.alumni-list thead{display:none}.alumni-list,.alumni-list tbody{display:block}.alumni-list tr{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding:16px 0}.alumni-list td{display:block;border:0;padding:0;font-size:13px}.alumni-list td.person{order:-1;width:100%;font-size:16px;font-weight:500}.alumni-list td:first-child{width:100%}.alumni-list td[data-label]:before{content:attr(data-label) ' ';color:var(--muted)}.alumni-list td:last-child{width:100%;margin-top:6px}}
@media(max-width:700px){main{padding:20px 16px}aside,.collapsed aside{display:none;position:absolute;inset:0 auto 0 0;width:220px;z-index:4;padding:28px 16px}.mobile-open aside{display:block}.mobile-open .nav-label{display:block}.mobile-open .brand img{width:82px;height:82px}.mobile-open aside nav a{justify-content:flex-start}.mobile-open .backdrop{display:block;position:absolute;inset:0;z-index:3;background:#0009;border:0;border-radius:0}.filters,dl{grid-template-columns:1fr}.panel{padding:18px}h1{font-size:27px}.query{flex-wrap:wrap}.query input{min-width:180px}input,select{font-size:16px}}
