@font-face{font-family:"Vazirmatn Booklets";src:url("/fonts/vazirmatn-arabic.woff2") format("woff2-variations");font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:light;font-family:"Vazirmatn Booklets",var(--font)}
*{box-sizing:border-box}
body{margin:0;background:var(--mesh);color:var(--ink);font-size:16px;line-height:1.75;overflow-x:hidden}
a{color:inherit}
h1,h2,h3,h4{margin:0}
.skip-link{position:fixed;z-index:99;top:8px;right:8px;padding:8px 12px;background:var(--ink);color:var(--on-dark);border-radius:var(--radius-tile);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.topbar,.intro,.desk,.foot{width:min(1120px,calc(100% - 32px));margin-inline:auto}

/* The admissions shell's top bar, same markup and look as /admissions/ */
.topbar{min-height:72px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line-warm)}
.brand{display:flex;align-items:center;min-height:44px;gap:11px;text-decoration:none;white-space:nowrap}
.brand-mark{inline-size:32px;block-size:32px;border:8px solid var(--orange);border-radius:50% 50% 50% 7px;transform:rotate(-35deg);box-shadow:inset 0 0 0 3px var(--surface)}
.brand>span:last-child{display:flex;flex-direction:column;line-height:1.2}
.brand strong{font-size:var(--fs-h4);font-weight:var(--w-bold)}
.brand small{margin-top:4px;color:var(--muted);font-size:var(--fs-micro)}
.site-links{display:flex;align-items:center;gap:4px;margin-inline:auto}
.site-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-pill);text-decoration:none;color:var(--ink-2);font-size:var(--fs-ui);font-weight:var(--w-medium);white-space:nowrap}
.site-links a:hover{color:var(--action)}
.site-links a[aria-current]{border-color:var(--orange-line);background:var(--surface);color:var(--action);font-weight:var(--w-semibold)}
.topbar-action{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 18px;border-radius:var(--radius-control);background:var(--grad-cta);color:var(--cta-ink);box-shadow:var(--shadow-cta);text-decoration:none;font-size:var(--fs-ui);font-weight:var(--w-semibold);white-space:nowrap}
.topbar-action:hover{background:var(--grad-cta-hover)}
@media (max-width:1000px){.site-links{display:none}.topbar-action{margin-inline-start:auto}}
@media (max-width:520px){.topbar{min-height:60px;gap:12px}.topbar,.intro,.desk,.foot{width:calc(100% - 24px)}.topbar-action{padding:0 14px}}

/* Intro: the search comes first */
.intro{padding:24px 0 6px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.intro-text{display:flex;flex-direction:column;gap:10px;min-inline-size:0}
.intro h1{font-size:clamp(24px,4.4vw,40px);line-height:1.25;letter-spacing:-.01em}
.intro h1 em{font-style:normal;color:var(--action)}
.lede{max-width:620px;color:var(--ink-2);margin:0;font-size:15px}
.finder{position:relative;margin-top:4px}
.finder-list{position:absolute;z-index:8;inset-inline:0;top:calc(100% + 6px);list-style:none;margin:0;padding:6px;background:var(--surface);border:1px solid var(--line-warm);border-radius:var(--radius-panel);box-shadow:var(--shadow-float);max-block-size:min(60vh,420px);overflow:auto}
.finder-list li{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:6px 12px;border-radius:var(--radius-control);cursor:pointer}
.finder-list li:hover,.finder-list li[aria-selected="true"]{background:var(--orange-tint)}
.finder-list b{font-size:14px;line-height:1.4}
.finder-list small{font-size:12px;color:var(--muted)}
.quick{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-block:2px;margin-inline:-2px;padding-inline:2px}
.quick::-webkit-scrollbar{display:none}
.quick>*{flex:0 0 auto}
.years{margin:0;padding:14px 16px;background:var(--surface);border:1px solid var(--line-warm);border-radius:var(--radius-panel);box-shadow:var(--shadow-card);align-self:end;min-inline-size:0}
.years figcaption{font-size:13px;font-weight:800;color:var(--ink-2);margin-bottom:6px}
.year{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:28px}
.year-label{font-size:13px;font-weight:800;color:var(--muted)}
.year-track{display:flex;block-size:12px;border-radius:var(--radius-pill);background:var(--ground-2);overflow:hidden}
.year-fill,.year-out{display:block;inline-size:var(--w);block-size:100%}
.year-fill.a{background:var(--energy-200)}
.year-fill.b{background:var(--ink)}
.year-out{background:repeating-linear-gradient(135deg,var(--orange-tint) 0 4px,var(--orange-line) 4px 7px)}
.year-n{font-variant-numeric:tabular-nums;font-size:15px;min-inline-size:68px;text-align:end}
.year-delta{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--ink-2)}
.year-out-key{margin:6px 0 0;display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.6;color:var(--muted)}
.key-out{flex:0 0 auto;margin-top:4px;inline-size:18px;block-size:10px;border-radius:var(--radius-pill);background:repeating-linear-gradient(135deg,var(--orange-tint) 0 4px,var(--orange-line) 4px 7px)}
.years-stats{list-style:none;padding:10px 0 0;margin:10px 0 0;border-top:1px solid var(--line-warm);display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--muted)}
.years-stats b{color:var(--ink);font-size:15px;font-variant-numeric:tabular-nums}
@media (min-width:860px){
  .intro{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:end;padding-top:36px}
  .quick{flex-wrap:wrap;overflow:visible}
}

