/* ══════════════════════════════════════════════════════════════
   RUVO · BOX 詳細（box.html）C3 版式（2026-10-12 T15）
   正本：docs/roadstar/2026-10-10-site-review/proposals/C3（?only=box）下半部分「案 2 ステージ」。
   在 box.html 里排在 ruvo-c.css 之后加载。只用 ruvo-c.css 的 token（--panel --tray --track --line --text-* --lemon* --sky*
   --up* --down* --foil-* --plate* --shadow-* --r-* --f-*），颜色不写死；展台自己的深色值是下面的 --stage-*（浅深各一组），
   三套配色合并后由 Argo 在 body[data-pal] 里覆盖。
   尺寸阶梯：间距 4 8 12 16 20 24 32 40 56 72；控件 40／48／56；字号 ≥ 13。
   ══════════════════════════════════════════════════════════════ */

/* ───────────── 0. 展台自己的色值（浅深各一组） ───────────── */
body, body[data-theme="light"] {
  --stage: #1D1A2B;
  --stage-2: #2A2540;
  --stage-ink: #F7F5FF;
  --stage-muted: #BDB7D3;
  --stage-line: rgba(255, 255, 255, .14);
  --stage-track: rgba(255, 255, 255, .12);
  --stage-faint: rgba(255, 255, 255, .06);
  --stage-grain: rgba(255, 255, 255, .025);
  --stage-card-edge: rgba(255, 255, 255, .12);
  --stage-shadow: 0 30px 60px -30px rgba(20, 14, 40, .6), inset 0 1px 0 rgba(255, 255, 255, .08);
  --stage-card-shadow: 0 20px 30px -12px rgba(0, 0, 0, .7);
  --stage-pill-shadow: 0 6px 10px -4px color-mix(in srgb, var(--stage) 50%, transparent);
}
body[data-theme="dark"] {
  --stage: #0C0A12;
  --stage-2: #1E1A2C;
  --stage-ink: #F7F5FF;
  --stage-muted: #BDB7D3;
  --stage-line: rgba(255, 255, 255, .14);
  --stage-track: rgba(255, 255, 255, .12);
  --stage-faint: rgba(255, 255, 255, .06);
  --stage-grain: rgba(255, 255, 255, .025);
  --stage-card-edge: rgba(255, 255, 255, .12);
  --stage-shadow: 0 0 0 1px color-mix(in srgb, var(--lemon) 14%, transparent), inset 0 1px 0 rgba(255, 255, 255, .08), 0 30px 60px -30px rgba(0, 0, 0, .8);
  --stage-card-shadow: 0 20px 30px -12px rgba(0, 0, 0, .7);
  --stage-pill-shadow: 0 6px 10px -4px color-mix(in srgb, var(--stage) 50%, transparent);
}
/* 另两套配色的展台底：取各自的正文墨色与深色面板（ruvo-c.css 第 1 节同名配色），字色对比度 ≥ 8 */
body[data-pal="cream"], body[data-pal="cream"][data-theme="light"] { --stage: #2A2119; --stage-2: #3B2F24; --stage-ink: #FBF6EE; --stage-muted: #D8CDBD; }
body[data-pal="cream"][data-theme="dark"] { --stage: #15120F; --stage-2: #2E2923; --stage-ink: #F6EFE4; --stage-muted: #D8CDBD; }
body[data-pal="soda"], body[data-pal="soda"][data-theme="light"] { --stage: #003040; --stage-2: #0B3A49; --stage-ink: #F2FAFD; --stage-muted: #B5CFDA; }
body[data-pal="soda"][data-theme="dark"] { --stage: #001F29; --stage-2: #14414F; --stage-ink: #E0F0F8; --stage-muted: #B5CFDA; }

/* ───────────── 1. 页面骨架 ───────────── */
.bx-page { --bx-gap: 24px; }
.bx-page .num, .bx-page .bx-yen { font-family: var(--f-num); font-variant-numeric: tabular-nums lining-nums; }
.bx-yen { font-size: .58em; margin-right: 1px; font-weight: 800; }
.bx-n-xl { font: 900 88px/1 var(--f-num); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.bx-n-l { font: 900 32px/1.05 var(--f-num); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.bx-n-m { font: 900 22px/1.1 var(--f-num); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.bx-cap { font-size: 13px; line-height: 1.6; font-weight: 700; color: var(--text-2); }
.bx-page .bx-cap b, .bx-page .bx-mono { font-family: var(--f-mono); font-weight: 500; color: var(--text-1); }
.bx-sec { scroll-margin-top: 84px; margin-top: 32px; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--bx-gap); }
.bx-sec > * { min-width: 0; }
.bx-sec:focus { outline: none; }
.bx-sec:empty { display: none; }
.bx-sec > .v3-mod { margin: 0; }
.bx-page .v3-mod { padding: 24px; }
.bx-page .v3-mod-h h2, .bx-page .v3-mod .block-label h2 { font-size: 18px; }
.bx-page .v3-mod .block-label .hint, .bx-page .v3-mod-h .v3-hint { font-size: 13px; line-height: 1.6; }
.bx-page .v3-nb, .bx-page .pl-note, .bx-page .v3-meter-cap { font-size: 13px; line-height: 1.7; }

/* ───────────── 2. 页头一行：面包屑左、操作右 ───────────── */
.bx-crumb-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 24px 0 16px; }
.bx-crumb { display: flex; align-items: center; flex-wrap: wrap; gap: 0; margin: 0; padding: 0; list-style: none; font-size: 14px; font-weight: 700; color: var(--text-3); }
.bx-crumb li { display: inline-flex; align-items: center; }
.bx-crumb li + li::before { content: "›"; padding: 0 4px; opacity: .6; }
.bx-crumb a, .bx-crumb [aria-current] { display: inline-flex; align-items: center; min-height: 40px; padding: 0 8px; border-radius: var(--r-sm); color: var(--text-2); text-decoration: none; }
.bx-crumb a:hover { color: var(--text-1); background: var(--tray); }
.bx-crumb [aria-current] { color: var(--text-3); }
.bx-acts { display: flex; align-items: center; gap: 8px; }
.bx-acts .bx-hint { font-size: 13px; font-weight: 700; color: var(--text-3); margin-right: 8px; }
.bx-acts .c-iconbtn { width: 40px; height: 40px; }
.bx-acts .c-iconbtn .ic { width: 20px; height: 20px; }
.bx-acts .c-iconbtn[aria-pressed="true"] { background: var(--lemon-wash); color: var(--lemon-text); box-shadow: 0 0 0 1.5px var(--lemon-deep), 0 2px 0 var(--lemon-deep); }
.bx-acts .c-iconbtn[aria-pressed="true"] .ic { color: var(--text-1); }
.bx-acts .c-iconbtn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.bx-toast { position: absolute; right: 0; top: calc(100% + 8px); z-index: 50; padding: 8px 12px; border-radius: 12px; font-size: 13px; font-weight: 700; white-space: nowrap; background: var(--plate); color: var(--plate-ink); box-shadow: var(--shadow-3); }
.bx-acts { position: relative; }

/* ───────────── 3. 第一屏：盒图舞台 + 主数卡 ───────────── */
.bx { display: grid; grid-template-columns: 404px minmax(0, 1fr); gap: var(--bx-gap); align-items: stretch; }
.bx > * { min-width: 0; }
.bx-art {
  position: relative; display: flex; flex-direction: column; border-radius: var(--r-xl); padding: 24px 24px 20px;
  background: radial-gradient(70% 60% at 50% 34%, var(--lemon-wash) 0, transparent 70%), var(--panel);
  box-shadow: var(--shadow-2), 0 0 0 1px var(--line);
}
/* A1：舞台是 1 列 1 行的网格，两个轨道都补 minmax(0, 1fr)，图片不会把轨道撑大；图片自己 250×250 居中（不用 v3-stage 的 4/3 与内边距） */
.bx-art .v3-stage.bx-pic {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr);
  place-items: center; width: 100%; height: 280px; min-width: 0; min-height: 0; aspect-ratio: auto;
  padding: 0; border: 0; border-radius: 0; background: transparent; overflow: visible;
}
.bx-art .v3-stage.bx-pic img {
  width: 250px; height: 250px; max-width: 100%; max-height: 100%; min-width: 0; min-height: 0;
  object-fit: contain; object-position: center; justify-self: center; align-self: center;
  filter: drop-shadow(0 18px 22px color-mix(in srgb, var(--text-1) 28%, transparent));
  transform: translate3d(0, 0, .01px); transition: transform var(--c-d-press) var(--c-e-press); will-change: transform;
}
.bx-art .bx-pic .stk { position: absolute; left: 0; top: 0; z-index: 2; }
.bx-art .bx-pic .v3-noart { font-size: 14px; font-weight: 700; color: var(--text-3); }
.bx-name { margin: 20px 0 12px; font-size: 18px; line-height: 1.5; font-weight: 900; text-wrap: balance; word-break: auto-phrase; }
.bx-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.bx-chip { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px; border-radius: 999px; background: var(--tray); box-shadow: inset 0 0 0 1px var(--line); font-size: 13px; font-weight: 700; color: var(--text-2); white-space: nowrap; }
.bx-chip .bx-mono { font-size: 13px; }
.bx-chip.is-live::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--down-mark); box-shadow: 0 0 0 3px var(--down-wash); }
.bx-chip.is-stale::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--text-3); box-shadow: 0 0 0 3px var(--track); }
.bx-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin: 16px 0 0; padding-top: 16px; border-top: 1px dashed var(--line-strong); font-size: 13px; }
.bx-meta div { display: flex; justify-content: space-between; gap: 8px; min-width: 0; }
.bx-meta dt { color: var(--text-3); font-weight: 700; }
.bx-meta dd { margin: 0; color: var(--text-1); font-weight: 700; text-align: right; }

