/* 手机端采用独立首页与导航；内容仍来自同一份已发布数据。 */
.mobile-home,.mobile-dock,.mobile-label,.mobile-article-summary { display:none; }

@media (max-width:760px) {
  body { --m-accent:#3f6d52; --m-soft:#edf3ed; --m-hero:#e9f0e4; min-height:100dvh; display:flex; flex-direction:column; padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
  [data-theme=dark] body { --m-accent:#b5d3ad; --m-soft:#1a2c25; --m-hero:#1c2d25; }
  main { flex:1; min-width:0; }
  .header.wrap { position:sticky; top:0; z-index:20; flex:none; width:100%; height:64px; padding:0 20px; background:color-mix(in srgb,var(--bg) 94%,transparent); backdrop-filter:blur(16px); }
  .header .brand { gap:8px; }
  .header .brand img { width:30px; height:30px; }
  .header .brand span { font:600 17px/1.2 var(--sans); letter-spacing:.03em; }
  .header .brand small,.header .nav,.header .menu,.header .nav-cta { display:none; }
  .header .theme { background:var(--surface); }
  .mobile-dock { position:fixed; left:0; right:0; bottom:0; z-index:30; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:7px 10px calc(7px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:color-mix(in srgb,var(--surface) 95%,transparent); backdrop-filter:blur(16px); }
  .mobile-dock a { display:flex; min-width:0; min-height:51px; flex-direction:column; align-items:center; justify-content:center; gap:2px; color:var(--muted); font:11px/1.5 var(--sans); }
  .mobile-dock .dock-icon { display:grid; place-items:center; width:42px; height:29px; border-radius:10px; }
  .mobile-dock svg { width:20px; height:20px; }
  .mobile-dock a.on { color:var(--m-accent); font-weight:600; }
  .mobile-dock a.on .dock-icon { background:var(--m-soft); }
  .footer { flex:none; border:0; padding:22px 0; }
  .footer .wrap { align-items:center; }
  .footer .brand,.footer nav { display:none; }
  .footer small { font-size:10px; opacity:.8; }
  .desktop-label,.desktop-home { display:none; }
  .mobile-label { display:inline; }

  /* 首页：一张短欢迎卡，直接进入软件和推荐。 */
  .mobile-home { display:block; padding:14px 20px 16px; }
  .m-welcome { position:relative; min-height:202px; padding:24px 22px; overflow:hidden; border-radius:24px; background:var(--m-hero); }
  .m-welcome-copy { position:relative; z-index:1; width:68%; }
  .m-welcome h1 { font:650 30px/1.28 var(--sans); letter-spacing:-.03em; color:var(--fg); }
  .m-welcome p { margin:10px 0 8px; font-size:12px; color:var(--fg2); }
  .m-welcome a { display:inline-flex; align-items:center; gap:20px; min-height:38px; color:var(--m-accent); font-size:12px; font-weight:600; }
  .m-mascot { position:absolute; width:122px; height:auto; right:0; bottom:18px; transform:rotate(5deg); }
  [data-theme=dark] .m-mascot { filter:drop-shadow(0 0 1px #fff7); }
  .m-section { margin-top:20px; }
  .m-section header { display:flex; align-items:center; justify-content:space-between; min-height:46px; gap:14px; }
  .m-section h2 { font:600 17px/1.4 var(--sans); }
  .m-section header > a { display:inline-flex; align-items:center; min-height:44px; gap:9px; color:var(--muted); font-size:12px; }
  .m-section header > a span { font-size:20px; }
  .m-card-list { display:grid; gap:10px; }
  .m-app-card { display:flex; align-items:center; min-height:80px; padding:14px; gap:12px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
  .m-app-icon { display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:13px; background:var(--m-soft); color:var(--m-accent); font-size:24px; }
  .m-app-icon svg { width:23px; height:23px; }
  .m-card-copy { display:block; min-width:0; flex:1; }
  .m-card-copy strong { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font:600 15px/1.5 var(--sans); }
  .m-card-copy small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--muted); font-size:11px; margin-top:3px; }
  .m-card-arrow { flex:none; color:var(--muted); font-size:17px; }
  .m-rec-card .m-app-icon { background:var(--surface2); color:var(--gold); }
  .m-rec-card strong { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal; overflow-wrap:anywhere; font-size:14px; }
  .m-empty { display:flex; align-items:center; justify-content:center; gap:12px; min-height:78px; padding:16px; border:1px dashed var(--line); border-radius:16px; color:var(--muted); font-size:12px; }
  .m-empty svg { width:21px; height:21px; opacity:.7; }

  /* 列表使用紧凑卡片和短标题。 */
  .page-head { padding:22px 0 16px; border:0; }
  .page-head .eyebrow,.page-head > p { display:none; }
  .page-head h1 { margin:0; font:650 25px/1.4 var(--sans); letter-spacing:0; }
  .software-filters { gap:8px; padding:0 0 4px; border:0; scrollbar-width:none; }
  .software-filters::-webkit-scrollbar { display:none; }
  .software-filter { min-height:40px; padding:7px 14px; border:1px solid var(--line); border-radius:99px; background:var(--surface); font-size:12px; }
  .software-filter::after { display:none; }
  .software-filter.active { color:var(--m-accent); background:var(--m-soft); border-color:transparent; }
  .software-filter > span { min-width:0; height:auto; padding:0; background:none !important; color:inherit !important; }
  .app-list,.software-filters + .app-list { display:grid; gap:10px; padding:14px 0 28px; }
  .app-row { position:relative; grid-template-columns:44px minmax(0,1fr); gap:3px 12px; padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--surface); transition:none; }
  .app-row:hover { padding-left:16px; }
  .app-row .no { display:none; }
  .app-row .ico { grid-row:1 / 4; width:44px; height:44px; border-radius:13px; background:var(--m-soft); color:var(--m-accent); font-size:23px; }
  .app-row h3,.app-row p,.app-row small { grid-column:2; min-width:0; margin:0; text-align:left; }
  .app-row h3 { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font:600 17px/1.5 var(--sans); }
  .app-row p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; font-size:12px; line-height:1.7; }
  .app-row small { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:11px; letter-spacing:0; }
  .software-category-badge { display:none; }
  .recommend-row { grid-template-columns:minmax(0,1fr); gap:6px; padding:18px 38px 18px 18px; }
  .recommend-row:hover { padding-left:18px; }
  .recommend-row h3,.recommend-row p,.recommend-row small { grid-column:1; }
  .recommend-row h3 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal; font-size:16px; }
  .recommend-row::after { content:'↗'; position:absolute; top:18px; right:16px; color:var(--muted); }
  .filter { padding:0 0 16px; gap:14px; border:0; }
  .chips { flex-wrap:nowrap; max-width:100%; overflow-x:auto; }
  .chip { flex:none; min-height:36px; padding:5px 12px; font-size:12px; }
  .search { min-height:44px; padding:8px 13px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
  .year { font:500 14px/1.5 var(--sans); opacity:1; padding:14px 0 10px; }
  .entry { grid-template-columns:46px minmax(0,1fr); gap:12px; padding:16px 0; }
  .entry h3 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font:600 16px/1.5 var(--sans); }
  .entry time { font-size:12px; }
  .entry p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; font-size:12px; }
  .entry .cat { display:none; }
  .empty-state { padding:40px 12px; }
  .empty-state h3 { font:500 17px/1.5 var(--sans); }
  .empty-state p { font-size:12px; }

  /* 详情页压缩引导信息，正文与下载入口保持完整。 */
  .app-hero { display:grid; grid-template-columns:52px minmax(0,1fr); gap:10px 14px; padding:22px 20px 0; text-align:left; }
  .app-icon { grid-column:1; grid-row:1; width:52px; height:52px; margin:0; font-size:28px; border-radius:15px; box-shadow:none; background:var(--m-soft); }
  .app-hero h1 { grid-column:2; align-self:center; margin:0; font:650 25px/1.4 var(--sans); letter-spacing:0; }
  .app-hero:not(:has(.app-icon)) h1 { grid-column:1 / -1; }
  .app-hero .sub { grid-column:1 / -1; margin:6px 0; font-size:14px; line-height:1.8; }
  .app-hero > .dl-btn { grid-column:1 / -1; justify-content:center; margin-top:6px; min-height:48px; border-radius:13px; background:var(--m-accent); border:1px solid var(--m-accent); color:var(--bg); }
  .os-note { grid-column:1 / -1; margin-top:0; font-size:11px; }
  .app-hero .stage { grid-column:1 / -1; width:100%; margin-top:16px; }
  .shot { aspect-ratio:16/10; border-radius:16px; }
  .breath,.stage::before { animation:none; }
  .stage::before { display:none; }
  .feat { margin-top:40px; }
  .feat h2,.install h2 { margin-bottom:18px; text-align:left; font:600 20px/1.5 var(--sans); }
  .feat-row { grid-template-columns:minmax(0,1fr); gap:6px; padding:18px 0; }
  .feat-row .num { display:none; }
  .feat-row h3,.feat-row p { grid-column:1; }
  .feat-row h3 { font-size:15px; }
  .feat-row p { font-size:13px; }
  .install { margin-top:30px; border-radius:18px; padding:22px 18px; }
  .platforms { gap:22px; }
  .platforms p,.install-note { font-size:12px; }
  .app-docs { margin-bottom:28px; gap:10px; }
  .app-docs a { padding:16px; border-radius:13px; background:var(--surface); }
  .app-docs b { font-size:14px; }
  .post { padding-top:20px; padding-bottom:30px; }
  .post .crumb,.post > .lead,.post-view-count,.post-update-date { display:none; }
  .post h1 { margin:0 0 10px; font:650 25px/1.45 var(--sans); letter-spacing:0; }
  .mobile-article-summary { display:block; margin:0 0 8px; color:var(--muted); font-size:12px; }
  .mobile-article-summary summary { display:inline-flex; align-items:center; gap:10px; min-height:36px; cursor:pointer; list-style:none; }
  .mobile-article-summary summary::-webkit-details-marker { display:none; }
  .mobile-article-summary[open] summary span { transform:rotate(45deg); }
  .mobile-article-summary p { margin:0 0 14px; padding:12px 14px; border-radius:12px; background:var(--surface); font-size:14px; line-height:1.8; color:var(--fg2); }
  .meta-line { gap:6px 14px; padding-bottom:18px; margin-bottom:20px; font-size:11px; }
  .mobile-toc { top:74px; margin-bottom:24px; border-radius:13px; box-shadow:0 4px 18px #00000005; }
  .mobile-toc summary { min-height:44px; padding:10px 14px; font-size:13px; }
  .mobile-toc summary > span { font-size:11px; }
  .prose :is(h2,h3,h4,h5,h6) { scroll-margin-top:140px; }
  .tags { margin-top:28px; }
  .tags span { font-size:11px; }
  .contact-grid { margin-top:2px; border:0; gap:12px; }
  .ct { padding:20px; border:1px solid var(--line) !important; border-radius:16px; background:var(--surface); }
  .ct h3 { margin-top:14px; font:600 18px/1.5 var(--sans); }
  .ct p { font-size:12px; margin-bottom:16px; }
  .ct .val { font-size:13px; }
  .contact-note { display:none; }
}
