/* 公开面的全部样式：一份手写 CSS，零 JS、零构建（conventions「公开面」；b1b-decisions §十）。
   取色只经 --heyi-primary-*（base 模板从 HEYI_PRIMARY 渲染成 :root 变量块），暗色跟系统。
   语义：一个品牌色（链接、焦点、唯一主按钮）；文字四档；卡片默认无阴影；圆角三档。 */
:root {
  --surface-0: #ffffff; --surface-1: #f5f6f8; --surface-card: #ffffff;
  --border-subtle: #eceef2; --border: #dde1e8; --border-strong: #b8c0cc;
  --text-1: #14161a; --text-2: #3d4450; --text-3: #6b7482; --text-4: #9aa3b1;
  --accent: var(--heyi-primary-600); --accent-hover: var(--heyi-primary-700);
  --accent-subtle: var(--heyi-primary-50); --accent-text: var(--heyi-primary-700);
  --on-accent: #ffffff; --ink: #14161a; --on-ink: #ffffff;
  --ok: #157347; --ok-bg: #e8f5ee; --warn: #9a5b00; --warn-bg: #fff4e0; --off: #6b7482; --off-bg: #eef0f3;
  --r-sm: 6px; --r-md: 10px; --r-lg: 16px;
  --font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --ease: cubic-bezier(.2, 0, 0, 1); --t: 150ms;
}
@media (prefers-color-scheme: dark) {
  :root {
    --surface-0: #0f1115; --surface-1: #161920; --surface-card: #181c24;
    --border-subtle: #232830; --border: #2c323d; --border-strong: #4a5364;
    --text-1: #eef0f3; --text-2: #c6ccd6; --text-3: #8f98a7; --text-4: #626b7a;
    --accent: var(--heyi-primary-300); --accent-hover: var(--heyi-primary-200);
    --accent-subtle: var(--heyi-primary-950); --accent-text: var(--heyi-primary-300);
    --on-accent: #0f1115; --ink: #eef0f3; --on-ink: #0f1115;
    --ok: #57c27a; --ok-bg: #12291b; --warn: #e8b04b; --warn-bg: #2d2411; --off: #8f98a7; --off-bg: #20252d;
  }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }

/* ——— 基础 ——— */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 16px/1.7 var(--font); color: var(--text-2); background: var(--surface-0); }
.sprite { position: absolute; }
::selection { background: var(--accent-subtle); color: var(--text-1); }
a { color: var(--accent-text); text-decoration: none; text-underline-offset: .18em; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--r-sm); }
h1, h2, h3 { color: var(--text-1); margin: 0; text-wrap: balance; }
h1 { font-size: 2rem; line-height: 1.2; font-weight: 700; letter-spacing: -.015em; }
/* 用户写的标题与正文里可能有一长串不断开的英文或链接：窄屏上在串中折开，页面不横向溢出（同 .legal） */
h1.display { font-size: 2.5rem; letter-spacing: -.02em; overflow-wrap: anywhere; }
h2 { font-size: 1.375rem; line-height: 1.35; font-weight: 600; }
h3 { font-size: 1.0625rem; line-height: 1.4; font-weight: 600; }
p { margin: 0; text-wrap: pretty; }
ul, dl { margin: 0; padding: 0; list-style: none; }
.t2 { color: var(--text-2); }
.t3 { color: var(--text-3); font-size: .875rem; }
.mt-2 { margin-top: .5rem; }
.prose { font-size: 1.0625rem; line-height: 1.8; max-width: 68ch; white-space: pre-line; overflow-wrap: anywhere; }
.i { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.15em; flex: none; }