.bx-nums { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr auto; gap: 16px; }
.bx-main {
  grid-column: 1 / -1; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center;
  border-radius: var(--r-xl); padding: 32px; background: var(--panel); box-shadow: var(--shadow-2), 0 0 0 1px var(--line);
}
.bx-main > * { min-width: 0; }
.bx-lbl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--text-2); }
.bx-lbl .ic { width: 20px; height: 20px; color: var(--text-2); }
.bx-src { font-size: 13px; font-weight: 700; padding: 4px 8px; border-radius: 999px; background: var(--sky-wash); color: var(--sky-text); }
.bx-big { position: relative; display: inline-block; isolation: isolate; margin: 12px 0 8px; font: 900 88px/1 var(--f-num); letter-spacing: -.03em; font-variant-numeric: tabular-nums; max-width: 100%; }
.bx-big::after { content: ""; position: absolute; left: -4px; right: -8px; bottom: 4px; height: 20px; z-index: -1; background: var(--lemon); border-radius: 10px; opacity: .55; }
body[data-theme="dark"] .bx-big::after { opacity: .28; }
.bx-big .bx-yen { font-size: .55em; margin-right: 4px; vertical-align: .32em; }
.bx-big .dg > span, .bx-ev .dg > span { display: inline-block; clip-path: inset(-.14em -.06em -.14em -.06em); }
.bx-big .dg > span > span, .bx-ev .dg > span > span { display: inline-block; }
.bx-subm { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 13px; font-weight: 700; color: var(--text-2); }
.bx-subm .bx-mono { font-size: 13px; color: var(--text-1); }
.bx-subm .conf-dots { font-size: 13px; }
.bx-diff { margin: 8px 0 0; font-size: 13px; font-weight: 700; color: var(--text-2); }

/* 三个价格放在一条轨道上（同一个价格对象的三个数） */
.bx-rail { position: relative; padding: 56px 0; min-width: 0; }
.bx-rail-track { position: relative; height: 12px; border-radius: 999px; background: var(--track); }
.bx-rail-fill { position: absolute; top: 0; bottom: 0; border-radius: 999px; background: linear-gradient(90deg, var(--sky), var(--lemon)); opacity: .9; }
.bx-pin { position: absolute; top: 50%; transform: translate(-50%, -50%); }
.bx-pin i { display: block; width: 20px; height: 20px; border-radius: 50%; background: var(--panel); box-shadow: 0 0 0 4px var(--c, var(--sky)), 0 4px 8px color-mix(in srgb, var(--text-1) 20%, transparent); }
.bx-pin.is-main i { width: 28px; height: 28px; background: var(--lemon); box-shadow: 0 0 0 4px var(--panel), 0 0 0 6px var(--text-1), 0 6px 12px color-mix(in srgb, var(--text-1) 25%, transparent); }
.bx-pin em { position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; font-style: normal; font-size: 13px; font-weight: 700; color: var(--text-2); text-align: center; line-height: 1.3; }
.bx-pin em.is-top { bottom: 28px; }
.bx-pin em.is-bot { top: 28px; }
.bx-pin.is-main em.is-top { bottom: 36px; }
.bx-pin.is-main em.is-bot { top: 36px; }
.bx-pin em b { display: block; font: 900 14px var(--f-num); color: var(--text-1); font-variant-numeric: tabular-nums; }
html.m-shell .bx-pin.is-end-l em { left: 0; transform: none; text-align: left; }
html.m-shell .bx-pin.is-end-r em { left: auto; right: 0; transform: none; text-align: right; }

.bx-sub {
  position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 120px;
  border-radius: var(--r-lg); padding: 24px; color: var(--text-1); text-decoration: none; background: var(--panel); box-shadow: var(--shadow-1), 0 0 0 1px var(--line);
  transition: transform var(--c-d-press) var(--c-e-press), box-shadow var(--c-d-press) var(--c-e-press);
}
.bx-sub:hover { transform: translateY(-4px); box-shadow: var(--shadow-2), 0 0 0 1px var(--line); }
.bx-sub:active { transform: scale(.98); }
.bx-sub .bx-sub-k { display: block; font-size: 14px; font-weight: 700; color: var(--text-2); }
.bx-sub .bx-px { display: block; margin-top: 4px; font: 900 40px/1.1 var(--f-num); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.bx-sub .bx-px .bx-yen { font-size: .6em; }
.bx-sub small { display: block; margin-top: 4px; font-size: 13px; font-weight: 700; color: var(--text-3); }
.bx-sub .bx-ico { flex: none; display: grid; place-items: center; width: 40px; height: 40px; color: var(--text-2); }
.bx-sub .bx-ico .ic { width: 24px; height: 24px; }

/* ───────────── 4. 吸顶目录：402 × 48，按钮 40 ───────────── */
.bx-toc-wrap { position: sticky; top: 12px; z-index: 20; display: flex; justify-content: center; margin: 32px 0 24px; pointer-events: none; }
.bx-toc {
  position: relative; display: inline-flex; align-items: center; gap: 2px; height: 48px; padding: 4px; border-radius: 999px; pointer-events: auto; isolation: isolate;
  background: var(--overlay); box-shadow: var(--shadow-3), 0 0 0 1px var(--line-strong);
}
.bx-toc a { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 16px 0 12px; border-radius: 999px; font-size: 14px; font-weight: 700; color: var(--text-2); white-space: nowrap; text-decoration: none; transition: color .2s ease, transform var(--c-d-press) var(--c-e-press); }
.bx-toc a .ic { width: 18px; height: 18px; --ic-fill: var(--lemon); color: currentColor; }
.bx-toc a[data-go="sec-ev"] { min-width: 122px; justify-content: center; }
.bx-toc a[data-go="sec-trend"], .bx-toc a[data-go="sec-buy"] { min-width: 86px; justify-content: center; }
.bx-toc a[data-go="sec-shop"] { min-width: 94px; justify-content: center; }
.bx-toc a:hover { color: var(--text-1); }
.bx-toc a:active { transform: scale(.95); }
.bx-toc a.is-on { color: var(--plate-ink); }
.bx-toc:not(.is-ready) a.is-on { background: var(--plate); }
.bx-toc-plate { position: absolute; z-index: 0; top: 4px; left: 0; width: 0; height: 40px; border-radius: 999px; background: var(--plate); box-shadow: var(--shadow-plate); opacity: 0; pointer-events: none; }
.bx-toc.is-ready .bx-toc-plate { opacity: 1; }

/* ───────────── 5. 展台（深色）：左 400 放期待値与倍率环，右边五张扇形卡，下面一条箔面色带 ───────────── */
.bx-show {
  position: relative; overflow: hidden; border-radius: var(--r-xl); color: var(--stage-ink);
  background:
    radial-gradient(60% 70% at 68% 30%, color-mix(in srgb, var(--lemon) 30%, transparent), transparent 62%),
    radial-gradient(40% 60% at 96% 90%, color-mix(in srgb, var(--sky) 26%, transparent), transparent 70%),
    radial-gradient(40% 50% at 6% 100%, color-mix(in srgb, var(--peach) 20%, transparent), transparent 70%),
    linear-gradient(160deg, var(--stage-2), var(--stage) 60%);
  box-shadow: var(--stage-shadow);
  display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 24px; padding: 40px 40px 32px;
}
.bx-show::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(115deg, transparent 0 30px, var(--stage-grain) 30px 31px); }
.bx-show > * { position: relative; min-width: 0; }
.bx-show-k { display: flex; align-items: center; gap: 8px; margin: 0; font: 800 14px/1.4 var(--f-jp); color: var(--lemon); letter-spacing: .04em; }
.bx-show-k .ic { width: 20px; height: 20px; --ic-fill: var(--lemon); color: var(--lemon); }
.bx-ev { margin: 12px 0 16px; font: 900 88px/1 var(--f-num); letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: var(--stage-ink); filter: drop-shadow(0 0 22px color-mix(in srgb, var(--lemon) 35%, transparent)); white-space: nowrap; }
.bx-ev .bx-yen { font-size: .5em; }
.bx-ev.is-none { color: var(--stage-muted); filter: none; }
.bx-ratio { display: flex; align-items: center; gap: 16px; }
.bx-ring { width: 88px; height: 88px; flex: none; }
.bx-ring .bg { fill: none; stroke: var(--stage-track); stroke-width: 10; }
.bx-ring .fg { fill: none; stroke: var(--lemon); stroke-width: 10; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 44px 44px; }
.bx-ring text { font: 900 22px var(--f-num); fill: var(--stage-ink); }
.bx-ring .x { font-size: 13px; fill: var(--stage-muted); }
.bx-ratio p { margin: 0; font-size: 13px; line-height: 1.7; color: var(--stage-muted); font-weight: 700; }
.bx-ratio p b { color: var(--stage-ink); font: 900 18px var(--f-num); }
.bx-verdict { margin: 16px 0 0; font-size: 14px; line-height: 1.6; font-weight: 800; color: var(--stage-ink); }
.bx-verdict.is-good { color: var(--lemon); }
.bx-cover { margin-top: 24px; }
.bx-cover-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; font-size: 13px; font-weight: 700; color: var(--stage-muted); }
.bx-cover-row b { color: var(--stage-ink); font: 900 16px var(--f-num); }
.bx-cover-u { color: var(--stage-muted); font-size: 13px; }
.bx-minis { display: grid; grid-template-columns: repeat(16, minmax(0, 24px)); justify-content: start; gap: 4px; }
.bx-minis i { aspect-ratio: 744 / 1040; border-radius: 2px; background: var(--stage-track); }
.bx-minis i.on { background: var(--foil-silver); }
.bx-minis i.on.fur, .bx-minis i.on.ur, .bx-minis i.on.mur { background: var(--foil-gold); }
.bx-minis i.on.sar, .bx-minis i.on.hr { background: var(--foil-holo); }
.bx-minis i.on.ar { background: var(--foil-mint); }
.bx-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; font-size: 13px; font-weight: 700; color: var(--stage-muted); }
.bx-legend span { display: inline-flex; align-items: center; gap: 8px; }
.bx-legend i { width: 12px; height: 16px; border-radius: 3px; background: var(--foil-silver); }
.bx-legend i.fur, .bx-legend i.ur { background: var(--foil-gold); }
.bx-legend i.sar, .bx-legend i.hr { background: var(--foil-holo); }
.bx-legend i.ar { background: var(--foil-mint); }
.bx-legend i.none { background: transparent; border: 1.5px dashed var(--stage-muted); }
.bx-asof { margin: 24px 0 0; font-size: 13px; line-height: 1.7; font-weight: 700; color: var(--stage-muted); }
.bx-asof .bx-mono { color: var(--stage-ink); }

