@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Inter:wght@300;400;500;600&family=Spectral:ital,wght@0,400;0,500;1,400&display=swap');

:root{
  --bg:#05070b;
  --bg-deep:#030407;
  --panel:#0d1118;
  --panel-soft:#121824;
  --panel-warm:#17150f;
  --ink:#f4eedf;
  --ink-soft:#d4ccbb;
  --muted:#918b80;
  --gold:#d5b96d;
  --gold-bright:#f0d795;
  --gold-dim:#776640;
  --line:rgba(213,185,109,.17);
  --line-strong:rgba(213,185,109,.38);
  --red:#b65252;
  --red-soft:#e18a80;
  --shadow:0 24px 80px rgba(0,0,0,.44);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 50% -15%,rgba(84,95,125,.22),transparent 32%),
    radial-gradient(circle at 12% 35%,rgba(116,89,43,.08),transparent 28%),
    radial-gradient(circle at 90% 62%,rgba(42,58,88,.08),transparent 30%),
    linear-gradient(180deg,#090c12 0,#05070b 38%,#030407 100%);
  color:var(--ink);
  font-family:Inter,system-ui,sans-serif;
  font-weight:400;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 49.8%,rgba(213,185,109,.025) 50%,transparent 50.2%),
    linear-gradient(0deg,transparent 49.8%,rgba(213,185,109,.018) 50%,transparent 50.2%);
  background-size:110px 110px;
  opacity:.55;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  box-shadow:inset 0 0 180px rgba(0,0,0,.75);
}
.veil{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.85) 0 0.65px,transparent .8px),
    radial-gradient(circle,rgba(213,185,109,.85) 0 .55px,transparent .75px);
  background-size:31px 31px,73px 73px;
  background-position:0 0,17px 11px;
  mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.65) 48%,transparent 93%);
}