/* Desk */
.desk{margin-top:18px;margin-bottom:28px;background:var(--surface);border:1px solid var(--line-warm);border-radius:var(--radius-section);padding:0 16px 16px;box-shadow:var(--shadow-card)}
/* The tab strip and the detail's back bar stick to the top while a long list scrolls. */
.desk-nav,.detail-top{position:sticky;top:0;z-index:6;margin-inline:-16px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line-warm);border-radius:var(--radius-section) var(--radius-section) 0 0}
.desk-nav{overflow-x:auto;scrollbar-width:none;margin-bottom:14px}
.desk-nav::-webkit-scrollbar{display:none}
.detail-top{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.detail-crumb{font-size:13px;color:var(--muted);font-weight:700}
@media (max-width:520px){
  .desk{width:100%;border-inline:0;border-radius:0;padding:0 12px 16px;box-shadow:none}
  .desk-nav,.detail-top{margin-inline:-12px;padding-inline:12px;border-radius:0}
}
.panel{display:flex;flex-direction:column;gap:12px}
.panel[hidden],.detail[hidden],.desk-nav[hidden]{display:none}
.note{margin:0;color:var(--muted);font-size:13px}
.block{display:flex;flex-direction:column;gap:10px;padding-top:6px}
.block h2{font-size:18px}
.block h3{font-size:14px;color:var(--ink-2);margin-bottom:6px}

/* Overview */
.spot-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.spot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pair-cols{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.pair-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pair-cols>div{min-inline-size:0}
.word-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.word-list>*{max-inline-size:100%;white-space:normal;block-size:auto;min-block-size:44px;text-align:start;line-height:1.5}
.limits ul,.outside ul{margin:6px 0 0;padding-inline-start:18px;font-size:13px;color:var(--ink-2)}
.limits ul{margin:0}

/* Controls */
.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.pick{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);flex:0 1 200px;min-inline-size:120px}
.pick.grow{flex:1 1 160px}
.filters{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.filters>*{max-inline-size:100%}
.filters .choice-row{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
.filters .choice-row::-webkit-scrollbar{display:none}
.filters .choice-row>*{flex:0 0 auto}
.choice-row{display:flex;flex-wrap:wrap;gap:6px}
.more{align-self:center}
.panel [aria-pressed]{min-block-size:44px}

/* Ledger lines: name, twin bars, delta */
.ledger-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38%) 96px;gap:10px;padding:0 12px;font-size:12px;color:var(--muted);font-weight:700}
.ledger-head>span:last-child{text-align:end}
.key-a,.key-b{display:inline-block;inline-size:12px;block-size:7px;border-radius:var(--radius-pill);margin-inline:4px 4px;vertical-align:middle}
.key-a{background:var(--energy-200)}
.key-b{background:var(--ink)}
.ledger{display:flex;flex-direction:column;gap:6px}
.line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38%) 96px;gap:10px;align-items:center;inline-size:100%;min-height:56px;padding:10px 12px;text-align:start;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line-warm);border-radius:var(--radius-tile)}
button.line{cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}
button.line:hover{border-color:var(--orange-line);background:var(--ground-2)}
button.line:focus-visible,.family:focus-visible,.finder-list li:focus-visible{outline:var(--focus-ring);outline-offset:2px}
.line-main{display:flex;flex-direction:column;min-inline-size:0}
.line-main b{font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.line-main small{font-size:12px;color:var(--muted);line-height:1.5}
.line-twin{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-inline-size:0}
.twin{display:grid;gap:3px}
.twin-a,.twin-b{display:block;inline-size:var(--w);block-size:7px;border-radius:var(--radius-pill)}
.twin-a{background:var(--energy-200)}
.twin-b{background:var(--ink)}
.twin-n{display:grid;font-size:11px;line-height:1.3;font-variant-numeric:tabular-nums;text-align:end}
.twin-n span:first-child{color:var(--muted)}
.delta{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.delta.up{background:var(--green-tint);color:var(--green-ink)}
.delta.down{background:var(--danger-tint);color:var(--danger-ink)}
.delta.flat{background:var(--ground-2);color:var(--muted)}
.line-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch}
.line-wrap.solo{grid-template-columns:minmax(0,1fr)}
.out{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-inline-size:56px;min-height:44px;padding:0 10px;font-size:12px;font-weight:800;color:var(--action);text-decoration:none;background:var(--ground-2);border:1px solid var(--line-warm);border-radius:var(--radius-tile)}
.out:hover{border-color:var(--orange-line)}
.out:focus-visible{outline:var(--focus-ring);outline-offset:2px}
@media (max-width:520px){
  .ledger-head{display:none}
  .line{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}
  .line-main{grid-column:1/-1}
  .line-twin{grid-column:1;grid-row:2}
  .line .delta{grid-column:2;grid-row:2}
}

/* Popular families */
.family-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.family{display:flex;flex-direction:column;gap:8px;min-height:44px;padding:14px;text-align:start;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line-warm);border-radius:var(--radius-tile);cursor:pointer}
.family:hover{border-color:var(--orange-line)}
.family-head{display:flex;justify-content:space-between;gap:8px;align-items:center}
.family-head b{font-size:15px}
.family small{font-size:12px;color:var(--muted)}
.family .twin-n{display:none}

