/* ============================================================================
   ui-design-copy.css — 设计稿纯转写层
   规则值 100% 来自 ui/Gitea 重设计.dc.html,每条规则注释 L## 为设计稿源行号。
   class 命名按设计稿板块(顶部导航/仪表盘/仓库页/探索/组件库/登录页)派生。
   同一条规则可能附带 Gitea 原生选择器(映射行,标注「映射」),值不变。
   本文件禁止出现设计稿之外的数值;缺的东西写进 ui-gaps-temp.css 并上报补充。
   ============================================================================ */

/* L1362 设计稿默认 props:accent=#F2570D radius=20px */
:root {
  --ac: #f2570d;
  --rad: 20px;
}

/* L14-21 helmet 全局 */
body { margin: 0; background: #f0f1f3; }
a { color: #e05303; text-decoration: none; }
a:hover { color: #b34002; text-decoration: underline; }
@keyframes toastIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes popIn { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }
input::placeholder, textarea::placeholder { color: #9ba0a8; }
input:focus, textarea:focus { outline: 2px solid color-mix(in oklab, var(--ac, #f2570d) 45%, white); border-color: var(--ac, #f2570d); }

/* L24 页面根 */
.ui-page,
body {
  min-height: 100vh;
  background: #f0f1f3;
  font-family: "Manrope", "Noto Sans SC", sans-serif;
  color: #17181a;
  -webkit-font-smoothing: antialiased;
}

/* ========================= 顶部导航(L26-44) ========================= */

/* L26 容器 */
.ui-topnav,
#navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 28px;
}

/* L27 品牌组 */
.ui-topnav-brand,
#navbar #navbar-logo { display: flex; align-items: center; gap: 10px; }

/* L28 logo 圆形 G */
.ui-topnav-logo,
#navbar #navbar-logo::before {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--ac, #f2570d);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  font-size: 17px;
}
#navbar #navbar-logo::before { content: "G"; } /* 映射:真实 logo 图隐藏见 gaps */

/* L29 品牌字 */
.ui-topnav-title,
#navbar #navbar-logo::after {
  font-weight: 800;
  font-size: 19px;
  letter-spacing: -0.02em;
  color: #17181a;
}
#navbar #navbar-logo::after { content: "Gitea"; } /* 映射 */

/* L31 菜单组 */
.ui-topnav-menu,
.hm-primary-nav { display: flex; gap: 8px; }

/* L33 菜单胶囊(默认态 bg #fff fg #565B63;激活态 L1395 bg #17181A fg #fff) */
.ui-topnav-pill,
#navbar .hm-primary-nav > a.item,
#navbar .navbar-left > a.item:not(#navbar-logo) {
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  background: #fff;
  color: #565b63;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.ui-topnav-pill:hover,
#navbar .hm-primary-nav > a.item:hover,
#navbar .navbar-left > a.item:not(#navbar-logo):hover { opacity: 0.85; color: #565b63; text-decoration: none; }
.ui-topnav-pill.is-active,
#navbar .hm-primary-nav > a.item.active,
#navbar .navbar-left > a.item.active { background: #17181a; color: #fff; opacity: 1; }

/* L36 右侧操作组 */
.ui-topnav-actions,
#navbar .navbar-right { display: flex; align-items: center; gap: 10px; }

/* L37 通知按钮(白圆) */
.ui-topnav-bell,
#navbar .navbar-right > a.item[href*="/notifications"] {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  color: #565b63;
}
.ui-topnav-bell:hover,
#navbar .navbar-right > a.item[href*="/notifications"]:hover { background: #e9ebee; }

/* L39 通知红点 */
.ui-topnav-bell-dot,
#navbar .navbar-right .notification_count {
  position: absolute;
  top: 9px;
  right: 10px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--ac, #f2570d);
  border: 2px solid #fff;
}

/* L41 加号按钮(黑圆) */
.ui-topnav-add,
#navbar .navbar-right > .ui.dropdown:nth-last-child(2) {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #17181a;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 19px;
}
.ui-topnav-add:hover,
#navbar .navbar-right > .ui.dropdown:nth-last-child(2):hover { background: #2a2b2e; }

/* L42 头像(42 圆) */
.ui-topnav-avatar,
#navbar .navbar-right > .ui.dropdown:last-child {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  overflow: hidden;
}
#navbar .navbar-right .navbar-avatar img { width: 42px; height: 42px; border-radius: 999px; object-fit: cover; display: block; } /* 映射:真实头像填满 L42 的 42px 圆 */

/* ========================= 通用下拉菜单(L56-59) ========================= */

/* L56 弹层 */
.ui-menu,
.ui.dropdown > .menu {
  position: absolute;
  background: #fff;
  border-radius: 16px;
  padding: 6px;
  min-width: 150px;
  box-shadow: 0 12px 32px rgba(23, 24, 26, 0.1);
  z-index: 40;
  animation: popIn 0.12s ease;
}

/* L58 菜单项 */
.ui-menu-item,
.ui.dropdown > .menu > .item {
  padding: 9px 14px;
  border-radius: 10px;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #17181a;
  white-space: nowrap;
}
.ui-menu-item:hover,
.ui.dropdown > .menu > .item:hover { background: #f1f2f5; color: #17181a; text-decoration: none; }

/* ========================= 仪表盘(L47-177) ========================= */

/* L47 容器 */
.ui-dash {
  padding: 14px 28px 48px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  max-width: 1440px;
  margin: 0 auto;
}

/* L48 hero 行 */
.ui-dash-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }

/* L50 大标题 */
.ui-dash-title { font-size: 38px; font-weight: 800; letter-spacing: -0.03em; }