::selection{background:rgba(213,185,109,.28);color:#fff8e8}
a{transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}

header{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:72px;
  padding:0 5vw;
  background:rgba(4,6,10,.78);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(20px) saturate(125%);
  box-shadow:0 12px 35px rgba(0,0,0,.18);
}
header::after{
  content:"";
  position:absolute;
  left:5vw;
  right:5vw;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-dim),transparent);
  opacity:.6;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:Cinzel,serif;
  color:var(--gold-bright);
  text-decoration:none;
  font-weight:700;
  letter-spacing:.22em;
  font-size:.98rem;
  text-shadow:0 0 20px rgba(213,185,109,.15);
}
.sigil{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-right:0;
  color:var(--gold-bright);
  border:1px solid var(--line-strong);
  transform:rotate(45deg);
  font-size:.68rem;
  box-shadow:inset 0 0 15px rgba(213,185,109,.05);
}
.sigil::first-letter{transform:rotate(-45deg)}
nav{display:flex;align-items:center;gap:6px}
nav a{
  position:relative;
  padding:11px 12px;
  color:#c8c2b6;
  text-decoration:none;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-radius:2px;
}
nav a::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:6px;
  height:1px;
  transform:scaleX(0);
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transition:transform .2s ease;
}
nav a:hover{color:var(--gold-bright);background:rgba(213,185,109,.035)}
nav a:hover::after{transform:scaleX(1)}
.restricted-link{color:#d9857d}
.restricted-link:hover{color:#ffafa4}
#menuBtn{display:none;background:none;border:1px solid var(--line);color:var(--gold-bright);font-size:1.15rem;padding:7px 10px}

main{min-height:82vh}
.hero{
  position:relative;
  min-height:78vh;
  display:flex;
  align-items:center;
  padding:9vw 8vw 10vw;
  isolation:isolate;
  overflow:hidden;
}
.hero::before{
  content:"✦";
  position:absolute;
  right:7vw;
  top:50%;
  z-index:-1;
  transform:translateY(-50%);
  font-family:Cinzel,serif;
  font-size:min(42vw,520px);
  line-height:1;
  color:transparent;
  -webkit-text-stroke:1px rgba(213,185,109,.075);
  opacity:.9;
}
.hero::after{
  content:"";
  position:absolute;
  left:8vw;
  bottom:5vw;
  width:min(480px,55vw);
  height:1px;
  background:linear-gradient(90deg,var(--gold-dim),transparent);
}
.hero>div{position:relative;max-width:940px}
.eyebrow{
  color:var(--gold);
  letter-spacing:.24em;
  text-transform:uppercase;
  font-size:.7rem;
  font-weight:600;
}
.eyebrow::before{content:"◇";margin-right:9px;color:var(--gold-dim)}
.hero h1{
  font-family:Cinzel,serif;
  font-size:clamp(4.1rem,11.7vw,10.5rem);
  line-height:.8;
  margin:.2em 0 .17em;
  color:#f5eedc;
  letter-spacing:-.045em;
  text-shadow:0 2px 0 #715d32,0 0 65px rgba(213,185,109,.09),0 18px 60px rgba(0,0,0,.45);
}
.hero h2{
  position:relative;
  display:inline-block;
  font-family:Spectral,serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(1.35rem,2.6vw,2.25rem);
  color:#dccb9d;
  margin:.2rem 0 1rem;
}
.hero p{
  max-width:740px;
  margin-top:18px;
  color:#bfb8aa;
  font-family:Spectral,serif;
  font-size:1.08rem;
  line-height:1.9;
}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{
  position:relative;
  padding:13px 19px;
  border:1px solid var(--line-strong);
  color:#f2e7c9;
  background:linear-gradient(180deg,rgba(55,47,26,.56),rgba(24,21,15,.75));
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.72rem;
  overflow:hidden;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.14);
}
.btn::before{
  content:"";
  position:absolute;
  inset:3px;
  border:1px solid rgba(213,185,109,.1);
  pointer-events:none;
}
.btn:hover{transform:translateY(-2px);border-color:rgba(240,215,149,.65);box-shadow:0 10px 30px rgba(0,0,0,.24),0 0 20px rgba(213,185,109,.05)}
.btn.secondary{background:rgba(9,12,18,.45);border-color:rgba(154,159,170,.24);color:#c8c2b6}
.btn.secondary:hover{border-color:rgba(213,185,109,.32);color:var(--gold-bright)}

.stats{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin:0 5vw;
  background:var(--line);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.stats::before,.stats::after{content:"✦";position:absolute;top:50%;transform:translateY(-50%);color:var(--gold-dim);font-size:.62rem;background:var(--bg);padding:6px}
.stats::before{left:-13px}.stats::after{right:-13px}
.stat{
  background:linear-gradient(145deg,rgba(17,22,31,.97),rgba(8,11,16,.97));
  padding:28px 30px;
  text-align:center;
}
.stat strong{display:block;font-family:Cinzel,serif;font-size:1.7rem;color:var(--gold-bright);font-weight:600}
.stat span{display:block;margin-top:7px;font-size:.67rem;color:var(--muted);text-transform:uppercase;letter-spacing:.13em}

.section{position:relative;padding:72px 5vw}
.section+.section{padding-top:50px}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}
.section h1,.section h2{font-family:Cinzel,serif;margin:.18em 0;color:#f0e8d6;font-weight:600}
.section h1{font-size:clamp(2.5rem,5.2vw,5.1rem);letter-spacing:-.025em}
.section h2{font-size:clamp(1.8rem,3vw,2.55rem)}
.section-head>div::after{
  content:"";
  display:block;
  width:120px;
  height:1px;
  margin-top:16px;
  background:linear-gradient(90deg,var(--gold),transparent);
  opacity:.55;
}
.lead{
  color:#b8b1a5;
  max-width:840px;
  line-height:1.82;
  font-family:Spectral,serif;
  font-size:1.05rem;
}
.toolbar{
  position:relative;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:28px 0 20px;
  padding:14px;
  background:rgba(11,15,22,.62);
  border:1px solid var(--line);
  box-shadow:inset 0 1px rgba(255,255,255,.02);
}
.toolbar input,.toolbar select{
  background:#080b10;
  color:#e9e2d4;
  border:1px solid rgba(213,185,109,.19);
  padding:12px 14px;
  min-width:220px;
  outline:none;
  font:inherit;
}
.toolbar input:focus,.toolbar select:focus{border-color:rgba(213,185,109,.55);box-shadow:0 0 0 3px rgba(213,185,109,.055)}
.toolbar input::placeholder{color:#716e68}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(245px,1fr));
  gap:16px;
  margin-top:17px;
}
.card{
  position:relative;
  min-height:205px;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(213,185,109,.025),transparent 36%),
    linear-gradient(180deg,#121722,#090c12);
  border:1px solid rgba(213,185,109,.13);
  box-shadow:inset 0 1px rgba(255,255,255,.02),0 14px 35px rgba(0,0,0,.12);
  transition:.25s ease;
}
.card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:42px;
  height:42px;
  border-top:1px solid rgba(213,185,109,.48);
  border-left:1px solid rgba(213,185,109,.48);
  pointer-events:none;
}
.card::after{
  content:"◇";
  position:absolute;
  right:14px;
  bottom:12px;
  color:rgba(213,185,109,.23);
  font-size:.73rem;
  pointer-events:none;
}
.card:hover{
  transform:translateY(-4px);
  border-color:rgba(213,185,109,.43);
  background:
    linear-gradient(135deg,rgba(213,185,109,.055),transparent 40%),
    linear-gradient(180deg,#161c28,#0b0e14);
  box-shadow:0 18px 46px rgba(0,0,0,.24),0 0 0 1px rgba(213,185,109,.035);
}
.card-body{padding:22px 21px 27px}
.card small{color:var(--gold);text-transform:uppercase;letter-spacing:.13em;font-size:.63rem;font-weight:600}
.card h3{font-family:Cinzel,serif;margin:.62em 0 .42em;font-size:1.14rem;line-height:1.28;color:#eee6d4}
.card p{color:#99958e;font-family:Spectral,serif;font-size:.91rem;line-height:1.62;margin-bottom:0}
.card a{position:absolute;inset:0;z-index:2}
.card:hover h3{color:var(--gold-bright)}

.entry{
  position:relative;
  max-width:1080px;
  margin:auto;
  padding:72px 6vw 100px;
}
.entry::before{
  content:"";
  position:absolute;
  top:125px;
  left:6vw;
  right:6vw;
  height:1px;
  background:linear-gradient(90deg,var(--gold-dim),transparent 65%);
  opacity:.4;
}
.entry article{
  position:relative;
  margin-top:35px;
  padding:44px clamp(24px,5vw,64px) 48px;
  background:
    linear-gradient(135deg,rgba(213,185,109,.025),transparent 32%),
    rgba(10,14,20,.75);
  border:1px solid var(--line);
  box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.02);
}
.entry article::before,.entry article::after{
  content:"";
  position:absolute;
  width:34px;
  height:34px;
  pointer-events:none;
}
.entry article::before{top:9px;left:9px;border-top:1px solid var(--gold-dim);border-left:1px solid var(--gold-dim)}
.entry article::after{right:9px;bottom:9px;border-right:1px solid var(--gold-dim);border-bottom:1px solid var(--gold-dim)}
.entry h1{
  font-family:Cinzel,serif;
  font-size:clamp(2.6rem,5.3vw,5.25rem);
  line-height:1.02;
  margin:.18em 0 .38em;
  letter-spacing:-.032em;
  color:#f3ead6;
  text-wrap:balance;
}
.entry .meta{color:var(--gold);letter-spacing:.145em;text-transform:uppercase;font-size:.65rem;font-weight:600}
.prose{margin:34px auto 34px;max-width:820px}
.prose::before{
  content:"✦  ◇  ✦";
  display:block;
  margin:0 0 28px;
  color:rgba(213,185,109,.42);
  font-size:.62rem;
  letter-spacing:.8em;
  text-align:center;
}
.prose p{
  color:#cbc3b4;
  font-family:Spectral,Georgia,serif;
  font-size:1.03rem;
  line-height:1.92;
  margin:0 0 1.18em;
}
.prose p:first-child::first-letter{
  float:left;
  margin:.04em .11em 0 0;
  color:var(--gold-bright);
  font-family:Cinzel,serif;
  font-size:3.05em;
  line-height:.82;
}
.prose p strong{color:#e6d5aa}
.back{display:inline-flex;align-items:center;gap:8px;color:#aaa49b;text-decoration:none;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}
.back:hover{color:var(--gold-bright)}

.restricted-page{
  background:
    radial-gradient(circle at 82% 5%,rgba(102,25,26,.22),transparent 29%),
    radial-gradient(circle at 5% 62%,rgba(80,20,24,.09),transparent 24%);
}
.restricted-page .card{border-color:rgba(169,68,68,.28);background:linear-gradient(180deg,rgba(36,16,20,.65),rgba(10,9,13,.92))}
.restricted-page .card:hover{border-color:rgba(221,105,95,.55);box-shadow:0 18px 46px rgba(0,0,0,.25),0 0 25px rgba(139,45,45,.06)}
.restricted-page .card small,.restricted-page .meta{color:var(--red-soft)}
.restricted-page .eyebrow{color:var(--red-soft)}
.restricted-page article{border-color:rgba(168,63,63,.28);background:linear-gradient(140deg,rgba(92,28,29,.08),transparent 35%),rgba(14,10,14,.84)}
.restricted-page article::before,.restricted-page article::after{border-color:rgba(190,75,68,.48)}
.restricted-page .prose::before{color:rgba(208,94,84,.42)}

.empty{grid-column:1/-1;padding:52px;border:1px dashed rgba(213,185,109,.2);color:#77736b;text-align:center;font-family:Spectral,serif;background:rgba(9,12,18,.4)}

.college-strip{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:9px;
}
.college-tile{
  position:relative;
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:24px 12px;
  background:linear-gradient(145deg,rgba(19,24,33,.92),rgba(8,11,16,.95));
  border:1px solid var(--line);
  text-decoration:none;
  color:#aaa59c;
  text-align:center;
  overflow:hidden;
}
.college-tile::before{
  content:"◇";
  display:block;
  margin-bottom:13px;
  color:var(--gold-dim);
  font-size:.65rem;
}
.college-tile::after{
  content:"";
  position:absolute;
  left:22%;
  right:22%;
  bottom:0;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transition:transform .25s ease;
}
.college-tile strong{font-family:Cinzel,serif;display:block;color:#dcc98f;font-size:.9rem;letter-spacing:.035em}
.college-tile span{display:block;margin-top:6px;text-transform:uppercase;letter-spacing:.13em;font-size:.56rem;color:#77746f}
.college-tile:hover{transform:translateY(-3px);border-color:rgba(213,185,109,.38);background:linear-gradient(145deg,rgba(27,32,41,.98),rgba(11,14,20,.98))}
.college-tile:hover::after{transform:scaleX(1)}
.college-tile:hover strong{color:var(--gold-bright)}

footer{
  position:relative;
  padding:34px 5vw;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#716d65;
  font-size:.66rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  background:rgba(3,5,8,.55);
}
footer::before{content:"◇";position:absolute;left:50%;top:-8px;transform:translateX(-50%);padding:0 12px;background:#05070b;color:var(--gold-dim)}

@media(max-width:1100px){
  .college-strip{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:850px){
  header{min-height:64px;padding:0 5vw}
  #menuBtn{display:block}
  nav{display:none;position:absolute;top:64px;right:4vw;flex-direction:column;align-items:stretch;background:rgba(6,9,14,.98);border:1px solid var(--line-strong);padding:12px;width:220px;box-shadow:0 20px 50px rgba(0,0,0,.45)}
  nav.open{display:flex}
  nav a{padding:12px 14px}
  .hero{min-height:70vh;padding:90px 7vw 100px;text-align:center}
  .hero::before{right:50%;transform:translate(50%,-50%);opacity:.55}
  .hero::after{left:25%;right:25%;width:auto}
  .hero p{margin-left:auto;margin-right:auto}
  .actions{justify-content:center}
  .stats{grid-template-columns:1fr 1fr;margin:0 4vw}
  .section{padding:58px 5vw}
  .entry{padding:55px 4vw 80px}
  .entry::before{left:4vw;right:4vw}
}
@media(max-width:560px){
  .brand{font-size:.83rem;letter-spacing:.17em}
  .sigil{width:25px;height:25px}
  .hero{min-height:66vh;padding:78px 6vw 88px}
  .hero h1{font-size:clamp(3.6rem,20vw,6rem)}
  .hero p{font-size:1rem;line-height:1.78}
  .actions{flex-direction:column}
  .btn{text-align:center;width:100%}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:23px 12px}
  .stat strong{font-size:1.35rem}
  .section{padding:48px 5vw}
  .section-head{align-items:flex-start;flex-direction:column}
  .toolbar{padding:10px}
  .toolbar input,.toolbar select{width:100%;min-width:0}
  .grid{grid-template-columns:1fr}
  .college-strip{grid-template-columns:1fr 1fr}
  .college-tile{min-height:112px}
  .entry article{padding:34px 21px 40px}
  .entry h1{font-size:clamp(2.25rem,12vw,3.6rem)}
  .prose p{font-size:1rem;line-height:1.82}
  footer{flex-direction:column;text-align:center;align-items:center}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* =========================================================
   AETHERIS REALM THEMES — text-only, no image placements
   ========================================================= */
:root{
  --theme-bg:#050613;--theme-deep:#02030a;--theme-panel:#0c1022;
  --theme-panel2:#111833;--theme-primary:#8f79ff;--theme-secondary:#79d8ff;
  --theme-text:#f5f2ff;--theme-soft:#c7c4df;--theme-muted:#8f90ad;
  --theme-line:rgba(155,142,255,.24);--theme-glow:rgba(112,94,255,.22);
}
body[data-theme="galaxy"]{--theme-primary:#a58cff;--theme-secondary:#73d4ff;--theme-line:rgba(148,129,255,.23);--theme-glow:rgba(103,83,255,.22)}
body[data-theme="arcana"]{--theme-bg:#040915;--theme-deep:#02050d;--theme-panel:#081327;--theme-panel2:#101d35;--theme-primary:#e0bd5d;--theme-secondary:#f4dc8e;--theme-text:#fff8df;--theme-soft:#d8d4c9;--theme-muted:#9698a7;--theme-line:rgba(224,189,93,.30);--theme-glow:rgba(224,189,93,.16)}
body[data-theme="beastmaster"]{--theme-bg:#061009;--theme-deep:#020704;--theme-panel:#0b1a0f;--theme-panel2:#13251a;--theme-primary:#b17842;--theme-secondary:#d7a66a;--theme-text:#f6eee2;--theme-soft:#c8d1c3;--theme-muted:#8b9c8d;--theme-line:rgba(177,120,66,.33);--theme-glow:rgba(59,112,68,.22)}
body[data-theme="nightborne"]{--theme-bg:#0c0206;--theme-deep:#030104;--theme-panel:#19050b;--theme-panel2:#26070f;--theme-primary:#d52b48;--theme-secondary:#ff7185;--theme-text:#fff0f2;--theme-soft:#d5b7bd;--theme-muted:#9d7c84;--theme-line:rgba(213,43,72,.35);--theme-glow:rgba(190,18,50,.24)}
body[data-theme="verdant"]{--theme-bg:#04100c;--theme-deep:#020705;--theme-panel:#081d15;--theme-panel2:#102a1e;--theme-primary:#27b575;--theme-secondary:#f0ead7;--theme-text:#fbf8ec;--theme-soft:#cedbd2;--theme-muted:#8da397;--theme-line:rgba(64,183,126,.31);--theme-glow:rgba(36,171,109,.22)}
body[data-theme="aegis"]{--theme-bg:#030a17;--theme-deep:#01040a;--theme-panel:#07172e;--theme-panel2:#0d2240;--theme-primary:#2f78d8;--theme-secondary:#d8e1ed;--theme-text:#f4f8ff;--theme-soft:#cad5e4;--theme-muted:#899aae;--theme-line:rgba(99,158,231,.31);--theme-glow:rgba(34,108,210,.24)}
body[data-theme="astral"]{--theme-bg:#090417;--theme-deep:#030108;--theme-panel:#160b2d;--theme-panel2:#20113b;--theme-primary:#7651c9;--theme-secondary:#d9dce8;--theme-text:#f7f1ff;--theme-soft:#d2c9df;--theme-muted:#9a8eab;--theme-line:rgba(137,100,214,.34);--theme-glow:rgba(112,70,196,.27)}
body[data-theme="unshackled"]{--theme-bg:#040405;--theme-deep:#000;--theme-panel:#0b0b0d;--theme-panel2:#151014;--theme-primary:#b30f2d;--theme-secondary:#ef3d58;--theme-text:#f3edf0;--theme-soft:#c8b8bd;--theme-muted:#88767c;--theme-line:rgba(190,20,50,.38);--theme-glow:rgba(190,15,45,.26)}

body{
  background:
    radial-gradient(circle at 16% 12%,var(--theme-glow),transparent 24%),
    radial-gradient(circle at 82% 24%,color-mix(in srgb,var(--theme-secondary) 9%,transparent),transparent 23%),
    radial-gradient(circle at 55% 85%,color-mix(in srgb,var(--theme-primary) 10%,transparent),transparent 27%),
    linear-gradient(180deg,var(--theme-bg),var(--theme-deep));
  color:var(--theme-text);
  transition:background .35s ease,color .35s ease;
}
body::before{
  background:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.8) 0 .65px,transparent .85px),
    radial-gradient(circle at 70% 36%,color-mix(in srgb,var(--theme-secondary) 70%,white) 0 .55px,transparent .8px),
    radial-gradient(circle at 33% 73%,color-mix(in srgb,var(--theme-primary) 76%,white) 0 .6px,transparent .82px);
  background-size:67px 67px,113px 113px,157px 157px;
  opacity:.32;
}
body[data-theme="unshackled"]::before{
  background:
    repeating-linear-gradient(135deg,transparent 0 54px,rgba(190,15,45,.025) 55px 56px),
    radial-gradient(circle at 50% 14%,rgba(179,15,45,.14),transparent 24%);
  opacity:1;
}
.veil{opacity:.16;background-image:radial-gradient(circle,rgba(255,255,255,.72) 0 .55px,transparent .8px),radial-gradient(circle,var(--theme-primary) 0 .5px,transparent .75px);background-size:37px 37px,97px 97px}
body[data-theme="unshackled"] .veil{background-image:linear-gradient(90deg,transparent 49.85%,rgba(179,15,45,.10) 50%,transparent 50.15%);background-size:140px 100%;opacity:.55}
header{background:color-mix(in srgb,var(--theme-deep) 86%,transparent);border-bottom-color:var(--theme-line)}
header::after{background:linear-gradient(90deg,transparent,var(--theme-primary),transparent)}
.brand,.sigil{color:var(--theme-secondary)}
.sigil{border-color:var(--theme-line);box-shadow:0 0 18px var(--theme-glow),inset 0 0 15px var(--theme-glow)}
nav a:hover{color:var(--theme-secondary);background:color-mix(in srgb,var(--theme-primary) 7%,transparent)}
nav a::after{background:linear-gradient(90deg,transparent,var(--theme-primary),transparent)}
.eyebrow{color:var(--theme-primary)}
.eyebrow::before{color:var(--theme-secondary)}
.section h1,.section h2,.entry h1{color:var(--theme-text)}
.lead{color:var(--theme-soft)}
.toolbar{background:color-mix(in srgb,var(--theme-panel) 78%,transparent);border-color:var(--theme-line)}
.toolbar input,.toolbar select{background:color-mix(in srgb,var(--theme-deep) 88%,black);color:var(--theme-text);border-color:var(--theme-line)}
.toolbar input:focus,.toolbar select:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-glow)}
.back{color:var(--theme-secondary)}

.galaxy-hero::before{color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--theme-primary) 16%,transparent)}
.galaxy-hero h1{background:linear-gradient(115deg,#fff 15%,#b8c8ff 38%,#d5aaff 62%,#80d8ff 85%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 70px rgba(119,93,255,.20)}
.galaxy-hero h2{color:#c9c1f4}
.hero-orbit{position:absolute;border:1px solid rgba(169,151,255,.10);border-radius:50%;pointer-events:none}
.orbit-one{width:520px;height:520px;right:-120px;top:70px;transform:rotate(28deg)}
.orbit-two{width:310px;height:310px;right:80px;top:180px;transform:rotate(-18deg);border-color:rgba(104,207,255,.10)}
.hero-content{z-index:2}

.btn{border-color:var(--theme-line);background:linear-gradient(180deg,color-mix(in srgb,var(--theme-primary) 15%,var(--theme-panel)),var(--theme-panel));color:var(--theme-text)}
.btn:hover{border-color:var(--theme-primary);box-shadow:0 0 28px var(--theme-glow)}
.stats{background:var(--theme-line);border-color:var(--theme-line)}
.stat{background:linear-gradient(145deg,var(--theme-panel2),var(--theme-panel))}
.stat strong{color:var(--theme-secondary)}

.college-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.college-grid.large{margin-top:44px;gap:20px}
.college-tile{
  --tile-primary:#a58cff;--tile-secondary:#73d4ff;--tile-bg:#0b1022;
  min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;
  padding:26px;border:1px solid color-mix(in srgb,var(--tile-primary) 38%,transparent);
  background:radial-gradient(circle at 80% 15%,color-mix(in srgb,var(--tile-primary) 20%,transparent),transparent 32%),linear-gradient(145deg,color-mix(in srgb,var(--tile-bg) 94%,black),#05070d);
  text-decoration:none;color:#fff;box-shadow:0 18px 44px rgba(0,0,0,.20);transition:.28s ease;
}
.college-tile::before{content:"";position:absolute;inset:10px;border:1px solid color-mix(in srgb,var(--tile-secondary) 12%,transparent);pointer-events:none}
.college-tile::after{content:"";position:absolute;width:170px;height:170px;border:1px solid color-mix(in srgb,var(--tile-primary) 13%,transparent);border-radius:50%;right:-55px;top:-55px;box-shadow:0 0 0 22px color-mix(in srgb,var(--tile-primary) 3%,transparent),0 0 0 48px color-mix(in srgb,var(--tile-primary) 2%,transparent)}
.college-tile:hover{transform:translateY(-5px);border-color:var(--tile-secondary);box-shadow:0 24px 60px rgba(0,0,0,.28),0 0 30px color-mix(in srgb,var(--tile-primary) 16%,transparent)}
.college-tile.arcana{--tile-primary:#d6b24e;--tile-secondary:#f1d579;--tile-bg:#06132d}
.college-tile.beastmaster{--tile-primary:#a86f3b;--tile-secondary:#d5a068;--tile-bg:#0c2313}
.college-tile.nightborne{--tile-primary:#c41f3b;--tile-secondary:#f05b70;--tile-bg:#180309}
.college-tile.verdant{--tile-primary:#25a86d;--tile-secondary:#f0ead7;--tile-bg:#07251a}
.college-tile.aegis{--tile-primary:#2c75d4;--tile-secondary:#d7e0ec;--tile-bg:#061735}
.college-tile.astral{--tile-primary:#7351c6;--tile-secondary:#d9dce8;--tile-bg:#16082d}
.college-mark{position:absolute;right:25px;top:22px;color:var(--tile-secondary);font-size:1.2rem;text-shadow:0 0 18px var(--tile-primary)}
.college-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;color:color-mix(in srgb,var(--tile-secondary) 76%,#bbb);margin-bottom:5px}
.college-tile strong{font-family:Cinzel,serif;font-size:clamp(1.55rem,3vw,2.5rem);letter-spacing:.02em;color:var(--tile-secondary)}
.college-tile em{font-family:Spectral,serif;font-size:.9rem;color:#b9b6b7;margin-top:8px}

.college-hero{min-height:68vh;padding:120px 7vw 86px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;border-bottom:1px solid var(--theme-line)}
.college-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 35%,var(--theme-glow),transparent 26%),linear-gradient(130deg,color-mix(in srgb,var(--theme-primary) 8%,transparent),transparent 40%)}
.college-hero::after{content:"";position:absolute;width:480px;height:480px;border:1px solid var(--theme-line);border-radius:50%;right:-80px;top:40px;box-shadow:0 0 0 42px color-mix(in srgb,var(--theme-primary) 3%,transparent),0 0 0 96px color-mix(in srgb,var(--theme-primary) 2%,transparent)}
.college-hero>*{position:relative;z-index:2}
.college-hero h1{font-family:Cinzel,serif;font-size:clamp(4rem,11vw,9.5rem);line-height:.88;margin:.12em 0;color:var(--theme-secondary);text-shadow:0 0 42px var(--theme-glow)}
.college-hero blockquote{font-family:Spectral,serif;font-style:italic;font-size:clamp(1.2rem,2.4vw,1.9rem);margin:10px 0 24px;color:var(--theme-soft);border-left:2px solid var(--theme-primary);padding-left:18px}
.college-crest-text{position:absolute!important;right:9vw;top:50%;transform:translateY(-52%);font-family:Cinzel,serif;font-size:min(37vw,480px);line-height:1;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--theme-secondary) 11%,transparent);opacity:.8}
.college-colors{display:flex;align-items:center;gap:14px;color:var(--theme-soft);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em}
.college-colors span{display:block;width:54px;height:1px;background:var(--theme-primary)}
.record-count{color:var(--theme-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}
.themed-section{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-panel) 20%,transparent),transparent 24%)}

.card{background:linear-gradient(145deg,color-mix(in srgb,var(--theme-primary) 3%,var(--theme-panel2)),var(--theme-panel));border-color:var(--theme-line);box-shadow:0 14px 38px rgba(0,0,0,.16)}
.card::before{border-color:color-mix(in srgb,var(--theme-primary) 58%,transparent)}
.card::after{color:color-mix(in srgb,var(--theme-secondary) 30%,transparent)}
.card small{color:var(--theme-primary)}
.card h3{color:var(--theme-text)}
.card p{color:var(--theme-muted)}
.card:hover{border-color:var(--theme-primary);background:linear-gradient(145deg,color-mix(in srgb,var(--theme-primary) 8%,var(--theme-panel2)),var(--theme-panel));box-shadow:0 20px 52px rgba(0,0,0,.26),0 0 26px var(--theme-glow)}
.card:hover h3{color:var(--theme-secondary)}
.college-card.arcana{--card-accent:#d6b24e}.college-card.beastmaster{--card-accent:#a86f3b}.college-card.nightborne{--card-accent:#c41f3b}.college-card.verdant{--card-accent:#25a86d}.college-card.aegis{--card-accent:#2c75d4}.college-card.astral{--card-accent:#7351c6}
.college-card{border-left:2px solid var(--card-accent,var(--theme-primary))}
.unshackled-card{border-left:2px solid #b30f2d;background:linear-gradient(145deg,rgba(179,15,45,.045),#0b0b0d)}

.entry{padding:76px 5vw 110px;max-width:1200px;margin:auto}
.entry article{position:relative;margin-top:30px;padding:clamp(30px,5vw,68px);background:linear-gradient(145deg,color-mix(in srgb,var(--theme-primary) 4%,var(--theme-panel2)),var(--theme-panel));border:1px solid var(--theme-line);box-shadow:0 28px 90px rgba(0,0,0,.32),0 0 45px var(--theme-glow)}
.entry article::before,.entry article::after{content:"";position:absolute;width:72px;height:72px;pointer-events:none}.entry article::before{left:13px;top:13px;border-left:1px solid var(--theme-primary);border-top:1px solid var(--theme-primary)}.entry article::after{right:13px;bottom:13px;border-right:1px solid var(--theme-primary);border-bottom:1px solid var(--theme-primary)}
.entry h1{font-size:clamp(2.5rem,6vw,5.8rem);line-height:.98;margin:.18em 0 .34em;font-family:Cinzel,serif;color:var(--theme-secondary)}
.entry-rule{width:180px;height:1px;background:linear-gradient(90deg,var(--theme-primary),transparent);margin:24px 0 34px}
.meta{color:var(--theme-primary)}
.prose p{color:var(--theme-soft)}
.source-line{border-top:1px solid var(--theme-line);padding-top:22px;margin-top:38px}

body[data-theme="unshackled"] .restricted-page h1,body[data-theme="unshackled"] .entry h1{color:#f2e8eb;text-shadow:0 0 30px rgba(190,15,45,.20)}
body[data-theme="unshackled"] .restricted-page .eyebrow{color:#d92b48}
body[data-theme="unshackled"] .restricted-page::before{content:"TRUTH LIVES BENEATH";position:fixed;right:-52px;top:48%;transform:rotate(90deg);font-family:Cinzel,serif;letter-spacing:.32em;font-size:.58rem;color:rgba(220,35,66,.18);pointer-events:none}
body[data-theme="unshackled"] .card{background:linear-gradient(155deg,rgba(179,15,45,.055),#0a0a0c 50%,#050506);border-color:rgba(179,15,45,.27)}
body[data-theme="unshackled"] .card:hover{border-color:#b30f2d;box-shadow:0 20px 52px rgba(0,0,0,.35),0 0 28px rgba(179,15,45,.16)}

footer{border-top-color:var(--theme-line);color:var(--theme-muted);background:color-mix(in srgb,var(--theme-deep) 88%,transparent)}

@media(max-width:900px){.college-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.college-hero{min-height:56vh}.college-crest-text{right:2vw}}
@media(max-width:620px){.college-grid{grid-template-columns:1fr}.college-tile{min-height:180px}.college-hero{padding:100px 6vw 64px}.college-hero h1{font-size:clamp(3rem,17vw,5.3rem)}.college-crest-text{font-size:70vw;right:-12vw}.college-colors span{width:28px}.orbit-one,.orbit-two{display:none}}
