:root {
  --canvas: #f4f6f9;
  --surface: #ffffff;
  --surface-soft: #f9fafc;
  --ink: #171c26;
  --ink-2: #465164;
  --muted: #7a8698;
  --line: #dfe4ec;
  --line-soft: #ebeff4;
  --coral: #f15b40;
  --coral-dark: #ca402b;
  --coral-soft: #fff1ed;
  --blue: #277bd8;
  --blue-soft: #edf6ff;
  --mint: #149c78;
  --mint-soft: #eaf9f4;
  --amber: #d79218;
  --shadow: 0 7px 24px rgba(26, 38, 56, .07);
  --max: 1480px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; line-height: 1.55; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
svg { width: 1em; height: 1em; stroke-width: 2; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
:focus-visible { outline: 3px solid rgba(39, 123, 216, .25); outline-offset: 2px; }

.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(223, 228, 236, .9); background: rgba(255, 255, 255, .94); backdrop-filter: blur(16px); box-shadow: 0 4px 18px rgba(25, 37, 55, .035); }
.header-inner { max-width: var(--max); height: 72px; margin: auto; padding: 0 24px; display: grid; grid-template-columns: minmax(230px, 1fr) auto minmax(230px, 1fr); align-items: center; gap: 22px; }
.brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark { position: relative; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; color: #fff; background: linear-gradient(145deg, #ff7054, var(--coral-dark)); box-shadow: 0 7px 18px rgba(241, 91, 64, .24); }
.brand-mark::after { content: ""; position: absolute; inset: 5px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; }
.brand-mark svg { width: 20px; height: 20px; }
.brand strong { display: block; font-size: 16px; line-height: 1.15; letter-spacing: .01em; white-space: nowrap; }
.brand small { display: block; margin-top: 4px; color: var(--muted); font: 650 8px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; white-space: nowrap; }
.site-period-nav { min-width: 0; padding: 4px; display: flex; align-items: center; justify-content: center; gap: 3px; border: 1px solid #e3e7ed; border-radius: 11px; background: #f4f6f9; box-shadow: inset 0 1px 2px rgba(25, 37, 55, .035); }
.site-period-nav a { min-width: 58px; min-height: 38px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 8px; color: #667286; font-size: 12px; font-weight: 760; white-space: nowrap; transition: color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.site-period-nav a:hover { color: var(--ink); border-color: #e3d4d0; background: #fff; }
.site-period-nav a:active { transform: translateY(1px); }
.site-period-nav a.active { color: #fff; border-color: var(--coral); background: linear-gradient(135deg, #f66b4f, var(--coral)); box-shadow: 0 4px 12px rgba(241, 91, 64, .2); }
.site-period-nav a:focus-visible { outline: 2px solid var(--coral); outline-offset: 2px; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.header-signal { min-height: 38px; padding: 0 11px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #dce7e4; border-radius: 9px; color: #17675b; background: #f5faf8; }
.header-signal > i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(20, 156, 120, .11); }
.header-signal span { display: grid; line-height: 1.15; }
.header-signal strong { font-size: 10px; }
.header-signal small { margin-top: 2px; color: #6f8d87; font: 650 7px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .09em; }
.header-actions a { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; border-radius: 7px; font-size: 12px; font-weight: 700; }
.nav-link { border: 1px solid var(--line); color: var(--ink-2); background: #fff; }
.primary-link, .primary-button { color: #fff; background: var(--coral); box-shadow: 0 5px 14px rgba(241, 91, 64, .18); }
.header-actions a:hover, .primary-button:hover { transform: translateY(-1px); }

.dashboard-head { background: var(--surface); border-bottom: 1px solid var(--line); }
.dashboard-head-inner { max-width: var(--max); min-height: 138px; margin: auto; padding: 24px 24px 18px; display: grid; grid-template-columns: minmax(330px, .9fr) minmax(540px, 1.65fr) auto; align-items: end; gap: 28px; }
.eyebrow { margin: 0 0 6px !important; display: flex; align-items: center; gap: 7px; color: var(--coral) !important; font: 700 9px/1 ui-monospace, SFMono-Regular, Consolas, monospace !important; letter-spacing: .16em; }
.eyebrow span { width: 17px; height: 2px; background: currentColor; }
.headline-copy h1 { margin: 0; font-size: clamp(25px, 3vw, 38px); line-height: 1.2; letter-spacing: 0; }
.headline-copy > p:last-child { margin: 7px 0 0; color: var(--ink-2); font-size: 14px; }
.data-methodology { min-width: 0; position: relative; padding: 0 2px 2px; }
.methodology-heading { min-height: 25px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line-soft); }
.methodology-heading > span { min-width: 0; display: flex; align-items: center; gap: 7px; }
.methodology-heading > span svg { width: 14px; height: 14px; color: var(--blue); }
.methodology-heading > span strong { font-size: 11px; }
.methodology-heading > span small { color: var(--muted); font: 650 8px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; }
.methodology-grid { min-height: 58px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; }
.methodology-grid > div { min-width: 0; padding: 8px 15px; display: flex; align-items: center; gap: 10px; border-left: 1px solid var(--line-soft); }
.methodology-grid > div:first-child { padding-left: 0; border-left: 0; }
.methodology-icon { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 7px; }
.methodology-icon svg { width: 15px; height: 15px; }
.methodology-icon.source { color: var(--blue); background: var(--blue-soft); }
.methodology-icon.cadence { color: #a46512; background: #fff7e8; }
.methodology-icon.guard { color: #17675b; background: var(--mint-soft); }
.methodology-grid p { min-width: 0; margin: 0; }
.methodology-grid small, .methodology-grid strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.methodology-grid small { color: var(--muted); font-size: 9px; }
.methodology-grid strong { margin-top: 2px; color: var(--ink-2); font-size: 12px; }
.methodology-details { position: relative; z-index: 20; }
.methodology-details summary { display: flex; align-items: center; gap: 4px; color: var(--blue); cursor: pointer; list-style: none; font-size: 10px; font-weight: 750; white-space: nowrap; }
.methodology-details summary::-webkit-details-marker { display: none; }
.methodology-details summary svg { width: 13px; height: 13px; transition: transform .18s ease; }
.methodology-details[open] summary svg { transform: rotate(180deg); }
.methodology-popover { position: absolute; top: calc(100% + 10px); right: 0; width: min(560px, calc(100vw - 48px)); padding: 17px; border: 1px solid #cfdde9; border-radius: 8px; background: #fff; box-shadow: 0 18px 45px rgba(26, 38, 56, .16); }
.methodology-popover > header { display: flex; align-items: flex-start; gap: 10px; }
.methodology-popover > header > svg { width: 18px; height: 18px; margin-top: 1px; flex: 0 0 auto; color: #17675b; }
.methodology-popover > header > div { min-width: 0; }
.methodology-popover > header strong { font-size: 14px; }
.methodology-popover > header p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.methodology-close { width: 30px; height: 30px; margin: -6px -6px 0 auto; display: grid; place-items: center; flex: 0 0 auto; border: 0; border-radius: 6px; color: var(--muted); background: transparent; cursor: pointer; }
.methodology-close:hover { color: var(--ink); background: var(--surface-soft); }
.methodology-close svg { width: 15px; height: 15px; }
.methodology-popover dl { margin: 14px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; overflow: hidden; border: 1px solid var(--line-soft); border-radius: 7px; background: var(--line-soft); }
.methodology-popover dl > div { min-width: 0; padding: 11px; background: #fff; }
.methodology-popover dt { color: var(--ink); font-size: 11px; font-weight: 800; }
.methodology-popover dd { margin: 4px 0 0; color: var(--ink-2); font-size: 11px; line-height: 1.6; }
.methodology-popover > p { margin: 11px 0 0; padding: 8px 10px; display: flex; align-items: center; gap: 6px; border-radius: 6px; color: #17675b; background: var(--mint-soft); font-size: 10px; font-weight: 700; }
.methodology-popover > p svg { width: 13px; height: 13px; flex: 0 0 auto; }
.freshness { display: flex; align-items: center; gap: 10px; min-width: 150px; padding: 10px 12px; border: 1px solid #cdeee4; border-radius: 7px; color: var(--mint); background: var(--mint-soft); }
.freshness > svg { flex: 0 0 auto; }
.freshness span { display: flex; flex-direction: column; font-size: 9px; font-weight: 700; color: var(--muted); letter-spacing: .08em; }
.freshness strong { color: var(--mint); font: 700 12px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: 0; }
.dashboard-shell { max-width: var(--max); margin: auto; padding: 24px; display: grid; grid-template-columns: 252px minmax(0, 1fr); gap: 22px; align-items: start; }
.insights { position: sticky; top: 92px; display: grid; gap: 13px; }
.insights section, .filter-bar, .repo-card, .info-panel, .ranking-panel, .history-panel { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.section-kicker { display: flex; align-items: center; gap: 7px; color: var(--muted); font: 700 9px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; }
.section-kicker svg { color: var(--coral); }
.champion-panel { position: relative; padding: 17px; overflow: hidden; }
.champion-panel::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--amber), var(--coral)); }
.champion-panel > img { display: block; margin: 17px 0 10px; border-radius: 8px; border: 2px solid #f4d48f; }
.champion-name { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: 17px; font-weight: 800; white-space: nowrap; }
.champion-owner { display: block; color: var(--muted); font: 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.champion-score { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line-soft); display: flex; align-items: center; gap: 6px; color: var(--amber); }
.champion-score strong { font-size: 23px; color: var(--ink); }
.champion-score span { color: var(--muted); font: 700 8px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; }
.growth-pill { display: inline-block; margin-top: 7px; padding: 3px 7px; border-radius: 5px; color: var(--coral-dark); background: var(--coral-soft); font-size: 10px; font-weight: 700; }
.empty-compact { padding: 18px 0 2px; color: var(--muted); font-size: 12px; }
.metrics-panel { display: grid; grid-template-columns: 1fr 1fr; }
.metric { padding: 13px; }
.metric:nth-child(odd) { border-right: 1px solid var(--line-soft); }
.metric:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
.metric span { display: block; color: var(--muted); font-size: 10px; }
.metric strong { display: block; margin-top: 2px; font: 800 18px ui-monospace, SFMono-Regular, Consolas, monospace; }
.language-panel { padding: 17px; }
.language-panel .section-kicker { padding-bottom: 12px; border-bottom: 1px solid var(--line-soft); }
.language-bars { display: grid; gap: 7px; margin-top: 11px; }
.language-row { --lang-color: #8b949e; padding: 8px 9px 9px; display: block; border: 1px solid transparent; border-radius: 7px; background: var(--surface-soft); transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.language-row:hover { border-color: #dbe9f8; background: var(--blue-soft); }
.language-row:active { transform: translateY(1px); }
.language-row:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.language-row.active { border-color: #ef9e8d; background: var(--coral-soft); }
.language-row > div { display: flex; align-items: center; gap: 7px; color: var(--ink-2); font-size: 12px; font-weight: 650; }
.language-row.active > div { color: var(--coral-dark); }
.language-selected { width: 13px; height: 13px; color: var(--coral); }
.language-row b { margin-left: auto; padding: 2px 6px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line-soft); border-radius: 5px; color: var(--ink); background: #fff; font: 700 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.language-row b small { color: var(--muted); font: 600 9px ui-monospace, SFMono-Regular, Consolas, monospace; }
.language-dot { display: inline-block; width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--lang-color); box-shadow: 0 0 0 3px #fff; }
.lang-color-3178c6 { --lang-color: #3178c6; }
.lang-color-3572a5 { --lang-color: #3572a5; }
.lang-color-dea584 { --lang-color: #dea584; }
.lang-color-f1e05a { --lang-color: #d4b810; }
.lang-color-00add8 { --lang-color: #00add8; }
.lang-color-f34b7d { --lang-color: #f34b7d; }
.lang-color-b07219 { --lang-color: #b07219; }
.lang-color-555555 { --lang-color: #555; }
.lang-color-4f5d95 { --lang-color: #4f5d95; }
.lang-color-701516 { --lang-color: #701516; }
.lang-color-f05138 { --lang-color: #f05138; }
.lang-color-a97bff { --lang-color: #8b5cf6; }
.lang-color-00b4ab { --lang-color: #00a39a; }
.lang-color-41b883 { --lang-color: #41b883; }
.lang-color-89e051 { --lang-color: #69b83f; }
.lang-color-e34c26 { --lang-color: #e34c26; }
.lang-color-563d7c { --lang-color: #563d7c; }
.bar { appearance: none; display: block; width: 100%; height: 5px; margin-top: 7px; overflow: hidden; border: 0; border-radius: 5px; background: #e6ebf2; }
.bar::-webkit-progress-bar { border-radius: 5px; background: #e6ebf2; }
.bar::-webkit-progress-value { border-radius: 5px; background: var(--lang-color); }
.bar::-moz-progress-bar { border-radius: 5px; background: var(--lang-color); }

.ranking-content { min-width: 0; }
.filter-bar { position: relative; min-height: 68px; padding: 11px; display: flex; align-items: center; gap: 10px; border-color: #d8dee8; background: var(--surface); box-shadow: 0 8px 24px rgba(26, 38, 56, .06); }
.search-field, .select-field { position: relative; height: 44px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid #d9e0ea; border-radius: 7px; background: #fff; color: var(--muted); transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease; }
.search-field:hover, .select-field:hover { border-color: #bfc9d7; background: var(--surface-soft); }
.search-field:focus-within, .select-field:focus-within { border-color: var(--coral); background: #fff; box-shadow: 0 0 0 3px rgba(241, 91, 64, .12); }
.search-field > svg, .select-field > svg:first-of-type { width: 17px; height: 17px; flex: 0 0 auto; }
.search-field > svg { color: var(--coral); }
.select-field > svg:first-of-type { color: var(--blue); }
.search-field { flex: 1 1 300px; max-width: none; }
.search-field input { min-width: 0; width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 14px; }
.search-field input::placeholder { color: #909baa; }
.select-field { min-width: 145px; }
.select-field select { min-width: 0; flex: 1; appearance: none; padding: 0 3px 0 0; border: 0; outline: 0; color: var(--ink-2); background: transparent; cursor: pointer; font-size: 13px; font-weight: 700; }
.select-chevron { width: 14px !important; height: 14px !important; flex: 0 0 auto; color: var(--muted); pointer-events: none; }
.native-select-enhanced { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0 !important; pointer-events: none; }
.select-trigger { min-width: 0; height: 100%; padding: 0; flex: 1; display: flex; align-items: center; gap: 8px; border: 0; outline: 0; color: var(--ink-2); background: transparent; cursor: pointer; font-size: 13px; font-weight: 700; text-align: left; }
.select-trigger > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.select-trigger .select-chevron { margin-left: auto; transition: transform .18s ease; }
.select-trigger[aria-expanded="true"] .select-chevron { transform: rotate(180deg); }
.select-field.is-open { z-index: 30; border-color: var(--coral); background: #fff; box-shadow: 0 0 0 3px rgba(241, 91, 64, .12); }
.select-menu { position: absolute; z-index: 40; top: calc(100% + 8px); left: -1px; min-width: calc(100% + 2px); width: max-content; max-width: min(260px, calc(100vw - 32px)); max-height: 286px; padding: 6px; display: grid; gap: 2px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #d8dee8; border-radius: 8px; background: #fff; box-shadow: 0 16px 36px rgba(26, 38, 56, .16); }
.select-menu[hidden] { display: none; }
.select-option { min-width: 132px; min-height: 36px; padding: 0 9px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 0; border-radius: 6px; color: var(--ink-2); background: transparent; cursor: pointer; font-size: 13px; font-weight: 650; text-align: left; white-space: nowrap; }
.select-option:hover, .select-option:focus-visible { outline: 0; color: var(--blue); background: var(--blue-soft); }
.select-option.selected { color: var(--coral-dark); background: var(--coral-soft); font-weight: 800; }
.select-option svg { width: 14px; height: 14px; opacity: 0; color: var(--coral); }
.select-option.selected svg { opacity: 1; }
.filter-submit, .clear-filter { height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border-radius: 7px; cursor: pointer; transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease; }
.filter-submit { padding: 0 17px; border: 1px solid var(--coral); color: #fff; background: var(--coral); box-shadow: 0 5px 14px rgba(241, 91, 64, .18); font-size: 13px; font-weight: 800; }
.filter-submit:hover { border-color: var(--coral-dark); background: var(--coral-dark); transform: translateY(-1px); }
.clear-filter { width: 44px; border: 1px solid #f3c7be; color: var(--coral-dark); background: var(--coral-soft); }
.clear-filter:hover { border-color: var(--coral); background: #ffe7e1; }
.result-count { min-height: 34px; margin-left: auto; padding: 0 8px 0 16px; display: inline-flex; align-items: center; gap: 6px; border-left: 1px solid var(--line); color: var(--muted); white-space: nowrap; font-size: 12px; }
.result-count svg { color: var(--mint); }
.result-count strong { color: var(--coral); font-size: 14px; }
.repo-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 13px; }
.repo-card { position: relative; min-width: 0; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 16px; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.repo-card:hover { border-color: #f1a899; box-shadow: var(--shadow); transform: translateY(-2px); }
.repo-card.rank-1, .repo-card.rank-2, .repo-card.rank-3 { border-top-width: 2px; }
.repo-card.rank-1 { border-top-color: var(--amber); }
.repo-card.rank-2 { border-top-color: var(--blue); }
.repo-card.rank-3 { border-top-color: var(--mint); }
.rank-badge { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: var(--surface-soft); font: 700 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.rank-1 .rank-badge, .rank-2 .rank-badge, .rank-3 .rank-badge { color: #fff; border: 0; }
.rank-1 .rank-badge { background: var(--amber); }
.rank-2 .rank-badge { background: var(--blue); }
.rank-3 .rank-badge { background: var(--mint); }
.repo-title-row { min-width: 0; display: flex; align-items: center; gap: 9px; }
.repo-title-row img { flex: 0 0 auto; border-radius: 6px; background: var(--line-soft); }
.repo-title-row > div { min-width: 0; }
.repo-title-row span { display: block; color: var(--muted); font: 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.repo-title-row h2 { margin: 1px 0 0; overflow: hidden; text-overflow: ellipsis; font-size: 17px; line-height: 1.3; white-space: nowrap; }
.repo-title-row h2 a:hover { color: var(--coral); }
.github-link { width: 29px; height: 29px; margin-left: auto; display: grid; place-items: center; flex: 0 0 auto; border-radius: 6px; color: var(--muted); }
.github-link:hover { color: var(--coral); background: var(--coral-soft); }
.repo-description { min-height: 46px; margin: 11px 0 0; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--ink-2); font-size: 14px; line-height: 1.65; }
.ai-summary { margin-top: 11px; padding: 9px 10px; border-left: 3px solid var(--coral); border-radius: 0 6px 6px 0; background: var(--coral-soft); }
.ai-summary.pending { border-left-color: var(--line); background: var(--surface-soft); }
.ai-label { display: flex; align-items: center; gap: 5px; color: var(--coral-dark); font: 700 10px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; }
.ai-summary.pending .ai-label { color: var(--muted); }
.ai-summary p { min-height: 46px; margin: 5px 0 0; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--ink-2); font-size: 14px; line-height: 1.65; }
.topics { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 4px; }
.topics span { padding: 2px 6px; border: 1px solid #dbe9f8; border-radius: 4px; color: var(--blue); background: var(--blue-soft); font-size: 10px; }
.repo-meta { margin-top: 12px; padding-top: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 9px; border-top: 1px solid var(--line-soft); color: var(--muted); font: 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.repo-stats, .repo-actions, .repo-stats span, .repo-stats strong, .repo-actions a { display: flex; align-items: center; }
.repo-stats { min-width: 0; gap: 10px; overflow: hidden; }
.repo-stats span, .repo-stats strong { gap: 4px; white-space: nowrap; }
.repo-stats strong { color: var(--coral); }
.repo-actions { gap: 5px; }
.repo-actions a { min-height: 30px; padding: 0 8px; justify-content: center; gap: 4px; border: 1px solid var(--line); border-radius: 6px; font-family: inherit; font-weight: 750; white-space: nowrap; transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease; }
.repo-actions a svg { width: 13px; height: 13px; }
.repo-actions a:active { transform: translateY(1px); }
.repo-actions a:focus-visible { outline: 2px solid var(--coral); outline-offset: 2px; }
.repo-detail-link { color: var(--coral-dark); border-color: #f1b5a9 !important; background: var(--coral-soft); }
.repo-detail-link:hover { color: #8f3524; border-color: #e88774 !important; background: #ffe9e3; }
.repo-github-link { color: var(--ink-2); background: var(--surface); }
.repo-github-link:hover { color: var(--coral); border-color: #f1b5a9 !important; background: #fff8f6; }
.pagination { min-height: 62px; display: flex; align-items: center; justify-content: center; gap: 18px; color: var(--muted); font-size: 13px; }
.pagination a { min-width: 112px; height: 36px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink-2); background: var(--surface); font-weight: 700; }
.pagination a:hover { color: var(--coral); border-color: #f1a899; }
.spinner { width: 13px; height: 13px; border: 2px solid var(--line); border-top-color: var(--coral); border-radius: 50%; animation: spin .8s linear infinite; }
.empty-state { min-height: 380px; margin-top: 13px; display: grid; place-content: center; justify-items: center; border: 1px dashed var(--line); border-radius: 8px; color: var(--muted); background: var(--surface); text-align: center; }
.empty-state > svg { width: 38px; height: 38px; color: var(--coral); }
.empty-state h2 { margin: 12px 0 2px; color: var(--ink); font-size: 16px; }
.empty-state p { margin: 0; font-size: 12px; }

.detail-main { max-width: 1240px; margin: auto; padding: 24px; }
.breadcrumbs { display: flex; align-items: center; gap: 7px; overflow: hidden; color: var(--muted); font-size: 12px; white-space: nowrap; }
.breadcrumbs a:hover { color: var(--coral); }
.breadcrumbs strong { overflow: hidden; text-overflow: ellipsis; color: var(--ink-2); }
.repo-hero { margin-top: 16px; padding: 27px; display: grid; grid-template-columns: 1fr auto; gap: 18px 30px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: 0 4px 18px rgba(26,38,56,.04); }
.repo-identity { display: flex; align-items: center; gap: 15px; min-width: 0; }
.repo-identity img { border-radius: 9px; border: 1px solid var(--line); }
.repo-identity p, .repo-identity span { margin: 0; color: var(--muted); font: 12px ui-monospace, SFMono-Regular, Consolas, monospace; }
.repo-identity h1 { margin: 2px 0; overflow-wrap: anywhere; font-size: clamp(24px, 4vw, 34px); line-height: 1.18; }
.hero-actions { display: flex; align-items: center; gap: 8px; }
.primary-button, .secondary-button { min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border-radius: 7px; font-size: 13px; font-weight: 800; }
.secondary-button { border: 1px solid var(--line); color: var(--ink-2); background: var(--surface); }
.hero-description { grid-column: 1 / -1; max-width: 900px; margin: 0; color: var(--ink-2); font-size: 15px; line-height: 1.8; }
.repo-quick-tools { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.repo-quick-tools button { min-height: 34px; padding: 0 10px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink-2); background: var(--surface-soft); cursor: pointer; font-size: 11px; font-weight: 750; transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease; }
.repo-quick-tools button:hover { color: var(--coral-dark); border-color: #f1b5a9; background: var(--coral-soft); }
.repo-quick-tools button:active { transform: translateY(1px); }
.repo-quick-tools button svg { width: 14px; height: 14px; }
.repo-quick-tools [data-tool-status] { min-height: 20px; margin-left: auto; color: #17675b; font-size: 11px; font-weight: 700; }
.hero-metrics { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-soft); }
.hero-metrics > div { position: relative; margin-top: 4px; padding: 16px 12px 0 28px; border-right: 1px solid var(--line-soft); }
.hero-metrics > div:last-child { border-right: 0; }
.hero-metrics svg { position: absolute; left: 3px; top: 20px; color: var(--coral); }
.hero-metrics span { display: block; color: var(--muted); font: 700 8px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; }
.hero-metrics strong { display: block; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; font: 800 19px ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.history-intelligence { margin-top: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); overflow: hidden; }
.history-intelligence > header { min-height: 70px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.history-intelligence > header > div { min-width: 0; display: flex; align-items: center; gap: 10px; }
.intelligence-mark { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 7px; color: var(--blue); background: var(--blue-soft); }
.intelligence-mark svg { width: 19px; height: 19px; }
.history-intelligence header p, .history-intelligence header h2 { margin: 0; }
.history-intelligence header p { color: var(--blue); font: 750 9px ui-monospace, SFMono-Regular, Consolas, monospace; }
.history-intelligence header h2 { margin-top: 2px; font-size: 18px; }
.intelligence-scope { min-height: 28px; padding: 0 9px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid #cfe0ed; border-radius: 6px; color: #246a9e; background: #f5faff; font-size: 10px; font-weight: 750; white-space: nowrap; }
.intelligence-periods { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.intelligence-period { min-width: 0; padding: 15px 17px; border-left: 1px solid var(--line-soft); }
.intelligence-period:first-child { border-left: 0; }
.intelligence-period-head { min-height: 24px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.intelligence-period-head > strong { font-size: 13px; }
.intelligence-period-head > span { min-height: 21px; padding: 0 6px; display: inline-flex; align-items: center; border-radius: 5px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.status-active { color: #17675b; background: var(--mint-soft); }
.status-new, .status-returned { color: #9b6513; background: #fff7e8; }
.status-out_of_range { color: #6d7786; background: #eef1f5; }
.status-recorded { color: #246a9e; background: var(--blue-soft); }
.intelligence-ranks { margin-top: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.intelligence-ranks span { min-width: 0; }
.intelligence-ranks small, .intelligence-ranks b { display: block; }
.intelligence-ranks small { color: var(--muted); font-size: 9px; }
.intelligence-ranks b { margin-top: 1px; overflow: hidden; text-overflow: ellipsis; font: 850 20px ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.intelligence-movement { min-height: 28px; margin: 11px 0 0; display: flex; align-items: center; gap: 5px; color: var(--ink-2); font-size: 10px; line-height: 1.4; }
.intelligence-movement svg { width: 13px; height: 13px; flex: 0 0 auto; color: var(--coral); }
.intelligence-period dl { margin: 10px 0 0; padding-top: 9px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; border-top: 1px solid var(--line-soft); }
.intelligence-period dl > div { min-width: 0; }
.intelligence-period dt { color: var(--muted); font-size: 9px; }
.intelligence-period dd { margin: 2px 0 0; overflow: hidden; text-overflow: ellipsis; color: var(--ink-2); font: 750 11px ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.intelligence-sample { min-height: 30px; margin-top: 10px; display: block; color: var(--muted); font-size: 9px; line-height: 1.5; }
.history-intelligence > footer { min-height: 54px; padding: 10px 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: var(--surface-soft); }
.history-intelligence > footer span { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; color: var(--ink-2); font-size: 11px; font-weight: 750; }
.history-intelligence > footer p { margin: 0; color: var(--muted); font-size: 10px; text-align: right; }
.repo-trend-chart { margin-top: 18px; padding: 20px 22px 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.repo-trend-chart > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.repo-trend-chart h2 { margin: 0; font-size: 18px; }
.repo-trend-chart header p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.chart-legend { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; color: var(--muted); font-size: 10px; }
.chart-legend span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.chart-legend span::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background: var(--blue); }
.chart-legend .star-bar::before { height: 9px; background: rgba(241, 91, 64, .35); }
.trend-chart-scroll { margin-top: 12px; overflow-x: auto; scrollbar-width: thin; }
.trend-chart-svg { width: 100%; min-width: 680px; height: auto; display: block; }
.chart-grid-line { stroke: var(--line-soft); stroke-width: 1; }
.chart-axis-label, .chart-axis-date { fill: var(--muted); font: 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.chart-star-max { text-anchor: start; }
.chart-star-bar { fill: var(--coral); opacity: .22; }
.chart-star-bar:hover { opacity: .42; }
.chart-rank-line { fill: none; stroke: var(--blue); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.chart-rank-point { fill: var(--surface); stroke: var(--blue); stroke-width: 2; }
.repo-trend-chart > footer { margin-top: 7px; padding-top: 10px; display: flex; align-items: flex-start; gap: 6px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 10px; line-height: 1.6; }
.repo-trend-chart > footer svg { margin-top: 2px; flex: 0 0 auto; color: var(--blue); }
.health-evidence-layer { margin-top: 18px; overflow: hidden; border: 1px solid #ccd9e4; border-radius: 9px; background: var(--surface); box-shadow: 0 8px 26px rgba(25, 52, 72, .045); }
.health-evidence-head { min-height: 82px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid #dbe4eb; background: linear-gradient(105deg, #f3faf8 0, #fff 46%, #f4f8fc 100%); }
.health-evidence-title { min-width: 0; display: flex; align-items: center; gap: 12px; }
.health-evidence-title > div { min-width: 0; }
.health-evidence-title p, .health-evidence-title h2 { margin: 0; }
.health-evidence-title p { color: #238977; font: 750 8px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .16em; }
.health-evidence-title h2 { margin-top: 2px; font-size: 19px; }
.health-evidence-title > div > span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.health-evidence-radar { position: relative; width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; border: 1px solid #9fcabd; border-radius: 50%; color: #17675b; background: #e7f5f0; }
.health-evidence-radar::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(35, 137, 119, .22); border-radius: 50%; box-shadow: 0 0 0 7px rgba(35, 137, 119, .055); }
.health-evidence-radar::after { content: ""; position: absolute; left: 50%; bottom: 50%; width: 48%; height: 1px; background: linear-gradient(90deg, rgba(35, 137, 119, .08), #238977); transform-origin: left center; animation: evidence-scan 4.8s linear infinite; }
.health-evidence-radar svg { position: relative; z-index: 1; width: 19px; height: 19px; }
@keyframes evidence-scan { to { transform: rotate(360deg); } }
.health-confidence { min-height: 30px; padding: 0 9px; display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; border: 1px solid; border-radius: 6px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.health-confidence svg { width: 13px; height: 13px; }
.confidence-high { border-color: #a8d4c7; color: #17675b; background: #eaf9f4; }
.confidence-medium { border-color: #bed4e7; color: #285f89; background: #edf6ff; }
.confidence-limited { border-color: #e7cc9f; color: #8a5b12; background: #fff7e8; }
.confidence-pending { border-color: #d7dee7; color: #697588; background: #f3f5f8; }
.health-evidence-sectors { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.health-sector { min-width: 0; padding: 16px; border-right: 1px solid #e1e7ed; }
.health-sector:last-child { border-right: 0; }
.health-sector > header { min-height: 38px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.health-sector > header > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; color: #246a9e; background: var(--blue-soft); }
.health-sector.sector-maintenance > header > span { color: #17675b; background: var(--mint-soft); }
.health-sector.sector-delivery > header > span { color: #8a5b12; background: #fff7e8; }
.health-sector.sector-adoption > header > span { color: #a04432; background: var(--coral-soft); }
.health-sector > header svg { width: 16px; height: 16px; }
.health-sector header small, .health-sector header h3 { margin: 0; }
.health-sector header small { display: block; color: var(--muted); font: 700 7px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; }
.health-sector header h3 { margin-top: 1px; font-size: 14px; }
.health-sector header a { display: inline-flex; align-items: center; gap: 2px; color: var(--muted); font-size: 8px; font-weight: 750; white-space: nowrap; }
.health-sector header a:hover { color: var(--blue); }
.health-sector header a svg { width: 11px; height: 11px; }
.health-sector dl { margin: 13px 0 0; display: grid; }
.health-sector dl > div { min-width: 0; min-height: 58px; padding: 9px 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 2px 8px; border-top: 1px solid var(--line-soft); }
.health-sector dt { min-width: 0; color: var(--ink-2); font-size: 10px; }
.health-sector dd { margin: 0; color: var(--ink); font: 800 14px ui-monospace, SFMono-Regular, Consolas, monospace; text-align: right; white-space: nowrap; }
.health-sector dd em { margin-left: 2px; color: var(--muted); font-size: 9px; font-style: normal; }
.health-sector dl small { grid-column: 1 / -1; color: var(--muted); font-size: 8px; line-height: 1.4; }
.health-evidence-meta { min-height: 55px; padding: 10px 16px; display: grid; grid-template-columns: minmax(0, auto) minmax(260px, 1fr); align-items: center; gap: 18px; border-top: 1px solid #dbe4eb; background: #f7f9fb; }
.health-evidence-meta p { margin: 0; min-width: 0; display: flex; align-items: center; gap: 8px 13px; flex-wrap: wrap; color: var(--muted); font-size: 9px; }
.health-evidence-meta p > svg { width: 14px; height: 14px; flex: 0 0 auto; color: var(--blue); }
.health-evidence-meta strong { color: var(--ink-2); font: 750 9px ui-monospace, SFMono-Regular, Consolas, monospace; }
.health-evidence-meta .health-confidence-note { justify-content: flex-end; color: #5e6d7d; line-height: 1.55; text-align: right; }
.health-evidence-empty { min-height: 136px; padding: 22px; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 13px; }
.health-evidence-empty > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 9px; color: #647287; background: #edf1f5; }
.health-evidence-empty > span svg { width: 21px; height: 21px; }
.health-evidence-empty strong { display: block; font-size: 14px; }
.health-evidence-empty p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.health-evidence-empty > small { color: #8b96a5; font: 700 8px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; white-space: nowrap; }
@media (max-width: 980px) {
  .health-evidence-sectors { grid-template-columns: 1fr 1fr; }
  .health-sector:nth-child(2) { border-right: 0; }
  .health-sector:nth-child(-n+2) { border-bottom: 1px solid #e1e7ed; }
  .health-evidence-meta { grid-template-columns: 1fr; gap: 7px; }
  .health-evidence-meta .health-confidence-note { justify-content: flex-start; text-align: left; }
}
@media (max-width: 620px) {
  .health-evidence-head { padding: 13px; align-items: flex-start; flex-direction: column; gap: 10px; }
  .health-evidence-title { align-items: flex-start; }
  .health-evidence-title > div > span { line-height: 1.5; }
  .health-evidence-radar { width: 42px; height: 42px; }
  .health-evidence-sectors { grid-template-columns: 1fr; }
  .health-sector, .health-sector:nth-child(2) { padding: 14px; border-right: 0; border-bottom: 1px solid #e1e7ed; }
  .health-sector:last-child { border-bottom: 0; }
  .health-sector dl { grid-template-columns: 1fr 1fr; gap: 0 14px; }
  .health-sector dl > div { min-height: 56px; }
  .health-evidence-meta { padding: 11px 13px; }
  .health-evidence-meta p { align-items: flex-start; }
  .health-evidence-meta p > svg { margin-top: 1px; }
  .health-evidence-empty { min-height: 150px; padding: 18px 14px; grid-template-columns: 42px minmax(0, 1fr); }
  .health-evidence-empty > span { width: 42px; height: 42px; }
  .health-evidence-empty > small { grid-column: 1 / -1; }
}

.detail-grid { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1fr) 306px; gap: 18px; align-items: start; }
.analysis-column { display: grid; gap: 14px; }
.analysis-lead, .analysis-section, .verdict { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.analysis-lead { padding: 25px; }
.analysis-heading { display: flex; align-items: center; gap: 12px; }
.analysis-heading > div { min-width: 0; }
.analysis-safety-badge { min-height: 28px; margin-left: auto; padding: 0 8px; display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; border: 1px solid #c6ddd7; border-radius: 6px; color: #17675b; background: var(--mint-soft); font-size: 10px; font-weight: 750; white-space: nowrap; }
.ai-orbit { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: var(--coral); }
.analysis-heading p, .related-section header p { margin: 0; color: var(--coral); font: 700 10px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .14em; }
.analysis-heading h2 { margin: 1px 0 0; font-size: 19px; }
.analysis-advisory { margin: 17px 0 0; padding: 9px 11px; display: flex; align-items: flex-start; gap: 7px; border: 1px solid #efd8aa; border-radius: 7px; color: #73501a; background: #fff9eb; font-size: 11px; line-height: 1.65; }
.analysis-advisory svg { margin-top: 2px; flex: 0 0 auto; }
.analysis-source-line { margin: 15px 0 -10px; display: flex; gap: 6px; }
.analysis-source-line span, .source-chip { min-height: 22px; padding: 0 7px; display: inline-flex; align-items: center; border: 1px solid #d7e3ec; border-radius: 5px; color: #48657a; background: #f6fafc; font-size: 9px; font-weight: 800; white-space: nowrap; }
.lead-summary { margin: 20px 0 0; padding: 15px 17px; border-left: 3px solid var(--coral); color: var(--ink); background: var(--coral-soft); font-size: 16px; font-weight: 700; line-height: 1.8; }
.overview { margin: 17px 0 0; color: var(--ink-2); font-size: 15px; line-height: 1.85; }
.analysis-pending { margin-top: 20px; padding: 16px; display: flex; gap: 11px; border: 1px dashed var(--line); border-radius: 7px; color: var(--muted); background: var(--surface-soft); }
.analysis-pending strong { color: var(--ink); }
.analysis-pending p { margin: 3px 0 0; font-size: 14px; }
.analysis-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.analysis-section { padding: 20px; }
.analysis-section header { display: flex; gap: 10px; }
.analysis-section header > svg { margin-top: 2px; color: var(--coral); }
.analysis-section header > div { min-width: 0; }
.analysis-section .source-chip { margin-left: auto; flex: 0 0 auto; }
.analysis-section h2 { margin: 0; font-size: 16px; }
.analysis-section header p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.analysis-section ul { margin: 15px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.analysis-section li { position: relative; padding-left: 14px; color: var(--ink-2); font-size: 14px; line-height: 1.75; }
.analysis-section li::before { content: ""; position: absolute; top: .68em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--coral); }
.verdict { padding: 22px 24px; border-color: #f2c3b9; background: linear-gradient(135deg, #fff 0%, #fff8f5 100%); }
.verdict > span { color: var(--coral); font: 800 9px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .12em; }
.verdict blockquote { margin: 10px 0; font-size: 16px; font-weight: 650; line-height: 1.85; }
.verdict small { color: var(--muted); font-size: 11px; }
.repo-sidebar { position: sticky; top: 92px; display: grid; gap: 13px; }
.info-panel, .ranking-panel, .history-panel { padding: 18px; }
.repo-sidebar h2 { margin: 0 0 14px; font-size: 15px; }
.info-panel dl { margin: 0; }
.info-panel dl > div { padding: 9px 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--line-soft); }
.info-panel dt, .info-panel dd { margin: 0; display: flex; align-items: center; gap: 6px; font-size: 12px; }
.info-panel dt { color: var(--muted); }
.info-panel dd { color: var(--ink-2); font-weight: 700; text-align: right; }
.license-guidance { margin-top: 13px; padding: 11px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
.license-guidance strong { display: flex; align-items: center; gap: 6px; color: var(--ink-2); font-size: 11px; }
.license-guidance p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.license-permissive { border-color: #b8ddd6; background: var(--mint-soft); }
.license-permissive strong { color: #17675b; }
.license-copyleft { border-color: #cfe0ed; background: var(--blue-soft); }
.license-copyleft strong { color: #246a9e; }
.license-restricted { border-color: #efc1b8; background: var(--coral-soft); }
.license-restricted strong { color: var(--coral-dark); }
.sidebar-topics { margin-top: 15px; }
.sidebar-topics > span { color: var(--muted); font: 700 8px ui-monospace, SFMono-Regular, Consolas, monospace; text-transform: uppercase; }
.sidebar-topics > div { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 5px; }
.sidebar-topics b { padding: 3px 6px; border-radius: 4px; color: var(--blue); background: var(--blue-soft); font-size: 10px; font-weight: 600; }
.repo-health-panel { padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.repo-health-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.repo-health-panel > header h2 { margin: 0; }
.health-status { min-height: 23px; padding: 0 7px; display: inline-flex; align-items: center; border-radius: 5px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.health-active { color: #17675b; background: var(--mint-soft); }
.health-steady { color: #246a9e; background: var(--blue-soft); }
.health-quiet, .health-unknown { color: #7c5b20; background: #fff7e8; }
.health-archived { color: #5f6875; background: #eef1f5; }
.repo-health-panel > p { margin: 10px 0 12px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.repo-health-panel dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.repo-health-panel dl > div { min-width: 0; padding: 9px; border-radius: 6px; background: var(--surface-soft); }
.repo-health-panel dt { color: var(--muted); font-size: 9px; }
.repo-health-panel dd { margin: 3px 0 0; overflow: hidden; text-overflow: ellipsis; color: var(--ink-2); font: 750 10px ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.ranking-panel > div { padding: 9px 0; display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; border-top: 1px solid var(--line-soft); font-size: 12px; }
.ranking-panel span { color: var(--muted); }
.ranking-panel strong { font: 800 14px ui-monospace, SFMono-Regular, Consolas, monospace; }
.ranking-panel em { color: var(--coral); font-style: normal; font-weight: 700; }
.spark-bars { height: 86px; padding: 10px 2px 0; display: flex; align-items: end; gap: 3px; border-bottom: 1px solid var(--line); }
.spark-bars i { flex: 1; max-width: 12px; height: var(--height); border-radius: 2px 2px 0 0; background: var(--coral); opacity: .68; }
.history-panel p { margin: 9px 0 0; color: var(--muted); font-size: 11px; }
.related-section { margin-top: 26px; }
.related-section header h2 { margin: 2px 0 12px; font-size: 18px; }
.related-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; }
.related-grid a { min-width: 0; padding: 12px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }
.related-grid a:hover { border-color: #f1a899; transform: translateY(-1px); }
.related-grid img { border-radius: 6px; }
.related-grid span { min-width: 0; }
.related-grid strong, .related-grid small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.related-grid strong { font-size: 13px; }
.related-grid small { color: var(--muted); font-size: 10px; }
.related-grid em { margin-left: auto; display: flex; align-items: center; gap: 3px; color: var(--amber); font: 700 8px ui-monospace, SFMono-Regular, Consolas, monospace; font-style: normal; }

.error-page { min-height: calc(100vh - 180px); padding: 70px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.error-page > span { color: var(--coral); font: 900 72px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.error-page h1 { margin: 12px 0 4px; }
.error-page p { margin: 0 0 22px; color: var(--muted); }
.site-footer { margin-top: 34px; border-top: 1px solid var(--line); background: var(--surface); }
.footer-inner { max-width: var(--max); min-height: 128px; margin: auto; padding: 24px; display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 32px; }
.footer-inner strong { font-size: 13px; }
.footer-inner p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.footer-groups { display: grid; gap: 10px; }
.footer-links { display: flex; align-items: center; justify-content: flex-end; gap: 16px; color: var(--muted); font-size: 11px; }
.footer-links > span { min-width: 60px; color: var(--ink-2); font-weight: 800; }
.footer-links a:hover { color: var(--coral); }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes signal-pulse { 50% { box-shadow: 0 0 0 6px rgba(20, 156, 120, 0); } }
@media (prefers-reduced-motion: no-preference) {
  .header-signal > i { animation: signal-pulse 2.2s ease-out infinite; }
}
@media (max-width: 1120px) {
  .dashboard-head-inner { grid-template-columns: minmax(300px, 1fr) auto; }
  .data-methodology { grid-column: 1 / -1; grid-row: 2; }
  .dashboard-shell { grid-template-columns: 1fr; }
  .insights { position: static; grid-template-columns: 1.2fr 1fr 1.5fr; }
  .champion-panel { grid-row: span 1; }
  .champion-panel > img { float: left; margin: 17px 11px 8px 0; }
  .repo-sidebar { position: static; }
  .detail-grid { grid-template-columns: minmax(0, 1fr) 280px; }
  .related-grid { grid-template-columns: repeat(3, 1fr); }
  .intelligence-periods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intelligence-period:nth-child(3) { border-left: 0; }
  .intelligence-period:nth-child(n+3) { border-top: 1px solid var(--line-soft); }
}
@media (max-width: 820px) {
  .header-inner, .dashboard-head-inner, .dashboard-shell, .detail-main, .footer-inner { padding-left: 16px; padding-right: 16px; }
  .header-inner { grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; }
  .brand small { display: none; }
  .site-period-nav { justify-content: flex-end; }
  .site-period-nav a { min-width: 46px; padding: 0 9px; }
  .header-actions .nav-link span { display: none; }
  .header-actions .nav-link { width: 36px; padding: 0; justify-content: center; }
  .dashboard-head-inner { min-height: 118px; padding-top: 20px; grid-template-columns: 1fr; gap: 17px; }
  .data-methodology { grid-column: 1; }
  .freshness { display: none; }
  .filter-bar { flex-wrap: wrap; }
  .search-field { flex-basis: 100%; }
  .select-field { flex: 1 1 150px; }
  .insights { grid-template-columns: 1fr 1fr; }
  .language-panel { grid-column: 1 / -1; }
  .repo-list { grid-template-columns: 1fr; }
  .detail-grid { grid-template-columns: 1fr; }
  .repo-sidebar { grid-template-columns: repeat(2, 1fr); }
  .info-panel { grid-row: span 2; }
  .analysis-sections { grid-template-columns: 1fr; }
  .repo-hero { grid-template-columns: 1fr; }
  .hero-actions { grid-row: 3; }
  .hero-description, .hero-metrics { grid-column: 1; }
  .history-intelligence > footer { align-items: flex-start; flex-direction: column; gap: 5px; }
  .history-intelligence > footer p { text-align: left; }
}
@media (max-width: 600px) {
  .header-inner { height: auto; min-height: 112px; padding-top: 9px; padding-bottom: 8px; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: 48px 47px; gap: 0 10px; }
  .brand { gap: 10px; }
  .brand-mark { width: 38px; height: 38px; border-radius: 9px; }
  .brand strong { font-size: 15px; }
  .brand small { display: block; max-width: 165px; overflow: hidden; text-overflow: ellipsis; font-size: 7px; letter-spacing: .07em; }
  .header-actions .nav-link { display: none; }
  .header-signal { min-height: 34px; padding: 0 9px; border-radius: 8px; }
  .header-signal strong { font-size: 9px; }
  .header-signal small { display: none; }
  .site-period-nav { width: 100%; grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; gap: 3px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
  .site-period-nav::-webkit-scrollbar { display: none; }
  .site-period-nav a { min-width: 62px; min-height: 37px; flex: 1 0 62px; padding: 0 9px; scroll-snap-align: start; }
  .dashboard-head-inner { min-height: 104px; padding-bottom: 14px; gap: 14px; }
  .headline-copy h1 { font-size: 24px; }
  .headline-copy > p:last-child { font-size: 13px; }
  .methodology-heading { min-height: 24px; }
  .methodology-heading > span small { display: none; }
  .methodology-grid { min-height: 54px; }
  .methodology-grid > div { padding: 7px 5px; gap: 5px; }
  .methodology-icon { width: 22px; height: 22px; }
  .methodology-icon svg { width: 13px; height: 13px; }
  .methodology-grid small { font-size: 8px; }
  .methodology-grid strong { font-size: 10px; }
  .methodology-popover { position: fixed; z-index: 70; top: 120px; right: 12px; left: 12px; width: auto; max-height: calc(100vh - 136px); max-height: calc(100dvh - 136px); overflow-y: auto; overscroll-behavior: contain; }
  .methodology-popover dl { grid-template-columns: 1fr; }
  .dashboard-shell { padding-top: 10px; gap: 10px; }
  .insights { display: block; }
  .champion-panel, .language-panel { display: none; }
  .metrics-panel { grid-template-columns: repeat(4, 1fr); margin-bottom: 0; }
  .metric { padding: 9px 5px; text-align: center; border: 0 !important; border-right: 1px solid var(--line-soft) !important; }
  .metric:last-child { border-right: 0 !important; }
  .metric span { font-size: 9px; }
  .metric strong { font-size: 13px; }
  .filter-bar { flex-wrap: wrap; padding: 10px; gap: 8px; }
  .search-field { max-width: none; flex-basis: 100%; padding-right: 48px; }
  .select-field { min-width: 0; flex: 1; }
  .select-field select { width: 100%; }
  .filter-submit, .result-count { display: none; }
  .clear-filter { position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; border: 0; }
  .repo-card { grid-template-columns: 34px minmax(0, 1fr); gap: 9px; padding: 13px 11px; }
  .rank-badge { width: 32px; height: 32px; }
  .repo-meta { grid-template-columns: 1fr; gap: 8px; }
  .repo-stats { gap: 9px; }
  .repo-stats span:nth-of-type(3) { display: none; }
  .repo-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .repo-actions a { min-height: 33px; padding: 0 7px; font-size: 10px; }
  .repo-hero { padding: 19px 15px; }
  .repo-identity img { width: 56px; height: 56px; }
  .repo-identity h1 { font-size: 23px; }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .repo-quick-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .repo-quick-tools button { min-width: 0; padding: 0 5px; justify-content: center; font-size: 9px; white-space: nowrap; }
  .repo-quick-tools [data-tool-status] { grid-column: 1 / -1; margin-left: 0; text-align: center; }
  .hero-metrics { grid-template-columns: 1fr 1fr; }
  .hero-metrics > div { border-bottom: 1px solid var(--line-soft); }
  .history-intelligence > header { align-items: flex-start; }
  .intelligence-scope { display: none; }
  .intelligence-periods { grid-template-columns: 1fr; }
  .intelligence-period { border-left: 0; border-top: 1px solid var(--line-soft); }
  .intelligence-period:first-child { border-top: 0; }
  .analysis-heading { align-items: flex-start; flex-wrap: wrap; }
  .analysis-safety-badge { width: 100%; margin-left: 0; justify-content: center; white-space: normal; text-align: center; }
  .analysis-lead, .analysis-section, .verdict { padding: 17px; }
  .repo-trend-chart { padding: 17px 14px 12px; }
  .repo-trend-chart > header { flex-direction: column; gap: 10px; }
  .chart-legend { justify-content: flex-start; }
  .repo-sidebar { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; align-items: start; gap: 18px; }
  .footer-links { align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; gap: 8px 14px; }
  .footer-links > span { flex-basis: 100%; }
}

/* Operations workspaces */
.admin-main { max-width: 1480px; }
.admin-workspaces { margin-top: 18px; padding: 5px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; border: 1px solid #d7dee7; border-radius: 10px; background: #e9edf2; }
.admin-workspaces a { min-width: 0; min-height: 58px; padding: 9px 13px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid transparent; border-radius: 7px; color: #657185; }
.admin-workspaces a > svg { width: 19px; height: 19px; flex: 0 0 auto; }
.admin-workspaces a span { min-width: 0; display: grid; }
.admin-workspaces a strong { font-size: 12px; }
.admin-workspaces a small { margin-top: 1px; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.admin-workspaces a:hover { color: var(--ink); background: rgba(255,255,255,.65); }
.admin-workspaces a.active { border-color: #d6dee7; color: var(--ink); background: #fff; box-shadow: 0 3px 11px rgba(26,38,56,.07); }
.admin-workspaces a.active > svg { color: var(--coral); }
.admin-callout { margin-top: 14px; padding: 12px 14px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid #c9ddee; border-radius: 8px; color: #246a9e; background: #f3f8fc; }
.admin-callout > svg { width: 18px; height: 18px; margin-top: 1px; flex: 0 0 auto; }
.admin-callout strong { display: block; font-size: 11px; }.admin-callout p { margin: 3px 0 0; color: var(--ink-2); font-size: 10px; line-height: 1.65; }
.admin-kpis-six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.admin-kpis-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-kpis-six span svg, .admin-kpis-four span svg { width: 15px; height: 15px; color: var(--blue); }
.chart-bar-human { fill: #9bc5b9; }.chart-bar-human:hover { fill: #5b9b89; }.legend-human { background: #79aa9c; }
.chart-bar-ad { fill: #d6c493; }.chart-bar-ad:hover { fill: #b69a54; }.chart-line-ad { stroke: #277bd8; }.legend-ad { background: #d6c493; }.legend-line-ad { background: #277bd8; }
.retention-grid { margin-top: 15px; display: grid; gap: 7px; }
.retention-grid > div { padding: 10px 11px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 3px 10px; border-radius: 6px; background: var(--surface-soft); }
.retention-grid span { color: var(--muted); font-size: 10px; }.retention-grid strong { font: 800 17px ui-monospace, SFMono-Regular, Consolas, monospace; }.retention-grid small { grid-column: 1 / -1; color: var(--muted); font-size: 9px; }
.traffic-noise { margin-top: 12px; padding-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border-top: 1px solid var(--line-soft); }
.traffic-noise > div { padding: 9px; border-radius: 6px; background: #fff7e8; }.traffic-noise span { display: block; color: #8a6b37; font-size: 9px; }.traffic-noise strong { display: block; margin-top: 2px; font: 800 15px ui-monospace, SFMono-Regular, Consolas, monospace; }
.conversion-funnel { margin-top: 15px; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line-soft); }
.conversion-funnel > div { padding: 14px; display: grid; background: var(--surface-soft); }.conversion-funnel span { color: var(--muted); font-size: 10px; }.conversion-funnel strong { margin-top: 3px; font: 800 20px ui-monospace, SFMono-Regular, Consolas, monospace; }.conversion-funnel em { margin-top: 2px; color: #17675b; font-size: 10px; font-style: normal; font-weight: 800; }
.admin-split-lists { margin-top: 15px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.admin-split-lists h3 { margin: 0 0 7px; color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.admin-split-lists p { margin: 0; padding: 7px 0; display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--line-soft); font-size: 10px; }.admin-split-lists p span { color: var(--ink-2); }.admin-split-lists p strong { font: 750 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-grid-tables { grid-template-columns: 1.15fr .85fr; }
.admin-data-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.admin-data-table th, .admin-data-table td { padding: 9px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); text-align: left; vertical-align: middle; }
.admin-data-table th { color: var(--muted); background: var(--surface-soft); font-weight: 750; white-space: nowrap; }
.admin-data-table code, .admin-data-table time { max-width: 300px; display: inline-block; overflow: hidden; color: #246a9e; background: transparent; font: 650 9px ui-monospace, SFMono-Regular, Consolas, monospace; text-overflow: ellipsis; vertical-align: middle; white-space: nowrap; }
.admin-recent-visits, .admin-recent-events, .admin-status-banner { margin-top: 14px; }
.admin-recent-visits .admin-data-table { min-width: 1120px; }
.admin-table-pager { margin-top: 16px; display: flex; align-items: center; justify-content: flex-end; gap: 12px; color: var(--muted); font-size: 13px; font-weight: 700; }
.admin-table-pager[hidden] { display: none; }
.admin-table-pager button { min-width: 92px; height: 36px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink-2); font: inherit; cursor: pointer; }
.admin-table-pager button:hover:not(:disabled) { color: var(--coral); border-color: #f1a899; }
.admin-table-pager button:disabled { opacity: .42; cursor: not-allowed; }
.admin-table-pager svg { width: 15px; height: 15px; }
.admin-recent-events .admin-data-table { min-width: 620px; }
.visitor-type.confirmed { color: #17675b; background: #e8f5f1; }.visitor-type.suspected { color: #8a5b12; background: #fff5df; }.visitor-type.known_bot { color: #667080; background: #edf0f4; }
.admin-notice { margin-top: 14px; padding: 10px 12px; display: flex; align-items: center; gap: 8px; border: 1px solid; border-radius: 7px; font-size: 11px; font-weight: 750; }.admin-notice.success { border-color: #b9ded4; color: #17675b; background: #edf9f6; }.admin-notice svg { width: 16px; height: 16px; }
.admin-status-banner { padding: 15px 17px; display: flex; align-items: flex-start; gap: 11px; border: 1px solid; border-radius: 8px; }.admin-status-banner > svg { width: 21px; height: 21px; flex: 0 0 auto; }.admin-status-banner strong { display: block; font-size: 13px; }.admin-status-banner p { margin: 3px 0 0; font-size: 10px; }.admin-status-banner.ok { border-color: #b9ded4; color: #17675b; background: #edf9f6; }.admin-status-banner.ok p { color: #41786d; }.admin-status-banner.alert { border-color: #efc7bd; color: #9f3425; background: #fff3f0; }.admin-status-banner.alert p { color: #74483f; }
.admin-periods > div { position: relative; }.admin-periods em { display: block; margin-top: 5px; color: #17675b; font-size: 8px; font-style: normal; font-weight: 750; }.admin-periods > div.stale { background: #fff3f0; }.admin-periods > div.stale em { color: #9f3425; }
.status-warn { display: inline-flex; align-items: center; gap: 5px; color: #9f3425 !important; }.status-warn svg, .status-ok svg { width: 14px; height: 14px; }
.alert-state { margin: 14px 0 0; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line-soft); }
.alert-state > div { padding: 11px; border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }.alert-state > div:nth-child(even) { border-right: 0; }.alert-state > div:nth-last-child(-n+2) { border-bottom: 0; }.alert-state dt { color: var(--muted); font-size: 9px; }.alert-state dd { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 10px; font-weight: 700; }
.admin-reports .admin-data-table td:nth-child(4) { min-width: 280px; line-height: 1.6; }
.health-collection-ops { margin-top: 14px; }
.health-collection-note { margin: 12px 0 0; padding: 10px 11px; display: flex; align-items: flex-start; gap: 7px; border-radius: 6px; color: var(--ink-2); background: var(--surface-soft); font-size: 10px; line-height: 1.6; }
.health-collection-note svg { width: 14px; height: 14px; margin-top: 1px; flex: 0 0 auto; color: var(--blue); }
@media (max-width: 1100px) {
  .admin-kpis-six { grid-template-columns: repeat(3, 1fr); }
  .admin-kpis-four { grid-template-columns: repeat(2, 1fr); }
  .admin-grid-tables { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .admin-workspaces { grid-template-columns: repeat(3, minmax(116px, 1fr)); overflow-x: auto; }
  .admin-workspaces a { justify-content: flex-start; }.admin-workspaces a small { display: none; }
  .admin-kpis-six, .admin-kpis-four { grid-template-columns: repeat(2, 1fr); }
  .admin-kpis-six > div, .admin-kpis-four > div { padding: 13px; }
  .admin-callout p { font-size: 9px; }
  .conversion-funnel { grid-template-columns: 1fr; }
  .admin-split-lists { grid-template-columns: 1fr; }
  .alert-state { grid-template-columns: 1fr; }.alert-state > div, .alert-state > div:nth-child(even), .alert-state > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line-soft); }.alert-state > div:last-child { border-bottom: 0; }
}

.share-dialog { width: min(680px, calc(100% - 32px)); max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); padding: 0; overflow: auto; border: 1px solid #d9e1e9; border-radius: 14px; color: var(--ink); background: #fff; box-shadow: 0 28px 80px rgba(18, 31, 48, .24); }
.share-dialog::backdrop { background: rgba(23, 28, 38, .48); backdrop-filter: blur(4px); }
.share-dialog[open] { animation: share-dialog-in .18s ease-out; }
.share-dialog-shell { min-width: 0; }
.share-dialog-header { position: relative; padding: 20px 22px; display: grid; grid-template-columns: 44px minmax(0, 1fr) 34px; align-items: center; gap: 12px; overflow: hidden; border-bottom: 1px solid #e8edf2; background: linear-gradient(115deg, #fff7f4 0, #fff 58%, #f3faf8 100%); }
.share-dialog-header::after { content: ""; position: absolute; right: 58px; width: 90px; height: 90px; border: 1px solid rgba(241, 91, 64, .1); border-radius: 50%; box-shadow: 0 0 0 15px rgba(241, 91, 64, .035), 0 0 0 31px rgba(241, 91, 64, .025); pointer-events: none; }
.share-dialog-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(145deg, #ff7054, var(--coral-dark)); box-shadow: 0 8px 20px rgba(241, 91, 64, .22); }
.share-dialog-mark svg { width: 22px; height: 22px; }
.share-dialog-header > div { min-width: 0; position: relative; z-index: 1; }
.share-dialog-header p { margin: 0; color: var(--coral); font: 750 8px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .16em; }
.share-dialog-header h2 { margin: 3px 0 1px; font-size: 20px; line-height: 1.2; }
.share-dialog-header > div > span { display: block; overflow: hidden; text-overflow: ellipsis; color: var(--muted); font: 600 10px ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.share-dialog-close { position: relative; z-index: 2; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 8px; color: var(--muted); background: rgba(255, 255, 255, .72); cursor: pointer; }
.share-dialog-close:hover { color: var(--ink); border-color: var(--line); background: #fff; }
.share-dialog-body { padding: 20px 22px 22px; display: grid; grid-template-columns: minmax(0, 1fr) 174px; gap: 20px; }
.share-dialog-content { min-width: 0; }
.share-dialog-intro { margin: 0 0 14px; color: var(--ink-2); font-size: 12px; line-height: 1.65; }
.share-link-preview { min-width: 0; min-height: 62px; padding: 10px 12px; display: grid; grid-template-columns: 18px minmax(0, 1fr) 18px; align-items: center; gap: 9px; border: 1px solid #dce5ed; border-radius: 9px; color: var(--blue); background: #f8fbfd; }
.share-link-preview > svg { width: 17px; height: 17px; }
.share-link-preview > svg:last-child { color: var(--mint); }
.share-link-preview div { min-width: 0; }
.share-link-preview small { display: block; color: var(--muted); font-size: 9px; font-weight: 700; }
.share-link-preview code { display: block; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; color: var(--ink-2); font: 650 10px ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.share-dialog-actions { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.share-dialog-actions button { min-width: 0; min-height: 54px; padding: 8px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink-2); background: #fff; cursor: pointer; text-align: left; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.share-dialog-actions button:hover { border-color: #b9cfe3; background: var(--blue-soft); }
.share-dialog-actions button:active { transform: translateY(1px); }
.share-dialog-actions button > svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--blue); }
.share-dialog-actions button span { min-width: 0; }
.share-dialog-actions button strong, .share-dialog-actions button small { display: block; }
.share-dialog-actions button strong { font-size: 11px; }
.share-dialog-actions button small { margin-top: 2px; overflow: hidden; text-overflow: ellipsis; color: var(--muted); font-size: 8px; white-space: nowrap; }
.share-dialog-actions .share-native-action { grid-column: 1 / -1; color: #fff; border-color: var(--coral); background: linear-gradient(135deg, #f66b4f, var(--coral)); box-shadow: 0 5px 15px rgba(241, 91, 64, .18); }
.share-dialog-actions .share-native-action:hover { border-color: var(--coral-dark); background: var(--coral-dark); }
.share-dialog-actions .share-native-action > svg, .share-dialog-actions .share-native-action small { color: #fff; }
.share-dialog-actions .share-native-action small { opacity: .78; }
.share-dialog-actions button[hidden] { display: none; }
.share-dialog-actions button:disabled { cursor: progress; opacity: .72; }
.share-dialog-actions button[aria-busy="true"] > svg { animation: spin .75s linear infinite; }
.share-dialog-status { min-height: 20px; margin: 10px 0 0; display: flex; align-items: center; color: var(--muted); font-size: 10px; font-weight: 700; }
.share-dialog-status[data-state="success"] { color: var(--mint); }
.share-dialog-status[data-state="error"] { color: var(--coral-dark); }
.share-dialog-status[data-state="working"] { color: var(--blue); }
.share-qr-card { padding: 13px; align-self: start; border: 1px solid #dbe6e3; border-radius: 10px; text-align: center; background: #f7fbfa; }
.share-qr-card > div { aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 7px solid #fff; border-radius: 8px; color: var(--muted); background: #fff; font-size: 10px; }
.share-qr-card svg { width: 100%; height: 100%; display: block; }
.share-qr-card strong { display: block; margin-top: 10px; color: #17675b; font-size: 11px; }
.share-qr-card small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
body.share-dialog-open { overflow: hidden; }
@keyframes share-dialog-in { from { opacity: 0; transform: translateY(8px) scale(.985); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 600px) {
  .share-dialog { width: calc(100% - 20px); max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); border-radius: 12px; }
  .share-dialog-header { padding: 16px; grid-template-columns: 40px minmax(0, 1fr) 32px; gap: 10px; }
  .share-dialog-mark { width: 40px; height: 40px; }
  .share-dialog-header h2 { font-size: 18px; }
  .share-dialog-body { padding: 16px; grid-template-columns: 1fr; gap: 14px; }
  .share-dialog-intro { font-size: 11px; }
  .share-qr-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; column-gap: 13px; text-align: left; }
  .share-qr-card > div { grid-row: 1 / 3; }
  .share-qr-card strong { align-self: end; margin-top: 0; font-size: 12px; }
  .share-qr-card small { align-self: start; font-size: 9px; }
}

/* Historical ranking archive */
.history-dashboard-head .dashboard-head-inner { min-height: 136px; }
.archive-range strong { font-size: 11px; }
.history-shell { max-width: var(--max); margin: auto; padding: 20px 24px 34px; }
.history-shell > .breadcrumbs { margin-bottom: 16px; }
.archive-overview { padding: 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.archive-overview > div { min-width: 0; display: flex; align-items: center; gap: 14px; }
.archive-icon { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: var(--coral); background: var(--coral-soft); }
.archive-overview p, .archive-overview h2, .archive-overview > div span { margin: 0; }
.archive-overview p { color: var(--coral); font: 800 10px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; }
.archive-overview h2 { margin-top: 2px; font-size: 20px; }
.archive-overview > div > div > span { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; }
.history-jump { display: flex; align-items: center; gap: 8px; }
.history-jump .select-field { width: 178px; flex: 0 0 auto; }
.history-jump .select-field:nth-child(2) { width: 132px; }
.history-jump-button, .history-date-form > button { height: 44px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--coral); border-radius: 7px; color: #fff; background: var(--coral); font-size: 13px; font-weight: 800; cursor: pointer; }
.history-jump-button:hover, .history-date-form > button:hover { border-color: var(--coral-dark); background: var(--coral-dark); }
.archive-section { margin-top: 18px; }
.archive-section > header { min-height: 48px; display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.archive-section > header p, .archive-section > header h2 { margin: 0; }
.archive-section > header p { color: var(--coral); font: 800 9px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .12em; }
.archive-section > header h2 { margin-top: 2px; font-size: 20px; }
.archive-section > header > span { color: var(--muted); font-size: 11px; }
.archive-list { margin-top: 10px; display: grid; gap: 9px; }
.archive-row { min-width: 0; padding: 13px 14px; display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); transition: border-color .18s ease, box-shadow .18s ease; }
.archive-row:hover { border-color: #e7b3a7; box-shadow: 0 7px 20px rgba(26, 38, 56, .05); }
.archive-row > time { min-height: 48px; padding-right: 14px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line-soft); }
.archive-row > time strong { font-size: 17px; }
.archive-row > time span { margin-top: 2px; color: var(--muted); font: 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.archive-period-links { min-width: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.archive-period-links a { min-width: 0; min-height: 50px; padding: 8px 10px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line-soft); border-radius: 6px; background: var(--surface-soft); }
.archive-period-links a:hover { color: var(--coral-dark); border-color: #efb4a8; background: var(--coral-soft); }
.archive-period-links span { min-width: 0; }
.archive-period-links strong, .archive-period-links small { display: block; }
.archive-period-links strong { font-size: 13px; }
.archive-period-links small { margin-top: 1px; color: var(--muted); font: 8px ui-monospace, SFMono-Regular, Consolas, monospace; }
.archive-period-links em { margin-left: auto; color: var(--muted); font-size: 10px; font-style: normal; white-space: nowrap; }
.archive-period-links svg { width: 14px; height: 14px; flex: 0 0 auto; }
.archive-empty { margin-top: 0; }

.snapshot-toolbar { position: relative; z-index: 8; padding: 11px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; border: 1px solid #d8dee8; border-radius: 8px; background: var(--surface); box-shadow: 0 8px 24px rgba(26, 38, 56, .05); }
.history-date-form { display: flex; align-items: center; gap: 7px; }
.history-date-form .select-field { width: 190px; }
.history-date-form > button { width: 42px; padding: 0; }
.history-date-form > button span { display: none; }
.history-period-switch { display: flex; align-items: center; justify-content: center; gap: 4px; }
.history-period-switch a, .history-period-switch span { min-width: 62px; height: 34px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; color: var(--muted); font-size: 12px; font-weight: 750; }
.history-period-switch a:hover { color: var(--ink); background: var(--surface-soft); }
.history-period-switch a.active { color: var(--coral-dark); background: var(--coral-soft); }
.history-period-switch span { opacity: .42; }
.snapshot-date-nav { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.snapshot-date-nav a { height: 34px; padding: 0 9px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink-2); font: 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.snapshot-date-nav a:hover { color: var(--coral); border-color: #f1a899; }
.snapshot-summary { margin-top: 12px; display: grid; grid-template-columns: minmax(280px, 1.6fr) repeat(3, minmax(120px, .6fr)); border: 1px solid var(--line); border-radius: 8px; background: var(--surface); overflow: hidden; }
.snapshot-summary > div { min-width: 0; min-height: 76px; padding: 13px 16px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--line-soft); }
.snapshot-summary > div:first-child { border-left: 0; }
.snapshot-summary small { color: var(--muted); font-size: 10px; }
.snapshot-summary > div > strong { margin-top: 3px; font: 800 18px ui-monospace, SFMono-Regular, Consolas, monospace; }
.snapshot-champion { flex-direction: row !important; align-items: center; gap: 10px; }
.snapshot-champion img { border-radius: 7px; border: 1px solid var(--line); }
.snapshot-champion span { min-width: 0; }
.snapshot-champion small, .snapshot-champion a { display: block; }
.snapshot-champion a { margin-top: 2px; overflow: hidden; text-overflow: ellipsis; font-size: 14px; font-weight: 800; white-space: nowrap; }
.snapshot-champion > strong { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; color: var(--amber); font: 800 12px ui-monospace, SFMono-Regular, Consolas, monospace; }
.history-ranking-content { margin-top: 13px; }
.history-filter-bar { z-index: 6; }
.snapshot-badge { width: auto !important; height: 24px; margin-left: auto; padding: 0 7px; display: inline-flex !important; align-items: center; gap: 4px; border: 1px solid #d8e6ef; border-radius: 5px; color: var(--blue) !important; background: var(--blue-soft); font: 700 9px ui-monospace, SFMono-Regular, Consolas, monospace !important; white-space: nowrap; }
.snapshot-badge + .github-link { margin-left: 0; }
.history-repo-meta span:nth-of-type(2) { color: var(--amber); font-weight: 750; }

.repo-history-panel .history-note { margin: -6px 0 12px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.repo-history-groups { display: grid; gap: 6px; }
.repo-history-group { border-top: 1px solid var(--line-soft); }
.repo-history-group summary { min-height: 40px; display: grid; grid-template-columns: 1fr auto auto 16px; align-items: center; gap: 8px; cursor: pointer; list-style: none; }
.repo-history-group summary::-webkit-details-marker { display: none; }
.repo-history-group summary span { color: var(--ink-2); font-size: 12px; font-weight: 750; }
.repo-history-group summary strong { font: 800 13px ui-monospace, SFMono-Regular, Consolas, monospace; }
.repo-history-group summary small { color: var(--muted); font-size: 9px; }
.repo-history-group summary svg { width: 14px; height: 14px; color: var(--muted); transition: transform .18s ease; }
.repo-history-group[open] summary svg { transform: rotate(180deg); }
.period-spark-bars { height: 58px; padding: 8px 1px 0; display: flex; align-items: end; gap: 2px; border-bottom: 1px solid var(--line); }
.period-spark-bars i { min-width: 2px; max-width: 10px; height: var(--height); flex: 1; border-radius: 2px 2px 0 0; background: var(--coral); opacity: .7; }
.history-point-list { margin: 8px 0 0; padding: 0; display: grid; list-style: none; }
.history-point-list li + li { border-top: 1px solid var(--line-soft); }
.history-point-list a { min-height: 30px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 9px; color: var(--muted); font-size: 10px; }
.history-point-list a:hover { color: var(--coral); }
.history-point-list strong { color: var(--ink); font: 800 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.history-point-list span { display: inline-flex; align-items: center; gap: 3px; font: 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.history-period-link { min-height: 34px; display: flex; align-items: center; justify-content: flex-end; gap: 4px; color: var(--coral-dark); font-size: 10px; font-weight: 750; }

@media (max-width: 980px) {
  .archive-overview { align-items: stretch; flex-direction: column; }
  .history-jump .select-field { flex: 1; width: auto; }
  .history-jump .select-field:nth-child(2) { width: auto; }
  .snapshot-toolbar { grid-template-columns: 1fr auto; }
  .history-period-switch { grid-column: 1 / -1; grid-row: 2; }
  .snapshot-summary { grid-template-columns: 1.5fr repeat(3, 1fr); }
  .snapshot-date-nav span { display: none; }
}
@media (max-width: 720px) {
  .history-shell { padding: 14px 14px 28px; }
  .history-dashboard-head .dashboard-head-inner { min-height: 118px; }
  .archive-overview { padding: 16px; }
  .history-jump { display: grid; grid-template-columns: 1fr 1fr; }
  .history-jump-button { grid-column: 1 / -1; }
  .archive-row { grid-template-columns: 1fr; gap: 9px; }
  .archive-row > time { min-height: 0; padding: 0 0 9px; border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .archive-period-links { grid-template-columns: 1fr 1fr; }
  .snapshot-toolbar { grid-template-columns: 1fr auto; gap: 9px; }
  .history-date-form .select-field { width: min(100%, 230px); }
  .history-period-switch { justify-content: flex-start; overflow-x: auto; }
  .history-period-switch a, .history-period-switch span { flex: 1 0 62px; }
  .snapshot-summary { grid-template-columns: repeat(3, 1fr); }
  .snapshot-summary > div { min-height: 62px; padding: 10px; }
  .snapshot-summary > div:nth-child(2) { border-left: 0; }
  .snapshot-champion { grid-column: 1 / -1; border-bottom: 1px solid var(--line-soft); }
  .snapshot-summary > div > strong { font-size: 15px; }
  .snapshot-badge { display: none !important; }
}
@media (max-width: 440px) {
  .history-jump { grid-template-columns: 1fr; }
  .history-jump-button { grid-column: 1; }
  .archive-period-links { grid-template-columns: 1fr; }
  .archive-period-links a { min-height: 44px; }
  .snapshot-toolbar { grid-template-columns: 1fr; }
  .history-date-form .select-field { width: calc(100% - 49px); }
  .snapshot-date-nav { justify-content: flex-start; }
  .snapshot-date-nav span { display: inline; }
  .history-period-switch { grid-column: 1; grid-row: auto; }
}

main[data-trending-view] { transition: opacity .16s ease; }
main[data-trending-view].is-navigating { opacity: .58; cursor: progress; }
main[data-trending-view].is-navigating a, main[data-trending-view].is-navigating button, main[data-trending-view].is-navigating input { pointer-events: none; }
.filter-bar.is-submitting .filter-submit svg { animation: spin .8s linear infinite; }

.analysis-trust { padding: 22px 24px; border: 1px solid #cfdde9; border-radius: 8px; background: #f8fbfd; }
.analysis-trust > header { display: flex; align-items: flex-start; gap: 10px; }
.analysis-trust > header > svg { margin-top: 2px; color: var(--mint); }
.analysis-trust h2 { margin: 0; font-size: 16px; }
.analysis-trust header p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.evidence-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.evidence-grid > div { padding: 12px; border: 1px solid #dbe5ed; border-radius: 7px; background: #fff; }
.evidence-grid strong { color: var(--ink); font-size: 13px; }
.evidence-grid p { margin: 5px 0 0; color: var(--ink-2); font-size: 12px; line-height: 1.65; }
.source-notes { margin: 14px 0 0; padding: 12px 12px 12px 30px; border-radius: 7px; color: var(--ink-2); background: #eef6f5; font-size: 12px; line-height: 1.7; }
.analysis-provenance { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--muted); font-size: 11px; }
.analysis-provenance span { display: inline-flex; align-items: center; gap: 5px; }
.report-success { margin-top: 14px; padding: 10px 12px; display: flex; align-items: center; gap: 7px; border: 1px solid #b8ddd6; border-radius: 7px; color: #17675b; background: #edf9f6; font-size: 13px; font-weight: 700; }
.report-box { margin-top: 14px; border-top: 1px solid #dbe5ed; }
.report-box summary { padding: 14px 0 2px; display: inline-flex; align-items: center; gap: 7px; color: var(--blue); cursor: pointer; font-size: 13px; font-weight: 750; list-style: none; }
.report-box summary::-webkit-details-marker { display: none; }
.report-form { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.report-form > label { display: grid; gap: 6px; }
.report-form > label:nth-of-type(3), .report-form > div { grid-column: 1 / -1; }
.report-form label > span { color: var(--ink-2); font-size: 12px; font-weight: 700; }
.report-form input, .report-form select, .report-form textarea { width: 100%; border: 1px solid #cfd9e3; border-radius: 7px; color: var(--ink); background: #fff; font: inherit; font-size: 13px; }
.report-form input, .report-form select { height: 42px; padding: 0 11px; }
.report-form textarea { min-height: 112px; padding: 10px 11px; resize: vertical; line-height: 1.6; }
.report-form input:focus, .report-form select:focus, .report-form textarea:focus { outline: 0; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(48, 123, 182, .12); }
.report-form > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.report-form small { max-width: 520px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.report-form button { min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 0 0 auto; border: 0; border-radius: 7px; color: #fff; background: var(--blue); cursor: pointer; font-weight: 800; }
.report-form button:hover { background: #246a9e; }
.report-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

@media (max-width: 700px) {
  .analysis-trust { padding: 17px; }
  .evidence-grid, .report-form { grid-template-columns: 1fr; }
  .report-form > label:nth-of-type(3), .report-form > div { grid-column: 1; }
  .report-form > div { align-items: stretch; flex-direction: column; }
  .report-form button { width: 100%; }
}

.zzd1-nav { color: #17675b; }
.zzd1-nav:hover { color: #0f5148; background: #edf8f4; }
.sponsor-banner { min-height: 78px; margin-top: 12px; padding: 13px 16px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 13px; border: 1px solid #cfe1d7; border-radius: 8px; color: var(--ink); background: #f5faf8; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.sponsor-banner:hover { border-color: #79b4a5; box-shadow: 0 8px 22px rgba(23, 103, 91, .1); transform: translateY(-1px); }
.sponsor-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 7px; color: #fff; background: #17675b; }
.sponsor-copy { min-width: 0; display: grid; gap: 2px; }
.sponsor-copy small { color: #a46512; font-size: 10px; font-weight: 800; }
.sponsor-copy strong { overflow: hidden; text-overflow: ellipsis; font-size: 15px; white-space: nowrap; }
.sponsor-copy em { overflow: hidden; text-overflow: ellipsis; color: var(--muted); font-size: 12px; font-style: normal; white-space: nowrap; }
.sponsor-action { min-height: 36px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #a9d0c5; border-radius: 7px; color: #17675b; background: #fff; font-size: 12px; font-weight: 800; white-space: nowrap; }
.sidebar-sponsor { padding: 18px; display: grid; border: 1px solid #1f4e49; border-radius: 8px; color: #fff; background: #173d39; }
.sidebar-sponsor > span { display: flex; align-items: center; gap: 6px; color: #9bd3c7; font-size: 10px; font-weight: 800; }
.sidebar-sponsor > strong { margin-top: 10px; font-size: 17px; }
.sidebar-sponsor > p { margin: 5px 0 13px; color: #c9ded9; font-size: 12px; line-height: 1.65; }
.sidebar-sponsor > em { display: flex; align-items: center; justify-content: space-between; color: #f3bf69; font-size: 12px; font-style: normal; font-weight: 800; }
.sidebar-sponsor:hover { border-color: #64a99a; background: #1c4842; }

.admin-main { max-width: 1280px; margin: auto; padding: 26px 24px 50px; }
.admin-heading { min-height: 94px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.admin-heading h1 { margin: 5px 0 2px; font-size: 28px; }
.admin-heading > div > p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.admin-range { padding: 4px; display: flex; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.admin-range a { min-width: 58px; height: 32px; display: grid; place-items: center; border-radius: 6px; color: var(--muted); font-size: 12px; font-weight: 800; }
.admin-range a.active { color: #fff; background: var(--ink); }
.admin-update-notice { min-height: 42px; margin-top: 14px; padding: 9px 12px; display: flex; align-items: center; gap: 8px; border: 1px solid #b9ded4; border-radius: 7px; color: #17675b; background: #edf9f6; font-size: 12px; font-weight: 700; }
.admin-update-notice svg { width: 17px; height: 17px; flex: 0 0 auto; }
.admin-visitor-kpis { margin-top: 18px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid #cfdde9; border-radius: 8px; overflow: hidden; background: #fff; }
.admin-visitor-kpis > div { min-width: 0; padding: 16px; border-right: 1px solid var(--line-soft); }
.admin-visitor-kpis > div:last-child { border-right: 0; }
.admin-visitor-kpis span { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.admin-visitor-kpis span svg { width: 15px; height: 15px; color: var(--blue); }
.admin-visitor-kpis strong { margin-top: 8px; display: block; overflow: hidden; text-overflow: ellipsis; font: 800 24px ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.admin-visitor-kpis small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.admin-visitor-kpis .admin-visitor-accent { background: #f2f8fc; }
.admin-visitor-accent span, .admin-visitor-accent strong { color: #246a9e; }
.admin-grid-visitors { margin-top: 14px; grid-template-columns: minmax(0, 1.55fr) minmax(330px, .85fr); }
.visitor-chart-bar { fill: #bcd9eb; }
.visitor-chart-bar:hover { fill: #65a3cb; }
.visitor-chart-line { fill: none; stroke: #238977; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.visitor-legend-bar { background: #bcd9eb; }
.visitor-legend-line { background: #238977; }
.admin-visitor-breakdown h3 { margin: 15px 0 7px; color: var(--muted); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.admin-visitor-ranking { display: grid; gap: 2px; }
.admin-visitor-ranking > div { min-width: 0; padding: 8px 9px; display: grid; grid-template-columns: minmax(0, 1fr) auto 42px; align-items: center; gap: 8px; border-radius: 5px; background: var(--surface-soft); font-size: 11px; }
.admin-visitor-ranking span { overflow: hidden; text-overflow: ellipsis; color: var(--ink-2); white-space: nowrap; }
.admin-visitor-ranking small { color: var(--muted); white-space: nowrap; }
.admin-visitor-ranking strong { text-align: right; font: 800 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-visitor-splits { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.admin-visitor-splits > div { min-width: 0; }
.admin-visitor-splits span { padding: 5px 0; display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--line-soft); color: var(--muted); font: 700 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-visitor-splits b { overflow: hidden; text-overflow: ellipsis; color: var(--ink-2); font-family: inherit; white-space: nowrap; }
.admin-visitor-referrers { display: grid; gap: 2px; }
.admin-visitor-referrers > div { padding: 7px 9px; display: flex; justify-content: space-between; gap: 10px; border-radius: 5px; background: #f0f8f5; font-size: 11px; }
.admin-visitor-referrers span { overflow: hidden; text-overflow: ellipsis; color: #17675b; white-space: nowrap; }
.admin-visitor-referrers strong { font: 800 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-visitor-log { margin-top: 14px; }
.admin-visitor-log table { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 11px; }
.admin-visitor-log th, .admin-visitor-log td { padding: 10px; border-bottom: 1px solid var(--line-soft); text-align: left; vertical-align: middle; }
.admin-visitor-log th { color: var(--muted); background: var(--surface-soft); font-weight: 700; white-space: nowrap; }
.admin-visitor-log td { color: var(--ink-2); }
.admin-visitor-log time, .admin-visitor-log code { font: 700 10px ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.admin-visitor-log code { color: #246a9e; background: transparent; }
.visitor-type { padding: 3px 6px; display: inline-flex; border-radius: 4px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.visitor-type.is-human { color: #17675b; background: #e8f5f1; }
.visitor-type.is-bot { color: #8a5b12; background: #fff5df; }
.visitor-path { max-width: 250px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-ad-controls { margin-top: 14px; }
.admin-ad-control-grid { margin-top: 14px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.admin-ad-control-item { min-width: 0; min-height: 82px; margin: 0; padding: 12px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; border: 1px solid var(--line-soft); border-radius: 7px; background: var(--surface-soft); }
.admin-ad-control-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 6px; color: #17675b; background: #e1f1ec; }
.admin-ad-control-icon svg { width: 17px; height: 17px; }
.admin-ad-control-copy { min-width: 0; display: grid; gap: 3px; }
.admin-ad-control-copy strong { font-size: 12px; }
.admin-ad-control-copy small { overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.4; }
.admin-switch { min-width: 58px; padding: 0; display: grid; justify-items: center; gap: 4px; border: 0; color: var(--muted); background: transparent; cursor: pointer; font: inherit; }
.admin-switch > span { position: relative; width: 36px; height: 20px; display: block; border-radius: 10px; background: #b8c0c8; transition: background .18s ease; }
.admin-switch > span::after { content: ''; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(20, 31, 43, .25); transition: transform .18s ease; }
.admin-switch em { font-size: 9px; font-style: normal; font-weight: 800; white-space: nowrap; }
.admin-switch.is-on { color: #17675b; }
.admin-switch.is-on > span { background: #238977; }
.admin-switch.is-on > span::after { transform: translateX(16px); }
.admin-switch:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 4px; }
.admin-kpis { margin-top: 18px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.admin-kpis > div { min-width: 0; padding: 16px; border-right: 1px solid var(--line-soft); }
.admin-kpis > div:last-child { border-right: 0; }
.admin-kpis span { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.admin-kpis strong { margin-top: 8px; display: block; overflow: hidden; text-overflow: ellipsis; font: 800 24px ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.admin-kpis small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.admin-kpis .admin-kpi-accent { background: #f0f8f5; }
.admin-kpi-accent span, .admin-kpi-accent strong { color: #17675b; }
.admin-grid { display: grid; gap: 14px; }
.admin-grid-primary { margin-top: 14px; grid-template-columns: minmax(0, 1.65fr) minmax(310px, .75fr); }
.admin-grid-secondary { margin-top: 14px; grid-template-columns: .8fr 1.2fr; }
.admin-panel { min-width: 0; padding: 19px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.admin-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.admin-panel h2 { margin: 0; font-size: 16px; }
.admin-panel header p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.admin-panel header > span { color: var(--muted); font: 700 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-chart { width: 100%; height: 245px; margin-top: 8px; overflow: visible; }
.chart-grid { stroke: #dce2e8; stroke-width: 1; }
.chart-bar { fill: #cfe0ec; }
.chart-bar:hover { fill: #78a9cc; }
.chart-line { fill: none; stroke: #f15b40; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.chart-label { fill: #7a8491; font-size: 9px; }
.chart-legend { display: flex; justify-content: center; gap: 18px; color: var(--muted); font-size: 10px; }
.chart-legend span { display: flex; align-items: center; gap: 6px; }
.chart-legend i { width: 15px; height: 4px; border-radius: 4px; }
.legend-bar { background: #cfe0ec; }
.legend-line { background: #f15b40; }
.admin-event-list { margin-top: 15px; display: grid; gap: 10px; }
.admin-event-list > div { display: grid; grid-template-columns: 100px minmax(70px, 1fr) 48px; align-items: center; gap: 9px; font-size: 11px; }
.admin-event-list > div > span { color: var(--ink-2); }
.admin-event-list progress { width: 100%; height: 7px; border: 0; border-radius: 6px; overflow: hidden; background: #edf0f3; }
.admin-event-list progress::-webkit-progress-bar { background: #edf0f3; }
.admin-event-list progress::-webkit-progress-value { background: #307bb6; }
.admin-event-list progress::-moz-progress-bar { background: #307bb6; }
.admin-event-list strong { text-align: right; font: 700 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-contexts { margin-top: 14px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line-soft); }
.admin-contexts > div { padding: 11px; display: flex; justify-content: space-between; gap: 10px; background: #fff; font-size: 12px; }
.admin-contexts span { overflow: hidden; text-overflow: ellipsis; color: var(--muted); white-space: nowrap; }
.admin-contexts strong { font: 800 12px ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-ad-placements { margin-top: 14px; display: grid; gap: 7px; }
.admin-ad-placements > div { padding: 9px 10px; display: grid; grid-template-columns: minmax(90px, 1fr) auto auto 42px; align-items: center; gap: 9px; border-radius: 6px; background: #f0f8f5; font-size: 11px; }
.admin-ad-placements span { overflow: hidden; text-overflow: ellipsis; color: #17675b; font-weight: 800; white-space: nowrap; }
.admin-ad-placements small { color: var(--muted); }
.admin-ad-placements strong { font-size: 11px; }
.admin-ad-placements em { color: #a46512; font-style: normal; font-weight: 800; text-align: right; }
.admin-subheading { margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line-soft); }
.status-ok { display: inline-flex; align-items: center; gap: 5px; color: #17675b !important; }
.admin-health { margin-top: 14px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line-soft); }
.admin-health > div { padding: 11px; border-right: 1px solid var(--line-soft); }
.admin-health > div:last-child { border-right: 0; }
.admin-health span { display: block; color: var(--muted); font-size: 10px; }
.admin-health strong { display: block; margin-top: 4px; font: 800 17px ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-periods { margin-top: 12px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.admin-periods > div { min-width: 0; padding: 9px; border-radius: 6px; background: var(--surface-soft); }
.admin-periods span, .admin-periods strong, .admin-periods time { display: block; }
.admin-periods span { color: var(--muted); font-size: 10px; }
.admin-periods strong { margin-top: 2px; font-size: 12px; }
.admin-periods time { margin-top: 2px; color: var(--muted); font-size: 9px; }
.admin-reports { margin-top: 14px; }
.admin-table-wrap { margin-top: 14px; overflow-x: auto; }
.admin-reports table { width: 100%; border-collapse: collapse; font-size: 11px; }
.admin-reports th, .admin-reports td { padding: 10px; border-bottom: 1px solid var(--line-soft); text-align: left; vertical-align: top; }
.admin-reports th { color: var(--muted); background: var(--surface-soft); font-weight: 700; white-space: nowrap; }
.admin-reports td:nth-child(4) { min-width: 280px; line-height: 1.6; }
.admin-reports b { padding: 2px 5px; border-radius: 4px; font-size: 9px; }
.priority-p0 { color: #a3291d; background: #fff0ed; }
.priority-p1 { color: #8a5b12; background: #fff7e8; }
.priority-p2 { color: #246a9e; background: #edf6fc; }
.admin-empty, .admin-empty-state { color: var(--muted); font-size: 12px; }
.admin-empty-state { min-height: 150px; display: grid; place-content: center; justify-items: center; text-align: center; }
.admin-empty-state > svg { width: 30px; height: 30px; color: #17675b; }
.admin-empty-state strong { margin-top: 8px; color: var(--ink); }
.admin-empty-state p { margin: 3px 0 0; }

@media (max-width: 1000px) {
  .admin-ad-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-kpis, .admin-visitor-kpis { grid-template-columns: repeat(3, 1fr); }
  .admin-kpis > div, .admin-visitor-kpis > div { border-bottom: 1px solid var(--line-soft); }
  .admin-grid-primary, .admin-grid-secondary, .admin-grid-visitors { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .sponsor-banner { grid-template-columns: 38px minmax(0, 1fr); padding: 12px; }
  .sponsor-mark { width: 38px; height: 38px; }
  .sponsor-copy strong { font-size: 13px; }
  .sponsor-copy em { display: none; }
  .sponsor-action { grid-column: 1 / -1; width: 100%; }
  .admin-main { padding: 18px 14px 36px; }
  .admin-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .admin-heading h1 { font-size: 24px; }
  .admin-range { width: 100%; }
  .admin-range a { flex: 1; }
  .admin-kpis, .admin-visitor-kpis { grid-template-columns: repeat(2, 1fr); }
  .admin-kpis > div, .admin-visitor-kpis > div { border-right: 1px solid var(--line-soft); }
  .admin-kpis strong, .admin-visitor-kpis strong { font-size: 20px; }
  .admin-ad-control-grid { grid-template-columns: 1fr; }
  .admin-chart { height: 190px; }
  .admin-visitor-splits { grid-template-columns: 1fr; gap: 0; }
  .admin-event-list > div { grid-template-columns: 90px minmax(60px, 1fr) 42px; }
  .admin-health, .admin-periods { grid-template-columns: repeat(2, 1fr); }
  .admin-health > div { border-bottom: 1px solid var(--line-soft); }
}

.admin-heading-actions { display: flex; align-items: center; gap: 9px; }
.admin-logout-form { margin: 0; }
.admin-logout-form button { height: 42px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink-2); background: #fff; cursor: pointer; font-size: 12px; font-weight: 800; }
.admin-logout-form button:hover { border-color: #efb6ab; color: var(--coral-dark); background: var(--coral-soft); }

.admin-login-page { min-width: 320px; background: #eef2f5; }
.admin-login-page .site-header { position: relative; }
.admin-login-main { min-height: calc(100vh - 68px - 103px); padding: 44px 24px; display: grid; place-items: center; }
.admin-login-panel { width: min(880px, 100%); min-height: 520px; display: grid; grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr); overflow: hidden; border: 1px solid #d9e0e8; border-radius: 8px; background: #fff; box-shadow: 0 20px 52px rgba(24, 34, 48, .12); }
.admin-login-identity { min-width: 0; padding: 40px 36px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; background: #153f3a; }
.admin-login-identity .eyebrow { color: #f1bd69 !important; }
.admin-login-mark { width: 48px; height: 48px; margin-top: 50px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: var(--coral); box-shadow: 0 8px 22px rgba(0, 0, 0, .18); }
.admin-login-mark svg { width: 25px; height: 25px; }
.admin-login-identity h1 { margin: 19px 0 1px; font-size: 30px; line-height: 1.2; }
.admin-login-identity > div > p:last-child { margin: 4px 0 0; color: #bfd4d0; font-size: 13px; }
.admin-login-status { padding-top: 18px; display: flex; align-items: center; gap: 10px; border-top: 1px solid rgba(255, 255, 255, .15); color: #8dd5c7; }
.admin-login-status > svg { width: 22px; height: 22px; }
.admin-login-status span { display: grid; }
.admin-login-status strong { color: #fff; font-size: 12px; }
.admin-login-status small { margin-top: 1px; color: #9ebbb6; font: 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-login-form-wrap { min-width: 0; padding: 54px 52px 38px; display: flex; flex-direction: column; justify-content: center; }
.admin-login-form-wrap > header > span { color: var(--coral); font: 800 9px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .14em; }
.admin-login-form-wrap h2 { margin: 7px 0 3px; font-size: 27px; line-height: 1.3; }
.admin-login-form-wrap header p { margin: 0; color: var(--muted); font-size: 13px; }
.admin-login-notice { min-height: 42px; margin-top: 19px; padding: 9px 11px; display: flex; align-items: center; gap: 8px; border: 1px solid; border-radius: 7px; font-size: 12px; font-weight: 700; }
.admin-login-notice svg { width: 17px; height: 17px; flex: 0 0 auto; }
.admin-login-notice.error { border-color: #efc5bd; color: #9f3425; background: #fff3f0; }
.admin-login-notice.success { border-color: #b9ded4; color: #17675b; background: #edf9f6; }
.admin-login-form { margin-top: 25px; display: grid; gap: 17px; }
.admin-login-control { display: grid; gap: 7px; }
.admin-login-control > label { color: var(--ink-2); font-size: 12px; font-weight: 800; }
.admin-login-field { height: 48px; padding: 0 12px; display: flex; align-items: center; gap: 10px; border: 1px solid #cfd7e2; border-radius: 7px; color: var(--muted); background: #fff; transition: border-color .18s ease, box-shadow .18s ease; }
.admin-login-field:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(39, 123, 216, .12); }
.admin-login-field > svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--blue); }
.admin-login-field input { min-width: 0; width: 100%; height: 100%; padding: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 14px; }
.admin-login-field input::placeholder { color: #9aa4b1; }
.admin-password-toggle { width: 34px; height: 34px; padding: 0; display: grid; flex: 0 0 auto; place-items: center; border: 0; border-radius: 6px; color: var(--muted); background: transparent; cursor: pointer; }
.admin-password-toggle:hover { color: var(--ink); background: var(--surface-soft); }
.admin-password-toggle svg { grid-area: 1 / 1; width: 17px; height: 17px; }
.admin-password-toggle .password-hide, .admin-password-toggle[aria-pressed="true"] .password-show { display: none; }
.admin-password-toggle[aria-pressed="true"] .password-hide { display: block; }
.admin-login-submit { height: 48px; margin-top: 4px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 7px; color: #fff; background: var(--coral); box-shadow: 0 7px 18px rgba(241, 91, 64, .2); cursor: pointer; font-size: 13px; font-weight: 800; }
.admin-login-submit:hover { background: var(--coral-dark); transform: translateY(-1px); }
.admin-login-foot { margin: 22px 0 0; display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--muted); font-size: 10px; }
.admin-login-foot svg { width: 13px; height: 13px; }

@media (max-width: 760px) {
  .admin-login-main { min-height: auto; padding: 24px 14px 34px; }
  .admin-login-panel { min-height: 0; grid-template-columns: 1fr; }
  .admin-login-identity { padding: 24px; display: block; }
  .admin-login-identity .eyebrow, .admin-login-status { display: none; }
  .admin-login-mark { width: 42px; height: 42px; margin-top: 0; }
  .admin-login-mark svg { width: 22px; height: 22px; }
  .admin-login-identity h1 { margin-top: 14px; font-size: 24px; }
  .admin-login-form-wrap { padding: 30px 22px 26px; }
  .admin-login-form-wrap h2 { font-size: 23px; }
  .admin-heading-actions { width: 100%; }
  .admin-range { flex: 1; }
  .admin-logout-form button { width: 42px; padding: 0; }
  .admin-logout-form button span { display: none; }
}

/* Data and product updates */
.analysis-update-state { margin: 12px 0 15px; padding: 10px 11px; display: flex; align-items: flex-start; gap: 9px; border: 1px solid #c9ddee; border-radius: 7px; color: #246a9e; background: #f2f8fd; }
.analysis-update-state > svg { width: 16px; height: 16px; margin-top: 1px; flex: 0 0 auto; }
.analysis-update-state.updating > svg, .analysis-update-state.retrying > svg { animation: analysis-spin 2.6s linear infinite; }
.analysis-update-state > div { min-width: 0; }
.analysis-update-state strong { display: block; font-size: 11px; }
.analysis-update-state p { margin: 2px 0 0; color: var(--ink-2); font-size: 10px; }
.analysis-update-state time { margin-left: auto; color: var(--muted); font: 650 9px ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.analysis-update-state.paused, .analysis-pending.is-paused { border-color: #ecd8aa; color: #8a5b12; background: #fff9eb; }
@keyframes analysis-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .analysis-update-state.updating > svg, .analysis-update-state.retrying > svg { animation: none; } }
.latest-update-strip { max-width: calc(var(--max) - 48px); min-height: 48px; margin: 16px auto -7px; padding: 8px 12px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 1px solid #cfdde9; border-radius: 8px; background: #fff; box-shadow: 0 4px 16px rgba(26, 38, 56, .04); transition: border-color .18s ease, transform .18s ease; }
.latest-update-strip:hover { border-color: #96b9d8; transform: translateY(-1px); }
.latest-update-signal { height: 29px; padding: 0 9px; display: inline-flex; align-items: center; gap: 7px; border-radius: 5px; color: #17675b; background: var(--mint-soft); font-size: 10px; white-space: nowrap; }
.latest-update-signal i { width: 6px; height: 6px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(20, 156, 120, .1); }
.latest-update-copy { min-width: 0; display: flex; align-items: baseline; gap: 9px; }
.latest-update-copy time { color: var(--blue); font: 700 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.latest-update-copy strong { flex: 0 0 auto; font-size: 12px; }
.latest-update-copy small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.latest-update-action { display: inline-flex; align-items: center; gap: 5px; color: var(--blue); font-size: 10px; font-weight: 800; white-space: nowrap; }
.latest-update-action svg { width: 13px; height: 13px; }
.updates-page { min-height: 70vh; }
.updates-hero { position: relative; overflow: hidden; border-bottom: 1px solid #cbd9e5; color: #fff; background: #123d51; }
.updates-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(90deg, #000, transparent 78%); }
.updates-hero-inner { position: relative; max-width: 1180px; min-height: 294px; margin: auto; padding: 54px 30px 42px; display: grid; grid-template-columns: minmax(0, 1.25fr) 230px minmax(270px, .7fr); align-items: center; gap: 48px; }
.updates-intro .eyebrow { color: #72d7c2 !important; }
.updates-intro h1 { margin: 0; font-size: clamp(34px, 5vw, 58px); line-height: 1.08; letter-spacing: -.035em; }
.updates-intro > p:last-child { max-width: 640px; margin: 16px 0 0; color: #bdd2dc; font-size: 14px; line-height: 1.8; }
.updates-scan { position: relative; width: 190px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(151, 224, 210, .3); border-radius: 50%; background: radial-gradient(circle, rgba(60,181,158,.16), transparent 63%); }
.updates-scan::before, .updates-scan::after { content: ""; position: absolute; background: rgba(151, 224, 210, .22); }
.updates-scan::before { width: 100%; height: 1px; }
.updates-scan::after { width: 1px; height: 100%; }
.updates-scan > svg { width: 50px; height: 50px; color: #9de2d5; stroke-width: 1.2; }
.scan-orbit { position: absolute; border: 1px solid rgba(151, 224, 210, .2); border-radius: 50%; }
.orbit-one { inset: 22%; }.orbit-two { inset: 39%; }
.scan-sweep { position: absolute; inset: 2px 50% 50% 2px; border-radius: 100% 0 0; transform-origin: 100% 100%; background: linear-gradient(35deg, transparent 45%, rgba(92, 218, 194, .32)); animation: radar-sweep 5s linear infinite; }
@keyframes radar-sweep { to { transform: rotate(360deg); } }
.updates-summary { margin: 0; border-top: 1px solid rgba(255,255,255,.15); }
.updates-summary > div { padding: 14px 0; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(255,255,255,.15); }
.updates-summary dt { color: #8fb0bd; font-size: 10px; }
.updates-summary dd { margin: 0; color: #eef9f7; font: 750 15px ui-monospace, SFMono-Regular, Consolas, monospace; }
.updates-ledger { max-width: 1120px; margin: auto; padding: 52px 30px 80px; }
.updates-ledger-head { margin: 0 0 32px 175px; padding-bottom: 17px; display: flex; align-items: end; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--line); }
.updates-ledger-head span { color: var(--blue); font: 750 9px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .16em; }
.updates-ledger-head h2 { margin: 4px 0 0; font-size: 24px; }
.updates-ledger-head > p { max-width: 470px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; text-align: right; }
.updates-timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.updates-timeline::before { content: ""; position: absolute; top: 8px; bottom: 12px; left: 154px; width: 1px; background: #cdd9e4; }
.update-entry { position: relative; display: grid; grid-template-columns: 126px minmax(0, 1fr); gap: 49px; padding-bottom: 26px; }
.update-entry::before { content: ""; position: absolute; top: 19px; left: 149px; width: 9px; height: 9px; border: 3px solid var(--canvas); border-radius: 50%; background: #8ba6bb; box-shadow: 0 0 0 1px #8ba6bb; }
.update-entry.latest::before { background: var(--coral); box-shadow: 0 0 0 1px var(--coral), 0 0 0 7px rgba(241,91,64,.09); }
.update-date { padding-top: 12px; text-align: right; }
.update-date time { display: block; color: var(--ink); font: 750 12px ui-monospace, SFMono-Regular, Consolas, monospace; }
.update-date span { display: inline-block; margin-top: 6px; padding: 2px 6px; border-radius: 4px; color: #17675b; background: var(--mint-soft); font-size: 9px; font-weight: 750; }
.update-entry > article { min-width: 0; padding: 20px 22px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: 0 5px 18px rgba(26,38,56,.045); }
.update-entry.latest > article { border-color: #b9cfdf; box-shadow: 0 7px 24px rgba(26,38,56,.075); }
.update-entry article > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.update-entry article > header small { color: var(--blue); font: 700 8px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .13em; }
.update-entry h2 { margin: 5px 0 0; font-size: 20px; line-height: 1.35; }
.update-entry article > header b { padding: 5px 8px; display: inline-flex; align-items: center; gap: 5px; border-radius: 5px; color: var(--coral-dark); background: var(--coral-soft); font-size: 9px; white-space: nowrap; }
.update-entry article > header b svg { width: 12px; height: 12px; }
.update-summary { margin: 9px 0 0; color: var(--ink-2); font-size: 12px; }
.update-items { margin-top: 17px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-soft); }
.update-items > section { min-width: 0; padding: 16px 16px 0; }
.update-items > section:nth-child(3n + 1) { padding-left: 0; }
.update-items > section:nth-child(3n) { padding-right: 0; }
.update-items span { color: var(--coral-dark); font-size: 9px; font-weight: 800; }
.update-items h3 { margin: 4px 0 0; font-size: 12px; }
.update-items p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
@media (prefers-reduced-motion: reduce) { .scan-sweep { animation: none; transform: rotate(42deg); } }
@media (max-width: 820px) {
  .updates-hero-inner { grid-template-columns: minmax(0, 1fr) 150px; gap: 26px; }
  .updates-scan { width: 145px; }
  .updates-summary { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); }
  .updates-summary > div { padding: 12px 14px; display: grid; gap: 4px; border-right: 1px solid rgba(255,255,255,.15); }
  .updates-ledger-head { margin-left: 0; }
  .updates-timeline::before { left: 112px; }
  .update-entry { grid-template-columns: 86px minmax(0, 1fr); gap: 42px; }
  .update-entry::before { left: 107px; }
  .update-items { grid-template-columns: 1fr; }
  .update-items > section { padding: 12px 0; border-left: 0; border-bottom: 1px solid var(--line-soft); }
  .update-items > section:last-child { border-bottom: 0; }
}
@media (max-width: 600px) {
  .latest-update-strip { max-width: calc(100% - 28px); margin-top: 14px; grid-template-columns: auto minmax(0, 1fr); }
  .latest-update-copy { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 7px; }
  .latest-update-copy small { grid-column: 1 / -1; }
  .latest-update-action { display: none; }
  .updates-hero-inner { min-height: 0; padding: 36px 20px 29px; grid-template-columns: 1fr; }
  .updates-intro h1 { font-size: 36px; }
  .updates-intro > p:last-child { font-size: 12px; }
  .updates-scan { position: absolute; top: 20px; right: -42px; width: 142px; opacity: .55; }
  .updates-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 7px; }
  .updates-summary > div { padding: 10px 8px; }
  .updates-summary dt { font-size: 8px; }.updates-summary dd { font-size: 12px; }
  .updates-ledger { padding: 34px 14px 54px; }
  .updates-ledger-head { display: block; }
  .updates-ledger-head > p { margin-top: 9px; text-align: left; }
  .updates-timeline::before { left: 8px; }
  .update-entry { grid-template-columns: 1fr; gap: 8px; padding-left: 25px; }
  .update-entry::before { top: 9px; left: 3px; }
  .update-date { padding-top: 0; display: flex; align-items: center; gap: 8px; text-align: left; }
  .update-date time { font-size: 11px; }.update-date span { margin-top: 0; }
  .update-entry > article { padding: 17px 16px; }
  .update-entry h2 { font-size: 17px; }
}

/* Keep workspace layout rules after the legacy admin stylesheet. */
.admin-main { max-width: 1480px; }
.admin-kpis.admin-kpis-six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.admin-kpis.admin-kpis-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-grid.admin-grid-secondary.admin-grid-tables { grid-template-columns: 1.15fr .85fr; }
@media (max-width: 1100px) {
  .admin-kpis.admin-kpis-six { grid-template-columns: repeat(3, 1fr); }
  .admin-kpis.admin-kpis-four { grid-template-columns: repeat(2, 1fr); }
  .admin-grid.admin-grid-secondary.admin-grid-tables { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .admin-kpis.admin-kpis-six, .admin-kpis.admin-kpis-four { grid-template-columns: repeat(2, 1fr); }
  .admin-workspaces { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
  .admin-workspaces a { min-height: 54px; padding: 8px 4px; justify-content: center; gap: 6px; }
  .admin-workspaces a > svg { width: 17px; height: 17px; }
  .admin-workspaces a strong { font-size: 10px; white-space: nowrap; }
}

/* RSS signal: a restrained subscription beacon, not a competing hero. */
.rss-signal { position: relative; max-width: calc(var(--max) - 48px); min-height: 76px; margin: 15px auto -4px; padding: 12px 14px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; overflow: hidden; border: 1px solid #bcd5df; border-radius: 9px; background: linear-gradient(102deg, #f1faf7 0%, #fff 48%, #f3f8fc 100%); box-shadow: 0 5px 18px rgba(31, 68, 87, .045); }
.rss-signal::after { content: ""; position: absolute; top: 50%; right: 0; width: 110px; height: 1px; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(35, 137, 119, .22)); }
.rss-signal-radar { position: relative; width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #9fcabd; border-radius: 50%; color: #17675b; background: #e7f5f0; }
.rss-signal-radar::before, .rss-signal-radar::after { content: ""; position: absolute; border: 1px solid rgba(35, 137, 119, .2); border-radius: 50%; }
.rss-signal-radar::before { inset: 7px; }.rss-signal-radar::after { inset: 14px; }
.rss-signal-radar > svg { width: 18px; height: 18px; position: relative; z-index: 1; }
.rss-signal-radar b { position: absolute; top: 6px; right: 5px; width: 6px; height: 6px; border: 2px solid #e7f5f0; border-radius: 50%; background: var(--coral); }
.rss-signal-copy { min-width: 0; }
.rss-signal-copy small { display: block; color: #238977; font: 750 8px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .12em; }
.rss-signal-copy strong { display: block; margin-top: 3px; font-size: 14px; }
.rss-signal-copy p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.rss-signal-actions { position: relative; z-index: 1; display: flex; align-items: center; gap: 7px; }
.rss-signal-actions a, .rss-signal-actions button { min-height: 34px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #b9cfdb; border-radius: 6px; color: #28566f; background: #fff; font-family: inherit; font-size: 10px; font-weight: 750; white-space: nowrap; cursor: pointer; }
.rss-signal-actions a:first-child { border-color: #238977; color: #fff; background: #238977; }
.rss-signal-actions a:hover, .rss-signal-actions button:hover { border-color: #238977; transform: translateY(-1px); }
.rss-signal-actions svg { width: 13px; height: 13px; }
.rss-signal-status { position: absolute; right: 14px; bottom: 3px; color: #17675b; font-size: 8px; }
.rss-signal-repo { max-width: none; margin: 14px 0 24px; }

/* 404 operations workspace */
.admin-error-overview { margin-top: 14px; }
.error-category-grid { margin-top: 15px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.error-category { min-width: 0; padding: 13px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; border: 1px solid var(--line-soft); border-left: 3px solid #6f91aa; border-radius: 7px; background: var(--surface-soft); }
.error-category > svg { width: 18px; height: 18px; color: #52758e; }
.error-category span, .error-category small { display: block; }
.error-category span { color: var(--ink-2); font-size: 10px; font-weight: 750; }
.error-category strong { display: block; margin-top: 2px; font: 800 22px ui-monospace, SFMono-Regular, Consolas, monospace; }
.error-category small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.error-category dl { grid-column: 1 / -1; margin: 3px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-soft); }
.error-category dl > div { padding: 7px 5px 0; display: flex; justify-content: space-between; gap: 6px; color: var(--muted); font-size: 8px; }
.error-category dd { margin: 0; color: var(--ink-2); font-weight: 800; }
.error-category.missing_asset { border-left-color: #d47852; }.error-category.missing_asset > svg { color: #b45936; }
.error-category.legacy_url { border-left-color: #d1a442; }.error-category.legacy_url > svg { color: #9a741f; }
.error-category.malicious_scan { border-left-color: #6f7483; }.error-category.malicious_scan > svg { color: #555b69; }
.error-category-note { margin: 12px 0 0; display: flex; align-items: flex-start; gap: 7px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.error-category-note svg { width: 13px; height: 13px; flex: 0 0 auto; color: var(--blue); }
.admin-error-tables { margin-top: 14px; }
.error-summary-list { margin-top: 13px; display: grid; gap: 5px; }
.error-summary-list p { margin: 0; padding: 10px 11px; display: flex; align-items: center; justify-content: space-between; border-radius: 5px; background: var(--surface-soft); color: var(--muted); font-size: 10px; }
.error-summary-list strong { color: var(--ink); font: 800 13px ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-recent-errors { margin-top: 14px; }
.admin-recent-errors table { min-width: 980px; }
.admin-recent-errors code, .admin-error-tables code { max-width: 310px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 1100px) {
  .error-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .rss-signal { max-width: calc(100% - 28px); margin-top: 13px; padding: 12px; grid-template-columns: auto minmax(0, 1fr); gap: 10px; }
  .rss-signal-repo { max-width: none; margin: 12px 0 20px; }
  .rss-signal-radar { width: 40px; height: 40px; }
  .rss-signal-copy strong { font-size: 12px; }
  .rss-signal-copy p { line-height: 1.45; }
  .rss-signal-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .rss-signal-actions a, .rss-signal-actions button { width: 100%; }
  .rss-signal-status { position: static; grid-column: 1 / -1; min-height: 10px; text-align: right; }
  .error-category-grid { grid-template-columns: 1fr; }
  .error-category { padding: 11px; }
}