/* L51 副标题 */
.ui-dash-subtitle { color: #7e838b; font-size: 15px; margin-top: 6px; }

/* L54 范围按钮(白胶囊) */
.ui-dash-range {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border-radius: 999px;
  padding: 11px 20px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  color: #17181a;
}
.ui-dash-range:hover { background: #e9ebee; color: #17181a; text-decoration: none; }

/* L65 两栏网格 */
.ui-dash-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
/* L66 / L132 主列 副列 */
.ui-dash-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.ui-dash-aside { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

/* L67 统计卡网格 */
.ui-stats { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; }

/* L69 统计卡 */
.ui-stat-card {
  background: #fff;
  border-radius: var(--rad, 20px);
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
/* L70 标签行 */
.ui-stat-label { display: flex; align-items: center; gap: 10px; color: #565b63; font-size: 14px; font-weight: 600; }
/* L71 色点 */
.ui-stat-dot { width: 10px; height: 10px; border-radius: 3px; }
.ui-stat-dot.is-orange { background: var(--ac, #f2570d); } /* L1408 */
.ui-stat-dot.is-dark { background: #17181a; }               /* L1409 */
.ui-stat-dot.is-grey { background: #c0c4ca; }               /* L1410 */
/* L73 数值 */
.ui-stat-value { font-size: 34px; font-weight: 800; letter-spacing: -0.03em; }
/* L74-76 底行 */
.ui-stat-foot { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #7e838b; }
.ui-stat-delta {
  background: color-mix(in oklab, var(--ac, #f2570d) 12%, white);
  color: #c2410c;
  border-radius: 999px;
  padding: 3px 10px;
  font-weight: 700;
}

/* L82 通用大卡片(热力图/动态) */
.ui-card {
  background: #fff;
  border-radius: var(--rad, 20px);
  padding: 24px 26px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* L83-85 卡片标题行 */
.ui-card-head { display: flex; align-items: center; justify-content: space-between; }
.ui-card-title { display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 700; }
/* L84 标题图标:34 圆外框 + 12 内标 */
.ui-card-ico {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #f1f2f5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ui-card-ico::before { content: ""; width: 12px; height: 12px; border-radius: 4px; background: #17181a; }
.ui-card-ico.is-round::before { border-radius: 999px; } /* L108 最近动态为圆点 */
/* L85 标题右侧灰字 */
.ui-card-meta { color: #7e838b; font-size: 13px; }

/* L87-94 热力图网格 */
.ui-heat { display: flex; gap: 3px; min-width: 0; }
.ui-heat-week { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.ui-heat-cell { width: 100%; aspect-ratio: 1; border-radius: 3px; background: #e8eaed; }
/* L1403 色阶:pct 后由 color-mix(in oklab, ac pct%, #E8EAED) 上色(JS 按真实数据填充) */

/* L96-104 热力图底部 */
.ui-heat-foot { display: flex; justify-content: space-between; align-items: center; color: #9ba0a8; font-size: 12px; }
.ui-heat-months { display: flex; flex: 1; justify-content: space-between; margin-right: 24px; }
.ui-heat-legend { display: flex; align-items: center; gap: 4px; }
.ui-heat-legend i { width: 10px; height: 10px; border-radius: 3px; background: #e8eaed; display: block; }
.ui-heat-legend i:nth-of-type(2) { background: color-mix(in oklab, var(--ac, #f2570d) 25%, #e8eaed); }
.ui-heat-legend i:nth-of-type(3) { background: color-mix(in oklab, var(--ac, #f2570d) 55%, #e8eaed); }
.ui-heat-legend i:nth-of-type(4) { background: var(--ac, #f2570d); }

/* L107-111 动态卡(gap4,标题 mb10,meta 12.5/600 #9BA0A8) */
.ui-feed-card { background: #fff; border-radius: var(--rad, 20px); padding: 24px 26px; display: flex; flex-direction: column; gap: 4px; }
.ui-feed-card .ui-card-title { margin-bottom: 10px; }
.ui-feed-meta { font-size: 12.5px; font-weight: 600; color: #9ba0a8; }

/* L113 动态条目 */
.ui-feed-item,
.ui-feed-card #activity-feed > .item {
  display: flex;
  gap: 14px;
  padding: 13px 0;
  border-top: 1px solid #eff0f3;
  align-items: flex-start;
}
/* L114 条目头像 36 圆 */
.ui-feed-avatar,
.ui-feed-card #activity-feed .item-leading img { width: 36px; height: 36px; border-radius: 999px; flex-shrink: 0; }
/* L115 正文列 */
.ui-feed-body,
.ui-feed-card #activity-feed .item-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
/* L116 首行:14.5/1.5;操作者 700;目标 #E05303/600 */
.ui-feed-text,
.ui-feed-card #activity-feed .item-main > div:first-child { font-size: 14.5px; line-height: 1.5; }
.ui-feed-card #activity-feed .item-main > div:first-child > a:first-child { font-weight: 700; color: #17181a; } /* 映射:操作者 */
.ui-feed-card #activity-feed .item-main a { color: #e05303; font-weight: 600; } /* 映射:目标链接 */
.ui-feed-card #activity-feed .item-main > div:first-child > a:first-child { color: #17181a; }
/* L118 提交行:13 #565B63 gap8;sha 芯片 mono #F1F2F5 radius8 2px8 12px */
.ui-feed-commit,
.ui-feed-card #activity-feed .item-main .flex-text-block { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #565b63; }
.ui-sha-chip,
.ui-feed-card #activity-feed .item-main a.ui.sha.label {
  font-family: ui-monospace, monospace;
  background: #f1f2f5;
  border-radius: 8px;
  padding: 2px 8px;
  font-size: 12px;
  color: #565b63;
  font-weight: 400;
}
/* L120 时间 */
.ui-feed-time,
.hm-feed-time { color: #9ba0a8; font-size: 12.5px; }

/* L124-127 动态分页行 + 页码胶囊 */
.ui-feed-pager,
.hm-activity-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding-top: 16px;
  margin-top: 6px;
  border-top: 1px solid #eff0f3;
}
.ui-page-pill,
.hm-activity-pages button {
  min-width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  padding: 0 12px;
  background: #f1f2f5;
  color: #565b63;
  border: 0;
}
.ui-page-pill:hover,
.hm-activity-pages button:hover { opacity: 0.85; }
.ui-page-pill.is-active,
.hm-activity-pages button.active { background: #17181a; color: #fff; opacity: 1; }

/* L133-137 深色目标卡 */
.ui-goal-card {
  background: #17181a;
  border-radius: var(--rad, 20px);
  padding: 24px 26px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.ui-goal-head { display: flex; align-items: center; justify-content: space-between; }
.ui-goal-title { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 700; }
/* L135 图标 32 圆 rgba .10 内 11 方 ac */
.ui-goal-ico { width: 32px; height: 32px; border-radius: 999px; background: rgba(255, 255, 255, 0.1); display: inline-flex; align-items: center; justify-content: center; }
.ui-goal-ico::before { content: ""; width: 11px; height: 11px; border-radius: 4px; background: var(--ac, #f2570d); }
/* L136 右上按钮 */
.ui-goal-action { background: rgba(255, 255, 255, 0.1); border-radius: 999px; padding: 7px 14px; font-size: 12.5px; font-weight: 600; cursor: pointer; color: #fff; }
.ui-goal-action:hover { background: rgba(255, 255, 255, 0.08); color: #fff; text-decoration: none; }
/* L139-147 目标条目 + 进度条 */
.ui-goal-item { background: rgba(255, 255, 255, 0.06); border-radius: 16px; padding: 14px 16px; display: flex; flex-direction: column; gap: 9px; }
.ui-goal-row { display: flex; justify-content: space-between; font-size: 13.5px; }
.ui-goal-row strong { font-weight: 600; }
.ui-goal-row span { color: rgba(255, 255, 255, 0.55); }
.ui-goal-bar,
.ui-goal-item progress { height: 7px; border-radius: 999px; background: rgba(255, 255, 255, 0.14); overflow: hidden; width: 100%; border: 0; appearance: none; }
.ui-goal-item progress::-webkit-progress-bar { background: rgba(255, 255, 255, 0.14); border-radius: 999px; }
.ui-goal-bar > i,
.ui-goal-item progress::-webkit-progress-value { height: 100%; border-radius: 999px; background: var(--ac, #f2570d); display: block; }
.ui-goal-item progress::-moz-progress-bar { border-radius: 999px; background: var(--ac, #f2570d); }

/* L151-174 仓库列表卡 */
.ui-repolist-card { background: #fff; border-radius: var(--rad, 20px); padding: 22px 24px; display: flex; flex-direction: column; gap: 6px; }
.ui-repolist-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.ui-repolist-title { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; }
.ui-repolist-title .ui-card-ico { width: 32px; height: 32px; margin-right: 2px; }
.ui-repolist-title .ui-card-ico::before { width: 11px; height: 11px; }
/* L154 计数徽章 */
.ui-count-badge { background: #f1f2f5; border-radius: 999px; padding: 2px 9px; font-size: 12px; font-weight: 700; color: #565b63; }
/* L156 加号 30 圆 tint */
.ui-repolist-add {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--ac, #f2570d) 12%, white);
  color: #c2410c;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 17px;
}
.ui-repolist-add:hover { background: color-mix(in oklab, var(--ac, #f2570d) 20%, white); color: #c2410c; text-decoration: none; }
/* L158-161 搜索条 */
.ui-search-bar { display: flex; align-items: center; gap: 10px; background: #f1f2f5; border-radius: 999px; padding: 10px 16px; margin-bottom: 8px; color: #9ba0a8; }
.ui-search-bar input { border: none; background: transparent; font-size: 14px; font-family: inherit; width: 100%; color: #17181a; outline: none; }
/* L163-172 仓库行 */
.ui-repolist-row { display: flex; align-items: center; gap: 12px; padding: 11px 8px; border-radius: 14px; cursor: pointer; color: #17181a; }
.ui-repolist-row:hover { background: #f1f2f5; color: #17181a; text-decoration: none; }
.ui-lang-dot { width: 9px; height: 9px; border-radius: 999px; flex-shrink: 0; }
.ui-repolist-main { min-width: 0; flex: 1; }
.ui-repolist-name { font-weight: 700; font-size: 14px; display: flex; align-items: center; gap: 8px; }
/* L167 私有徽章 */
.ui-private-badge { background: #f1f2f5; border-radius: 999px; padding: 1px 8px; font-size: 11px; color: #7e838b; font-weight: 600; font-style: normal; }
.ui-repolist-desc { color: #7e838b; font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-repolist-stars { color: #7e838b; font-size: 12.5px; flex-shrink: 0; display: flex; align-items: center; gap: 4px; }

/* ========================= 仓库页(L181-331) ========================= */

/* L181 容器(设计稿单容器 padding 14/28/48 + gap 20;
   真实 DOM 拆为上容器[头部+页签]与下容器[横幅/工具栏/文件表],padding 分摊、gap 相同) */
.ui-repo {
  padding: 14px 28px 48px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1440px;
  margin: 0 auto;
}
.repository .secondary-nav > .ui.container {
  padding: 14px 0 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.page-content.repository > .ui.container {
  padding: 20px 0 48px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* L182 头部行 */
.ui-repo-head,
.repository .repo-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.ui-repo-ident,
.repository .repo-header > .flex-text-block:first-child { display: flex; align-items: center; gap: 12px; }

/* L184 仓库图标 46 圆角方渐变 */
.ui-repo-ico,
.huolemiao-repo-initial,
.repository .repo-header .repo-icon img {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f9a03f, #e05303);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 17px;
  flex-shrink: 0;
  text-transform: uppercase;
}

/* L186-188 标题:24/800;owner #7E838B/600;私有徽章 3px11 12px */
.ui-repo-title,
.repository .repo-header .tw-text-18 { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; display: flex; align-items: center; gap: 10px; }
.ui-repo-owner,
.repository .repo-header .tw-text-18 a:first-child { color: #7e838b; font-weight: 600; }
.repository .repo-header .tw-text-18 a { color: #17181a; } /* 映射:仓库名黑色 */
.repository .repo-header .tw-text-18 a:hover { text-decoration: none; }
.ui-repo-badge,
.repository .repo-header .ui.basic.label { background: #f1f2f5; border-radius: 999px; padding: 3px 11px; font-size: 12px; color: #7e838b; font-weight: 600; border: 0; }
/* L190 副标题 */
.ui-repo-desc,
.hm-repo-real-description { color: #7e838b; font-size: 13.5px; margin-top: 2px; }

/* L193-204 操作按钮组:白胶囊分段 + 52px 计数 */
.ui-repo-actions,
.repository .repo-header > .flex-text-block:last-child { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.ui-actbtn,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
  border: 0;
}
.ui-actbtn-label,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button > .ui.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  color: #17181a;
  white-space: nowrap;
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 0;
}
.ui-actbtn-label:hover,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button > .ui.button:hover { opacity: 0.75; }
.ui-actbtn-label svg,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button > .ui.button svg { font-size: 13px; color: #9ba0a8; } /* L198 图标 #9BA0A8 */
.ui-actbtn-div { width: 1px; align-self: stretch; background: #eff0f3; }
.ui-actbtn-count,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button > .ui.label {
  padding: 11px 0;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  color: #17181a;
  width: 52px;
  min-width: 52px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  border-left: 1px solid #eff0f3; /* 映射:L200 分隔线落在计数区左边框 */
  border-radius: 0;
  margin: 0;
}
/* L1681-1685 激活态(关注中/已点赞):tint 底 橙字 橙分隔线 */
.ui-actbtn.is-on,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button:has(a[data-fetch-url$="/action/unwatch"]),
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button:has(a[data-fetch-url$="/action/unstar"]) {
  background: color-mix(in oklab, var(--ac, #f2570d) 12%, white);
}
.ui-actbtn.is-on .ui-actbtn-label,
.ui-actbtn.is-on .ui-actbtn-count,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button:has(a[data-fetch-url$="/action/unwatch"]) > .ui.button,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button:has(a[data-fetch-url$="/action/unstar"]) > .ui.button,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button:has(a[data-fetch-url$="/action/unwatch"]) > .ui.label,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button:has(a[data-fetch-url$="/action/unstar"]) > .ui.label { color: #c2410c; }
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button:has(a[data-fetch-url$="/action/unwatch"]) > .ui.button svg,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button:has(a[data-fetch-url$="/action/unstar"]) > .ui.button svg { color: #c2410c; }
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button:has(a[data-fetch-url$="/action/unwatch"]) > .ui.label,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button:has(a[data-fetch-url$="/action/unstar"]) > .ui.label { border-left-color: color-mix(in oklab, var(--ac, #f2570d) 24%, white); }
/* L194 头部白圆按钮(设计 ☷,映射 RSS) */
.ui-repo-circle,
.repository .repo-header > .flex-text-block:last-child > a.ui.button {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #565b63;
  font-size: 14px;
  padding: 0;
  border: 0;
  margin: 0;
}
.ui-repo-circle:hover,
.repository .repo-header > .flex-text-block:last-child > a.ui.button:hover { background: #e9ebee; }

/* L207-212 页签行 */
.ui-repo-tabs,
.repository .secondary-nav .overflow-menu-items { display: flex; gap: 8px; align-self: flex-start; flex-wrap: wrap; align-items: center; }
.ui-repo-tab,
.repository .secondary-nav .overflow-menu-items > .item {
  padding: 9px 18px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #fff;
  color: #565b63;
  border: 0;
  margin: 0;
  min-height: 0;
}
.ui-repo-tab.is-active,
.repository .secondary-nav .overflow-menu-items > .item.active { background: #17181a; color: #fff; }
/* L210 页签计数 */
.ui-repo-tab-count,
.repository .secondary-nav .overflow-menu-items > .item .ui.small.label { background: #f1f2f5; color: #565b63; border-radius: 999px; padding: 1px 8px; font-size: 11.5px; font-weight: 700; border: 0; margin: 0; }
.ui-repo-tab.is-active .ui-repo-tab-count,
.repository .secondary-nav .overflow-menu-items > .item.active .ui.small.label { background: rgba(255, 255, 255, 0.16); color: #fff; }

/* L216-223 推送横幅 */
.ui-push-banner,
.repository .ui.positive.message.flex-text-block {
  display: flex;
  flex-direction: row; /* 复位:防止通用 message 的纵向规则串入 */
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  background: #fff;
  border-radius: var(--rad, 20px);
  padding: 16px 18px 16px 24px;
  border-left: none;
  margin: 0;
  color: #565b63;
  font-size: 14px;
  text-align: left;
}
.ui-push-text,
.repository .ui.positive.message.flex-text-block .tw-flex-1 { display: flex; align-items: center; gap: 12px; font-size: 14px; color: #565b63; }
/* L220 分支芯片 */
.ui-branch-chip,
.repository .ui.positive.message.flex-text-block .tw-flex-1 a {
  font-family: ui-monospace, monospace;
  font-weight: 700;
  color: #17181a;
  background: #f1f2f5;
  border-radius: 8px;
  padding: 2px 10px;
}
/* L222 主按钮(橙胶囊) */
.ui-btn-primary,
.repository .ui.positive.message.flex-text-block > a.ui.button {
  background: var(--ac, #f2570d);
  color: #fff;
  border-radius: 999px;
  padding: 11px 22px;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ui-btn-primary:hover,
.repository .ui.positive.message.flex-text-block > a.ui.button:hover { opacity: 0.9; color: #fff; }

/* L225-267 分支工具栏 */
.ui-repo-toolbar,
.repository .repo-button-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 0; }
.ui-repo-toolbar-left,
.repository .repo-button-row-left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.repository .repo-button-row-right { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } /* L362 右组 gap8 */
/* L228 分支胶囊(白) */
.ui-branch-pill,
.repository .repo-button-row .ui.dropdown.button:not(.primary) {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: #fff;
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  color: #17181a;
  border: 0;
}
.ui-branch-pill:hover,
.repository .repo-button-row .ui.dropdown.button:not(.primary):hover { background: #e9ebee; }
.ui-branch-pill svg,
.repository .repo-button-row .ui.dropdown.button:not(.primary) svg:first-child { color: var(--ac, #f2570d); } /* L228 ⌥ 橙色 */
/* L253 计数文字 */
.ui-repo-counts,
.repository .repository-summary .repository-menu { color: #7e838b; font-size: 13.5px; display: flex; gap: 16px; }
.ui-repo-counts b,
.repository .repository-summary .repository-menu a b,
.repository .repository-summary .repository-menu a strong { color: #17181a; }
.repository .repository-summary .repository-menu a { color: #7e838b; text-decoration: none; } /* 映射 */
.repository .repository-summary .repository-menu a svg { display: none; } /* 映射:设计无图标 */
/* L254 文件树按钮 */
.ui-tree-btn,
.hm-file-tree-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  background: #fff;
  color: #17181a;
  border: 0;
}
.ui-tree-btn:hover, .hm-file-tree-button:hover { opacity: 0.85; }
.ui-tree-btn.is-active, .hm-file-tree-button.active { background: #17181a; color: #fff; opacity: 1; }
/* L257 克隆按钮(黑胶囊) */
.ui-clone-btn,
.repository .repo-button-row .ui.primary.button {
  background: #17181a;
  color: #fff;
  border-radius: 999px;
  padding: 11px 22px;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
}
.ui-clone-btn:hover,
.repository .repo-button-row .ui.primary.button:hover { background: #2a2b2e; color: #fff; }

/* L363-369 工具栏白胶囊输入/按钮(转到文件/添加文件/文件历史) */
.ui-goto-input,
.repository .repo-button-row .repo-file-search-container .ui.input input { display: inline-flex; align-items: center; gap: 8px; background: #fff; border-radius: 999px; padding: 9px 16px; border: 0; font-size: 13px; font-family: inherit; color: #17181a; outline: none; }
.ui-btn-card,
.repository .repo-button-row .ui.button:not(.primary):not(.dropdown) {
  background: #fff;
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 700;
  color: #17181a;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
}
.ui-btn-card:hover,
.repository .repo-button-row .ui.button:not(.primary):not(.dropdown):hover { background: #e9ebee; }
.repository .repo-button-row .ui.dropdown.button.repo-add-file { background: #fff; border-radius: 999px; padding: 10px 18px; font-size: 13px; font-weight: 700; color: #17181a; border: 0; } /* L368 同款 */
.repository .repo-button-row .ui.dropdown.button.repo-add-file:hover { background: #e9ebee; }

/* L271 文件区网格:主栏 + 300px 侧栏 */
.ui-repo-grid,
.repository .repo-grid-filelist-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; }
.ui-repo-main,
.repository .repo-home-filelist { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

/* L273-289 文件卡 */
.ui-file-card,
#repo-files-table { background: #fff; border-radius: var(--rad, 20px); overflow: hidden; }
/* L274 最近提交头 */
.ui-file-head,
#repo-files-table .repo-file-line.repo-file-last-commit {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 22px;
  background: #f7f8fa;
  border-bottom: 1px solid #eff0f3;
}
.ui-file-head-avatar,
.repository .latest-commit img.avatar { width: 30px; height: 30px; border-radius: 999px; }
.ui-file-head-name,
.repository .latest-commit a { font-weight: 700; font-size: 13.5px; color: #17181a; }
.ui-file-head-sha,
.repository .latest-commit > a[href*="/commit/"] { font-family: ui-monospace, monospace; background: #fff; border-radius: 8px; padding: 2px 9px; font-size: 12px; color: #565b63; font-weight: 400; }
.ui-file-head-msg,
.repository .latest-commit .commit-summary { color: #565b63; font-size: 13.5px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 400; }
.repository .latest-commit .commit-summary a { color: #565b63; font-weight: 400; } /* 映射 */
.ui-file-head-time,
#repo-files-table .repo-file-last-commit > div:last-child { color: #9ba0a8; font-size: 12.5px; flex-shrink: 0; }
.repository .latest-commit { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; padding: 0; background: transparent; border: 0; font-size: 13.5px; } /* 映射容器 */

/* L282-287 文件行 */
.ui-file-row,
#repo-files-table .repo-file-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 22px;
  border-top: 1px solid #f1f2f5;
  cursor: pointer;
}
.ui-file-row:hover,
#repo-files-table .repo-file-item:hover { background: #f7f8fa; }
.ui-file-name,
#repo-files-table .repo-file-cell.name { font-size: 14px; width: 220px; flex-shrink: 0; display: flex; align-items: center; gap: 12px; min-width: 0; }
#repo-files-table .repo-file-cell.name a { color: #17181a; font-weight: 500; } /* L284 w 500/700 */
.ui-file-msg,
#repo-files-table .repo-file-cell.message { color: #7e838b; font-size: 13px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
#repo-files-table .repo-file-cell.message a { color: #7e838b; }
.ui-file-time,
#repo-files-table .repo-file-cell.age { color: #9ba0a8; font-size: 12.5px; flex-shrink: 0; }

/* L291-300 README 卡 */
.ui-readme,
.repository .repo-home-filelist .markup { background: #fff; border-radius: var(--rad, 20px); padding: 26px 30px; }
.ui-readme-label { color: #7e838b; font-size: 13px; font-weight: 700; letter-spacing: 0.03em; }
.ui-readme h1, .ui-readme-title { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; }
.ui-readme-body { color: #565b63; font-size: 14.5px; line-height: 1.8; max-width: 760px; }

/* L296-298 / L307-309 标签芯片 */
.ui-chip-tint,
#repo-topics .repo-topic {
  background: color-mix(in oklab, var(--ac, #f2570d) 10%, white);
  color: #c2410c;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 700;
  margin: 0;
  border: 0;
}
.ui-chip-grey { background: #f1f2f5; color: #565b63; border-radius: 999px; padding: 5px 14px; font-size: 12.5px; font-weight: 700; }

/* L302-315 侧栏(关于卡) */
.ui-repo-aside { display: flex; flex-direction: column; gap: 20px; }
.ui-about,
.repo-home-sidebar-top { background: #fff; border-radius: var(--rad, 20px); padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; align-self: start; }
.ui-about-title,
.repo-home-sidebar-header { font-size: 15px; font-weight: 800; color: #17181a; }
.ui-about-text,
.repo-description { color: #565b63; font-size: 13.5px; line-height: 1.6; }
.ui-about-chips,
#repo-topics { display: flex; gap: 6px; flex-wrap: wrap; margin: 0; }
/* L311 meta 列表 */
.ui-about-meta { display: flex; flex-direction: column; gap: 10px; border-top: 1px solid #eff0f3; padding-top: 14px; font-size: 13px; color: #565b63; }
.ui-about-meta-row { display: flex; align-items: center; gap: 10px; }
.ui-about-meta-row::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: #9ba0a8; }

/* L317-328 语言卡 */
.ui-langs,
.repo-home-sidebar-bottom { background: #fff; border-radius: var(--rad, 20px); padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; align-self: start; }
.ui-lang-bar,
.language-stats { display: flex; height: 9px; border-radius: 999px; overflow: hidden; gap: 2px; margin: 0; }
.language-stats .bar { height: 100%; } /* 映射 */
.ui-lang-rows,
.language-stats-details { display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: #565b63; padding: 0; }
.ui-lang-row,
.language-stats-details .item { display: flex; align-items: center; gap: 8px; }
.language-stats-details .color-icon { width: 9px; height: 9px; border-radius: 999px; display: inline-block; } /* L325 圆点 9px */
/* 侧栏网格定位(映射:设计稿主栏+侧栏结构) */
.repo-home-sidebar-top { grid-column: 2; grid-row: 1; }
.repo-home-sidebar-bottom { grid-column: 2; grid-row: 2; }
.repository .repo-grid-filelist-sidebar { grid-template-rows: auto auto 1fr; }
.repository .repo-home-filelist { grid-column: 1; grid-row: 1 / span 3; }

/* ========================= 登录页(L1273-1298) ========================= */

/* L1274 容器 */
.ui-login,
.user.signin { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 60px 28px 90px; gap: 16px; }
/* L1275 卡片:radius28 padding44 w420 阴影 */
.ui-login-card,
.user.signin .ui.container.fluid:not(.huolemiao-auth-extras) { background: #fff; border-radius: 28px; width: 508px; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(23, 24, 26, 0.06); overflow: hidden; }
/* L1277 logo 56 圆 */
.ui-login-logo { width: 56px; height: 56px; border-radius: 999px; background: var(--ac, #f2570d); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; font-size: 24px; }
/* L1278-1279 标题 副标题 */
.ui-login-title { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.ui-login-sub { color: #7e838b; font-size: 13.5px; }
/* 映射:Gitea 登录卡头部(logo + 标题 + 副标题) */
.user.signin .ui.container.fluid:not(.huolemiao-auth-extras) .ui.top.attached.header { position: relative; padding: 115px 44px 18px; background: #fff; font-size: 24px; font-weight: 800; letter-spacing: -0.02em; text-align: center; border: 0; margin: 0; }
.user.signin .ui.container.fluid:not(.huolemiao-auth-extras) .ui.top.attached.header::before {
  content: "G";
  position: absolute;
  top: 44px;
  left: 50%;
  transform: translateX(-50%);
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: var(--ac, #f2570d);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  font-size: 24px;
}
.user.signin .ui.container.fluid:not(.huolemiao-auth-extras) .ui.top.attached.header::after { content: "自托管的轻量级代码仓库"; display: block; margin-top: 12px; color: #7e838b; font-size: 13.5px; font-weight: 400; letter-spacing: 0; }
.user.signin .ui.attached.segment { padding: 10px 44px 38px; background: #fff; border: 0; margin: 0; }
/* L1282-1287 表单 */
.ui-field-label,
.user.signin .ui.form .field > label { font-size: 13px; font-weight: 700; color: #565b63; display: block; margin-bottom: 8px; }
.user.signin .ui.form .required.field > label::after { content: none; } /* 设计稿无必填星号 */
.ui-input,
.user.signin .ui.form input { border-radius: 14px; padding: 14px 16px; font-size: 14px; font-family: inherit; color: #17181a; background: #f1f2f5; border: none; width: 100%; }
/* L1290-1293 记住我 + 忘记密码 */
.ui-login-row,
.user.signin .huolemiao-remember-field { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.ui-check,
.user.signin .huolemiao-remember { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font-size: 13.5px; color: #565b63; font-weight: 600; margin: 0; }
.user.signin .huolemiao-remember input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ui-check-box,
.user.signin .huolemiao-remember::before {
  content: "✓";
  width: 20px;
  height: 20px;
  border-radius: 7px;
  background: #e8eaed;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
  font-size: 11px;
  font-weight: 800;
  box-sizing: border-box;
}
.ui-check.is-on .ui-check-box,
.user.signin .huolemiao-remember:has(input:checked)::before { background: var(--ac, #f2570d); color: #fff; }
.ui-link-sm,
.user.signin .huolemiao-forgot-link { font-size: 13px; font-weight: 600; color: #e05303; }
/* L1295 登录按钮 */
.ui-login-btn,
.user.signin .ui.primary.button { background: var(--ac, #f2570d); color: #fff; border-radius: 999px; padding: 15px; font-size: 15px; font-weight: 800; cursor: pointer; text-align: center; width: 100%; border: 0; }
.ui-login-btn:hover,
.user.signin .ui.primary.button:hover { opacity: 0.9; }
/* L1296 底部提示 */
.ui-login-foot,
.user.signin .huolemiao-signup-prompt { text-align: center; color: #7e838b; font-size: 13px; }

/* ========================= 探索页(L1096-1124) ========================= */

.ui-explore { padding: 14px 28px 48px; display: flex; flex-direction: column; gap: 22px; max-width: 1440px; margin: 0 auto; }
.ui-explore-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.ui-explore-title { font-size: 38px; font-weight: 800; letter-spacing: -0.03em; }
.ui-explore-sub { color: #7e838b; font-size: 15px; margin-top: 6px; }
/* L1103 搜索条 340px */
.ui-explore-search { display: flex; align-items: center; gap: 10px; background: #f1f2f5; border-radius: 999px; padding: 12px 20px; width: 340px; color: #9ba0a8; }
.ui-explore-search input { border: none; background: transparent; font-size: 14px; font-family: inherit; width: 100%; color: #17181a; outline: none; }
/* L1108 两列网格 */
.ui-explore-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
/* L1110-1121 卡片 */
.ui-explore-card { background: #fff; border-radius: var(--rad, 20px); padding: 24px 26px; display: flex; flex-direction: column; gap: 12px; cursor: pointer; color: #17181a; }
.ui-explore-card:hover { box-shadow: 0 10px 30px rgba(23, 24, 26, 0.08); color: #17181a; text-decoration: none; }
.ui-explore-card-head { display: flex; align-items: center; gap: 12px; }
.ui-explore-ico { width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; background: color-mix(in oklab, var(--ac, #f2570d) 15%, white); color: var(--ac, #f2570d); text-transform: uppercase; }
.ui-explore-name { font-weight: 800; font-size: 16px; }
.ui-explore-desc { color: #565b63; font-size: 13.5px; line-height: 1.6; }
.ui-explore-meta { display: flex; align-items: center; gap: 16px; color: #7e838b; font-size: 12.5px; margin-top: 4px; }
.ui-explore-meta span { display: flex; align-items: center; gap: 6px; }

/* ========================= 组件库通用(L1134-1269) ========================= */

/* L1137-1141 按钮 */
.ui-btn-dark { background: #17181a; color: #fff; border-radius: 999px; padding: 12px 24px; font-size: 14px; font-weight: 700; cursor: pointer; border: 0; }
.ui-btn-dark:hover { background: #2a2b2e; }
.ui-btn-light { background: #f1f2f5; border-radius: 999px; padding: 12px 24px; font-size: 14px; font-weight: 700; cursor: pointer; color: #17181a; border: 0; }
.ui-btn-light:hover { background: #e9ebee; }
.ui-btn-soft { background: color-mix(in oklab, var(--ac, #f2570d) 12%, white); color: #c2410c; border-radius: 999px; padding: 12px 24px; font-size: 14px; font-weight: 700; cursor: pointer; border: 0; }
.ui-btn-soft:hover { background: color-mix(in oklab, var(--ac, #f2570d) 20%, white); }
.ui-btn-disabled { background: #f1f2f5; color: #9ba0a8; border-radius: 999px; padding: 12px 24px; font-size: 14px; font-weight: 700; cursor: not-allowed; border: 0; }
/* L1144-1146 尺寸 */
.ui-btn-sm { padding: 8px 16px; font-size: 12.5px; }
.ui-btn-lg { padding: 15px 32px; font-size: 15px; }

/* L1154 标准输入框 */
.ui-input-std { border-radius: 14px; padding: 13px 16px; font-size: 14px; font-family: inherit; color: #17181a; background: #f1f2f5; border: none; }
/* L1165-1166 错误态 */
.ui-input-error { background: color-mix(in oklab, #dc2626 4%, white); }
.ui-input-error-text { font-size: 12.5px; color: #b91c1c; }

/* L1186-1190 标签 */
.ui-tag-orange { background: color-mix(in oklab, var(--ac, #f2570d) 12%, white); color: #c2410c; border-radius: 999px; padding: 5px 14px; font-size: 12.5px; font-weight: 700; }
.ui-tag-red { background: color-mix(in oklab, #dc2626 10%, white); color: #b91c1c; border-radius: 999px; padding: 5px 14px; font-size: 12.5px; font-weight: 700; }
.ui-tag-green { background: color-mix(in oklab, #12854f 12%, white); color: #12854f; border-radius: 999px; padding: 5px 14px; font-size: 12.5px; font-weight: 700; }
.ui-tag-blue { background: color-mix(in oklab, #2563eb 10%, white); color: #2563eb; border-radius: 999px; padding: 5px 14px; font-size: 12.5px; font-weight: 700; }
.ui-tag-grey { background: #f1f2f5; color: #565b63; border-radius: 999px; padding: 5px 14px; font-size: 12.5px; font-weight: 700; }

/* L1204-1210 警告条(注意:纵向排列只属于此组件) */
.ui-alert { display: flex; gap: 12px; align-items: flex-start; border-radius: 16px; padding: 14px 18px; }
.ui-alert-ico { width: 22px; height: 22px; border-radius: 999px; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; flex-shrink: 0; }
.ui-alert-title { font-size: 14px; font-weight: 700; }
.ui-alert-msg { font-size: 13px; margin-top: 2px; }
/* L2123-2126 四种配色 */
.ui-alert.is-info { background: color-mix(in oklab, #2563eb 6%, white); } .ui-alert.is-info .ui-alert-ico { background: #2563eb; } .ui-alert.is-info .ui-alert-title { color: #1e40af; } .ui-alert.is-info .ui-alert-msg { color: #3b5ba5; }
.ui-alert.is-success { background: color-mix(in oklab, #12854f 7%, white); } .ui-alert.is-success .ui-alert-ico { background: #12854f; } .ui-alert.is-success .ui-alert-title { color: #166534; } .ui-alert.is-success .ui-alert-msg { color: #3f7355; }
.ui-alert.is-warn { background: color-mix(in oklab, var(--ac, #f2570d) 8%, white); } .ui-alert.is-warn .ui-alert-ico { background: var(--ac, #f2570d); } .ui-alert.is-warn .ui-alert-title { color: #9a3412; } .ui-alert.is-warn .ui-alert-msg { color: #b0603a; }
.ui-alert.is-error { background: color-mix(in oklab, #dc2626 6%, white); } .ui-alert.is-error .ui-alert-ico { background: #dc2626; } .ui-alert.is-error .ui-alert-title { color: #991b1b; } .ui-alert.is-error .ui-alert-msg { color: #b04a4a; }

/* L1216-1219 胶囊组选项卡 */
.ui-tabs-pill { display: flex; gap: 6px; background: #f1f2f5; border-radius: 999px; padding: 5px; align-self: flex-start; }
.ui-tabs-pill > * { padding: 9px 20px; border-radius: 999px; font-size: 13.5px; font-weight: 700; cursor: pointer; color: #7e838b; background: transparent; border: 0; }
.ui-tabs-pill > .is-active { background: #fff; color: #17181a; box-shadow: 0 2px 8px rgba(23, 24, 26, 0.08); }

/* L1308-1311 Toast */
.ui-toast { display: flex; align-items: center; gap: 12px; background: #17181a; color: #fff; border-radius: 16px; padding: 14px 20px; min-width: 260px; box-shadow: 0 16px 40px rgba(23, 24, 26, 0.25); animation: toastIn 0.2s ease; }

/* L1316-1326 确认弹窗 / L1330-1357 对话框 */
.ui-overlay { position: fixed; inset: 0; background: rgba(23, 24, 26, 0.42); display: flex; align-items: center; justify-content: center; z-index: 90; animation: fadeIn 0.15s ease; }
.ui-dialog { background: #fff; border-radius: 26px; padding: 34px 36px; width: 480px; display: flex; flex-direction: column; gap: 18px; animation: popIn 0.15s ease; box-shadow: 0 30px 80px rgba(23, 24, 26, 0.25); }
.ui-confirm { background: #fff; border-radius: 24px; padding: 32px; width: 400px; display: flex; flex-direction: column; gap: 14px; animation: popIn 0.15s ease; box-shadow: 0 30px 80px rgba(23, 24, 26, 0.25); }

/* L1246-1259 表格 */
.ui-table-head { display: grid; gap: 12px; padding: 13px 20px; background: #f7f8fa; font-size: 12.5px; font-weight: 700; color: #7e838b; }
.ui-table-row { display: grid; gap: 12px; padding: 13px 20px; border-top: 1px solid #f1f2f5; font-size: 13.5px; align-items: center; }
.ui-table-row:hover { background: #f7f8fa; }

/* ========================= 页脚(L1301-1304) ========================= */
.ui-footer,
footer.page-footer {
  display: flex;
  justify-content: space-between;
  padding: 20px 28px;
  color: #9ba0a8;
  font-size: 12.5px;
  border-top: 1px solid #e8eaed;
  max-width: 1440px;
  margin: 0 auto;
  width: calc(100% - 56px);
  box-sizing: border-box;
}
footer.page-footer a { color: #9ba0a8; } /* 映射 */
footer.page-footer .left-links, footer.page-footer .right-links { display: flex; align-items: center; gap: 10px; } /* 映射:行内排布 */

/* ========================= 映射补充(自垫层迁入,均有设计稿出处) ========================= */

/* L47/L181 页面容器基线:max-width 1440 居中(用于未单独转写的页面容器) */
.ui.container { width: min(1440px, calc(100% - 56px)); max-width: 1440px; margin-right: auto; margin-left: auto; }
.page-content { padding-bottom: 48px; }
.full.height { min-height: calc(100vh - 80px); }

/* L1316/L1330 遮罩 + L1331 对话框(映射到 Gitea 原生 modal/dimmer) */
.ui.dimmer { background: rgba(23, 24, 26, 0.42); animation: fadeIn 0.15s ease; }
.ui.modal { background: #fff; border-radius: 26px; box-shadow: 0 30px 80px rgba(23, 24, 26, 0.25); animation: popIn 0.15s ease; }
.ui.modal > .header { padding: 34px 36px 8px; font-size: 21px; font-weight: 800; } /* L1333 */
.ui.modal > .content { padding: 12px 36px 20px; color: #565b63; font-size: 14px; line-height: 1.7; } /* L1320 */
.ui.modal > .actions { display: flex; justify-content: flex-end; gap: 10px; padding: 0 36px 34px; } /* L1321 */

/* L33 登录入口(未登录导航右侧,同菜单胶囊;激活态 L1395) */
#navbar .navbar-right > a.item[href*="/user/login"] {
  width: auto;
  padding: 10px 20px;
  border-radius: 999px;
  background: #fff;
  color: #565b63;
  font-size: 14px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
#navbar .navbar-right > a.item[href*="/user/login"].active { background: #17181a; color: #fff; }

/* L39 通知点映射补充:真实计数元素以"点"呈现,不显示数字 */
#navbar .navbar-right .notification_count { color: transparent; overflow: hidden; padding: 0; min-width: 8px; }

/* L518-520 页面大标题(创建工单/合并请求,JS 注入 hm-page-heading) */
.hm-page-heading { display: flex; align-items: center; gap: 14px; margin: 4px 0 18px; }
.hm-page-heading h1 { font-size: 28px; font-weight: 800; letter-spacing: -0.03em; }
.hm-page-back {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #565b63;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}
.hm-page-back::before { content: "‹"; }
.hm-page-back:hover { background: #e9ebee; text-decoration: none; }

/* L836-841 仓库设置左侧导航(JS 注入 hm-settings-nav;宽 230 来自 L836 网格) */
.hm-settings-page .ui.container.flex-container { display: flex; gap: 20px; align-items: flex-start; }
.hm-settings-page .flex-container-nav { display: none; }
.hm-settings-page .flex-container-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.hm-settings-nav {
  flex: 0 0 230px;
  background: #fff;
  border-radius: var(--rad, 20px);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-self: flex-start;
}
.hm-settings-nav h2 { padding: 8px 16px; font-size: 15px; font-weight: 800; }
.hm-settings-nav a { padding: 11px 16px; border-radius: 12px; font-size: 13.5px; font-weight: 600; cursor: pointer; color: #565b63; text-decoration: none; }
.hm-settings-nav a:hover { opacity: 0.85; }
.hm-settings-nav a.active { background: color-mix(in oklab, var(--ac, #f2570d) 12%, white); color: #c2410c; }

/* L336-352 文件树(仓库首页/文件页侧树) */
.hm-root-file-tree { display: none; background: #fff; border-radius: var(--rad, 20px); padding: 14px; flex-direction: column; gap: 2px; }
.hm-root-tree-open .hm-root-file-tree { display: flex; }
.repository .repo-grid-filelist-sidebar.hm-root-tree-open { grid-template-columns: 264px minmax(0, 1fr) 300px; } /* L335 264px 树列 */
.hm-root-tree-open .hm-root-file-tree { grid-column: 1; grid-row: 1 / span 3; }
.hm-root-tree-open .repo-home-filelist { grid-column: 2; }
.hm-root-tree-open .repo-home-sidebar-top { grid-column: 3; }
.hm-root-tree-open .repo-home-sidebar-bottom { grid-column: 3; }
.hm-file-tree-header { display: flex; align-items: center; justify-content: space-between; padding: 4px 8px 10px; font-size: 14px; font-weight: 800; } /* L337-338 */
.hm-file-tree-search { display: block; background: #f1f2f5; border-radius: 999px; padding: 8px 14px; margin-bottom: 6px; border: 0; font-size: 13px; font-family: inherit; color: #17181a; outline: none; } /* L341-343 */
.hm-file-tree-list { display: flex; flex-direction: column; gap: 2px; max-height: 480px; overflow-y: auto; }
.hm-tree-item { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 12px; cursor: pointer; font-size: 13.5px; color: #17181a; text-decoration: none; } /* L346 */
.hm-tree-item:hover { opacity: 0.72; }
.hm-tree-item.is-directory { font-weight: 700; }
.hm-tree-item svg { color: #e8b34b; flex-shrink: 0; }  /* L348 目录icon #E8B34B */
.hm-tree-item.is-file svg { color: #9ba0a8; }          /* 文件icon #D7DADF 系 */
.hm-tree-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.repo-view-file-tree-container { flex: 0 0 264px; padding: 14px; border-radius: var(--rad, 20px); background: #fff; }

/* L404-412 单文件代码区 */
.repository .file-view { background: #fbfbfc; border-top: 1px solid #f1f2f5; overflow-x: auto; }
.repository .file-view table { width: 100%; border-collapse: collapse; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; line-height: 2.05; }
.repository .file-view .lines-num { width: 66px; text-align: right; padding-right: 22px; color: #c0c4ca; user-select: none; vertical-align: top; } /* L407 */
.repository .file-view .lines-code { white-space: pre; }
.repository .file-view tr:hover td { background: #f1f2f5; } /* L406 style-hover */
.repository .file-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 13px 22px; background: #fff; border-radius: var(--rad, 20px) var(--rad, 20px) 0 0; } /* L391 */
.repository .breadcrumb { display: flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 700; } /* L355 */
.repository .breadcrumb .breadcrumb-divider { color: #c0c4ca; font-weight: 500; } /* L357 */

/* L786-811 差异视图基础 + L1744 增删行配色 */
.diff-file-box { background: #fff; border-radius: var(--rad, 20px); border: 1.5px solid #eff0f3; margin-bottom: 16px; overflow: hidden; }
.diff-file-box .diff-file-header { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid #eff0f3; font-size: 13.5px; } /* L787 */
.diff-file-box .diff-file-name { font-family: ui-monospace, monospace; font-size: 13.5px; font-weight: 700; } /* L789 */
.diff-file-box table { width: 100%; border-collapse: collapse; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; line-height: 2; } /* L806 */
.diff-file-box .lines-num { width: 56px; text-align: right; padding-right: 14px; color: #c0c4ca; user-select: none; } /* L807 */
.diff-file-box .add-code, .diff-file-box tr.add-code td { background: color-mix(in oklab, #12854f 5%, white); } /* L1745 */
.diff-file-box .del-code, .diff-file-box tr.del-code td { background: color-mix(in oklab, #dc2626 5%, white); }

/* L453-473 工单列表卡 */
#issue-list { background: #fff; border-radius: var(--rad, 20px); overflow: hidden; }
#issue-list .flex-item { display: flex; align-items: center; gap: 14px; padding: 16px 22px; border-top: 1px solid #f1f2f5; cursor: pointer; } /* L459 */
#issue-list .flex-item:hover { background: #f7f8fa; }
#issue-list .flex-item-title { font-weight: 700; font-size: 14.5px; } /* L463 */
#issue-list .flex-item-title a { color: #17181a; }
#issue-list .desc { color: #9ba0a8; font-size: 12.5px; margin-top: 3px; } /* L468 */

/* L713-731 提交图行 */
.hm-graph-page #git-graph-container { background: #fff; border-radius: var(--rad, 20px); padding: 24px 28px 14px; } /* L691 */
#rev-list > li { display: flex; align-items: center; gap: 12px; min-height: 50px; font-size: 14.5px; font-weight: 600; } /* L720-722 */
#rev-list .sha.label { font-family: ui-monospace, monospace; background: #f1f2f5; border-radius: 8px; padding: 3px 10px; font-size: 12.5px; color: #565b63; font-weight: 400; } /* L721 */

/* L1264-1266 分页胶囊(映射到 Gitea 原生分页) */
.ui.pagination.menu { display: flex; justify-content: center; gap: 6px; border: 0; background: transparent; }
.ui.pagination.menu .item {
  min-width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  padding: 0 12px;
  background: #f1f2f5;
  color: #565b63;
  text-decoration: none;
}
.ui.pagination.menu .item.active { background: #17181a; color: #fff; }
.ui.pagination.menu .item.disabled { color: #9ba0a8; pointer-events: none; }

/* ========================= 规范补充转写(L1273-1486,UI 补稿) ========================= */

/* L1285 默认按钮 basic(通用兜底;:not(.labeled) 为映射限定:拆分按钮外壳由 L196 规则负责) */
.ui.button:not(.labeled) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f1f2f5;
  color: #17181a;
  border-radius: 999px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  border: 0;
  text-decoration: none;
}
.ui.button:not(.labeled):hover { background: #e9ebee; color: #17181a; text-decoration: none; }
/* L1283 主要 primary */
.ui.primary.button { background: var(--ac, #f2570d); color: #fff; }
.ui.primary.button:hover { background: var(--ac, #f2570d); color: #fff; opacity: 0.9; }
/* L1284 深色 secondary */
.ui.black.button, .ui.inverted.button { background: #17181a; color: #fff; }
.ui.black.button:hover, .ui.inverted.button:hover { background: #2a2b2e; color: #fff; }
/* L1287 危险 danger */
.ui.red.button, .ui.negative.button { background: color-mix(in oklab, #dc2626 10%, white); color: #b91c1c; }
.ui.red.button:hover, .ui.negative.button:hover { background: color-mix(in oklab, #dc2626 18%, white); color: #b91c1c; }
/* L1288 文字 text(Gitea 的 .btn 链接型按钮) */
.btn.interact-fg, #manage_topic { background: none; border: 0; color: #e05303; padding: 12px 10px; font-size: 14px; font-weight: 700; cursor: pointer; }
.btn.interact-fg:hover, #manage_topic:hover { text-decoration: underline; }
/* L1289 禁用 */
.ui.button:disabled, .ui.disabled.button { background: #f1f2f5; color: #b4b8be; cursor: not-allowed; opacity: 1; }
/* L1292-1294 尺寸:小 8×16/12.5,中 12×24/14,大 15×32/15 */
.ui.small.button, .ui.compact.button, .ui.mini.button { padding: 8px 16px; font-size: 12.5px; }
/* L1295 图标圆按钮 42px */
.ui.icon.button:not(.labeled) { width: 42px; height: 42px; padding: 0; background: #f1f2f5; color: #565b63; font-size: 15px; }
.ui.icon.button:not(.labeled):hover { background: #e9ebee; }

/* L1307-1313 通用标签 */
.ui.label { display: inline-flex; align-items: center; gap: 7px; background: #f1f2f5; color: #565b63; border-radius: 999px; padding: 4px 13px; font-size: 12px; font-weight: 700; border: 0; text-decoration: none; }
.ui.basic.label { background: #fff; color: #565b63; padding: 3px 12px; border: 1px solid #e1e3e7; } /* L1310 描边 */
.ui.orange.label { background: color-mix(in oklab, var(--ac, #f2570d) 12%, white); color: #c2410c; }  /* L1308 浅底强调 */
.ui.green.label { background: color-mix(in oklab, #12854f 12%, white); color: #12854f; }   /* 组件库 L1188 */
.ui.red.label { background: color-mix(in oklab, #dc2626 10%, white); color: #b91c1c; }     /* 组件库 L1187 */
.ui.blue.label { background: color-mix(in oklab, #2563eb 10%, white); color: #2563eb; }    /* 组件库 L1189 */
.ui.small.label { padding: 2px 9px; font-size: 11.5px; }
a.ui.sha.label { font-family: ui-monospace, monospace; background: #f1f2f5; border-radius: 8px; padding: 3px 10px; font-size: 12.5px; color: #565b63; font-weight: 400; } /* L1313 */

/* L1319-1349 通用表单控件 */
.ui.form .field { margin-bottom: 16px; }
.ui.form .field > label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; color: #565b63; } /* L1321 */
.ui.form input[type="text"], .ui.form input[type="password"], .ui.form input[type="email"],
.ui.form input[type="url"], .ui.form input[type="number"], .ui.form input[type="search"],
.ui.input > input, .ui.form textarea, .ui.form select {
  width: 100%;
  border-radius: 14px;
  padding: 13px 16px;
  font-size: 14px;
  font-family: inherit;
  background: #f1f2f5;
  border: none;
  color: #17181a;
} /* L1322 */
.ui.form input[readonly], .ui.form input:disabled { background: #f7f8fa; color: #b4b8be; } /* L1323 */
.ui.form textarea { resize: vertical; line-height: 1.7; }
.ui.form .field.error input, .ui.form .field.error textarea { background: color-mix(in oklab, #dc2626 4%, white); } /* L1348 */
.ui.form .field.error .prompt, .ui.form .error-text { font-size: 12.5px; color: #b91c1c; } /* L1349 */
/* L1352-1353 复选框 20px 圆角 7 */
.ui.checkbox { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font-size: 13.5px; color: #565b63; font-weight: 600; }
.ui.checkbox input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 7px;
  background: #e8eaed;
  display: inline-grid;
  place-content: center;
  cursor: pointer;
  margin: 0;
}
.ui.checkbox input[type="checkbox"]:checked { background: var(--ac, #f2570d); }
.ui.checkbox input[type="checkbox"]:checked::after { content: "✓"; color: #fff; font-size: 11px; font-weight: 800; }
/* L1357 单选 */
.ui.radio.checkbox input[type="radio"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #f1f2f5;
  display: inline-grid;
  place-content: center;
  cursor: pointer;
  margin: 0;
}
.ui.radio.checkbox input[type="radio"]:checked::after { content: ""; width: 10px; height: 10px; border-radius: 999px; background: var(--ac, #f2570d); }

/* L1367-1372 仓库侧栏代码搜索框(缺口 #12) */
.repo-home-sidebar-top form { display: flex; }
.repo-home-sidebar-top .ui.action.input { display: flex; flex: 1; align-items: center; gap: 10px; background: #f1f2f5; border-radius: 999px; padding: 10px 16px; }
.repo-home-sidebar-top .ui.input { flex: 1; display: flex; align-items: center; gap: 10px; }
.repo-home-sidebar-top .ui.input input { border: none; background: transparent; font-size: 13.5px; font-family: inherit; width: 100%; color: #17181a; outline: none; padding: 0; border-radius: 0; }
.repo-home-sidebar-top form button { border: 0; background: transparent; color: #9ba0a8; font-size: 14px; padding: 0; cursor: pointer; }
.repo-home-sidebar-top kbd,
.repository .repo-button-row .repo-file-search-container kbd {
  background: #fff;
  border-radius: 7px;
  padding: 2px 9px;
  font-size: 11px;
  color: #7e838b;
  font-weight: 700;
  font-family: inherit;
  border: 0;
} /* L1371 kbd 芯片 */

/* L1378-1397 通用头像:人员全圆;组织/仓库圆角=边长×0.3;堆叠 -8px + 2px 白圈 */
img.avatar, .ui.avatar, img.ui.avatar { border-radius: 999px; object-fit: cover; vertical-align: middle; }
.avatar-stack img, .avatar-stack .ui.avatar { box-shadow: 0 0 0 2px #fff; }
.avatar-stack img + img { margin-left: -8px; }

/* L1402-1408 悬浮提示:深色 / 12.5px / 圆角 10 / 6px 箭头 */
.tippy-box {
  background: #17181a;
  color: #fff;
  border-radius: 10px;
  padding: 7px 12px;
  font-size: 12.5px;
  font-weight: 600;
  box-shadow: 0 8px 20px rgba(23, 24, 26, 0.18);
}
.tippy-arrow { color: #17181a; width: 12px; height: 12px; }
.tippy-arrow::before { content: ""; position: absolute; border: 6px solid transparent; }
.tippy-box[data-placement^="top"] .tippy-arrow::before { bottom: -11px; left: 0; border-top-color: #17181a; }
.tippy-box[data-placement^="bottom"] .tippy-arrow::before { top: -11px; left: 0; border-bottom-color: #17181a; }
.tippy-box[data-placement^="left"] .tippy-arrow::before { right: -11px; top: 0; border-left-color: #17181a; }
.tippy-box[data-placement^="right"] .tippy-arrow::before { left: -11px; top: 0; border-right-color: #17181a; }

/* L1415-1424 通用消息条:Alert 四色卡片(仅配色与容器,不设排布方向) */
.ui.message { border-radius: 16px; padding: 14px 18px; margin: 12px 0; font-size: 13px; background: color-mix(in oklab, #2563eb 6%, white); color: #3b5ba5; }
.ui.message .header { font-size: 14px; font-weight: 700; color: #1e40af; }
.ui.positive.message, .ui.success.message { background: color-mix(in oklab, #12854f 7%, white); color: #3f7355; }
.ui.positive.message .header, .ui.success.message .header { color: #166534; }
.ui.warning.message { background: color-mix(in oklab, var(--ac, #f2570d) 8%, white); color: #b0603a; }
.ui.warning.message .header { color: #9a3412; }
.ui.negative.message, .ui.error.message { background: color-mix(in oklab, #dc2626 6%, white); color: #b04a4a; }
.ui.negative.message .header, .ui.error.message .header { color: #991b1b; }

/* L1431-1456 Markdown 正文排版 */
.markup { color: #565b63; font-size: 15px; line-height: 1.8; }
.markup p { margin: 0 0 18px; }
.markup a { color: #e05303; }
.markup h1 { font-size: 28px; font-weight: 800; letter-spacing: -0.02em; color: #17181a; margin: 24px 0 14px; padding-bottom: 10px; border-bottom: 1px solid #eff0f3; } /* L1433 */
.markup h2 { font-size: 21px; font-weight: 800; letter-spacing: -0.02em; color: #17181a; margin: 24px 0 12px; padding-bottom: 8px; border-bottom: 1px solid #eff0f3; } /* L1435 */
.markup h3 { font-size: 17px; font-weight: 800; color: #17181a; margin: 24px 0 10px; } /* L1436 */
.markup h4 { font-size: 15px; font-weight: 800; color: #565b63; margin: 24px 0 14px; } /* L1437 */
.markup h1:first-child, .markup h2:first-child, .markup h3:first-child { margin-top: 0; }
.markup code {
  font-family: ui-monospace, monospace;
  background: #f1f2f5;
  border-radius: 6px;
  padding: 2px 7px;
  font-size: 13.5px;
  color: #c2410c;
} /* L1434 行内代码 */
.markup ul, .markup ol { margin: 0 0 18px; padding-left: 12px; display: flex; flex-direction: column; gap: 8px; } /* L1438-1441 缩进12 项距8 */
.markup ul ul, .markup ol ol, .markup ul ol, .markup ol ul { margin: 8px 0 0; padding-left: 20px; } /* 嵌套再缩 20 */
.markup li { line-height: 1.7; }
.markup li::marker { color: #c0c4ca; }
.markup ol li::marker { color: #9ba0a8; font-weight: 700; font-variant-numeric: tabular-nums; }
.markup blockquote {
  border-left: 3px solid color-mix(in oklab, var(--ac, #f2570d) 40%, white);
  background: #f7f8fa;
  border-radius: 0 14px 14px 0;
  padding: 14px 18px;
  color: #7e838b;
  margin: 0 0 18px;
} /* L1444 */
.markup pre {
  background: #fbfbfc;
  border-radius: 14px;
  padding: 16px 18px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
  line-height: 1.9;
  color: #17181a;
  margin: 0 0 18px;
  overflow-x: auto;
} /* L1445 */
.markup pre code { background: transparent; padding: 0; color: inherit; font-size: 13px; }
.markup table { border-radius: 14px; overflow: hidden; border-collapse: separate; border-spacing: 0; margin: 0 0 18px; } /* L1450-1453 */
.markup table th { background: #f7f8fa; padding: 12px 18px; font-size: 12.5px; font-weight: 700; color: #7e838b; text-align: left; border: 0; }
.markup table td { padding: 12px 18px; border: 0; border-top: 1px solid #f1f2f5; font-size: 14px; color: #565b63; }
.markup hr { height: 1px; border: 0; background: #eff0f3; margin: 18px 0; } /* L1455 */

/* L1461-1482 页脚真实形态(覆盖 L1301 概念页脚) */
footer.page-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  background: #f7f8fa;
  border-radius: 16px;
  padding: 16px 20px;
  border-top: 0;
  width: min(1440px, calc(100% - 56px));
  max-width: 1440px;
  margin: 0 auto 24px;
  color: #9ba0a8;
  font-size: 12.5px;
}
footer.page-footer .left-links { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
footer.page-footer .left-links > span { display: inline; font-family: ui-monospace, monospace; } /* L1465-1466 版本/耗时等宽 */
footer.page-footer .left-links a { color: #e05303; font-weight: 700; } /* L1464 */
footer.page-footer .right-links { display: flex; align-items: center; gap: 12px; }
footer.page-footer .right-links a { color: #9ba0a8; font-size: 12.5px; font-weight: 600; }
#footer-theme-selector { display: inline-flex; background: #fff; border-radius: 999px; padding: 3px 11px; font-weight: 700; color: #7e838b; } /* L1467 主题芯片 */
footer.page-footer .ui.dropdown.upward > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 12.5px;
  font-weight: 700;
  color: #17181a;
  cursor: pointer;
} /* L1471 语言下拉 */
footer.page-footer .ui.dropdown.upward > span:hover { background: #e9ebee; }

/* ========================= 映射修正(复现页验证) ========================= */

/* L363-366 转到文件:白胶囊为外层包裹,input 透明,T 芯片灰底在内 */
.repository .repo-file-search-container .global-shortcut-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border-radius: 999px;
  padding: 9px 16px;
}
.repository .repo-file-search-container .global-shortcut-wrapper input {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  width: 110px;
  font-size: 13px;
  font-family: inherit;
  color: #17181a;
  outline: none;
}
.repository .repo-button-row .repo-file-search-container kbd {
  background: #f1f2f5;
  border-radius: 7px;
  padding: 1px 8px;
  font-size: 11px;
  color: #7e838b;
  font-weight: 700;
  font-family: inherit;
  border: 0;
} /* L366 */

/* L194/L196 操作按钮显式高度 42px(行高取整会差 1px) */
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button > .ui.button,
.repository .repo-header > .flex-text-block:last-child > .ui.labeled.button > .ui.label { height: 42px; }