.bx-fan { position: relative; align-self: center; min-height: 360px; height: calc(210px * var(--k, 1) + 150px); }
.bx-fc {
  position: absolute; left: 50%; bottom: 84px; width: calc(150px * var(--k, 1)); margin-left: calc(-75px * var(--k, 1)); transform-origin: 50% 120%; color: inherit; text-decoration: none; z-index: var(--z);
  transform: translateX(calc(var(--x) * var(--k, 1))) rotate(var(--r));
  transition: transform var(--c-d-press) var(--c-e-press);
}
.bx-fc:hover, .bx-fc:focus-visible { transform: translateX(calc(var(--x) * var(--k, 1))) translateY(-16px) rotate(0deg) scale(1.06); z-index: 9; }
.bx-fc-card { position: relative; border-radius: 9px; overflow: hidden; aspect-ratio: 744 / 1040; background: var(--stage-faint); box-shadow: var(--stage-card-shadow), 0 0 0 1px var(--stage-card-edge); }
.bx-fc-card img { width: 100%; height: 100%; display: block; object-fit: cover; }
.bx-fc-card .bx-noimg { display: grid; place-items: center; width: 100%; height: 100%; padding: 8px; text-align: center; font-size: 13px; font-weight: 700; color: var(--stage-muted); }
.bx-fc-card::after { content: ""; position: absolute; inset: -40%; pointer-events: none; mix-blend-mode: color-dodge; opacity: .55; transform: translateX(var(--sx, -30%)); background: var(--foil-rainbow-line); }
.bx-fc .stk { position: absolute; left: -8px; top: -10px; z-index: 2; }
.bx-fc-lab { position: absolute; left: 50%; top: calc(100% + 12px); transform: translateX(-50%) rotate(calc(var(--r) * -1)); display: grid; justify-items: center; gap: 4px; white-space: nowrap; width: max-content; max-width: 150px; }
.bx-fc-px { font: 900 22px/1.1 var(--f-num); color: var(--stage-ink); font-variant-numeric: tabular-nums; }
.bx-fc-nm { max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: 13px; font-weight: 700; color: var(--stage-muted); }
.bx-fan-empty { display: grid; place-items: center; min-height: 240px; text-align: center; font-size: 14px; line-height: 1.7; font-weight: 700; color: var(--stage-muted); }

