/* Rankings v2 (2026-09-28): editorial data design.
   Dark "ink" heroes with a red glow, Fraunces display numerals, one hue per URAP component,
   heatmap table, podium, diverging movers chart, radar profile on reports. */
.rk {
  --ink: #0b0e1a; --red: #c1121f; --red2: #ff4d5a; --text: #151a2b;
  --mute: #5c6477; --soft: #8b92a3; --line: #e9e5e6; --paper: #fbfaf9; --up: #0f9d58; --down: #e0313d;
  --gold: #e3b341; --silver: #b8c0cc; --bronze: #c98552;
  --disp: "Fraunces", Georgia, "Times New Roman", serif;
  color: var(--text); background: var(--paper); padding-bottom: 4rem;
}
.rk-wrap { max-width: 1200px; margin: 0 auto; padding: 0 1.1rem; }
.rk-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rk a { text-underline-offset: 3px; }
.rk-sec { margin-top: clamp(3rem, 6vw, 4.5rem); }
.rk-kicker { display: inline-flex; align-items: center; gap: 0.55rem; margin: 0 0 0.7rem; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--red); }
.rk-kicker::before { content: ""; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }
.rk-h2 { margin: 0; font: 600 clamp(1.6rem, 3.2vw, 2.35rem)/1.08 var(--disp); letter-spacing: -0.02em; color: var(--text); text-wrap: balance; }
.rk-lede { margin: 0.7rem 0 0; max-width: 64ch; color: var(--mute); font-size: 1.02rem; line-height: 1.65; }
.rk-sechead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.5rem; }
.rk-note { color: var(--soft); font-size: 0.85rem; line-height: 1.55; }
.rk-p { margin: 0 0 1rem; color: #394154; line-height: 1.7; max-width: 72ch; }
.rk-panel { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 1.3rem 1.4rem; box-shadow: 0 18px 40px -34px rgba(11, 14, 26, 0.35); }
.rk-link { color: var(--red); font-weight: 700; font-size: 0.9rem; text-decoration: none; }
.rk-link:hover { text-decoration: underline; }

/* buttons & chips */
.rk-btn { display: inline-flex; align-items: center; gap: 0.5rem; font: 700 0.92rem/1 Inter, system-ui, sans-serif; padding: 0.8rem 1.15rem; border-radius: 999px; border: 1px solid var(--red); background: var(--red); color: #fff; text-decoration: none; cursor: pointer; white-space: nowrap; transition: transform 0.15s, box-shadow 0.15s, background 0.15s; }
.rk-btn:hover { background: #a50f1a; color: #fff; text-decoration: none; transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(193, 18, 31, 0.7); }
.rk-btn--ghost { background: transparent; color: var(--red); border-color: rgba(193, 18, 31, 0.3); }
.rk-btn--ghost:hover { background: #fff0f1; color: var(--red); box-shadow: none; }
.rk-btn--light { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.22); color: #fff; }
.rk-btn--light:hover { background: rgba(255, 255, 255, 0.16); box-shadow: none; }
.rk-btn--ink { background: var(--ink); border-color: var(--ink); }
.rk-btn--ink:hover { background: #000; }
.rk-btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rk-btn[disabled] { opacity: 0.4; cursor: not-allowed; transform: none; box-shadow: none; }
.rk-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.rk-chip { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 0.85rem; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: #394154; font-size: 0.86rem; font-weight: 650; text-decoration: none; white-space: nowrap; transition: border-color 0.15s, color 0.15s, background 0.15s; }
.rk-chip:hover { border-color: #f1b9be; color: var(--red); }
.rk-chip.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.rk-chip b { font-weight: 700; font-size: 0.74rem; color: var(--soft); }
.rk-chip.is-on b { color: rgba(255, 255, 255, 0.6); }

/* ─── dark hero ─── */
.rk-hero { position: relative; overflow: hidden; color: #fff; background:
  radial-gradient(900px 500px at 85% -10%, rgba(193, 18, 31, 0.55) 0%, rgba(193, 18, 31, 0) 60%),
  radial-gradient(700px 420px at -10% 110%, rgba(79, 70, 229, 0.28) 0%, rgba(79, 70, 229, 0) 60%),
  linear-gradient(180deg, #0b0e1a 0%, #111629 100%); }
.rk-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px); background-size: 22px 22px; -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.15) 85%); mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.15) 85%); pointer-events: none; }
.rk-hero > * { position: relative; }
.rk-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; margin: 0; padding-top: 1.3rem; font-size: 0.82rem; color: rgba(255, 255, 255, 0.5); }
.rk-crumbs a { color: rgba(255, 255, 255, 0.75); text-decoration: none; }
.rk-crumbs a:hover { color: #fff; }
.rk-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 2.5rem; align-items: end; padding: 2.4rem 0 2.2rem; }
.rk-badge { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.8rem; border-radius: 999px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.16); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.85); }
.rk-badge i { width: 7px; height: 7px; border-radius: 50%; background: var(--red2); box-shadow: 0 0 0 4px rgba(255, 77, 90, 0.2); }
.rk-title { margin: 1.1rem 0 0; font: 600 clamp(2.2rem, 5.4vw, 4rem)/1 var(--disp); letter-spacing: -0.035em; text-wrap: balance; }
.rk-title em { display: block; font-style: italic; font-weight: 500; background: linear-gradient(90deg, #ff6b75, #ffc2c6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rk-hero__lede { margin: 1.1rem 0 0; max-width: 56ch; color: rgba(255, 255, 255, 0.72); font-size: 1.04rem; line-height: 1.65; }
.rk-find { display: flex; gap: 0.5rem; margin-top: 1.5rem; max-width: 520px; padding: 0.35rem; border-radius: 999px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.18); }
.rk-find svg { flex: none; width: 20px; height: 20px; margin: 0 0 0 0.7rem; align-self: center; fill: none; stroke: rgba(255, 255, 255, 0.6); stroke-width: 2; stroke-linecap: round; }
.rk-find input { flex: 1; min-width: 0; font: inherit; font-size: 0.95rem; color: #fff; background: transparent; border: 0; outline: 0; padding: 0.55rem 0.3rem; }
.rk-find input::placeholder { color: rgba(255, 255, 255, 0.5); }
.rk-find .rk-btn { padding: 0.7rem 1.1rem; }
.rk-src { margin: 1rem 0 0; font-size: 0.8rem; color: rgba(255, 255, 255, 0.5); }
.rk-src a { color: rgba(255, 255, 255, 0.85); font-weight: 700; }

/* podium */
.rk-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; align-items: end; list-style: none; margin: 0; padding: 0; }
.rk-podium li { display: flex; flex-direction: column; justify-content: flex-end; }
.rk-podium a { display: flex; flex-direction: column; color: #fff; text-decoration: none; }
.rk-podium__card { padding: 0.9rem 0.9rem 0.8rem; border-radius: 18px 18px 0 0; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 0; transition: background 0.2s; }
.rk-podium a:hover .rk-podium__card { background: rgba(255, 255, 255, 0.14); }
.rk-podium__name { display: block; font-weight: 750; font-size: 0.95rem; line-height: 1.25; }
.rk-podium__meta { display: block; margin-top: 0.25rem; font-size: 0.75rem; color: rgba(255, 255, 255, 0.55); }
.rk-podium__score { display: block; margin-top: 0.55rem; font: 600 1.25rem/1 var(--disp); }
.rk-podium__score small { font: 600 0.7rem Inter, sans-serif; color: rgba(255, 255, 255, 0.5); margin-left: 0.2rem; }
.rk-podium__step { position: relative; display: grid; place-items: center; border-radius: 0 0 14px 14px; font: 600 clamp(3rem, 6vw, 4.6rem)/1 var(--disp); color: rgba(11, 14, 26, 0.8); overflow: hidden; }
.rk-podium__step::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0) 45%); }
.rk-podium__item--1 .rk-podium__step { height: 170px; background: linear-gradient(180deg, #f6d57a 0%, var(--gold) 55%, #b98a1c 100%); }
.rk-podium__item--2 .rk-podium__step { height: 120px; background: linear-gradient(180deg, #eef1f5 0%, var(--silver) 60%, #8d96a4 100%); }
.rk-podium__item--3 .rk-podium__step { height: 90px; background: linear-gradient(180deg, #eec19c 0%, var(--bronze) 60%, #955a2d 100%); }

/* stat strip */
.rk-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 0; padding: 0 0 2.2rem; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.rk-strip div { padding: 1.1rem 1rem 0; border-left: 1px solid rgba(255, 255, 255, 0.1); }
.rk-strip div:first-child { border-left: 0; padding-left: 0; }
.rk-strip dt { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.5); }
.rk-strip dd { margin: 0.35rem 0 0; font: 600 clamp(1.5rem, 2.6vw, 2.1rem)/1 var(--disp); color: #fff; }
.rk-strip .is-up { color: #5fe3a1; }
.rk-strip .is-down { color: #ff8a93; }

/* movers: diverging bars */
.rk-movers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.rk-mv { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3rem; }
.rk-mv a { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) minmax(90px, 38%); align-items: center; gap: 0.7rem; padding: 0.45rem 0.4rem; border-radius: 12px; color: var(--text); text-decoration: none; }
.rk-mv a:hover { background: #faf5f5; }
.rk-mv__rank { font: 600 1.05rem var(--disp); color: var(--soft); text-align: right; }
.rk-mv__name { min-width: 0; font-weight: 700; font-size: 0.93rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rk-mv__name small { display: block; font-weight: 500; font-size: 0.76rem; color: var(--soft); }
.rk-mv__bar { position: relative; height: 26px; border-radius: 8px; background: #f5f1f1; overflow: hidden; }
.rk-mv__bar span { position: absolute; top: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: flex-end; padding-right: 0.45rem; border-radius: 8px; font-size: 0.78rem; font-weight: 800; color: #fff; min-width: 2.6rem; }
.rk-mv--up .rk-mv__bar span { background: linear-gradient(90deg, #7ddcac, var(--up)); }
.rk-mv--down .rk-mv__bar span { background: linear-gradient(90deg, #ff9aa1, var(--down)); }
.rk-mvhead { display: flex; align-items: center; gap: 0.55rem; margin: 0 0 0.8rem; font-weight: 800; }
.rk-mvhead i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; font-style: normal; font-size: 0.78rem; }
.rk-mvhead--up i { background: #e3f7ec; color: var(--up); }
.rk-mvhead--down i { background: #fde8ea; color: var(--down); }
.rk-new { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; margin-top: 1rem; }
.rk-new strong { margin-right: 0.3rem; font-size: 0.86rem; }
.rk-new a { display: inline-flex; gap: 0.4rem; align-items: center; padding: 0.38rem 0.75rem; border-radius: 999px; background: var(--ink); color: #fff; font-size: 0.8rem; font-weight: 650; text-decoration: none; }
.rk-new a span { font: 600 0.82rem var(--disp); color: var(--gold); }
.rk-new a:hover { background: var(--red); }

/* ─── table ─── */
.rk-tools { display: grid; gap: 0.9rem; padding: 1rem; border-radius: 22px; background: #fff; border: 1px solid var(--line); box-shadow: 0 18px 40px -36px rgba(11, 14, 26, 0.4); }
.rk-tools__row { display: flex; flex-wrap: wrap; gap: 0.55rem; align-items: center; }
.rk-search { position: relative; flex: 1 1 260px; }
.rk-search svg { position: absolute; left: 0.9rem; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); fill: none; stroke: var(--soft); stroke-width: 2; stroke-linecap: round; }
.rk-search input, .rk-select { width: 100%; font: inherit; font-size: 0.92rem; padding: 0.7rem 0.95rem; border: 1px solid #e3dddf; border-radius: 999px; background: #faf8f8; color: var(--text); }
.rk-search input { padding-left: 2.5rem; }
.rk-select { width: auto; max-width: 250px; padding-right: 2rem; cursor: pointer; }
.rk-search input:focus, .rk-select:focus { outline: 0; border-color: var(--red); box-shadow: 0 0 0 4px rgba(193, 18, 31, 0.12); background: #fff; }
.rk-tools__sep { width: 1px; align-self: stretch; background: var(--line); margin: 0 0.2rem; }
.rk-toggle { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.86rem; font-weight: 650; color: #394154; cursor: pointer; }
.rk-toggle input { accent-color: var(--red); width: 16px; height: 16px; }
.rk-cmpbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem; padding-top: 0.8rem; border-top: 1px dashed #e7dfe0; }
.rk-cmpbar p { margin: 0; font-size: 0.86rem; color: var(--mute); }
.rk-cmpbar b { color: var(--text); margin-left: 0.3rem; }
.rk-tablemeta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem 1.5rem; margin: 1.3rem 0 0.7rem; }
.rk-count { margin: 0; font-size: 0.86rem; font-weight: 700; color: var(--mute); }
.rk-legend { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.78rem; color: var(--soft); }
.rk-legend__ramp { display: inline-flex; gap: 2px; }
.rk-legend__ramp i { width: 18px; height: 10px; border-radius: 3px; background: rgba(21, 26, 43, var(--a)); }
.rk-scroll { overflow-x: auto; border-radius: 22px; border: 1px solid var(--line); background: #fff; -webkit-overflow-scrolling: touch; box-shadow: 0 24px 50px -44px rgba(11, 14, 26, 0.45); }
.rk-scroll:focus-visible { outline: 3px solid rgba(193, 18, 31, 0.3); }
.rk-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.rk-table th, .rk-table td { padding: 0.6rem 0.45rem; border-bottom: 1px solid #f2eeee; text-align: left; vertical-align: middle; }
.rk-table thead th { position: sticky; top: 0; z-index: 2; background: #fff; border-bottom: 1px solid var(--line); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--mute); white-space: nowrap; }
.rk-table thead th a { color: inherit; text-decoration: none; display: inline-flex; flex-direction: column; gap: 0.3rem; }
.rk-table thead th a:hover { color: var(--red); }
.rk-cdot { display: block; width: 100%; height: 3px; border-radius: 3px; background: rgb(var(--c, 139, 146, 163)); }
.rk-table thead th small { font-weight: 600; color: #b1b6c1; letter-spacing: 0; text-transform: none; }
.rk-table thead th.is-sorted { color: var(--text); }
.rk-table thead th.is-sorted a > span:first-child::after { content: " ▾"; color: var(--red); }
.rk-table tbody tr:hover td { background: #fdf8f8; }
.rk-table tbody tr:last-child td { border-bottom: 0; }
.rk-num { text-align: right !important; white-space: nowrap; }
.rk-pick { width: 2.2rem; text-align: center !important; padding-left: 0.9rem !important; }
.rk-pick input { accent-color: var(--red); width: 17px; height: 17px; cursor: pointer; }
.rk-rankb { display: inline-grid; place-items: center; min-width: 2.2rem; height: 2.2rem; padding: 0 0.3rem; border-radius: 11px; font: 600 1rem/1 var(--disp); background: #f4f1f1; color: var(--text); }
.rk-rankb--1 { background: linear-gradient(160deg, #f6d57a, var(--gold)); color: #3b2a00; }
.rk-rankb--2 { background: linear-gradient(160deg, #eef1f5, var(--silver)); color: #2b3240; }
.rk-rankb--3 { background: linear-gradient(160deg, #eec19c, var(--bronze)); color: #3d1f08; }
.rk-uni { min-width: 240px; }
.rk-uni a { font-weight: 750; color: var(--text); text-decoration: none; }
.rk-uni a:hover { color: var(--red); text-decoration: underline; }
.rk-uni__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; margin-top: 0.2rem; font-size: 0.76rem; color: var(--soft); }
.rk-pill { display: inline-block; padding: 0.05rem 0.45rem; border-radius: 6px; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.02em; line-height: 1.6; white-space: nowrap; }
.rk-pill--state { background: #eef0ff; color: #4338ca; }
.rk-pill--foundation { background: #fff3e0; color: #b45309; }
.rk-pill--research { background: #fdecee; color: var(--red); }
.rk-total { min-width: 104px; }
.rk-total b { font: 600 1.02rem var(--disp); }
.rk-meter { display: block; height: 4px; margin-top: 0.35rem; border-radius: 4px; background: #f1ecec; overflow: hidden; }
.rk-meter span { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #ff7a84, var(--red)); }
.rk-h { font-size: 0.85rem; font-weight: 600; color: #2a3042; }
.rk-h span { display: inline-block; min-width: 3rem; padding: 0.3rem 0.4rem; border-radius: 8px; background: rgba(var(--c), var(--a)); }
.rk-h--0 { --a: 0.03; }
.rk-h--1 { --a: 0.09; }
.rk-h--2 { --a: 0.17; }
.rk-h--3 { --a: 0.28; }
.rk-h--4 { --a: 0.44; }
.rk-h--4 span { font-weight: 800; }
.rk-chg { display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.22rem 0.55rem; border-radius: 999px; font-weight: 800; font-size: 0.78rem; white-space: nowrap; }
.rk-chg--up { background: #e3f7ec; color: #0b7a44; }
.rk-chg--down { background: #fde8ea; color: #c01c28; }
.rk-chg--same { background: #f1f2f4; color: var(--soft); }
.rk-chg--new { background: var(--ink); color: #fff; font-size: 0.64rem; letter-spacing: 0.06em; text-transform: uppercase; }
.rk-empty { padding: 3rem 1rem; text-align: center; color: var(--mute); }
[data-k=makale] { --c: 193, 18, 31; }
[data-k=atif] { --c: 217, 119, 6; }
[data-k=dokuman] { --c: 15, 118, 110; }
[data-k=doktora] { --c: 79, 70, 229; }
[data-k=ogrenci] { --c: 8, 145, 178; }
[data-k=uluslararasi] { --c: 124, 58, 237; }
[data-k=yurtici] { --c: 5, 150, 105; }
[data-k=tubitak] { --c: 219, 39, 119; }

/* compare */
.rk-cmpt { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.rk-cmpt th, .rk-cmpt td { padding: 0.85rem 1rem; border-bottom: 1px solid #f2eeee; text-align: left; vertical-align: top; min-width: 170px; }
.rk-cmpt thead th { background: var(--ink); color: #fff; vertical-align: bottom; }
.rk-cmpt thead a { color: #fff; font-weight: 800; text-decoration: none; font-size: 0.98rem; }
.rk-cmpt thead a:hover { text-decoration: underline; }
.rk-cmpt thead small { display: block; margin-top: 0.3rem; color: rgba(255, 255, 255, 0.55); font-size: 0.76rem; }
.rk-cmpt__rank { display: block; font: 600 2.1rem/1 var(--disp); color: var(--gold); margin-bottom: 0.35rem; }
.rk-cmpt tbody th { font-size: 0.86rem; font-weight: 700; color: var(--mute); white-space: nowrap; }
.rk-cmpt tbody th i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 0.45rem; background: rgb(var(--c)); }
.rk-cmpt__v { font: 600 1.05rem var(--disp); }
.rk-cmpt .is-best .rk-cmpt__v { color: rgb(var(--c)); }
.rk-cmpt .is-best .rk-cmpt__v::after { content: " ★"; font-size: 0.75em; }
.rk-cmpt small { display: block; color: var(--soft); font-size: 0.74rem; margin-top: 0.2rem; }
.rk-cmpt .rk-meter span { background: rgb(var(--c)); }

/* dark insight band */
.rk-band { margin-top: clamp(3rem, 6vw, 4.5rem); padding: clamp(2.5rem, 5vw, 3.6rem) 0; color: #fff; background: radial-gradient(800px 400px at 100% 0%, rgba(193, 18, 31, 0.35), rgba(193, 18, 31, 0) 60%), var(--ink); }
.rk-band .rk-h2 { color: #fff; }
.rk-band .rk-kicker { color: #ff8a93; }
.rk-band .rk-lede { color: rgba(255, 255, 255, 0.7); }
.rk-q { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: 2rem; align-items: center; margin-top: 1.8rem; }
.rk-q__facts { display: grid; gap: 1rem; }
.rk-q__fact { padding: 1.1rem 1.2rem; border-radius: 18px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); }
.rk-q__fact p { margin: 0; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); }
.rk-q__nums { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem 1rem; margin-top: 0.5rem; }
.rk-q__nums b { font: 600 2.4rem/1 var(--disp); color: #ff6b75; }
.rk-q__nums em { font-style: normal; font: 600 1.4rem var(--disp); color: rgba(255, 255, 255, 0.85); }
.rk-q__nums span { font-size: 0.8rem; color: rgba(255, 255, 255, 0.55); }
.rk-chart { margin: 0; }
.rk-chart svg { display: block; width: 100%; height: auto; }
.rk-chart figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.6rem; margin-top: 0.8rem; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); }
.rk-chart__grid { stroke: rgba(255, 255, 255, 0.08); }
.rk-chart__ax { font: 600 11px Inter, system-ui, sans-serif; fill: rgba(255, 255, 255, 0.45); }
.rk-ln { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.rk-ln--tq1 { stroke: #ff4d5a; }
.rk-ln--wq1 { stroke: #fff; stroke-dasharray: 6 6; opacity: 0.8; }
.rk-ln--tq4 { stroke: #ffb3b8; }
.rk-ln--wq4 { stroke: #8b92a3; stroke-dasharray: 6 6; }
.rk-ends circle { stroke: var(--ink); stroke-width: 3; }
.rk-leg { display: inline-flex; flex-wrap: wrap; gap: 0.3rem 0.9rem; }
.rk-leg i { display: inline-block; width: 18px; height: 3px; border-radius: 2px; margin-right: 0.35rem; vertical-align: middle; }

/* split: state vs foundation */
.rk-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; }
.rk-splitbar { grid-column: 1 / -1; display: flex; height: 58px; border-radius: 18px; overflow: hidden; font-weight: 800; color: #fff; }
.rk-splitbar span { display: flex; align-items: center; padding: 0 1.1rem; gap: 0.5rem; white-space: nowrap; overflow: hidden; }
.rk-splitbar span b { font: 600 1.6rem var(--disp); }
.rk-splitbar .s { background: linear-gradient(90deg, #4338ca, #6d64f5); }
.rk-splitbar .f { background: linear-gradient(90deg, #f59e0b, #d97706); justify-content: flex-end; }
.rk-typecard h3 { display: flex; align-items: center; gap: 0.5rem; font: 600 1.3rem var(--disp); margin: 0 0 1rem; }
.rk-typecard h3 i { width: 12px; height: 12px; border-radius: 4px; }
.rk-typecard h3 small { font: 600 0.8rem Inter, sans-serif; color: var(--soft); }
.rk-kv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin: 0; }
.rk-kv div { padding: 0.85rem 0.9rem; border-radius: 14px; background: #faf8f8; }
.rk-kv dt { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--soft); }
.rk-kv dd { margin: 0.35rem 0 0; font: 600 1.7rem/1 var(--disp); }
.rk-typecard__best { margin: 1rem 0 0; font-size: 0.9rem; color: var(--mute); }
.rk-typecard__best a { color: var(--text); font-weight: 750; }

/* leaderboards (groups, cities) */
.rk-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.rk-duo .rk-panel h3 { font: 600 1.25rem var(--disp); margin: 0 0 0.8rem; }
.rk-lb { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.2rem; }
.rk-lb a { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; padding: 0.55rem 0.5rem; border-radius: 12px; color: var(--text); text-decoration: none; }
.rk-lb a:hover { background: #faf5f5; }
.rk-lb__n { font: 600 1.2rem var(--disp); color: var(--soft); text-align: right; }
.rk-lb li:nth-child(1) .rk-lb__n { color: #c9971a; }
.rk-lb li:nth-child(2) .rk-lb__n { color: #8d96a4; }
.rk-lb li:nth-child(3) .rk-lb__n { color: #b0703f; }
.rk-lb__name { min-width: 0; font-weight: 700; font-size: 0.93rem; }
.rk-lb__v { font: 600 1rem var(--disp); }
.rk-cities { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.2rem 2rem; }
.rk-cities a { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 0.9rem; align-items: center; padding: 0.55rem 0.4rem; border-radius: 12px; color: var(--text); text-decoration: none; }
.rk-cities a:hover { background: #faf5f5; }
.rk-cities__c { font-weight: 800; }
.rk-cities__c small { display: block; font-weight: 600; font-size: 0.74rem; color: var(--soft); }
.rk-cities__bar { display: grid; gap: 0.3rem; min-width: 0; }
.rk-cities__bar i { display: block; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #ffb3b8, var(--red)); }
.rk-cities__bar span { font-size: 0.78rem; color: var(--mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rk-allc { margin-top: 1.2rem; }
.rk-allc summary { cursor: pointer; font-weight: 750; color: var(--red); font-size: 0.92rem; }
.rk-allc .rk-chips { margin-top: 0.9rem; }

/* leaders */
.rk-leaders { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.9rem; }
.rk-leader { position: relative; display: grid; gap: 0.4rem; align-content: start; padding: 1.2rem 1.2rem 1.1rem; border-radius: 20px; background: #fff; border: 1px solid var(--line); overflow: hidden; text-decoration: none; color: var(--text); transition: transform 0.15s, box-shadow 0.15s; }
.rk-leader:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -24px rgba(var(--c), 0.6); }
.rk-leader::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: rgb(var(--c)); }
.rk-leader__k { margin: 0; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: rgb(var(--c)); }
.rk-leader__name { font-weight: 800; line-height: 1.3; }
.rk-leader__v { margin: 0.2rem 0 0; display: flex; align-items: baseline; gap: 0.35rem; }
.rk-leader__v b { font: 600 2rem/1 var(--disp); color: rgb(var(--c)); }
.rk-leader__v span { font-size: 0.8rem; color: var(--soft); }
.rk-gauge { position: relative; display: block; height: 6px; border-radius: 6px; background: #f2eeee; }
.rk-gauge span { position: absolute; inset: 0 auto 0 0; border-radius: 6px; background: rgb(var(--c)); }
.rk-gauge i { position: absolute; top: -4px; bottom: -4px; width: 2px; margin-left: -1px; background: var(--ink); border-radius: 2px; }
.rk-leader__med { font-size: 0.76rem; color: var(--soft); }

/* method + faq */
.rk-method { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 2.5rem; align-items: start; }
.rk-comps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.rk-comps li { display: grid; grid-template-columns: 2.7rem minmax(0, 1fr); gap: 0.9rem; padding: 0.9rem 1rem; border-radius: 16px; background: #fff; border: 1px solid var(--line); }
.rk-comps__cap { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 12px; background: rgba(var(--c), 0.12); color: rgb(var(--c)); font: 600 0.95rem var(--disp); }
.rk-comps b { display: block; font-weight: 800; }
.rk-comps span { display: block; margin-top: 0.2rem; font-size: 0.86rem; color: var(--mute); line-height: 1.5; }
.rk-faq details { border-bottom: 1px solid var(--line); }
.rk-faq summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1.15rem 0; cursor: pointer; list-style: none; font: 600 1.15rem/1.35 var(--disp); }
.rk-faq summary::-webkit-details-marker { display: none; }
.rk-faq summary::after { content: "+"; flex: none; font: 400 1.6rem/1 Inter, sans-serif; color: var(--red); transition: transform 0.2s; }
.rk-faq details[open] summary::after { transform: rotate(45deg); }
.rk-faq details p { margin: 0 0 1.2rem; color: var(--mute); line-height: 1.7; max-width: 75ch; }
.rk-cite { margin-top: 2rem; padding: 1rem 1.2rem; border-radius: 16px; background: #fff; border: 1px dashed #e2d9da; font-size: 0.84rem; color: var(--mute); }
.rk-cite a { color: var(--red); font-weight: 700; }

/* ─── hub ─── */
.rk-hub__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.5rem; align-items: center; padding: 2.4rem 0 3.2rem; }
.rk-feature { display: block; padding: 1.5rem; border-radius: 26px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.14); color: #fff; text-decoration: none; transition: transform 0.2s, background 0.2s; }
.rk-feature:hover { transform: translateY(-3px); background: rgba(255, 255, 255, 0.1); }
.rk-feature__t { margin: 0.9rem 0 1.1rem; font: 600 1.6rem/1.1 var(--disp); }
.rk-feature ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.rk-feature li { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr) auto; gap: 0.7rem; align-items: center; font-size: 0.9rem; }
.rk-feature li b { font: 600 1.05rem var(--disp); color: rgba(255, 255, 255, 0.5); text-align: right; }
.rk-feature li:nth-child(1) b { color: var(--gold); }
.rk-feature li:nth-child(2) b { color: var(--silver); }
.rk-feature li:nth-child(3) b { color: var(--bronze); }
.rk-feature li span { min-width: 0; }
.rk-feature li span i { display: block; height: 4px; margin-top: 0.35rem; border-radius: 4px; background: linear-gradient(90deg, #ff4d5a, #ffb3b8); }
.rk-feature li em { font: 600 0.95rem var(--disp); font-style: normal; color: rgba(255, 255, 255, 0.8); }
.rk-feature__cta { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.3rem; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, 0.12); font-weight: 750; }
.rk-feature__cta span { color: rgba(255, 255, 255, 0.55); font-weight: 600; font-size: 0.82rem; }
.rk-feats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.rk-feat { padding: 1.5rem; border-radius: 22px; background: #fff; border: 1px solid var(--line); text-decoration: none; color: var(--text); transition: transform 0.15s, box-shadow 0.15s; }
.rk-feat:hover { transform: translateY(-2px); box-shadow: 0 20px 40px -30px rgba(var(--c), 0.7); }
.rk-feat__ic { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 16px; background: rgba(var(--c), 0.1); color: rgb(var(--c)); margin-bottom: 1rem; }
.rk-feat__ic svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rk-feat h3 { margin: 0 0 0.4rem; font: 600 1.3rem/1.2 var(--disp); }
.rk-feat p { margin: 0; color: var(--mute); line-height: 1.6; font-size: 0.93rem; }
.rk-soon { margin-top: 1.4rem; text-align: center; }

/* ─── report ─── */
.rk-rhero__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 2rem; align-items: center; padding: 2rem 0 2.4rem; }
.rk-rhero__name { margin: 0.9rem 0 0; font: 600 clamp(2rem, 4.8vw, 3.4rem)/1.02 var(--disp); letter-spacing: -0.03em; text-wrap: balance; }
.rk-rhero__sub { margin: 0.7rem 0 0; font-size: 0.98rem; color: rgba(255, 255, 255, 0.65); }
.rk-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 1.1rem; }
.rk-tags span { padding: 0.35rem 0.75rem; border-radius: 999px; font-size: 0.8rem; font-weight: 700; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.14); color: rgba(255, 255, 255, 0.9); }
.rk-tags .is-red { background: rgba(255, 77, 90, 0.18); border-color: rgba(255, 77, 90, 0.4); }
.rk-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.4rem; }
.rk-ring { position: relative; width: 230px; height: 230px; }
.rk-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.rk-ring__bg { fill: none; stroke: rgba(255, 255, 255, 0.1); stroke-width: 14; }
.rk-ring__fg { fill: none; stroke: url(#rkRingGrad); stroke-width: 14; stroke-linecap: round; }
.rk-ring__c { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.rk-ring__c small { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); }
.rk-ring__c b { font: 600 4.4rem/0.95 var(--disp); letter-spacing: -0.04em; }
.rk-ring__c span { font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); }
.rk-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0 0 2rem; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.rk-kpis div { padding: 1.1rem 1rem 0; border-left: 1px solid rgba(255, 255, 255, 0.1); }
.rk-kpis div:first-child { border-left: 0; padding-left: 0; }
.rk-kpis dt { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.5); }
.rk-kpis dd { margin: 0.35rem 0 0; font: 600 1.9rem/1 var(--disp); }
.rk-kpis dd small { font: 600 0.85rem Inter, sans-serif; color: rgba(255, 255, 255, 0.45); margin-left: 0.15rem; }
.rk-kpis dd.is-up { color: #5fe3a1; }
.rk-kpis dd.is-down { color: #ff8a93; }
.rk-kpis p { margin: 0.35rem 0 0; font-size: 0.76rem; color: rgba(255, 255, 255, 0.5); }
.rk-summary { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.8rem; margin-top: 2.6rem; align-items: start; }
.rk-narr { margin: 0; font: 400 1.18rem/1.7 var(--disp); color: #262c3d; }
.rk-narr::first-letter { float: left; font: 600 3.7rem/0.82 var(--disp); color: var(--red); margin: 0.4rem 0.55rem 0 0; }
.rk-gap { margin: 1.2rem 0 0; padding: 0.95rem 1.1rem; border-radius: 16px; background: #fff; border: 1px solid var(--line); font-size: 0.92rem; color: #394154; line-height: 1.6; }
.rk-sw { display: grid; gap: 0.9rem; }
.rk-sw__col { padding: 1.15rem 1.2rem; border-radius: 20px; background: #fff; border: 1px solid var(--line); }
.rk-sw__col h3 { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.75rem; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.rk-sw__col--strengths h3 { color: var(--up); }
.rk-sw__col--weaknesses h3 { color: var(--down); }
.rk-sw ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.rk-sw li { display: grid; grid-template-columns: 10px minmax(0, 1fr); gap: 0.7rem; align-items: start; }
.rk-sw li i { width: 10px; height: 10px; margin-top: 0.35rem; border-radius: 50%; background: rgb(var(--c)); }
.rk-sw li b { display: block; font-weight: 800; }
.rk-sw li span { display: block; font-size: 0.8rem; color: var(--soft); }
.rk-profile { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(0, 1.15fr); gap: 2rem; align-items: center; }
.rk-radar svg { display: block; width: 100%; max-width: 420px; height: auto; margin: 0 auto; overflow: visible; }
.rk-radar__ring { fill: none; stroke: #ece6e7; }
.rk-radar__axis { stroke: #ece6e7; }
.rk-radar__med { fill: rgba(11, 14, 26, 0.04); stroke: var(--ink); stroke-width: 1.5; stroke-dasharray: 5 5; }
.rk-radar__uni { fill: rgba(193, 18, 31, 0.15); stroke: var(--red); stroke-width: 2.5; stroke-linejoin: round; }
.rk-radar__lbl { font: 800 12px Inter, system-ui, sans-serif; }
.rk-radar__legend { display: flex; justify-content: center; gap: 1.2rem; margin-top: 0.8rem; font-size: 0.8rem; color: var(--mute); }
.rk-radar__legend i { display: inline-block; width: 16px; height: 3px; margin-right: 0.35rem; vertical-align: middle; background: var(--red); border-radius: 2px; }
.rk-radar__legend i.m { background: repeating-linear-gradient(90deg, var(--ink) 0 4px, transparent 4px 7px); }
.rk-cbars { display: grid; gap: 0.85rem; }
.rk-cbar { display: grid; grid-template-columns: minmax(0, 11.5rem) minmax(0, 1fr) auto; gap: 0.9rem; align-items: center; }
.rk-cbar__name { font-weight: 750; font-size: 0.9rem; }
.rk-cbar__name small { display: block; font-weight: 600; font-size: 0.74rem; color: var(--soft); }
.rk-cbar__track { position: relative; display: block; height: 14px; border-radius: 99px; background: #f2eeee; }
.rk-cbar__max { position: absolute; inset: 0 auto 0 0; border-radius: 99px; background: rgba(var(--c), 0.16); }
.rk-cbar__fill { position: absolute; inset: 0 auto 0 0; border-radius: 99px; background: rgb(var(--c)); }
.rk-cbar__med { position: absolute; top: -4px; bottom: -4px; width: 2px; margin-left: -1px; border-radius: 2px; background: var(--ink); }
.rk-cbar__v { font: 600 1.08rem var(--disp); white-space: nowrap; text-align: right; }
.rk-cbar__v small { font: 600 0.72rem Inter, sans-serif; color: var(--soft); }
.rk-hists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.rk-hist { margin: 0; }
.rk-hist figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.6rem; margin: 0 0 0.7rem; font-size: 0.86rem; color: var(--mute); }
.rk-hist figcaption b { color: var(--text); }
.rk-hist svg { display: block; width: 100%; height: auto; overflow: visible; }
.rk-hist .rk-ln { stroke: var(--red); }
.rk-hist__dot { fill: #fff; stroke: var(--red); stroke-width: 2.5; }
.rk-hist__val { font: 700 11px Inter, system-ui, sans-serif; fill: var(--text); }
.rk-hist__ax { font: 600 10.5px Inter, system-ui, sans-serif; fill: var(--soft); }
.rk-nbt .is-self td { background: #fff3f4; }
.rk-nbt .is-self td:first-child { box-shadow: inset 3px 0 0 var(--red); }
.rk-nbt .is-lower { color: var(--soft); }
.rk-nbt td a { color: var(--text); font-weight: 700; text-decoration: none; }
.rk-nbt td a:hover { color: var(--red); }
.rk-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.7rem 1.9rem; border-radius: 24px; color: #fff; background: radial-gradient(500px 200px at 100% 0%, rgba(193, 18, 31, 0.5), rgba(193, 18, 31, 0) 70%), var(--ink); }
.rk-cta h2 { margin: 0 0 0.35rem; font: 600 1.5rem/1.2 var(--disp); }
.rk-cta p { margin: 0; color: rgba(255, 255, 255, 0.7); }
.rk-foot { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid var(--line); font-size: 0.8rem; color: var(--soft); line-height: 1.6; }
.rk-foot p { margin: 0 0 0.4rem; }
.rk-foot a { color: var(--mute); word-break: break-all; }
.rk-print-only { display: none; }

@media (max-width: 1040px) {
  .rk-hero__grid, .rk-hub__grid { grid-template-columns: 1fr; gap: 2rem; }
  .rk-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 0.4rem; }
  .rk-strip div:nth-child(4) { border-left: 0; padding-left: 0; }
  .rk-leaders { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rk-q, .rk-method, .rk-summary, .rk-profile { grid-template-columns: 1fr; }
  .rk-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 0.4rem; }
  .rk-kpis div:nth-child(4) { border-left: 0; padding-left: 0; }
}
@media (max-width: 760px) {
  .rk-movers, .rk-duo, .rk-split, .rk-cities, .rk-feats, .rk-hists { grid-template-columns: 1fr; }
  .rk-podium { gap: 0.45rem; }
  .rk-podium__card { padding: 0.7rem 0.6rem; }
  .rk-podium__name { font-size: 0.8rem; }
  .rk-podium__meta { display: none; }
  .rk-podium__score { font-size: 1rem; }
  .rk-podium__item--1 .rk-podium__step { height: 120px; }
  .rk-podium__item--2 .rk-podium__step { height: 86px; }
  .rk-podium__item--3 .rk-podium__step { height: 64px; }
  .rk-rhero__grid { grid-template-columns: 1fr; }
  .rk-ring { width: 180px; height: 180px; }
  .rk-ring__c b { font-size: 3.4rem; }
  .rk-cbar { grid-template-columns: minmax(0, 1fr) auto; }
  .rk-cbar__track { grid-column: 1 / -1; grid-row: 2; }
  .rk-select { max-width: none; flex: 1 1 45%; }
  .rk-tools__sep { display: none; }
}
@media (max-width: 480px) {
  .rk-strip, .rk-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rk-strip div, .rk-kpis div { border-left: 0 !important; padding-left: 0 !important; }
  .rk-leaders { grid-template-columns: 1fr; }
  .rk-kv dd { font-size: 1.3rem; }
  .rk-find { flex-wrap: wrap; border-radius: 22px; }
  .rk-find .rk-btn { width: 100%; justify-content: center; }
  .rk-mv a { grid-template-columns: 2rem minmax(0, 1fr) 80px; gap: 0.5rem; }
  .rk-cities a { grid-template-columns: 6rem minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .rk-btn, .rk-feature, .rk-podium__card, .rk-leader, .rk-feat { transition: none; } }

/* print / "Download as PDF": clean A4 report */
@media print {
  @page { size: A4; margin: 11mm 11mm 13mm; }
  body > :not(main), .rk-noprint, .aka-skip { display: none !important; }
  body, .rk { background: #fff !important; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; box-shadow: none !important; }
  .rk { padding: 0; font-size: 10pt; }
  .rk-wrap { max-width: none; padding: 0; }
  .rk-print-only { display: block; margin: 0 0 6pt; font-size: 8.5pt; color: #8b92a3; }
  .rk-print-only b { color: #c1121f; }
  .rk-hero { border-radius: 14px; padding: 0 14pt; }
  .rk-hero::before, .rk-crumbs { display: none; }
  .rk-rhero__grid { padding: 14pt 0 10pt; grid-template-columns: minmax(0, 1fr) auto; }
  .rk-rhero__name { font-size: 24pt; }
  .rk-ring { width: 150px; height: 150px; }
  .rk-ring__c b { font-size: 34pt; }
  .rk-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); padding-bottom: 12pt; }
  .rk-kpis div:nth-child(4) { border-left: 1px solid rgba(255, 255, 255, 0.1); padding-left: 1rem; }
  .rk-kpis dd { font-size: 16pt; }
  .rk-sec, .rk-summary { margin-top: 14pt; }
  .rk-summary { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
  .rk-profile { grid-template-columns: 230px minmax(0, 1fr); }
  .rk-hists { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rk-narr { font-size: 11pt; }
  .rk-h2 { font-size: 15pt; break-after: avoid; }
  .rk-panel, .rk-sw__col, .rk-cbar, .rk-hist, .rk-gap, .rk-table tr { break-inside: avoid; }
  .rk-scroll { overflow: visible; border: 0; border-radius: 0; }
  .rk-table { font-size: 8pt; }
  .rk-table thead th { position: static; }
  .rk-cta { background: #fff !important; color: #151a2b; border: 1px solid #e9e5e6; }
  .rk-cta p { color: #5c6477; }
  .rk-cta .rk-btn { background: #fff; color: #c1121f; }
  .rk-cta .rk-btn::after { content: " — akaturk.com" attr(href); font-weight: 500; font-size: 7.5pt; color: #5c6477; }
  a { text-decoration: none !important; }
}

/* ─── hub v3 (2026-09-28): ranking-file library + cross-file university search ─── */
.rk-hubstats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; margin: 0; }
.rk-hubstats div { padding: 1.3rem 1.4rem; border-radius: 22px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.13); }
.rk-hubstats dt { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); }
.rk-hubstats dd { margin: 0.45rem 0 0; font: 600 2.6rem/1 var(--disp); color: #fff; }
.rk-hubstats dd.sm { font-size: 1.35rem; line-height: 1.2; }
.rk-hubstats div:first-child dd { color: #ff8a93; }
.rk-res { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.8rem; }
.rk-res__row { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr); gap: 1.2rem; align-items: center; padding: 1rem 1.2rem; }
.rk-res__uni b { display: block; font: 600 1.25rem/1.2 var(--disp); }
.rk-res__uni span { display: block; margin-top: 0.3rem; font-size: 0.84rem; color: var(--soft); }
.rk-res__uni a { color: var(--red); font-weight: 700; text-decoration: none; }
.rk-res__entries { display: grid; gap: 0.5rem; }
.rk-res__entry { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 0.9rem; align-items: center; padding: 0.6rem 0.8rem; border-radius: 16px; background: #faf8f8; border: 1px solid transparent; color: var(--text); text-decoration: none; transition: border-color 0.15s, background 0.15s; }
.rk-res__entry:hover { border-color: #f1b9be; background: #fff; }
.rk-res__file { font-weight: 800; font-size: 0.9rem; }
.rk-res__file small { display: block; font-weight: 600; font-size: 0.74rem; color: var(--soft); }
.rk-res__of { font-size: 0.84rem; color: var(--mute); }
.rk-res__of small { display: block; font-size: 0.74rem; color: var(--soft); }
.rk-res__go { font-size: 0.84rem; font-weight: 800; color: var(--red); white-space: nowrap; }
.rk-files { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 560px), 1fr)); gap: 1.2rem; }
.rk-files:has(> .rk-file:only-child) { grid-template-columns: 1fr; }
.rk-file { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); overflow: hidden; border-radius: 26px; background: #fff; border: 1px solid var(--line); box-shadow: 0 26px 50px -42px rgba(11, 14, 26, 0.5); transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s; }
.rk-file::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: linear-gradient(180deg, #ff4d5a, var(--red)); }
.rk-file:hover { transform: translateY(-3px); border-color: #f1c4c8; box-shadow: 0 30px 60px -38px rgba(193, 18, 31, 0.55); }
.rk-file__link { position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.rk-file__link:focus-visible { outline: 3px solid rgba(193, 18, 31, 0.4); outline-offset: 3px; }
.rk-file__main { display: flex; flex-direction: column; gap: 0.7rem; padding: 1.7rem 1.8rem 1.6rem 2.1rem; }
.rk-file__top { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem; }
.rk-file__mono { display: grid; place-items: center; min-width: 4.2rem; height: 3rem; padding: 0 0.8rem; border-radius: 14px; background: var(--ink); color: #fff; font: 800 1rem/1 Inter, system-ui, sans-serif; letter-spacing: 0.08em; box-shadow: inset 0 -3px 0 var(--red); }
.rk-file__chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.rk-file__chips span { padding: 0.3rem 0.7rem; border-radius: 999px; background: #f6f2f2; font-size: 0.78rem; font-weight: 700; color: #394154; }
.rk-file__chips span:first-child { background: #fdecee; color: var(--red); }
.rk-file__title { margin: 0.3rem 0 0; font: 600 clamp(1.5rem, 2.6vw, 2rem)/1.12 var(--disp); letter-spacing: -0.02em; }
.rk-file__sum { margin: 0; color: var(--mute); line-height: 1.6; max-width: 52ch; }
.rk-file__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin: 0.4rem 0 0; }
.rk-file__meta div { padding: 0.75rem 0.85rem; border-radius: 14px; background: #faf8f8; }
.rk-file__meta dt { font-size: 0.66rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--soft); }
.rk-file__meta dd { margin: 0.3rem 0 0; font-size: 0.86rem; font-weight: 700; line-height: 1.35; }
.rk-file__cta { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: auto; padding-top: 0.6rem; font-weight: 800; color: var(--red); }
.rk-file__cta svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.2s; }
.rk-file:hover .rk-file__cta svg { transform: translateX(4px); }
.rk-file__side { display: flex; flex-direction: column; justify-content: center; gap: 0.9rem; padding: 1.6rem 1.7rem; color: #fff; background: radial-gradient(380px 240px at 100% 0%, rgba(193, 18, 31, 0.5), rgba(193, 18, 31, 0) 70%), var(--ink); }
.rk-file__sidet { margin: 0; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #ff8a93; }
.rk-file__top3 { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.8rem; }
.rk-file__top3 li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.8rem; align-items: center; }
.rk-file__n { min-width: 0; font-weight: 700; font-size: 0.95rem; }
.rk-file__n i { display: block; height: 4px; margin-top: 0.35rem; border-radius: 4px; background: linear-gradient(90deg, #ff4d5a, #ffb3b8); }
.rk-file__top3 b { font: 600 1.05rem var(--disp); }
@media (max-width: 860px) {
  .rk-file { grid-template-columns: 1fr; }
  .rk-res__row { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .rk-file__meta { grid-template-columns: 1fr; }
  .rk-res__entry { grid-template-columns: minmax(0, 1fr) auto auto; }
  .rk-res__go { grid-column: 1 / -1; }
  .rk-hubstats dd { font-size: 2rem; }
}