/* ——— 壳层 ——— */
.wrap { margin: 0 auto; padding: 2.5rem 1.5rem 5rem; }
.wrap--narrow { max-width: 720px; }
.site { border-bottom: 1px solid var(--border-subtle); background: var(--surface-0); }
.site__in { max-width: 1180px; margin: 0 auto; padding: .9rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
/* 页头这几项都是短词，词中折行只会读成另一个意思（「合／壹」「发现社／区」）：一律整块 */
.site__brand { font-size: 1.25rem; font-weight: 700; color: var(--text-1); letter-spacing: -.01em; white-space: nowrap; }
.site__brand:hover { text-decoration: none; }
.site__nav { display: flex; gap: 1.5rem; align-items: center; font-size: .9375rem; }
.site__nav a { color: var(--text-2); white-space: nowrap; }
.site__nav a:hover { color: var(--text-1); text-decoration: none; }
/* 正在看的那一项：颜色加重、底下一条线（标记只有 aria-current 一个） */
.site__nav a[aria-current="page"] { color: var(--text-1); font-weight: 600; box-shadow: inset 0 -2px 0 var(--accent); }
.site__enter { padding: .35rem .9rem; border: 1px solid var(--border); border-radius: 999px; color: var(--text-1) !important; }
.site__enter:hover { border-color: var(--border-strong); }
.site-foot { border-top: 1px solid var(--border-subtle); }
.site-foot__in { max-width: 1180px; margin: 0 auto; padding: 1.25rem 1.5rem; color: var(--text-3); font-size: .8125rem; }
.site-foot__row { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem 1.5rem; }
.site-foot__row + .site-foot__row { margin-top: .5rem; }
/* 邮箱与 ICP 号一旦在词中折行就会断开：页脚每一格一律整块 */
.site-foot__row > * { white-space: nowrap; }
/* 页脚链接沿用页脚文字的弱色，盖过全局 a 规则的 --accent-text */
.site-foot__in a { color: inherit; }
.site-foot__in a:hover { color: var(--text-1); }

/* ——— 法律文件页（heyi.accounts 的 legal_text.html）：正文是发布稿渲染出的标题、段落、列表与表格 ——— */
.legal { overflow-wrap: anywhere; }
.legal h1 { margin-bottom: 1.5rem; }
.legal h2 { margin: 2.5rem 0 1rem; }
.legal h3 { margin: 1.75rem 0 .75rem; }
.legal p, .legal ul, .legal ol, .legal table { margin: 0 0 1rem; }
/* 全局 ul 去掉了列表符号与缩进，正文里的列表要恢复 */
.legal ul, .legal ol { padding-left: 1.5rem; }
.legal ul { list-style: disc; }
.legal li + li { margin-top: .25rem; }
.legal strong { color: var(--text-1); }
.legal hr { border: 0; border-top: 1px solid var(--border-subtle); margin: 2rem 0; }
.legal code { font-family: var(--mono); font-size: .875em; }
/* 窄屏放不下的表（Cookie 明细七列）在表格里横向滚动，页面本身不溢出；列头整块不折行 */
.legal table { display: block; overflow-x: auto; border-collapse: collapse; font-size: .9375rem; }
/* 单元格里的英文词与 Cookie 名整词排布，列宽按整词计算，放不下时表格自己横向滚动 */
.legal th, .legal td { border: 1px solid var(--border); padding: .5rem .75rem; text-align: left; vertical-align: top; overflow-wrap: normal; }
.legal th { background: var(--surface-1); color: var(--text-1); font-weight: 600; white-space: nowrap; }
.legal-versions { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--border-subtle); }
.legal-versions h2 { margin-bottom: 1rem; }