.bx-comp { grid-column: 1 / -1; margin-top: 8px; padding-top: 24px; border-top: 1px dashed var(--stage-line); }
.bx-comp-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin-bottom: 12px; }
.bx-comp-h h3 { margin: 0; font: 800 14px/1.4 var(--f-jp); color: var(--stage-muted); }
.bx-comp-h .r { margin-left: auto; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.bx-comp-h .r span { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; }
.bx-comp-h .r i { width: 12px; height: 12px; border-radius: 4px; background: var(--foil-silver); }
.bx-comp-h .r b { color: var(--stage-ink); font: 900 14px var(--f-num); }
.bx-cbar { display: flex; height: 40px; border-radius: 14px; overflow: hidden; gap: 2px; background: var(--stage-faint); }
.bx-cbar span { position: relative; display: flex; align-items: center; gap: 8px; padding: 0 12px; min-width: 0; flex: var(--w) 0 0; color: var(--sticker-ink); font: 800 13px var(--f-num); white-space: nowrap; overflow: hidden; }
.bx-cbar span.tiny { padding: 0; }
.bx-cbar .t-fur, .bx-comp-h i.t-fur, .bx-cbar .t-ur, .bx-comp-h i.t-ur, .bx-cbar .t-mur, .bx-comp-h i.t-mur { background: var(--sheen), var(--foil-gold); }
.bx-cbar .t-sar, .bx-comp-h i.t-sar { background: var(--sheen), var(--foil-holo); }
.bx-cbar .t-hr, .bx-comp-h i.t-hr { background: var(--foil-stripe), var(--foil-holo); }
.bx-cbar .t-ar, .bx-comp-h i.t-ar { background: var(--sheen), var(--foil-mint); }
.bx-cbar .t-sr, .bx-comp-h i.t-sr { background: var(--foil-rainbow-line), var(--foil-silver); }
.bx-cbar .t-other, .bx-comp-h i.t-other { background: var(--sheen), var(--foil-silver); }
.bx-show.is-empty { grid-template-columns: minmax(0, 1fr); }
.bx-show.is-nofan { padding-bottom: 28px; align-items: start; }
.bx-aside { align-self: center; max-width: 560px; }
.bx-aside .bx-fan-empty { display: block; min-height: 0; margin: 0 0 24px; text-align: left; }
.bx-aside .bx-cover { margin-top: 0; }
.bx-show.is-empty .bx-empty-t { margin: 16px 0 0; font-size: 15px; line-height: 1.8; font-weight: 700; color: var(--stage-muted); max-width: 64ch; }

/* ───────────── 6. 展台下面三栏：等宽、等高、底边对齐 ───────────── */
.bx-row3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bx-gap); align-items: stretch; }
.bx-row3 > * { min-width: 0; }
.bx-blk { position: relative; display: flex; flex-direction: column; border-radius: var(--r-lg); padding: 24px; background: var(--panel); box-shadow: var(--shadow-1), 0 0 0 1px var(--line); }
.bx-blk-h { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-height: 40px; margin-bottom: 16px; }
.bx-blk-h .ic { width: 20px; height: 20px; color: var(--text-2); }
.bx-blk-h h2 { margin: 0; font-size: 16px; font-weight: 900; }
.bx-blk-h .r { margin-left: auto; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.bx-pill { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 800; background: var(--tray); color: var(--text-2); white-space: nowrap; }
.bx-pill b { font: 900 15px var(--f-num); color: var(--text-1); }
.bx-pill.is-lemon { background: var(--lemon-wash); color: var(--lemon-text); }
.bx-pill.is-sky { background: var(--sky-wash); color: var(--sky-text); }
.bx-pill.is-up { background: var(--up-wash); color: var(--up-text); font-family: var(--f-num); }
.bx-pill.is-down { background: var(--down-wash); color: var(--down-text); font-family: var(--f-num); }
.bx-blk-top { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin-bottom: 8px; }
.bx-blk-top .bx-cap { color: var(--text-3); }
.bx-blk-grow { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: flex-end; min-height: 0; }
/* S4: 階段は枠の空いた高さいっぱいに描く。枠の高さは内容に左右されない（flex-basis 0）ので、描き直し（fitStairs）が循環しない */
.bx-blk-fill { position: relative; flex: 1 1 0; justify-content: stretch; min-height: 240px; }
.bx-blk-fill > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.bx-blk-fill > .bx-empty { position: absolute; inset: 0; }
.bx-blk-foot { margin: 12px 0 0; }
.bx-blk-link { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; margin-top: 4px; font-size: 13px; font-weight: 700; color: var(--sky-text); text-decoration: none; }
.bx-blk-link:hover { text-decoration: underline; }

.bx-spark { width: 100%; height: auto; display: block; overflow: visible; }
.bx-spark .ln { fill: none; stroke: var(--text-1); stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.bx-spark .rel line { stroke: var(--sky-text); stroke-width: 1.5; stroke-dasharray: 3 4; }
.bx-spark .rel text { font: 700 13px var(--f-jp); fill: var(--sky-text); }
.bx-spark .ax text { font: 500 13px var(--f-mono); fill: var(--text-3); }
.bx-spark .hl text { font: 800 13px var(--f-num); fill: var(--text-1); }
.bx-spark .hl circle { fill: var(--panel); stroke: var(--text-1); stroke-width: 2; }
.bx-spark .end circle { fill: var(--lemon); stroke: var(--text-1); stroke-width: 2; }
.bx-spark .end .halo { fill: color-mix(in srgb, var(--lemon) 35%, transparent); stroke: none; }
.bx-spark .area-top { stop-color: var(--lemon); stop-opacity: .45; }
.bx-spark .area-bot { stop-color: var(--lemon); stop-opacity: 0; }

.bx-stairs { display: block; overflow: visible; }
.bx-stairs .axis { stroke: var(--line-strong); stroke-width: 1.5; fill: none; }
.bx-stairs .brk { fill: none; stroke: var(--text-3); stroke-width: 1.5; stroke-linejoin: round; }
.bx-stairs .edge { fill: none; stroke: var(--text-1); stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.bx-stairs circle { fill: var(--panel); stroke: var(--text-1); stroke-width: 2.4; }
.bx-stairs circle.ref { stroke-dasharray: 2.4 3.4; stroke: var(--text-3); fill: var(--tray); }
.bx-stairs circle.hi { fill: var(--lemon); }
.bx-stairs .p { font: 900 15px var(--f-num); fill: var(--text-1); }
.bx-stairs .l { font: 700 13px var(--f-jp); fill: var(--text-2); }
.bx-stairs .ax { font: 500 13px var(--f-mono); fill: var(--text-3); }
.bx-empty { display: grid; place-items: center; min-height: 160px; text-align: center; font-size: 14px; line-height: 1.7; font-weight: 700; color: var(--text-3); }

.bx-best { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin-bottom: 16px; }
.bx-dlist { flex: 1 1 auto; display: grid; align-content: center; gap: 8px; margin-bottom: 16px; }
.bx-dlist > div { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 12px; height: 40px; padding: 0 12px; border-radius: 12px; }
.bx-dlist > div:nth-child(odd) { background: var(--tray); }
.bx-dlist small { font: 500 13px var(--f-mono); color: var(--text-3); }
.bx-dlist i { height: 6px; border-radius: 999px; background: var(--sky); width: var(--w); justify-self: start; opacity: .8; }
.bx-dlist b { font: 900 15px var(--f-num); font-variant-numeric: tabular-nums; }
.bx-btn-lemon {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 56px; padding: 0 24px 0 20px; margin-top: auto; border: 0; border-radius: 999px;
  background: var(--lemon); color: var(--sticker-ink); font: 900 16px var(--f-jp); text-decoration: none; white-space: nowrap; cursor: pointer;
  box-shadow: 0 4px 0 var(--ledge-lemon); transition: transform var(--c-d-press) var(--c-e-press), box-shadow var(--c-d-press) var(--c-e-press);
}
.bx-btn-lemon:hover { filter: brightness(1.03); }
.bx-btn-lemon:active { transform: translateY(3px) scale(.97); box-shadow: 0 1px 0 var(--ledge-lemon); }
.bx-btn-lemon .ic { width: 20px; height: 20px; color: var(--sticker-ink); }
.bx-btn-ghost { display: inline-flex; align-items: center; justify-content: center; height: 56px; margin-top: auto; padding: 0 24px; border-radius: 999px; background: var(--panel); color: var(--text-1); font: 800 15px var(--f-jp); text-decoration: none; box-shadow: 0 0 0 1px var(--line), 0 3px 0 var(--ledge); }

/* ───────────── 7. 全カード一覧（展台下面，默认收起） ───────────── */
.bx-sec #panel-ev { padding: 24px; }
.bx-sec #panel-ev:empty { display: none; }
#panel-ev details.bx-all-main > summary {
  display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 0 12px; margin: 0 -12px; cursor: pointer; list-style: none; font-size: 18px; font-weight: 900; color: var(--text-1);
}
#panel-ev details.bx-all-main > summary::-webkit-details-marker { display: none; }
#panel-ev details.bx-all-main { margin: 0; padding: 0; border-top: 0; }
#panel-ev details.bx-all-main > summary small { font-size: 13px; font-weight: 700; color: var(--text-3); }
#panel-ev .bx-all-body { margin-top: 16px; }

/* ───────────── 8. 其余面板的 C3 面板语言 ───────────── */
.bx-page .v3-mod .liq-grid { gap: 16px; }
.bx-page .v3-mod .liq-stat { background: var(--tray); border-radius: var(--r-row); box-shadow: inset 0 0 0 1px var(--line); }
.bx-page .v3-mod .liq-stat .k { font-size: 13px; }
.bx-page .v3-mod .liq-stat .v { font-family: var(--f-num); }
.bx-page .v3-mod .liq-note { font-size: 13px; line-height: 1.6; }
.bx-page .price-lineage { margin: 0 0 16px; }
.bx-page .pkg-lanes { margin-bottom: 12px; }
.bx-page .v3-shop { min-height: 56px; }
.bx-page .v3-xrow { min-height: 48px; }
.bx-page .fold > summary { min-height: 40px; display: flex; align-items: center; }
.bx-foot { margin-top: 56px; }

/* ───────────── 9. 简单／プロ：信頼度・根拠・前回价格与件数・数据说明 收进 .pro-only（开关与 .pro-only 规则由 T21 提供；这里只补页内标记） ───────────── */
body[data-view="simple"] .bx-page .conf-dots,
body[data-view="simple"] .bx-page .cd-ref { display: none !important; }

/* 面板里プロの行（行内のマークアップは触らず、このページだけ畳む）: 検出日・信頼度・その後 7 日の変化率・出所。
   脚注（売買の助言ではない・原因を示すものではない）は両方の表示で残す */
body[data-view="simple"] .bx-page .ie-conf,
body[data-view="simple"] .bx-page [data-signal] .ie-dates,
body[data-view="simple"] .bx-page .ie-foot { display: none !important; }
.bx-sec > .v3-mod:empty { display: none; }

/* ───────────── 10. 反馈：悬停、按下、焦点（焦点环沿用 ruvo-c.css 的 :focus-visible 双环规则） ───────────── */
.bx-fc:focus-visible, .bx-sub:focus-visible, .bx-btn-lemon:focus-visible, .bx-toc a:focus-visible { outline: 2px solid var(--focus-ring) !important; outline-offset: 3px !important; }
.bx-show :focus-visible { outline-color: var(--lemon) !important; }
/* S5: 押せるものは悬停と按下の両方に反応する（按下は弾み SPRING_PRESS 500/30/0.6 の press と同じ時間・曲線） */
.bx-fc:active { transform: translateX(calc(var(--x) * var(--k, 1))) translateY(-8px) rotate(0deg) scale(.97); }
.bx-crumb a, .bx-blk-link, .bx-toc a, #panel-ev details.bx-all-main > summary { transition: background-color .15s ease, color .15s ease, transform var(--c-d-press) var(--c-e-press); }
.bx-crumb a:hover { background: var(--tray); }
.bx-crumb a:active { background: var(--track); transform: scale(.96); }
.bx-blk-link { padding: 0 8px; margin-left: -8px; border-radius: var(--r-sm); }
.bx-blk-link:hover { background: var(--sky-wash); text-decoration: none; }
.bx-blk-link:active { background: var(--sky-wash); transform: scale(.96); }
#panel-ev details.bx-all-main > summary { padding: 0 12px; margin: 0 -12px; border-radius: var(--r-row); }
#panel-ev details.bx-all-main > summary:hover { background: var(--tray); }
#panel-ev details.bx-all-main > summary:active { background: var(--track); transform: scale(.985); }

/* ───────────── 10b. 面板里的几处补丁 ───────────── */
/* S10: 店舗のバッジ（メルカリ／ラクマ／X）。白字を色地に載せると対比が足りないので、凹槽の地に墨字、ブランド色は縁の輪だけ */
.bx-page .v3-shop .v3-sb { background: var(--tray); color: var(--text-1); box-shadow: inset 0 0 0 2.5px var(--v3-sb, var(--line-strong)); }
/* S11: 全カード一覧の名前リンクは 40px 以上（行の高さの中で押せる面を取る） */
#panel-ev .vt .nm a { display: block; min-height: 40px; line-height: 40px; overflow: hidden; text-overflow: ellipsis; }
/* M10: 同時期の公式発表（item_events.js の 1 行）も C3 の面板の言葉に: 14px、40px 以上の押せる行、角丸 */
#item-attribution { margin-top: 16px; }
#item-attribution .v3-crossref { margin: 0; padding: 12px 16px; border-radius: var(--r-lg); background: var(--tray); border: 0; box-shadow: inset 0 0 0 1px var(--line); font-size: 14px; line-height: 1.7; color: var(--text-2); }
#item-attribution .v3-crossref b { color: var(--text-1); margin-right: 8px; }
#item-attribution .fold > summary { min-height: 40px; display: flex; align-items: center; font-size: 14px; }
#item-attribution .fold .v3-nb { font-size: 13px; }

/* ───────────── 11. 窄屏 ───────────── */
@media (max-width: 1240px) {
  .bx-show { grid-template-columns: 360px minmax(0, 1fr); padding: 32px; }
  .bx-ev, .bx-big { font-size: 72px; }
}
@media (max-width: 1100px) {
  .bx { grid-template-columns: minmax(0, 1fr); }
  .bx-main { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 24px; }
  .bx-show { grid-template-columns: minmax(0, 1fr); }
  .bx-row3 { grid-template-columns: minmax(0, 1fr); }
  .bx-big, .bx-ev { font-size: 72px; }
}
@media (max-width: 760px) {
  .bx-page { --bx-gap: 16px; }
  .bx-crumb-row { margin-top: 16px; }
  .bx-art { padding: 16px; }
  .bx-art .v3-stage.bx-pic { height: 220px; }
  .bx-art .v3-stage.bx-pic img { width: 200px; height: 200px; }
  .bx-nums { grid-template-columns: minmax(0, 1fr); }
  .bx-main { padding: 20px 16px; }
  .bx-big, .bx-ev { font-size: 56px; }
  .bx-sub { min-height: 96px; padding: 16px; }
  .bx-sub .bx-px { font-size: 32px; }
  .bx-rail { padding: 52px 8px 56px; }
  .bx-toc-wrap { top: 8px; margin: 24px 0 16px; }
  .bx-toc a, .bx-toc a[data-go] { padding: 0 10px 0 8px; font-size: 13px; gap: 4px; min-width: 0; }
  .bx-toc a .ic { width: 16px; height: 16px; }
  .bx-show { padding: 24px 16px; }
  .bx-fan { min-height: 0; }
  .bx-fc-px { font-size: 13px; letter-spacing: -.04em; }
  .bx-fc-nm { display: none; }
  .bx-fc-lab { top: calc(100% + 8px); }
  .bx-minis { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .bx-blk { padding: 16px; }
  .bx-page .v3-mod { padding: 16px; }
  .bx-cbar span { padding: 0 8px; }
  .bx-meta { grid-template-columns: minmax(0, 1fr); }
}

/* ───────────── 12. 减少动效与 ?still：只留颜色变化 ───────────── */
@media (prefers-reduced-motion: reduce) {
  html.m-shell :is(.bx-page, .v3-page) :is(button, a.btn, .chips button, .v3-shop, .v3-xrow, .v3-go, a.btn-src, .fold > summary, .dp-more, .ch-leg, .tc-toggles label) { transition: none !important; }
  html.m-shell :is(.bx-page, .v3-page) :is(button, a.btn, .chips button, .v3-shop, .v3-xrow, .v3-go, a.btn-src, .fold > summary, .dp-more, .ch-leg, .tc-toggles label):active { transform: none; }
  .bx-fc, .bx-sub, .bx-btn-lemon, .bx-toc a, .bx-art .v3-stage.bx-pic img { transition: none !important; }
  .bx-sub:hover, .bx-fc:hover { transform: none; }
  .bx-fc:hover, .bx-fc:focus-visible { transform: translateX(calc(var(--x) * var(--k, 1))) rotate(var(--r)); }
}
html.c-still .bx-fc, html.c-still .bx-sub, html.c-still .bx-btn-lemon, html.c-still .bx-toc a { transition: none !important; }
html.c-still .bx-sub:hover { transform: none; }
html.c-still .bx-fc:hover, html.c-still .bx-fc:focus-visible { transform: translateX(calc(var(--x) * var(--k, 1))) rotate(var(--r)); }


/* ═════════ 13. 合并后复审 W1-r3（2026-10-12） ═════════ */
/* S4: 正文与版头（ruvo-c.css .c-masthead 的 min(1248px, 100% - 32px)）同宽，面包屑第一个字落在卡边上 */
.bx-page.shell { width: min(1248px, calc(100% - 32px)); }
.bx-crumb li:first-child a { padding-left: 0; }

/* S1: 「出典別の商品記録」等表。v7.css 给 .src-name 设了 display:-webkit-box 做两行截断，单元格因此不再是 table-cell，列线错位、第四列宽 0。
   改回 table-cell + 固定列宽，名称允许换行（不裁行数） */
.bx-page .canonical-source-history .table-wrap { overflow-x: auto; }
.bx-page .canonical-source-history .vt:has(th.src-name) { table-layout: fixed; width: 100%; min-width: 760px; }
.bx-page .canonical-source-history .vt:has(th.src-name) th:nth-child(1) { width: 40%; }
.bx-page .canonical-source-history .vt:has(th.src-name) th:nth-child(2) { width: 17%; }
.bx-page .canonical-source-history .vt:has(th.src-name) th:nth-child(3) { width: 14%; }
.bx-page .canonical-source-history .vt:has(th.src-name) th:nth-child(4) { width: 14%; }
.bx-page .canonical-source-history .vt:has(th.src-name) th:nth-child(5) { width: 15%; }
.bx-page .canonical-source-history .vt .src-name { display: table-cell; max-width: none; overflow: visible; -webkit-line-clamp: unset; line-height: 1.5; padding-top: 10px; padding-bottom: 10px; overflow-wrap: anywhere; }
.bx-page .canonical-source-history .vt td { height: auto; min-height: 48px; vertical-align: middle; }

/* S2: 可点区不到 40 的补到 40（视觉大小基本不变，靠 min-height／内边距撑可点面） */
.bx-page .ch-ranges button { height: 40px; min-height: 40px; padding-left: 14px; padding-right: 14px; }
.bx-page .ch-leg { min-height: 40px; }
.bx-page .tc-toggles label { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; cursor: pointer; }
.bx-page .tc-toggles input[type="checkbox"] { width: 18px; height: 18px; margin: 0; cursor: pointer; }
.bx-page .canonical-source-history .vt .btn-src, .bx-page .btn-src { min-height: 40px; height: auto; }
.bx-page .shop-order-note a, .bx-page #buyout-body .v3-meter-cap a { display: inline-flex; align-items: center; min-height: 40px; }
.bx-page .shop-order-note { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; }
.bx-page .dp-more { min-height: 40px; }
.bx-page ~ footer a, .bx-foot a, .bx-page > footer a { display: inline-flex; align-items: center; min-height: 40px; }

/* S5: 1366×768 这类矮屏，第一屏要让目录进来。图舞台与主数卡各压一档，面包屑行与目录上下留白收一些（版头 256 高，是共用层，不动） */
@media (min-width: 1101px) and (max-height: 820px) {
  .bx-crumb-row { margin: 12px 0 8px; }
  .bx-art { padding: 20px 24px 16px; }
  .bx-art .v3-stage.bx-pic { height: 220px; }
  .bx-art .v3-stage.bx-pic img { width: 200px; height: 200px; }
  .bx-name { margin: 8px 0 8px; }
  .bx-main { padding: 24px 32px; }
  .bx-big { font-size: 76px; margin: 8px 0 4px; }
  .bx-rail { padding: 48px 0; }
  .bx-sub { min-height: 96px; padding: 16px 24px; }
  .bx-toc-wrap { margin: 16px 0 16px; }
}

/* S3: 展台以下的旧面板向展台靠一档：标题 20、面板内边距 32、小字不低于 13、オファー一行与上面四张卡留 16 */
.bx-page .four-offer-line { margin: 16px 0 0; }
.bx-page .v3-mod-h h2, .bx-page .v3-mod .block-label h2 { font-size: 20px; }
.bx-page .v3-mod :is(.pkg-k, .pkg-d, .tp-d, .tp-tag, .ch-xdate, .tc-lgd, .v3-sk, .v3-sn, .v3-nw, .v3-sb, .v3-xrank, .v3-xdate, .cv-chip, .cv-reason, .ie-tag, .ie-dates, .ie-note, .chip-sm, .dp-tag, .dp-sub, .dp-more, .chart-release-note, .v3-crossref, .ev-sort, .ch-ranges button, .ch-leg, .ch-leg em, .btn-src, .tc-toggles label, small, thead th, summary, label, em) { font-size: 13px; }
.bx-page #panel-ev .vt .num { font-size: 13px; }
@media (min-width: 761px) {
  .bx-page .v3-mod { padding: 32px; }
  .bx-sec #panel-ev { padding: 32px; }
}

/* M4: 時効切れ（7日より前）の価格は、ページで一番大きい数字にしない。40px・灰色にして、下の「時効切れ」小标と読み合わせる */
.bx-big.is-old { font-size: 40px; color: var(--text-3); margin: 16px 0 8px; }
.bx-big.is-old::after { height: 10px; opacity: .25; }
/* M2: 値段の取れたカードが 0 枚の展台は内容の高さまで詰める */
.bx-show.is-nofan { padding: 32px 40px 28px; gap: 16px 24px; }
.bx-show.is-nofan .bx-ev.is-none { font-size: 56px; margin-top: 4px; margin-bottom: 8px; }


/* ═════════ 14. 手机（T24，≤767、外壳挂上后；样张 M3「BOX 詳細」「开封台」，2026-10-12） ═════════
   只在 html.m-shell 里生效：≥768 一像素不变（这一节以外只多了 .bx-short / .bx-m-only / .m-fab 的 display:none）。
   盒子大图（226、底座、触摸倾斜）→ 短名 → 主价大数 → 最安出品／買取最高 两块图标方块 → 深色「开封台」（期待値大数、倍率半环仪表、
   价格取れた枚数の棒、上位 3 枚の扇形、BOX との差、箔面の内訳）→ 展台下面三栏 → 其余长块收成折叠段（56 高的标题行，SPRING_PANEL 420/40/0.5）。
   信頼度・根拠・前回・件数・数据说明仍由 .pro-only／面板自己的 プロ 规则管（本节不改）。动效：KOKO-card-stack、BEUI-tilt-card、BEUI-digit-swap（主价），
   按压 SPRING_PRESS（--c-d-press／--c-e-press）。prefers-reduced-motion、?still 全停。 */
.bx-short, .bx-m-only, .m-fab { display: none; }
@media (max-width: 767px) {
  html.m-shell .bx-m-only { display: block; }
  html.m-shell .bx-page { --bx-gap: 16px; }

  /* ── 页头一行 ── */
  html.m-shell .bx-crumb-row { flex-wrap: wrap; row-gap: 0; margin: 4px 0 0; }
  html.m-shell .bx-crumb-row > nav { flex: 1 1 0; min-width: 0; }
  html.m-shell .bx-crumb { flex-wrap: nowrap; font-size: 13px; overflow: hidden; }
  html.m-shell .bx-crumb li { flex: none; min-width: 0; }
  html.m-shell .bx-crumb li:last-child { flex: 0 1 auto; overflow: hidden; }
  html.m-shell .bx-crumb li:last-child > * { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html.m-shell .bx-crumb a, html.m-shell .bx-crumb [aria-current] { min-height: 44px; }
  html.m-shell .bx-crumb li:first-child a { padding-left: 0; }
  html.m-shell .bx-acts { display: contents; }
  html.m-shell .bx-acts .c-iconbtn { flex: none; width: 44px; height: 44px; }
  html.m-shell .bx-acts .bx-hint { order: 5; flex: 1 1 100%; margin: 0 0 8px; text-align: right; }
  html.m-shell .bx-crumb-row { column-gap: 4px; }
  /* 収藏は第一屏のこの丸ボタン、第一屏を過ぎたら右下の浮動ボタン（.m-fab）。同じ処理 */

  /* ── 第一屏：大图 → 短名 → 主价 → 两块价格方块 ── */
  html.m-shell .bx { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin-top: 0; }
  html.m-shell .bx-art, html.m-shell .bx-nums { display: contents; }
  html.m-shell .bx-art > *, html.m-shell .bx-nums > * { grid-column: 1 / -1; min-width: 0; }
  html.m-shell .bx-art .v3-stage.bx-pic {
    order: 1; position: relative; isolation: isolate; height: 250px; touch-action: pan-y; align-items: start;
  }
  html.m-shell .bx-pic::before {
    content: ""; position: absolute; z-index: 0; left: -16px; right: -16px; top: -40px; height: 380px; pointer-events: none;
    background: radial-gradient(50% 50% at 50% 42%, var(--lemon-wash), transparent 70%);
  }
  html.m-shell .bx-pic::after {
    content: ""; position: absolute; z-index: 0; left: 50%; bottom: 0; width: 276px; height: 52px; transform: translateX(-50%); border-radius: 50%; pointer-events: none;
    background: radial-gradient(ellipse at 50% 30%, var(--panel), var(--tray));
    box-shadow: inset 0 2px 0 var(--hi), 0 18px 26px -14px color-mix(in srgb, var(--text-1) 38%, transparent), 0 0 0 1px var(--line);
  }
  html.m-shell .bx-art .v3-stage.bx-pic img { position: relative; z-index: 1; width: 226px; height: 226px; margin-top: 0; filter: drop-shadow(0 16px 18px color-mix(in srgb, var(--text-1) 30%, transparent)); }
  html.m-shell .bx-art .v3-stage.bx-pic .v3-noart { position: relative; z-index: 1; align-self: center; }
  html.m-shell .bx-art .bx-pic .stk { z-index: 2; left: auto; right: 4px; top: 4px; }
  html.m-shell .bx-short { display: block; order: 2; margin: 0; text-align: center; font: 900 30px/1.2 var(--f-jp); letter-spacing: 0; text-wrap: balance; word-break: auto-phrase; color: var(--text-1); }
  html.m-shell .bx-main { order: 3; display: block; padding: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; }
  html.m-shell .bx-lbl { justify-content: center; font-size: 14px; }
  html.m-shell .bx-big { font-size: 64px; margin: 2px auto 2px; }
  html.m-shell .bx-big.is-old { font-size: 40px; }
  html.m-shell .bx-subm { justify-content: center; }
  html.m-shell .bx-diff { text-align: center; }
  html.m-shell .bx-rail { padding: 52px 8px 56px; text-align: left; }
  body[data-view="simple"] html.m-shell .bx-rail, html.m-shell body[data-view="simple"] .bx-rail { display: none; }
  html.m-shell .bx-tags { order: 8; justify-content: center; gap: 4px 16px; margin-top: -4px; }   /* 更新・発売 は小さな一行にして、価格方块の下へ（S2: 第一屏に二つの価格方块が入るように） */
  html.m-shell .bx-tags .bx-chip { height: auto; min-height: 24px; padding: 0; border-radius: 0; background: none; box-shadow: none; }
  html.m-shell .bx-tags .bx-chip.is-live::before, html.m-shell .bx-tags .bx-chip.is-stale::before { width: 8px; height: 8px; margin-right: -2px; }
  html.m-shell .bx-tags .bx-chip.bx-m-dup { display: none; }   /* 「更新 9/26 時点」は主価格の下の「9/26 時点」と同じ数字 */
  html.m-shell .bx-sub {
    order: 5; grid-column: auto; display: block; min-height: 0; padding: 14px; border-radius: 24px;
  }
  html.m-shell .bx-sub > div { display: flex; flex-direction: column; width: 100%; min-width: 0; }
  html.m-shell .bx-sub .bx-sub-k { order: 1; min-height: 36px; padding-right: 42px; font-size: 14px; line-height: 1.35; }
  html.m-shell .bx-sub .bx-px { order: 2; margin-top: 2px; font-size: 28px; }
  html.m-shell .bx-sub small { order: 3; margin-top: 2px; font-size: 13px; line-height: 1.5; }
  html.m-shell .bx-sub .bx-ico { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 12px; }
  html.m-shell .bx-sub .bx-ico .ic { width: 22px; height: 22px; }
  html.m-shell .bx-nums a.bx-sub:nth-of-type(1) .bx-ico { background: var(--sky-wash); color: var(--sky-text); }
  html.m-shell .bx-nums a.bx-sub:nth-of-type(2) .bx-ico { background: var(--lemon-wash); color: var(--lemon-text); }
  html.m-shell .bx-nums > div:not(.bx-main) { order: 6; }
  html.m-shell .bx-name { order: 7; margin: 0; font-size: 13px; line-height: 1.6; font-weight: 700; color: var(--text-2); text-align: center; }
  html.m-shell .bx-meta { order: 9; }

  /* ── 吸顶目录：顶栏下面一条横滑胶囊 ── */
  html.m-shell .bx-toc-wrap { justify-content: flex-start; margin: 16px -16px 8px; padding: 4px 16px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
  html.m-shell .bx-toc-wrap::-webkit-scrollbar { display: none; }
  html.m-shell .bx-toc { flex: none; height: 52px; }
  html.m-shell .bx-toc a, html.m-shell .bx-toc a[data-go] { height: 44px; padding: 0 14px 0 12px; font-size: 14px; gap: 6px; }
  html.m-shell .bx-toc-plate { height: 44px; }
  html.m-shell .bx-sec { margin-top: 24px; scroll-margin-top: calc(var(--m-top-h) + 68px); }

  /* ── 开封台（深色）：顶边锯齿封口 ── */
  html.m-shell .bx-show {
    display: block; overflow: visible; margin-top: 12px; padding: 28px 16px 20px; border-radius: 0 0 32px 32px;
  }
  html.m-shell .bx-show::after {
    content: ""; position: absolute; left: 0; right: 0; top: -9px; height: 9px; pointer-events: none;
    background: conic-gradient(from -45deg at bottom, transparent, var(--stage-2) 1deg 89deg, transparent 90deg) 0 0 / 18px 9px repeat-x;
  }
  html.m-shell .bx-show-main {
    display: grid; grid-template-columns: minmax(0, 1fr) 124px; column-gap: 8px; align-items: center;
    grid-template-areas: "k gauge" "ev gauge" "prog gauge" "note note" "ratio ratio" "verdict verdict" "cover cover";
  }
  html.m-shell .bx-show-main.no-gauge { grid-template-columns: minmax(0, 1fr); grid-template-areas: "k" "ev" "prog" "note" "ratio" "verdict" "cover"; }
  html.m-shell .bx-show-main > * { grid-column: 1 / -1; min-width: 0; }
  html.m-shell .bx-show-main > .bx-show-k { grid-area: k; grid-column: auto; margin: 0; }
  html.m-shell .bx-show-main > .bx-ev { grid-area: ev; grid-column: auto; font-size: 44px; margin: 4px 0 8px; }
  html.m-shell .bx-show-main > .bx-ev.is-none { font-size: 44px; }
  html.m-shell .bx-show-main > .bx-m-gauge { grid-area: gauge; grid-column: auto; }
  html.m-shell .bx-show-main > .bx-m-prog { grid-area: prog; grid-column: auto; display: flex; }
  html.m-shell .bx-show-main > .bx-ev-note { grid-area: note; margin: 8px 0 0 !important; }
  html.m-shell .bx-show-main > .bx-ratio { grid-area: ratio; margin-top: 8px; }
  html.m-shell .bx-show-main > .bx-verdict { grid-area: verdict; }
  html.m-shell .bx-show-main > .bx-cover { grid-area: cover; margin-top: 12px; }
  html.m-shell .bx-ring { display: none; }
  html.m-shell .bx-ratio p { font-size: 13px; }
  html.m-shell .bx-cover-row, html.m-shell .bx-minis { display: none; }
  html.m-shell .bx-legend { margin-top: 0; }
  html.m-shell .bx-fan { display: none; }
  html.m-shell .bx-show.is-nofan { padding: 28px 16px 20px; }
  html.m-shell .bx-show.is-nofan .bx-ev.is-none { font-size: 44px; margin: 4px 0 8px; }

  html.m-shell .bx-m-gauge { position: relative; width: 124px; height: 96px; }
  html.m-shell .bx-m-gauge svg { display: block; width: 124px; height: 73px; overflow: visible; }
  html.m-shell .bx-m-gauge .bg, html.m-shell .bx-m-gauge .fg { fill: none; stroke-width: 11; stroke-linecap: round; }
  html.m-shell .bx-m-gauge .bg { stroke: var(--stage-track); }
  html.m-shell .bx-m-gauge .fg { stroke: var(--lemon); }
  html.m-shell .bx-m-gauge .needle { transform-origin: 66px 68px; }
  html.m-shell .bx-m-gauge .needle line { stroke: var(--stage-ink); stroke-width: 3.5; stroke-linecap: round; }
  html.m-shell .bx-m-gauge .hub { fill: var(--stage-ink); }
  html.m-shell .bx-m-gauge p { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; text-align: center; font: 900 22px/1 var(--f-num); color: var(--stage-ink); }
  html.m-shell .bx-m-gauge p span { margin-left: 2px; font: 800 13px var(--f-jp); color: var(--stage-muted); }
  html.m-shell .bx-m-prog { flex-wrap: wrap; align-items: center; gap: 2px 8px; min-height: 28px; font: 900 15px var(--f-num); color: var(--stage-ink); }
  html.m-shell .bx-m-prog-k { flex: 1 1 100%; font: 700 13px var(--f-jp); color: var(--stage-muted); }
  html.m-shell .bx-m-prog .ic { flex: none; width: 20px; height: 20px; color: var(--stage-muted); }
  html.m-shell .bx-m-bar { flex: 1 1 auto; min-width: 0; height: 8px; border-radius: 999px; background: var(--stage-track); overflow: hidden; }
  html.m-shell .bx-m-bar i { display: block; height: 100%; border-radius: 999px; background: var(--foil-holo); }
  html.m-shell .bx-m-prog small { font: 700 13px var(--f-num); color: var(--stage-muted); }

  html.m-shell .bx-mfan { position: relative; height: 236px; margin-top: 16px; }
  html.m-shell .bx-mfc {
    position: absolute; left: 50%; top: 18px; width: 112px; margin-left: -56px; z-index: var(--z); color: inherit; text-decoration: none; transform-origin: 50% 110%;
    transform: translateX(calc(var(--x) * var(--s, 1))) rotate(var(--r)); transition: transform var(--c-d-press) var(--c-e-press); -webkit-tap-highlight-color: transparent;
  }
  html.m-shell .bx-mfc:active { transform: translateX(calc(var(--x) * var(--s, 1))) translateY(-8px) rotate(0deg) scale(.96); }
  @media (max-width: 380px) { html.m-shell .bx-mfan { --s: .86; } html.m-shell .bx-mfc { width: 104px; margin-left: -52px; } }
  html.m-shell .bx-mfc-card { position: relative; aspect-ratio: 744 / 1040; border-radius: 9px; overflow: hidden; background: var(--stage-faint); box-shadow: var(--stage-card-shadow), 0 0 0 1px var(--stage-card-edge); }
  html.m-shell .bx-mfc.is-gold .bx-mfc-card { box-shadow: var(--stage-card-shadow), 0 0 0 2px var(--lemon-deep); }
  html.m-shell .bx-mfc-card img { width: 100%; height: 100%; display: block; object-fit: cover; }
  html.m-shell .bx-mfc-card .bx-noimg { display: grid; place-items: center; width: 100%; height: 100%; padding: 8px; text-align: center; font-size: 13px; font-weight: 700; color: var(--stage-muted); }
  html.m-shell .bx-mfc .stk { position: absolute; left: -8px; top: -10px; z-index: 2; }
  html.m-shell .bx-mfc-px {
    position: absolute; left: 50%; top: calc(100% + 10px); z-index: 2; transform: translateX(-50%) rotate(calc(var(--r) * -1)); white-space: nowrap;
    padding: 3px 12px; border-radius: 12px; background: var(--stage-ink); color: var(--stage); font: 900 15px/1.4 var(--f-num); box-shadow: var(--stage-pill-shadow);
  }

  html.m-shell .bx-m-fan-note { margin: 28px 0 0; text-align: center; font-size: 13px; line-height: 1.6; font-weight: 700; color: var(--stage-muted); }
  html.m-shell .bx-m-gap { margin-top: 20px; }
  html.m-shell .bx-m-row { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 36px; color: var(--stage-muted); font: 800 14px var(--f-num); }
  html.m-shell .bx-m-row b { color: var(--stage-ink); font: 900 16px var(--f-num); text-align: right; }
  html.m-shell .bx-m-trk { height: 14px; border-radius: 999px; background: var(--stage-faint); overflow: hidden; }
  html.m-shell .bx-m-trk i { display: block; height: 100%; border-radius: 999px; }
  html.m-shell .bx-m-trk .is-box { background: color-mix(in srgb, var(--stage-ink) 78%, transparent); }
  html.m-shell .bx-m-trk .is-ev { background: var(--foil-holo); }
  html.m-shell .bx-m-diff { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin: 8px 0 0; }
  html.m-shell .bx-m-diff small { font-size: 13px; font-weight: 700; color: var(--stage-muted); }
  html.m-shell .bx-m-pill { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border-radius: 999px; background: var(--stage-line); color: var(--stage-ink); font: 900 15px var(--f-num); }
  html.m-shell .bx-m-pill.is-up { background: var(--lemon); color: var(--sticker-ink); }

  html.m-shell .bx-comp { margin-top: 16px; padding-top: 16px; }
  html.m-shell .bx-comp-h .r { display: none; }
  html.m-shell .bx-cbar { height: 14px; }
  html.m-shell .bx-cbar span { font-size: 0; padding: 0; }
  html.m-shell .bx-m-bands { margin: 12px 0 0; padding: 0; list-style: none; }
  html.m-shell .bx-m-bands li { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto auto; align-items: center; gap: 8px 12px; min-height: 40px; color: var(--stage-ink); font: 800 14px var(--f-jp); }
  html.m-shell .bx-m-bands li small { font: 700 13px var(--f-num); color: var(--stage-muted); }
  html.m-shell .bx-m-bands li .num { font: 700 13px var(--f-num); color: var(--stage-muted); }
  html.m-shell .bx-m-bands li b { font: 900 15px var(--f-num); min-width: 64px; text-align: right; }
  html.m-shell .bx-m-bands i { width: 14px; height: 22px; border-radius: 4px; background: var(--sheen), var(--foil-silver); }
  html.m-shell .bx-m-bands i.t-fur, html.m-shell .bx-m-bands i.t-ur, html.m-shell .bx-m-bands i.t-mur { background: var(--sheen), var(--foil-gold); }
  html.m-shell .bx-m-bands i.t-sar { background: var(--sheen), var(--foil-holo); }
  html.m-shell .bx-m-bands i.t-hr { background: var(--foil-stripe), var(--foil-holo); }
  html.m-shell .bx-m-bands i.t-ar { background: var(--sheen), var(--foil-mint); }
  html.m-shell .bx-m-bands i.t-sr { background: var(--foil-rainbow-line), var(--foil-silver); }

  /* ── 展台下面的三栏、全カード一覧 ── */
  html.m-shell .bx-blk-link { min-height: 44px; }
  html.m-shell #panel-ev details.bx-all-main > summary { min-height: 56px; }
  html.m-shell .bx-sec #panel-ev { padding: 8px 16px; }

  /* ── 折叠段（长块）：标题行 56 高、点开后弹簧展开 ── */
  html.m-shell .bx-page [data-m-acc] { padding: 0 16px; }
  html.m-shell .bx-page [data-m-acc].is-open { padding-bottom: 16px; }
  html.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label, h2) {
    position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; min-height: 56px; margin: 0 -16px; padding: 8px 52px 8px 16px; cursor: pointer; border-radius: var(--r-lg); user-select: none; -webkit-tap-highlight-color: transparent; text-align: left;
    transition: transform var(--c-d-press) var(--c-e-press), background-color .15s ease;
  }
  html.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label, h2):active { transform: scale(.985); background: var(--tray); }
  html.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label, h2)::after {
    content: ""; position: absolute; right: 22px; top: 50%; width: 9px; height: 9px; margin-top: -7px;
    border-right: 2.5px solid var(--text-2); border-bottom: 2.5px solid var(--text-2); transform: rotate(45deg); transition: transform var(--c-d-press) var(--c-e-press);
  }
  html.m-shell .bx-page [data-m-acc].is-open > :is(.v3-mod-h, .block-label, h2)::after { margin-top: -2px; transform: rotate(-135deg); }
  html.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label, h2) h2, html.m-shell .bx-page [data-m-acc] > h2 { margin: 0; font-size: 17px; line-height: 1.4; }
  html.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label) { flex-wrap: wrap; row-gap: 0; }
  html.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label) > h2, html.m-shell .bx-page [data-m-acc] > .v3-mod-h > .v3-ht { flex: 1 1 100%; }
  html.m-shell .bx-page [data-m-acc]:not(.is-open) > :is(.v3-mod-h, .block-label) > :not(h2):not(.v3-ht):not(.v3-go) { display: none; }
  html.m-shell .bx-page [data-m-acc]:not(.is-open) > .v3-mod-h .v3-hint { display: none; }
  html.m-shell .bx-page [data-m-acc]:not(.is-open) .bx-m-hide { display: none; }
  html.m-shell .bx-page [data-m-acc].is-open > :is(.v3-mod-h, .block-label, h2) { margin-bottom: 4px; }
  html.m-shell .bx-page [data-m-acc]:not(.is-open) > :not(.v3-mod-h):not(.block-label):not(h2) { display: none !important; }
  html.m-shell .bx-page [data-m-acc] > .v3-mod-h :is(a, button) { position: relative; z-index: 1; }

  /* 按下反馈（SPRING_PRESS：按下立即 .96〜.97，松开弹回）。旧面板里的按钮、链接卡、折叠摘要也一样 */
  html.m-shell :is(.bx-page, .v3-page) :is(button:not([disabled]), a.btn, .chips button, .v3-shop, .v3-xrow, .v3-go, a.btn-src, .fold > summary, .dp-more, .ch-leg, .tc-toggles label):not([data-no-press]) {
    transition: transform var(--c-d-press) var(--c-e-press), background-color .15s ease, color .15s ease, box-shadow .15s ease;
  }
  html.m-shell :is(.bx-page, .v3-page) :is(button:not([disabled]), a.btn, .chips button, .v3-shop, .v3-xrow, .v3-go, a.btn-src, .fold > summary, .dp-more, .ch-leg, .tc-toggles label):not([data-no-press]):active { transform: scale(.97); }

  /* ── 浮动的收藏钮（M3 A24：站上没有价格提醒，只留这一个） ── */
  html.m-shell .m-fab {
    display: grid; place-items: center; position: fixed; right: 16px; bottom: calc(var(--m-dock-space) - 28px); z-index: 88; width: 56px; height: 56px; padding: 0; border: 0; border-radius: 50%;
    background: var(--lemon); color: var(--sticker-ink); cursor: pointer; box-shadow: 0 4px 0 var(--ledge-lemon), var(--shadow-2);
    transition: transform var(--c-d-press) var(--c-e-press), box-shadow var(--c-d-press) var(--c-e-press), opacity .22s ease, visibility 0s; -webkit-tap-highlight-color: transparent;
  }
  /* 第一屏の間と下へスクロールしている間は引っ込む（右寄せの金額・方块に被さらない）。上へ戻すと出る */
  html.m-shell .m-fab.is-away { opacity: 0; visibility: hidden; transform: translateY(16px) scale(.85); pointer-events: none; transition: transform .22s ease, opacity .22s ease, visibility 0s .22s; }
  html.m-shell .m-fab[hidden] { display: none; }
  html.m-shell .m-fab .ic { width: 26px; height: 26px; }
  html.m-shell .m-fab:active { transform: translateY(3px) scale(.94); box-shadow: 0 1px 0 var(--ledge-lemon), var(--shadow-1); }
  html.m-shell .m-fab[aria-pressed="true"] { background: var(--plate); color: var(--lemon); box-shadow: var(--shadow-plate, var(--shadow-2)); }
  html.m-shell .m-fab:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }

  /* ── 手机上可点件补到 44（桌面 40 的那些） ── */
  html.m-shell .bx-page .ch-ranges button, html.m-shell .bx-page .ch-leg, html.m-shell .bx-page .tc-toggles label,
  html.m-shell .bx-page .dp-more, html.m-shell .bx-page .shop-order-note a, html.m-shell .bx-page #buyout-body .v3-meter-cap a,
  html.m-shell .bx-page .btn-src, html.m-shell .bx-foot a { min-height: 44px; }
  html.m-shell .bx-page .fold > summary { min-height: 44px; }
  /* 面板（panels/*.js）の小字：旧い 9.5〜12.5px を、この页の手機だけ 13 へ */
  html.m-shell :is(.bx-page, .v3-page) :is(.pl-k, .pl-d, .tc-note, .tc-note *, .cv-note, .ie-after, .ie-after *, .ie-foot span, .ie-conf, .ie-tag, .ie-dates, .ie-note, .dp-q, .dp-note, .dp-sub,
    .v3-picon, .v3-plab, .v3-plab *, .v3-dlt, .v3-dlt small, .cd-l, .cd-g, .v3-sk, .v3-sn, .v3-sn *, .v3-crossref, .v3-crossref *, .v3-hf .k, .v3-sblock small, .chart-release-note,
    .tp-d, .tp-tag, .ch-xdate, .tc-lgd, .tc-lgd *, .fold > summary, .chips button, .chips em, .ch-ranges button, .ch-tip *, .ch-leg, .ch-leg em, .cv-legend span, .ie-foot a, .tc-toggles label, .dp-tbl td, .dp-tbl th, .dp-legend, .dp-legend span) { font-size: 13px; }
  html.m-shell :is(.bx-page, .v3-page) :is(.chips button, .ch-ranges button) { min-height: 44px; height: 44px; min-width: 44px; }
  html.m-shell .bx-page .canonical-source-history .vt .btn-src { min-height: 44px; }
  html.m-shell :is(.bx-page, .v3-page) .btn-src { height: auto; min-height: 44px; display: inline-flex; align-items: center; }
  html.m-shell :is(.bx-page, .v3-page) :is(.ie-foot a, .ie-item a, .ie-src a) { display: inline-flex; align-items: center; min-height: 44px; }
  html.m-shell .bx-page .ev-sort { min-height: 44px; }
  html.m-shell #panel-ev .vt .nm a { min-height: 44px; line-height: 44px; }
  /* 小字は 13 以上（貼紙・信頼度・页脚。共用の .stk は 11px の !important なので、この页の手機だけ引き上げる） */
  html.m-shell .bx-page .stk, html.m-shell .bx-page .ev-rar.stk, html.m-shell .bx-page .conf-dots, html.m-shell .bx-page .conf-dots *, html.m-shell .bx-foot, html.m-shell .bx-foot div { font-size: 13px !important; }
}
/* 矮屏（360×740 などの手機）：二つの価格方块が第一屏に入るよう、盒子大图を一回り小さく（M3 r2-A14 と同じ考え方） */
@media (max-width: 767px) and (max-height: 800px) {
  html.m-shell .bx-art .v3-stage.bx-pic { height: 214px; }
  html.m-shell .bx-art .v3-stage.bx-pic img { width: 190px; height: 190px; }
  html.m-shell .bx-pic::after { width: 232px; height: 44px; }
  html.m-shell .bx-short { font-size: 26px; }
  html.m-shell .bx-big { font-size: 56px; }
}
@media (hover: hover) and (pointer: fine) and (max-width: 767px) {
  html.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label):hover { background: var(--tray); }
  html.m-shell .m-fab:hover { filter: brightness(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  html.m-shell .bx-mfc, html.m-shell .m-fab, html.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label), html.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label)::after { transition: none !important; }
}
html.c-still.m-shell .bx-mfc, html.c-still.m-shell .m-fab, html.c-still.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label), html.c-still.m-shell .bx-page [data-m-acc] > :is(.v3-mod-h, .block-label)::after { transition: none !important; }

/* ?still：本件新增的手机动效全停（按下缩放、折叠段、倾斜都不动） */
html.c-still.m-shell :is(.bx-page, .v3-page, .m-fab) * , html.c-still.m-shell .m-fab { transition: none !important; animation: none !important; }
html.c-still.m-shell :is(.bx-page, .v3-page) :is(button, a, summary, label):active { transform: none !important; }
