@keyframes directory-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes directory-fade-in{0%{opacity:0}to{opacity:1}}.directory-shell,.directory-bg{background:radial-gradient(ellipse 120% 60% at 50% -20%, color-mix(in oklab, var(--brand) 14%, transparent), transparent 60%), radial-gradient(ellipse 70% 45% at 15% -5%, color-mix(in oklab, var(--info) 9%, transparent), transparent 55%), radial-gradient(ellipse 60% 40% at 85% -5%, color-mix(in oklab, var(--brand) 7%, transparent), transparent 50%), linear-gradient(180deg, var(--canvas-muted) 0%, var(--canvas) 45%, var(--canvas) 100%)}.directory-shell,.directory-tokens{--directory-ink:var(--ink);--directory-muted:var(--ink-muted);--directory-accent:var(--brand);--directory-surface:color-mix(in oklab, var(--card) 78%, transparent);--directory-surface-solid:var(--card);--directory-line:color-mix(in oklab, var(--ink) 10%, transparent)}.directory-shell{min-height:calc(100vh - 4rem);color:var(--directory-ink);position:relative;overflow:hidden}.directory-shell:before{content:"";pointer-events:none;background:linear-gradient(90deg, transparent 0%, color-mix(in oklab, var(--brand) 45%, transparent) 50%, transparent 100%);height:1px;position:absolute;inset:0 0 auto}.dark .directory-shell,.dark .directory-tokens{--directory-surface:color-mix(in oklab, var(--card) 82%, transparent);--directory-surface-solid:var(--card);--directory-line:color-mix(in oklab, var(--ink) 10%, transparent)}.dark .directory-shell,.dark .directory-bg{background:radial-gradient(ellipse 120% 60% at 50% -20%, color-mix(in oklab, var(--brand) 12%, transparent), transparent 60%), radial-gradient(ellipse 70% 45% at 15% -5%, color-mix(in oklab, var(--info) 8%, transparent), transparent 55%), linear-gradient(180deg, var(--canvas-muted) 0%, var(--canvas) 45%, var(--canvas) 100%)}.directory-fade-up{animation:directory-fade-up .7s var(--ease-out) both}.directory-fade-up-delay-1{animation:directory-fade-up .7s var(--ease-out) 80ms both}.directory-fade-up-delay-2{animation:directory-fade-up .7s var(--ease-out) .16s both}.directory-results-fetching{opacity:.6;transition:opacity var(--duration-ui) var(--ease-out)}.directory-expand-enter{transition:opacity var(--duration-ui) var(--ease-out)}@starting-style{.directory-expand-enter{opacity:0}}.directory-view-fade{transition:opacity .15s var(--ease-out)}@starting-style{.directory-view-fade{opacity:0}}.directory-filter-panel{border:1px solid var(--directory-line);background:var(--directory-surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffff8c}.dark .directory-filter-panel{box-shadow:inset 0 1px #ffffff0a}.directory-uni-card{border:1px solid var(--directory-line);background:var(--directory-surface-solid);box-shadow:0 1px 2px color-mix(in oklab, var(--ink) 4%, transparent);transition:transform var(--duration-press) var(--ease-out), border-color .22s ease, box-shadow .22s ease}.directory-uni-card:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.directory-uni-card:hover{border-color:color-mix(in oklab, var(--directory-accent) 35%, var(--directory-line));box-shadow:0 10px 28px color-mix(in oklab, var(--ink) 8%, transparent), 0 0 0 1px color-mix(in oklab, var(--directory-accent) 12%, transparent);transform:translateY(-2px)}.directory-uni-card:hover:active{transform:translateY(-2px)scale(.98)}.dark .directory-uni-card:hover{box-shadow:0 12px 32px #00000059, 0 0 0 1px color-mix(in oklab, var(--directory-accent) 22%, transparent)}}.dark .directory-uni-card{box-shadow:0 1px 2px #00000040}.directory-rank-badge{color:var(--directory-accent);background:color-mix(in oklab, var(--directory-accent) 10%, transparent);border:1px solid color-mix(in oklab, var(--directory-accent) 22%, transparent)}.directory-medallion{color:var(--directory-accent);background:color-mix(in oklab, var(--directory-accent) 12%, transparent);border:1px solid color-mix(in oklab, var(--directory-accent) 26%, transparent);box-shadow:0 1px 2px color-mix(in oklab, var(--directory-accent) 14%, transparent)}.directory-detail-panel{border:1px solid var(--directory-line);background:var(--directory-surface-solid);box-shadow:0 1px 2px color-mix(in oklab, var(--ink) 4%, transparent);border-radius:1rem}.dark .directory-detail-panel{box-shadow:0 1px 2px #00000040}.directory-kpi-card{border:1px solid var(--directory-line);background:var(--directory-surface-solid);box-shadow:0 1px 2px color-mix(in oklab, var(--ink) 4%, transparent);border-radius:.875rem;padding:1rem 1.125rem}.dark .directory-kpi-card{box-shadow:0 1px 2px #00000040}.directory-kpi-label{letter-spacing:.14em;text-transform:uppercase;color:var(--directory-muted);font-size:.62rem;font-weight:600}.directory-kpi-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--directory-ink);font-size:1.25rem;font-weight:600;font-family:var(--font-display)}.directory-chart-wrap{width:100%;min-height:220px}.directory-program-chip{border:1px solid var(--directory-line);background:color-mix(in oklab, var(--directory-accent) 6%, var(--directory-surface-solid));color:var(--directory-ink);border-radius:9999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.78rem;display:inline-flex}.directory-program-chip-degrees{color:var(--directory-muted)}.directory-detail-table{border-collapse:collapse;width:100%;font-size:.875rem}.directory-detail-table th,.directory-detail-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--directory-line);padding:.65rem 1rem}.directory-detail-table tr:last-child th,.directory-detail-table tr:last-child td{border-bottom:none}.directory-detail-table th{width:40%;color:var(--directory-ink);background:color-mix(in oklab, var(--directory-accent) 4%, transparent);font-weight:500}.directory-detail-table td{color:var(--directory-muted)}.directory-detail-table thead th{letter-spacing:.08em;text-transform:uppercase;color:var(--directory-muted);background:color-mix(in oklab, var(--directory-accent) 6%, transparent);font-size:.7rem;font-weight:600}@media (prefers-reduced-motion:reduce){.directory-fade-up,.directory-fade-up-delay-1,.directory-fade-up-delay-2{animation:directory-fade-in var(--duration-ui) var(--ease-out) both}.directory-uni-card{transition:border-color var(--duration-ui) ease, box-shadow var(--duration-ui) ease}.directory-uni-card:hover{transform:none}}
