/* UT Austin Field Guide: reports (/research/), department grade pages (/majors/) and ranked lists (/best/).
   Adapted from the Field Guides' v2 reports. Ink and grays only; the brand colour stays on the mark.
   Six sizes inside main: 44 (the answer), 28/26 (H1), 20 (H2), 16 (body), 14 (meta), 12 (micro).
   Radii 12 and 8, plus pills. Bar widths come from the generated w/x classes at the end (the site's CSP blocks inline styles). */
main.fg-rp{--ink:#1f1f1f;--ink-2:#3d3d3d;--muted:#6b6b6b;--line:#e8e8e8;--line-2:#dcdcdc;--well:#f6f6f4;
  box-sizing:border-box;max-width:1180px;margin:0 auto;padding:24px 40px 48px;color:var(--ink);font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
/* :where keeps the resets below the component rules that follow. */
.fg-rp :where(h1,h2,h3,h4,p,ul,ol){margin:0}
.fg-rp :where(ul,ol){padding:0;list-style:none}
.fg-rp a{color:inherit}
.rp-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Glance: title on the left, the answer card on the right (sticky); one column on phones */
.rp-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;column-gap:64px;align-items:start}
.rp-head{display:contents}
.rp-crumbs{grid-column:1;grid-row:1;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:14px;color:var(--muted)}
.rp-crumbs a{color:var(--muted);text-decoration:none}
.rp-crumbs a:hover{text-decoration:underline}
.rp-head h1{grid-column:1;grid-row:2;font-size:28px;line-height:1.15;letter-spacing:-.02em;font-weight:700;text-wrap:balance}
.rp-meta{grid-column:1;grid-row:3;margin-top:6px;color:var(--muted);font-size:14px;font-weight:500}
.rp-answer{grid-column:2;grid-row:1/span 4;position:sticky;top:24px;box-sizing:border-box;border:1px solid var(--line-2);border-radius:12px;padding:24px;background:#fff;box-shadow:0 6px 16px rgb(0 0 0/6%)}
.rp-main{grid-column:1;grid-row:4;min-width:0;margin-top:28px}
.rp-big{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.rp-big strong{font-size:44px;font-weight:800;letter-spacing:-.035em;line-height:1}
.rp-big span{font-size:16px;color:var(--ink-2)}
.rp-what{margin-top:8px;font-size:14px;font-weight:500;color:var(--muted)}
.rp-verdict{margin-top:16px}
.rp-vs{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.rp-vs p+p{margin-top:4px}
.rp-vs strong{font-weight:700}
.rp-caveat{margin-top:8px;font-size:14px;line-height:1.45;color:var(--muted)}
main.fg-rp a.rp-btn{display:flex;justify-content:center;align-items:center;min-height:48px;margin-top:20px;padding:0 18px;border-radius:8px;background:var(--ink);color:#fff;text-decoration:none;font-size:16px;font-weight:600}
main.fg-rp a.rp-btn:hover{background:#000}

/* Sections */
.rp-sec{padding-bottom:36px}
.rp-sec h2{font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-.01em;margin-bottom:16px}
.rp-sec h4,.rp-row-in h3{font-size:14px;font-weight:700;margin:20px 0 4px}
.rp-view-h{font-size:16px;font-weight:600;margin:24px 0 0}
.rp-view:first-of-type .rp-view-h{margin-top:0}

/* Safety chart: one stacked bar per year */
.rp-bars{display:grid;gap:12px}
.rp-bars li{display:grid;grid-template-columns:44px minmax(0,1fr) 36px;gap:12px;align-items:center}
.rp-y{font-size:14px;font-weight:500;color:var(--muted)}
.rp-hbar{display:block;height:28px}
.rp-hbar>span{display:block;height:100%;border-radius:999px;overflow:hidden}
.rp-hbar svg{display:block;width:100%;height:100%}
.rp-bars b{text-align:right;font-weight:700}
.s1{fill:#1f1f1f}.s2{fill:#6b6b6b}.s3{fill:#b5b5b5}.s4{fill:#dcdcdc}
.k1{background:#1f1f1f}.k2{background:#6b6b6b}.k3{background:#b5b5b5}.k4{background:#dcdcdc}
.rp-keys{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:14px;color:var(--ink-2)}
.rp-keys li{display:flex;align-items:center;gap:8px}
.rp-keys i{flex:none;width:10px;height:10px;border-radius:50%}

/* Chips, search and Show all */
.rp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
main.fg-rp button.rp-chip{min-height:44px;padding:0 16px;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--ink);font:600 14px/1 var(--gw-font,Figtree,system-ui,sans-serif);cursor:pointer}
main.fg-rp button.rp-chip:hover{border-color:var(--ink)}
main.fg-rp button.rp-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.rp-find{margin-bottom:16px}
.rp-find input{box-sizing:border-box;width:100%;min-height:48px;padding:0 20px;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--ink);font:500 16px/1 var(--gw-font,Figtree,system-ui,sans-serif)}
.rp-find input:hover{border-color:var(--ink)}
.rp-empty{margin:12px 0;font-size:14px;color:var(--ink-2)}
main.fg-rp button.rp-more{display:block;margin:24px auto 0;min-height:48px;padding:0 22px;border:1px solid var(--ink);border-radius:8px;background:#fff;color:var(--ink);font:600 16px/1 var(--gw-font,Figtree,system-ui,sans-serif);cursor:pointer}
main.fg-rp button.rp-more:hover{background:var(--well)}
.is-short>li:nth-child(n+11){display:none}

/* Count rows with a small bar */
.rp-counts li{display:grid;grid-template-columns:minmax(0,1fr) minmax(56px,30%) 64px;gap:12px;align-items:center;min-height:44px;padding:4px 0;border-bottom:1px solid var(--line)}
.rp-counts.rp-plain li{grid-template-columns:minmax(0,1fr) 64px}
.rp-mini{display:block;height:8px;border-radius:999px;background:var(--well);overflow:hidden}
.rp-mini i{display:block;height:100%;border-radius:999px;background:var(--ink-2)}
.rp-mini i.w0{display:none}
.rp-counts b{text-align:right;font-weight:700}

/* Grade bars: department and class rows on a 2.0 to 4.0 scale, with the UT average as a line */
.rp-axis{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin-bottom:8px;font-size:12px;font-weight:600;color:var(--muted)}
.rp-axis span{display:inline-flex;align-items:center;gap:8px}
.rp-axis-line{display:inline-block;width:2px;height:14px;background:var(--ink)}
.rp-dbars{border-top:1px solid var(--line)}
.rp-dbars li>:is(a,div){display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,34%) 48px;gap:16px;align-items:center;min-height:56px;padding:6px 0;border-bottom:1px solid var(--line);text-decoration:none}
.rp-dbars li>a:hover .rp-dn{text-decoration:underline;text-underline-offset:3px}
.rp-dn{min-width:0;font-weight:600}
.rp-dn span{font-weight:500}
.rp-dn small{display:block;font-size:14px;font-weight:500;color:var(--muted)}
.rp-dbars b{text-align:right;font-weight:700}
.rp-track{position:relative;display:block;height:10px;border-radius:999px;background:var(--well)}
.rp-track i{display:block;height:100%;border-radius:999px;background:#8a8a8a}
.rp-track::after{content:"";position:absolute;top:-5px;bottom:-5px;width:2px;margin-left:-1px;background:var(--ink)}

/* Closed detail rows */
.rp-rows{border-top:1px solid var(--line)}
.rp-row{border-bottom:1px solid var(--line)}
.rp-row summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:12px;align-items:center;min-height:60px;cursor:pointer}
.rp-row summary::-webkit-details-marker{display:none}
.rp-row-label{font-size:16px;font-weight:600}
.rp-row-sum{font-size:14px;color:var(--muted);text-align:right}
.rp-chev{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .15s}
.rp-row[open] .rp-chev{transform:rotate(180deg)}
.rp-row-in{padding:0 0 24px;line-height:1.55}
.rp-row-in>p+p,.rp-row-in .rp-table-wrap+p{margin-top:12px}
.rp-row-in h3:first-child{margin-top:0}
.rp-table-wrap{overflow-x:auto}
.rp-table{width:100%;border-collapse:collapse;font-size:14px}
.rp-table :is(th,td){padding:10px 0 10px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.rp-table :is(th[scope=row],thead th:first-child){padding-left:0;text-align:left;font-weight:500;white-space:normal}
.rp-table thead th{font-weight:700;color:var(--muted)}
.rp-help li{padding:12px 0;border-bottom:1px solid var(--line)}
.rp-help li:last-child{border-bottom:0}
.rp-help div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.rp-help div span{font-weight:600;text-align:right;white-space:nowrap}
.rp-help p{margin-top:4px;font-size:14px;color:var(--ink-2)}
.rp-mini-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:44px;padding:6px 0;border-bottom:1px solid var(--line)}
.rp-mini-list a{font-weight:600}
.rp-mini-list small{display:block;font-size:14px;color:var(--muted)}
.rp-mini-list b{font-weight:700}
.rp-links{display:grid;gap:4px;margin-top:12px;font-size:14px}
.rp-links a{display:inline-flex;align-items:center;min-height:44px}
.rp-actions{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:12px;font-size:14px;font-weight:600}
.rp-actions a{display:inline-flex;align-items:center;min-height:44px}
.rp-next{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:24px;font-size:14px;font-weight:600}
.rp-next a{display:inline-flex;align-items:center;min-height:44px}
main.fg-rp .guide-checked{width:auto;margin:20px 0 0;padding:0}

/* Ranked lists */
.rl-badge{display:inline-block;margin-bottom:12px;padding:4px 12px;border-radius:999px;background:var(--well);font-size:14px;font-weight:700}
.rl-top h2.rl-name{font-size:20px;line-height:1.25;font-weight:700;margin-bottom:4px}
.rl-top h2 a{text-decoration:none}
.rl-top h2 a:hover{text-decoration:underline;text-underline-offset:3px}
.rl-top .rp-big{margin-top:16px}
.rl-list{border-top:1px solid var(--line)}
.rl-list li{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:64px;padding:8px 0;border-bottom:1px solid var(--line)}
.rl-rank{font-weight:700;color:var(--muted)}
.rl-name{min-width:0;font-weight:600}
.rl-name a{text-decoration:none}
.rl-name a::after{content:"";position:absolute;inset:0}
.rl-list li:hover .rl-name a{text-decoration:underline;text-underline-offset:3px}
.rl-name small{display:block;font-size:14px;font-weight:500;color:var(--muted)}
.rl-list b{font-weight:700;text-align:right;white-space:nowrap}
.rl-list b span{font-size:14px;font-weight:500;color:var(--muted)}
.rl-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.rl-index li{grid-template-columns:minmax(0,1fr)}

@media (max-width:960px){
  .rp-grid,.rp-head{display:block}
  .rp-answer{position:static;margin-top:16px}
  .rp-main{margin-top:28px}
  .rl-groups{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  main.fg-rp{padding:16px 16px 40px}
  .rp-crumbs{display:none}
  .rp-head h1{font-size:26px}
  .rp-answer{padding:20px;box-shadow:none}
  .rp-dbars li>:is(a,div){grid-template-columns:minmax(0,1fr) 48px;grid-template-areas:"n v" "t t";gap:6px 12px;padding:10px 0}
  .rp-dbars .rp-dn{grid-area:n}
  .rp-dbars b{grid-area:v}
  .rp-dbars .rp-track{grid-area:t}
  .rp-counts li{grid-template-columns:minmax(0,1fr) 72px 56px}
}
@media (prefers-reduced-motion:reduce){.rp-chev{transition:none}}
/* Our pick and one verdict per row (Nov 12, 2026): the Field Guides' /best/ stances. */
.rl-top .rl-why{margin-top:12px;font-size:16px;line-height:1.5;color:var(--ink)}
.rl-name .rl-verdict{display:block;margin-top:2px;font-size:14px;font-weight:400;color:var(--muted)}
.rl-name .rl-verdict b{font-weight:600;color:var(--ink)}
.rl-list li.rl-pick .rl-rank{color:var(--ink)}

/* Budget pick and Premium pick (Nov 12, C6): one band of compact cards under the answer, with the list's own pick
   first; side by side on desktop, a row you swipe on phones (each card about 85% wide, so the next one shows). */
.bp-picks h2{margin-bottom:12px}
.bp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bp-grid[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.bp-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.bp-card{display:flex;flex-direction:column;gap:4px;box-sizing:border-box;border:1px solid var(--line-2);border-radius:12px;padding:16px;background:#fff;min-width:0}
.bp-kind{display:inline-block;align-self:flex-start;margin:0 0 2px;padding:3px 10px;border-radius:999px;background:var(--well);font-size:13px;font-weight:700}
.bp-premium .bp-kind{background:var(--ink);color:#fff}
.bp-name{margin:0;font-size:17px;line-height:1.3;font-weight:700}
.bp-name a{text-decoration:none;display:inline-block;padding:12px 0;margin:-12px 0}
.bp-name a:hover{text-decoration:underline;text-underline-offset:3px}
.bp-price{margin:0;font-size:14px;color:var(--ink-2)}
.bp-price strong{font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.bp-facts{margin:0;font-size:14px;line-height:1.4;color:var(--ink)}
.bp-why{margin:4px 0 0;padding-top:8px;border-top:1px solid var(--line);font-size:13px;line-height:1.45;color:var(--ink-2)}
@media (max-width:760px){
  .bp-grid,.bp-grid[data-count="3"]{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;gap:10px;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}
  .bp-grid::-webkit-scrollbar{display:none}
  .bp-grid[data-count="1"] .bp-card{flex:0 0 100%}
  .bp-card{flex:0 0 85%;scroll-snap-align:start;padding:14px}
}
/* Generated: bar widths and average-line offsets, 0 to 100 percent */
.w0{width:0%}.w1{width:1%}.w2{width:2%}.w3{width:3%}.w4{width:4%}.w5{width:5%}.w6{width:6%}.w7{width:7%}.w8{width:8%}.w9{width:9%}.w10{width:10%}.w11{width:11%}.w12{width:12%}.w13{width:13%}.w14{width:14%}.w15{width:15%}.w16{width:16%}.w17{width:17%}.w18{width:18%}.w19{width:19%}.w20{width:20%}.w21{width:21%}.w22{width:22%}.w23{width:23%}.w24{width:24%}.w25{width:25%}.w26{width:26%}.w27{width:27%}.w28{width:28%}.w29{width:29%}.w30{width:30%}.w31{width:31%}.w32{width:32%}.w33{width:33%}.w34{width:34%}.w35{width:35%}.w36{width:36%}.w37{width:37%}.w38{width:38%}.w39{width:39%}.w40{width:40%}.w41{width:41%}.w42{width:42%}.w43{width:43%}.w44{width:44%}.w45{width:45%}.w46{width:46%}.w47{width:47%}.w48{width:48%}.w49{width:49%}.w50{width:50%}.w51{width:51%}.w52{width:52%}.w53{width:53%}.w54{width:54%}.w55{width:55%}.w56{width:56%}.w57{width:57%}.w58{width:58%}.w59{width:59%}.w60{width:60%}.w61{width:61%}.w62{width:62%}.w63{width:63%}.w64{width:64%}.w65{width:65%}.w66{width:66%}.w67{width:67%}.w68{width:68%}.w69{width:69%}.w70{width:70%}.w71{width:71%}.w72{width:72%}.w73{width:73%}.w74{width:74%}.w75{width:75%}.w76{width:76%}.w77{width:77%}.w78{width:78%}.w79{width:79%}.w80{width:80%}.w81{width:81%}.w82{width:82%}.w83{width:83%}.w84{width:84%}.w85{width:85%}.w86{width:86%}.w87{width:87%}.w88{width:88%}.w89{width:89%}.w90{width:90%}.w91{width:91%}.w92{width:92%}.w93{width:93%}.w94{width:94%}.w95{width:95%}.w96{width:96%}.w97{width:97%}.w98{width:98%}.w99{width:99%}.w100{width:100%}
.x0::after{left:0%}.x1::after{left:1%}.x2::after{left:2%}.x3::after{left:3%}.x4::after{left:4%}.x5::after{left:5%}.x6::after{left:6%}.x7::after{left:7%}.x8::after{left:8%}.x9::after{left:9%}.x10::after{left:10%}.x11::after{left:11%}.x12::after{left:12%}.x13::after{left:13%}.x14::after{left:14%}.x15::after{left:15%}.x16::after{left:16%}.x17::after{left:17%}.x18::after{left:18%}.x19::after{left:19%}.x20::after{left:20%}.x21::after{left:21%}.x22::after{left:22%}.x23::after{left:23%}.x24::after{left:24%}.x25::after{left:25%}.x26::after{left:26%}.x27::after{left:27%}.x28::after{left:28%}.x29::after{left:29%}.x30::after{left:30%}.x31::after{left:31%}.x32::after{left:32%}.x33::after{left:33%}.x34::after{left:34%}.x35::after{left:35%}.x36::after{left:36%}.x37::after{left:37%}.x38::after{left:38%}.x39::after{left:39%}.x40::after{left:40%}.x41::after{left:41%}.x42::after{left:42%}.x43::after{left:43%}.x44::after{left:44%}.x45::after{left:45%}.x46::after{left:46%}.x47::after{left:47%}.x48::after{left:48%}.x49::after{left:49%}.x50::after{left:50%}.x51::after{left:51%}.x52::after{left:52%}.x53::after{left:53%}.x54::after{left:54%}.x55::after{left:55%}.x56::after{left:56%}.x57::after{left:57%}.x58::after{left:58%}.x59::after{left:59%}.x60::after{left:60%}.x61::after{left:61%}.x62::after{left:62%}.x63::after{left:63%}.x64::after{left:64%}.x65::after{left:65%}.x66::after{left:66%}.x67::after{left:67%}.x68::after{left:68%}.x69::after{left:69%}.x70::after{left:70%}.x71::after{left:71%}.x72::after{left:72%}.x73::after{left:73%}.x74::after{left:74%}.x75::after{left:75%}.x76::after{left:76%}.x77::after{left:77%}.x78::after{left:78%}.x79::after{left:79%}.x80::after{left:80%}.x81::after{left:81%}.x82::after{left:82%}.x83::after{left:83%}.x84::after{left:84%}.x85::after{left:85%}.x86::after{left:86%}.x87::after{left:87%}.x88::after{left:88%}.x89::after{left:89%}.x90::after{left:90%}.x91::after{left:91%}.x92::after{left:92%}.x93::after{left:93%}.x94::after{left:94%}.x95::after{left:95%}.x96::after{left:96%}.x97::after{left:97%}.x98::after{left:98%}.x99::after{left:99%}.x100::after{left:100%}