/* ——— 原子 ——— */
.avatar { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: var(--r-md); background: var(--ink); color: var(--on-ink); font-weight: 600; font-size: 1.375rem; line-height: 1; flex: none; object-fit: cover; text-decoration: none !important; overflow: hidden; }
.avatar--sm { width: 28px; height: 28px; font-size: .8125rem; border-radius: var(--r-sm); }
.avatar--row { width: 56px; height: 56px; }
.avatar--page { width: 96px; height: 96px; border-radius: 20px; font-size: 2.25rem; }
.status { display: inline-flex; align-items: center; gap: .3rem; font-size: .8125rem; font-weight: 500; padding: .2rem .6rem .2rem .45rem; border-radius: 999px; white-space: nowrap; }
.status .i { width: .75em; height: .75em; }
.status--open { color: var(--ok); background: var(--ok-bg); }
.status--limited { color: var(--warn); background: var(--warn-bg); }
.status--closed { color: var(--off); background: var(--off-bg); }
.chips { display: flex; flex-wrap: wrap; gap: .4rem; }
/* chip 的样子长在 <li> 的类上，有没有链接都一样（合作方式那几个就没有链接） */
.chips__item { display: inline-flex; align-items: center; border-radius: var(--r-sm); background: var(--surface-1); color: var(--text-1); font-size: .875rem; line-height: 1.4; }
/* 内边距长在能点的那一层上：有链接的在 <a> 上（整块都点得到），没链接的在 <li> 自己身上 */
.chips__item a { display: inline-flex; padding: .25rem .7rem; color: inherit; border-radius: inherit; }
.chips__item--plain { padding: .25rem .7rem; }
/* hover 只给点得动的那些：点不了的 chip 不跟着亮 */
.chips__item a:hover { background: var(--accent-subtle); color: var(--accent-text); text-decoration: none; }
.meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; color: var(--text-3); font-size: .9375rem; }
.meta li { display: inline-flex; align-items: center; gap: .3rem; }
.meta a { display: inline-flex; align-items: center; gap: .3rem; color: inherit; }
.meta a:hover { color: var(--accent-text); text-decoration: none; }
.meta--compact { font-size: .8125rem; gap: .2rem .75rem; }
.address { font-family: var(--mono); font-size: .8125rem; color: var(--text-3); }
.price { display: inline-flex; align-items: baseline; gap: .15rem; color: var(--text-1); font-variant-numeric: tabular-nums; white-space: nowrap; }
.price__cur { font-size: .8125rem; font-weight: 500; }
.price__num { font-size: 1.25rem; font-weight: 600; letter-spacing: -.01em; }
.price__from { font-size: .8125rem; color: var(--text-3); margin-left: .1rem; }
.price--talk { font-size: 1rem; font-weight: 500; color: var(--text-2); }
.btn { display: inline-flex; align-items: center; gap: .35rem; padding: .55rem 1rem; border-radius: var(--r-md); border: 1px solid var(--border); background: var(--surface-card); color: var(--text-1); font-size: .9375rem; font-weight: 500; line-height: 1.2; transition: border-color var(--t) var(--ease), background-color var(--t) var(--ease); }
.btn:hover { border-color: var(--border-strong); text-decoration: none; }
.btn--primary { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.btn--primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.empty { border: 1px dashed var(--border-strong); border-radius: var(--r-lg); padding: 3rem 1.5rem; text-align: center; max-width: 480px; margin: 2rem auto; }
.empty h1 { font-size: 1.5rem; margin-bottom: 1.25rem; }
.empty h2 { font-size: 1.25rem; margin-bottom: .5rem; }
.empty__acts { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; margin-top: 1.25rem; }
/* 说明框里的几格事实（工作区的停用说明页：停用时间、经办人、理由）：左边是名目，右边是值，长的理由在右边折行 */
.facts { margin-top: 1.25rem; border-top: 1px solid var(--border-subtle); text-align: left; font-size: .9375rem; }
.facts > div { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-bottom: 1px solid var(--border-subtle); }
.facts dt { flex: none; color: var(--text-3); }
.facts dd { margin: 0; color: var(--text-1); text-align: right; white-space: pre-line; }
.chip { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .95rem; border-radius: 999px; border: 1px solid var(--border); background: var(--surface-card); color: var(--text-1); font-size: .9rem; font-weight: 500; transition: border-color var(--t) var(--ease), background-color var(--t) var(--ease); }
.chip:hover { border-color: var(--border-strong); text-decoration: none; }
.chip--on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.chip--on:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
input[type=search] { font: inherit; font-size: .9375rem; color: var(--text-1); background: var(--surface-card); border: 1px solid var(--border); border-radius: var(--r-md); padding: .55rem .75rem; width: 100%; height: 42px; transition: border-color var(--t) var(--ease); }
input[type=search]::placeholder { color: var(--text-4); }
input[type=search]:hover { border-color: var(--border-strong); }
/* 「更多条件」里的条件链接：比 .chip 小一号，带人数；.pick--plain 是技能那种无框的 */
.pick { display: inline-flex; align-items: center; gap: .3rem; min-height: 32px; padding: .25rem .75rem; border-radius: 999px; border: 1px solid var(--border); background: var(--surface-card); color: var(--text-1); font-size: .875rem; line-height: 1.4; transition: border-color var(--t) var(--ease), background-color var(--t) var(--ease); }
.pick:hover { border-color: var(--border-strong); text-decoration: none; }
.pick--plain { border-color: transparent; background: none; color: var(--text-2); padding: .25rem .55rem; }
.pick--plain:hover { background: var(--surface-1); border-color: transparent; color: var(--text-1); }
/* 选中态在 .pick--plain 之后：同是一个类＋一个伪类，谁在后面谁赢，别把这两行调个个儿。 */
.pick--on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.pick--on:hover { background: var(--accent-hover); border-color: var(--accent-hover); color: var(--on-accent); }
.pick__n { font-size: .75rem; color: var(--text-3); font-variant-numeric: tabular-nums; }
.pick--on .pick__n { color: inherit; opacity: .75; }

/* ——— 发现列表：搜索优先单栏 ——— */
.search { padding: 1.5rem 0 .5rem; }
.search h1 { font-size: 2rem; text-align: center; margin-bottom: 1.25rem; }
.search__box { position: relative; display: flex; gap: .5rem; }
.search__box > .i { position: absolute; left: 1rem; top: 1.45rem; transform: translateY(-50%); color: var(--text-4); font-size: 1.1rem; pointer-events: none; }
.search__box input { height: 48px; font-size: 1.0625rem; padding-left: 2.75rem; }
.search__box .btn { height: 48px; padding: 0 1.25rem; flex: none; white-space: nowrap; }
.chipbar { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 0; }
.more { margin-top: .9rem; }
.more summary { cursor: pointer; font-size: .9rem; color: var(--text-3); list-style: none; display: inline-flex; align-items: baseline; }
.more summary::-webkit-details-marker { display: none; }
.more summary::before { content: "▸"; font-size: .75em; margin-right: .3rem; }
.more[open] summary::before { content: "▾"; }
.more__now { color: var(--text-2); }
.more__in { display: grid; gap: .85rem; margin-top: .85rem; }
.more__row { display: grid; grid-template-columns: 2.75rem 1fr; gap: .5rem; align-items: start; }
.more__k { font-size: .8125rem; color: var(--text-3); padding-top: .45rem; }
.more__v { display: grid; gap: .4rem; min-width: 0; }
.picks { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
/* 第二级（某个省里的地级市）：品牌色的竖线挂在第一行下面，一眼看得出是上面那个省的下一层 */
.picks--sub { margin-top: .15rem; padding-left: .65rem; border-left: 3px solid var(--accent); }
/* 技能：组名一列、组里的链接一列，换行的那些跟着对齐，不掉到组名底下 */
.picks--group { display: grid; grid-template-columns: 5.2rem 1fr; gap: .35rem; align-items: baseline; }
.picks__g { font-size: .78125rem; color: var(--text-3); }
.picks__in { display: flex; flex-wrap: wrap; gap: .15rem .35rem; align-items: baseline; }
.resultline { color: var(--text-2); font-size: .9375rem; margin: 1.5rem 0 1rem; font-variant-numeric: tabular-nums; }
.list .item { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem 0; border-top: 1px solid var(--border-subtle); }
.list .item:first-child { border-top: 0; }
.item__face { display: inline-flex; flex: none; }
.item__body { flex: 1; min-width: 0; }
.item__name { color: var(--text-1); font-size: 1rem; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.item__name a { color: var(--text-1); }
.item__name a:hover { color: var(--accent-text); }
.item__sub { font-size: .8125rem; }
.item__intro { margin: .25rem 0 .1rem; font-size: .9375rem; display: -webkit-box; -webkit-line-clamp: 1; line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.item__skills { font-size: .8125rem; }
.item__aside { display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; flex: none; }
.pager { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2.5rem; color: var(--text-3); font-size: .9375rem; font-variant-numeric: tabular-nums; }
.pager__at b { color: var(--text-1); }
.pager [aria-disabled="true"] { color: var(--text-4); }

/* ——— 公开页：简历式单栏 ——— */
.resume__head { display: flex; gap: 1.5rem; align-items: flex-start; padding-bottom: 2rem; }
.resume__id { min-width: 0; }
.resume__id h1 { margin-bottom: .5rem; }
.resume__line { display: flex; align-items: center; gap: 1rem; margin-top: .75rem; flex-wrap: wrap; }
.resume__sec { border-top: 1px solid var(--border-subtle); padding: 2rem 0; }
.resume__sec--first { border-top: 0; }
.resume__sec h2 { margin: 0 0 1rem; }
.rows .row { display: flex; justify-content: space-between; gap: 1.5rem; padding: 1.1rem 0; border-top: 1px solid var(--border-subtle); }
.rows .row:first-child { border-top: 0; padding-top: 0; }
.row__body h3 { margin-bottom: .25rem; }
.row__aside { flex: none; padding-top: .1rem; }
/* 服务行上的小图：没有图时这个元素压根不渲染，行就没有留白（规格 #88）。 */
.row__thumb { flex: none; width: 72px; height: 72px; border-radius: var(--r-sm); object-fit: cover; background: var(--surface-1); }
.rows h3 a { color: inherit; }
.rows h3 a:hover { color: var(--accent-text); text-decoration: none; }

/* ——— 社区页：封面图横幅、页头那两行与成员名录 ——— */
/* 封面图：宽随内容栏、固定 3:1，图本身已按这个比例裁过，object-fit 只兜住窄屏的取整 */
.cover { display: block; width: 100%; height: auto; aspect-ratio: 3 / 1; object-fit: cover; border-radius: var(--r-lg); margin-bottom: 2rem; }
.resume__about { display: grid; gap: .15rem; margin-top: .65rem; }
/* 成员：自动换列的网格，一位一格（头像＋显示名＋「类型 · 城市 · 可远程」） */
.members { display: grid; grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr)); gap: 1.1rem 1.25rem; }
.member { display: flex; gap: .75rem; align-items: flex-start; min-width: 0; }
.member__face { display: inline-flex; flex: none; }
.member__body { min-width: 0; }
.member__name { color: var(--text-1); font-size: .9375rem; font-weight: 600; line-height: 1.35; }
.member__name a { color: var(--text-1); }
.member__name a:hover { color: var(--accent-text); }
.members__more { margin-top: 1.25rem; font-size: .9375rem; }

/* ——— 服务页 ——— */
.crumb { display: flex; align-items: center; gap: .4rem; margin: 0 0 1.5rem; font-size: .9375rem; color: var(--text-4); }
.crumb a { display: inline-flex; align-items: center; gap: .5rem; color: var(--text-2); }
.crumb a:hover { color: var(--accent-text); text-decoration: none; }
/* 服务页顶部那张图：正文宽度内的一张方图（封面＝第一张），没有图时不渲染。 */
.listing__image { display: block; width: 240px; height: 240px; margin: 0 0 1.5rem; border-radius: var(--r-md); object-fit: cover; background: var(--surface-1); }
/* 封面之下那一排缩略图：只有两张起才渲染；每张是指向大图文件的链接（零 JS 的「点开看大图」）。 */
.thumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin: -.75rem 0 1.5rem; padding: 0; list-style: none; }
.thumbs a { display: block; }
.thumbs img { display: block; width: 64px; height: 64px; border-radius: var(--r-sm); object-fit: cover; background: var(--surface-1); }
.thumbs a:hover img { outline: 2px solid var(--accent); outline-offset: 1px; }
.listing__head { padding-bottom: 1.5rem; border-bottom: 1px solid var(--border-subtle); }
/* 小圆角标签：服务页那个「已归档」与活动上那个「仅成员」是同一形——都在说「这一件此刻有个前提」。 */
.tag, .archived { display: inline-block; padding: .2rem .6rem; border-radius: 999px; font-size: .8125rem; font-weight: 500; color: var(--off); background: var(--off-bg); }
/* 「已归档」自己占一行，与标题之间留一档；活动那个标签摆在一行信息里，不要这一档。 */
.archived { margin: 0 0 .75rem; }
.listing__price { margin: .75rem 0 0; }
.listing__price .price__num { font-size: 1.75rem; }
.listing__price .price--talk { font-size: 1.25rem; }
.provider { display: flex; gap: 1rem; align-items: flex-start; }
.provider__face { display: inline-flex; flex: none; }
.provider h3 { margin-bottom: .25rem; }
.provider h3 a { color: inherit; }
.provider h3 a:hover { color: var(--accent-text); text-decoration: none; }
.provider .status { margin-top: .5rem; }

/* 广场帖子页的评论区：顶层评论一条一块，回复缩进挂在下面。正文与署名是用户写的，换行照留，长串与链接在行内折开 */
.comments > li { padding: 1rem 0; border-top: 1px solid var(--border-subtle); }
.comments > li:first-child { border-top: 0; padding-top: 0; }
.comments__replies { display: grid; gap: .75rem; margin-top: .75rem; padding-left: 1rem; border-left: 2px solid var(--border-subtle); }
.comment__by { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .5rem; }
.comment__name { color: var(--text-1); font-size: .9375rem; font-weight: 600; overflow-wrap: anywhere; }
.comment__name a { color: var(--text-1); }
.comment__name a:hover { color: var(--accent-text); }
.comment__body { margin-top: .2rem; font-size: .9375rem; white-space: pre-line; overflow-wrap: anywhere; }

/* ——— 窄屏 ——— */
@media (max-width: 760px) {
  .wrap { padding: 1.5rem 1.25rem 5rem; }
  /* 不折行之后这一排在 390 宽要放得下：挤一点、并留一条横滚当兜底（零 JS，不收汉堡）。导航有五项（三张发现列表、
     广场、登录或我的工作区），所以页头两侧的留白收到与正文同宽，品牌与导航之间也收一档 */
  .site__in { padding-inline: 1.25rem; gap: .75rem; }
  .site__nav { gap: .6rem; font-size: .8125rem; min-width: 0; overflow-x: auto; scrollbar-width: none; }
  /* 登录之后最后一项是「我的工作区」，比「登录」多三个字：只有这一排再收紧一档，390 宽度照样整排放得下（#222） */
  .site__nav--signed-in { gap: .45rem; font-size: .75rem; }
  .site__nav--signed-in .site__enter { padding-inline: .6rem; }
  .site-foot__row { flex-direction: column; align-items: center; gap: .25rem; }
  /* 三个法律文件链接都短，390 宽度下排成一行；另外两行每格各自排成一行 */
  .site-foot__row--links { flex-direction: row; justify-content: center; gap: .25rem 1rem; }
  /* 窄屏下自动表格布局会把短标签列压缩到一两个字宽：每格设置一个宽度下限，放不下的部分在表格里横向滚动 */
  .legal td { min-width: 6rem; }
  h1 { font-size: 1.625rem; }
  h1.display { font-size: 1.875rem; }
  .resume__head { flex-direction: column; gap: 1rem; }
  .avatar--page { width: 80px; height: 80px; font-size: 1.875rem; }
  .rows .row { flex-direction: column; gap: .5rem; }
  .row__thumb { width: 100%; height: auto; aspect-ratio: 1; max-width: 200px; }
  .listing__image { width: 100%; max-width: 320px; height: auto; aspect-ratio: 1; }
  .search h1 { font-size: 1.75rem; }
  .search__box { flex-direction: column; }
  .search__box .btn { justify-content: center; }
  /* 窄屏用手指点：每个条件链接至少 40px 高，行头各自占一行 */
  .more__row { grid-template-columns: 1fr; gap: .25rem; }
  .more__k { padding-top: 0; }
  .pick { min-height: 40px; padding: .4rem .9rem; }
  .pick--plain { padding: .4rem .6rem; }
  .picks--group { grid-template-columns: 1fr; gap: .1rem; }
  .picks__in { gap: .2rem .3rem; }
  .list .item { gap: .9rem; }
  .item__aside { padding-top: .1rem; }
}