/* Rules */
.rules{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.rule{padding:14px 16px;border:1px solid var(--line-warm);border-radius:var(--radius-tile);background:var(--surface)}
.rule h3{font-size:15px;margin-bottom:6px}
.rule dl{margin:0;display:grid;gap:6px}
.rule dl div{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px}
.rule dt{font-size:12px;font-weight:800;color:var(--muted)}
.rule dd{margin:0;font-size:14px}

/* Azad: three booklets, one list of majors that open onto their campuses */
.azad-intro{display:flex;flex-direction:column;gap:4px}
.azad-intro h2{font-size:18px}
.azad-intro a{color:var(--action);font-weight:700}
.azad-major{border:1px solid var(--line-warm);border-radius:var(--radius-tile);background:var(--surface)}
.azad-major[open]{border-color:var(--orange-line)}
.azad-major>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:56px;padding:10px 12px;cursor:pointer;list-style:none}
.azad-major>summary::-webkit-details-marker{display:none}
.azad-major>summary:hover{background:var(--ground-2);border-radius:var(--radius-tile)}
.azad-major>summary:focus-visible{outline:var(--focus-ring);outline-offset:2px}
.azad-sum-main{display:flex;flex-direction:column;min-inline-size:0}
.azad-sum-main b{font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.azad-sum-main small{font-size:12px;color:var(--muted);line-height:1.5}
.azad-sum-end{font-size:13px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;padding:4px 10px;border-radius:var(--radius-pill);background:var(--ground-2)}
.azad-body{padding:0 12px 12px;display:flex;flex-direction:column;gap:6px}
.azad-prov{font-size:13px;color:var(--ink-2);margin-top:8px}
.azad-prov small{color:var(--muted);font-weight:500}
.azad-places{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.azad-place{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 12px;border-radius:var(--radius-control);background:var(--ground-2)}
.azad-place-main{display:flex;flex-direction:column;gap:2px;min-inline-size:0}
.azad-place-main strong{font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.azad-place-main small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.azad-seats{display:flex;flex-direction:column;align-items:flex-end;text-align:end}
.azad-seats b{font-size:16px;font-variant-numeric:tabular-nums}
.azad-seats small{font-size:11px;color:var(--muted);white-space:nowrap}
.azad-weights{overflow-x:auto;margin-block:4px 8px}
.azad-weights table{border-collapse:collapse;min-inline-size:480px;inline-size:100%;font-size:13px}
.azad-weights th,.azad-weights td{padding:6px 8px;border-bottom:1px solid var(--line-warm);text-align:center;font-variant-numeric:tabular-nums}
.azad-weights thead th{font-size:12px;color:var(--muted);font-weight:700}
.azad-weights tbody th{text-align:start;font-weight:700}
.azad-weights:focus-visible{outline:var(--focus-ring);outline-offset:2px}
.rule p{margin:0;font-size:14px}
.choice-row>[hidden],.controls>[hidden]{display:none}
.azad-why{display:block;font-size:12px;line-height:1.6;color:var(--muted)}
.azad-limits{margin:0;padding-inline-start:18px;display:grid;gap:6px;font-size:13px;line-height:1.75}
@media (max-width:520px){.azad-place{grid-template-columns:minmax(0,1fr)}.azad-seats{align-items:flex-start;text-align:start}}

/* Row search */
.find{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
.find .pick{flex:none}
@media (min-width:760px){.find{grid-template-columns:1.4fr .7fr .7fr .8fr auto;align-items:end}}
.rows{display:flex;flex-direction:column;gap:8px}
.row-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 14px;background:var(--surface);border:1px solid var(--line-warm);border-radius:var(--radius-tile)}
.row-main{display:flex;flex-direction:column;gap:2px;min-inline-size:0}
.row-main strong{font-size:14px;line-height:1.45}
.row-main small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.row-marks{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.row-marks>*{max-inline-size:100%;white-space:normal;block-size:auto}

/* Detail */
.detail{display:flex;flex-direction:column;gap:14px;min-block-size:100vh}
.back{align-self:flex-start}
#detail-body{display:flex;flex-direction:column;gap:16px}
.d-head{display:flex;flex-direction:column;gap:6px}
.d-head h2{font-size:clamp(24px,4.6vw,36px);line-height:1.25;overflow-wrap:anywhere}
.d-head h2:focus{outline:none}
.d-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.d-years{padding:14px;background:var(--surface);box-shadow:var(--shadow-card);border:1px solid var(--line-warm);border-radius:var(--radius-panel)}
.d-next{display:flex;flex-wrap:wrap;gap:8px}
.d-sec{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--line-warm)}
.d-sec h3{font-size:18px;line-height:1.4}
.d-sec h4{font-size:14px;color:var(--ink-2);margin-top:4px}
.d-sec p{margin:0}
.d-profile,.d-facts{padding:16px;border:1px solid var(--line-warm);border-radius:var(--radius-panel);background:var(--surface-2)}
.myth{display:grid;gap:4px;padding:12px;border-radius:var(--radius-control);background:var(--surface);border:1px dashed var(--line-strong);font-size:14px}
.source{font-size:12px;color:var(--muted)}
.facts{margin:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.facts div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--surface);border-radius:var(--radius-control);border:1px solid var(--line-warm)}
.facts dt{font-size:12px;color:var(--muted)}
.facts dd{margin:0;font-size:16px;font-weight:800}
.facts small{font-size:11px;color:var(--muted)}
.d-split{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.split{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.split li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;padding:8px 10px;border-radius:var(--radius-control);background:var(--ground-2)}
.split span{font-size:13px}
.split b{font-variant-numeric:tabular-nums;font-size:14px}
.split small{grid-column:1/-1;font-size:11px;color:var(--muted)}

.foot{padding:8px 0 40px;font-size:12px;color:var(--muted)}
.foot p{margin:0;max-width:720px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.d-wait{display:flex;flex-direction:column;gap:10px}
@media (max-width:520px){.intro{padding-top:16px;gap:12px}.years{padding:12px 14px}.years-stats{display:none}}
