/* SAYA v32 — ニュースと解説（一覧）専用。色は saya-shell.css のトークンのみ（ダーク/ライト両対応）。
   ページ生成: tools/build_news.py。共通部品は v32.css（.v-hero .v-stat .v-tab .v-shop .v-h2 .v-shop-mini）。 */
.content main.nv{max-width:1180px}
.v32 .nv-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---- カテゴリの色（ka=主色 kb=副色） ---- */
.v32 .k-brief{--ka:var(--amber);--kb:var(--red)}
.v32 .k-data{--ka:var(--cyan);--kb:var(--green)}
.v32 .k-artist{--ka:var(--green);--kb:var(--cyan)}
.v32 .k-event{--ka:var(--red);--kb:var(--amber)}
.v32 .k-psa{--ka:var(--cyan);--kb:var(--amber)}
.v32 .k-market{--ka:var(--amber);--kb:var(--cyan)}
.v32 .k-guide{--ka:color-mix(in srgb,var(--cyan) 62%,var(--text2));--kb:var(--green)}
.v32 .k-note{--ka:var(--green);--kb:var(--amber)}

/* ---- ヒーロー ---- */
.v32 .nv-hero{padding:20px 26px 18px;margin-bottom:12px}
.v32 .nv-hero h1{margin:6px 0 4px;font-size:clamp(28px,4.6vw,38px)}
.v32 .nv-hero .v-lead{font-size:16px;font-weight:500;color:var(--text2)}
.v32 .nv-hero .v-stats{margin-top:14px;gap:8px}
.v32 .nv-hero .v-stat{flex:0 1 auto}
.v32 .nv-hero .v-stat{min-width:96px;padding:7px 13px 6px}
.v32 .nv-hero .v-stat b{font-size:19px}
.v32 .nv-hero-art{position:absolute;right:30px;top:18px;pointer-events:none}
.v32 .nv-hero-art .nv-fan{position:static}
.v32 .nv-hero-art .nv-c{margin-left:-26px}
.v32 .nv-hero-art .nv-c:first-child{margin-left:0}

/* ---- カテゴリのタブ ---- */
.v32 .nv-tabs{margin:14px 0 4px;gap:7px}
.v32 .nv-tabs .v-tab{padding:6px 12px;font-size:12.5px}
.v32 .nv-tabs .v-tab:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.v32 .nv-tabs .v-tab i{opacity:.9}

/* ---- 格子 ---- */
.v32 .nv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:16px;margin:14px 0 6px;align-items:stretch;grid-auto-flow:row dense}
.v32 .nv-ad{grid-column:1/-1}
.v32 .nv-ad .gearbar,.v32 .nv-ad .rkbar{margin:0}
.v32 .nv-note{margin-top:10px}
.v32 .nv-note .v-h2{margin-top:30px}
.v32 .nv-end{margin-top:20px}
.v32 .nv-end .v-shop{margin-top:6px}
.v32 .nv-end .gearbar{margin-top:10px}
.v32 .sx-note{margin:22px 0 0;font-size:12.5px}

/* ---- タイル ---- */
.v32 .nv-tile{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden;color:var(--text);
  transition:border-color .15s,transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s}
.v32 .nv-tile:hover{border-color:color-mix(in srgb,var(--ka) 55%,var(--line));transform:translateY(-3px);box-shadow:0 12px 28px color-mix(in srgb,var(--text) 14%,transparent)}
.v32 .nv-a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}
.v32 .nv-tile:has(.nv-a:focus-visible){outline:2px solid var(--cyan);outline-offset:2px}

/* カバー */
.v32 .nv-cv{position:relative;aspect-ratio:16/9;overflow:hidden;container-type:inline-size;isolation:isolate;
  background:
    radial-gradient(90% 120% at var(--bx,85%) var(--by,0%),color-mix(in srgb,var(--ka) 30%,transparent),transparent 62%),
    radial-gradient(70% 90% at 0% 100%,color-mix(in srgb,var(--kb) 18%,transparent),transparent 66%),
    linear-gradient(var(--ang,160deg),var(--card2),var(--card))}
.v32 .nv-cv::before{content:"";position:absolute;right:0;top:0;bottom:0;width:64%;pointer-events:none;
  background:repeating-linear-gradient(0deg,color-mix(in srgb,var(--text) 7%,transparent) 0 1px,transparent 1px 24px)}
.v32 .nv-cv svg{position:absolute;inset:0;width:100%;height:100%;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.v32 .nv-cv.has-fan svg{opacity:.62}
.v32 .nv-tile:hover .nv-cv svg{transform:scale(1.035)}
.v32 .nv-kk{position:absolute;left:6cqw;top:5.4cqw;font:700 clamp(9px,2.7cqw,11px)/1 'JetBrains Mono',monospace;letter-spacing:.2em;color:var(--ka)}
.v32 .nv-big{--fz:min(var(--fs,16cqw),74px);position:absolute;left:6cqw;bottom:6.2cqw;max-width:49cqw;display:flex;flex-wrap:wrap;align-items:baseline;color:var(--text)}
.v32 .has-fan .nv-big{max-width:41cqw}
.v32 .nv-big b{font:700 var(--fz)/1 'JetBrains Mono','IBM Plex Sans JP',monospace;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.v32 .nv-big u{text-decoration:none;font:700 calc(var(--fz)*.52)/1 'JetBrains Mono','IBM Plex Sans JP',monospace;color:var(--ka);margin-left:.18em}
.v32 .nv-big small{flex:0 0 100%;margin-top:.55em;font:600 clamp(10.5px,3.5cqw,13px)/1.4 'IBM Plex Sans JP',sans-serif;color:var(--text2)}

/* カードの扇 */
.v32 .nv-fan{position:absolute;right:5.5cqw;bottom:6cqw;display:flex;align-items:flex-end}
.v32 .nv-c{display:block;margin-left:-22px;position:relative;z-index:var(--z,1);transform:translateY(var(--y,0)) rotate(var(--r,0));transform-origin:50% 100%;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.v32 .nv-c:first-child{margin-left:0}
.v32 .nv-c .vt{display:block}
.v32 .nv-tile:hover .nv-c:nth-child(1){transform:translate(-5px,var(--y,0)) rotate(calc(var(--r,0deg) - 5deg))}
.v32 .nv-tile:hover .nv-c:nth-child(3){transform:translate(5px,var(--y,0)) rotate(calc(var(--r,0deg) + 5deg))}
.v32 .nv-tile:hover .nv-f3 .nv-c:nth-child(2),.v32 .nv-tile:hover .nv-f1 .nv-c:nth-child(1){transform:translateY(calc(var(--y,0px) - 5px)) rotate(var(--r,0deg))}
.v32 .nv-tile:hover .nv-f2 .nv-c:nth-child(1){transform:translate(-4px,var(--y,0)) rotate(calc(var(--r,0deg) - 4deg))}
.v32 .nv-tile:hover .nv-f2 .nv-c:nth-child(2){transform:translate(4px,var(--y,0)) rotate(calc(var(--r,0deg) + 4deg))}

/* SVG モチーフの部品 */
.v32 .nv-cv .g{fill:var(--text);fill-opacity:.13}
.v32 .nv-cv .g2{fill:var(--text);fill-opacity:.34}
.v32 .nv-cv .g2f{fill:var(--text);fill-opacity:.26}
.v32 .nv-cv .g3{fill:var(--text);fill-opacity:.3}
.v32 .nv-cv .a{fill:var(--ka)}
.v32 .nv-cv .a2{fill:var(--ka);fill-opacity:.5}
.v32 .nv-cv .b{fill:var(--kb)}
.v32 .nv-cv .o{fill:none;stroke:var(--text);stroke-opacity:.4;stroke-width:1.5;stroke-dasharray:3 3}
.v32 .nv-cv .ho{fill:none;stroke:var(--text);stroke-opacity:.5;stroke-width:1.6}
.v32 .nv-cv .ho2{fill:none;stroke:var(--ka);stroke-opacity:.5;stroke-width:2}
.v32 .nv-cv .ln{stroke:var(--text);stroke-opacity:.22;stroke-width:1;fill:none}
.v32 .nv-cv .ln2{stroke:var(--text);stroke-opacity:.2;stroke-width:1.4;fill:none}
.v32 .nv-cv .dl{stroke:var(--text);stroke-opacity:.38;stroke-width:1.2;stroke-dasharray:3 3;fill:none}
.v32 .nv-cv .la{stroke:var(--ka);stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.v32 .nv-cv .gl2{stroke-width:2}
.v32 .nv-cv .lg{stroke:var(--text);stroke-opacity:.38;stroke-width:2.6;fill:none;stroke-linecap:round}
.v32 .nv-cv .trk{fill:none;stroke:var(--text);stroke-opacity:.13;stroke-width:15}
.v32 .nv-cv .arc{fill:none;stroke:var(--ka);stroke-width:15;stroke-linecap:round}
.v32 .nv-cv .arc2{stroke:var(--kb)}
.v32 .nv-cv .dsh,.v32 .nv-cv .dsh2{fill:none;stroke:var(--text);stroke-opacity:.22;stroke-width:1.2;stroke-dasharray:2 5}
.v32 .nv-cv .dsh2{stroke-opacity:.14}
.v32 .nv-cv .vn{fill-opacity:.1}
.v32 .nv-cv .ov{fill-opacity:.85}
.v32 .nv-cv .vo{fill:none;stroke:var(--ka);stroke-opacity:.7;stroke-width:1.6}
.v32 .nv-cv .bl{stroke:var(--text);stroke-opacity:.22;stroke-width:2.4;stroke-linecap:round}
.v32 .nv-cv .bl.a{stroke:var(--ka);stroke-opacity:.9;fill:none}
.v32 .nv-cv .rip{fill:none;stroke:var(--ka);stroke-opacity:.38;stroke-width:1.5}
.v32 .nv-cv .bolt{fill-opacity:.92}
.v32 .nv-cv text{font:600 10.5px 'JetBrains Mono','IBM Plex Sans JP',monospace;fill:var(--text2)}
.v32 .nv-cv text.tg{fill:var(--ka);font-weight:700;letter-spacing:.12em}
.v32 .nv-cv .gr{transform-box:fill-box;transform-origin:50% 100%}
.v32 .nv-cv .gx{transform-box:fill-box;transform-origin:0 50%}
.v32 .nv-cv .gf{transform-box:fill-box;transform-origin:center}
.v32 .nv-cv .gl{stroke-dasharray:100}

/* 本文 */
.v32 .nv-body{display:flex;flex-direction:column;gap:7px;padding:13px 15px 14px;flex:1 1 auto;min-width:0}
.v32 .nv-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.v32 .nv-chip{display:inline-block;padding:1px 10px;border-radius:99px;font:700 11.5px/1.7 'IBM Plex Sans JP',sans-serif;color:var(--ka);white-space:nowrap;
  border:1px solid color-mix(in srgb,var(--ka) 46%,transparent);background:color-mix(in srgb,var(--ka) 10%,transparent)}
.v32 .nv-meta time,.v32 .nv-ext{font:500 11.5px/1.7 'JetBrains Mono',monospace;color:var(--dim)}
.v32 .nv-t{margin:0;padding:0;border:0;background:none;font:700 15.5px/1.5 'IBM Plex Sans JP',sans-serif;color:var(--text);overflow-wrap:anywhere;word-break:auto-phrase;text-wrap:balance;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
html[data-theme="light"] .v32 .nv-t{background:none;border:0;border-radius:0;padding:0;margin:0}
html[data-theme="light"] .v32 .nv-note .v-h2{background:none;border:0;border-radius:0;padding:0;margin:30px 0 12px}
.v32 .nv-a{color:var(--text);text-decoration:none}
.v32 .nv-a:hover{color:var(--text)}
.v32 .nv-a::after{content:"";position:absolute;inset:0;z-index:1}
.v32 .nv-tile:hover .nv-a{color:var(--ka)}
.v32 .nv-s{margin:0;font:400 13px/1.7 'IBM Plex Sans JP',sans-serif;color:var(--text2);overflow-wrap:anywhere;word-break:auto-phrase;text-wrap:pretty;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.v32 .nv-go{margin-top:auto;align-self:flex-end;font:700 12px/1 'IBM Plex Sans JP',sans-serif;color:var(--ka);opacity:0;transform:translateX(-4px);transition:opacity .18s,transform .18s}
.v32 .nv-tile:hover .nv-go,.v32 .nv-tile:focus-within .nv-go{opacity:1;transform:none}
.v32 .nv-pr{display:none}
.v32 .nv-pr .v-shop-mini{display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* 先頭（最新）の大きなカード */
.v32 .nv-tile.is-lead .nv-t{font-size:clamp(18px,4.8vw,20px);-webkit-line-clamp:4;line-clamp:4}
.v32 .nv-tile.is-lead .nv-s{-webkit-line-clamp:3;line-clamp:3}
.v32 .nv-tile.is-lead .nv-pr{display:block;position:relative;z-index:2;margin-top:2px}
@media (min-width:760px){
  .v32 .nv-tile.is-lead{grid-column:1/-1;flex-direction:row}
  .v32 .nv-tile.is-lead .nv-cv{aspect-ratio:auto;flex:1.25 1 0;min-width:0;min-height:280px}
  .v32 .nv-tile.is-lead .nv-body{flex:1 1 0;padding:26px 28px;gap:12px;justify-content:center}
  .v32 .nv-tile.is-lead .nv-t{font-size:clamp(21px,2.3vw,28px);line-height:1.45}
  .v32 .nv-tile.is-lead .nv-s{font-size:14.5px;-webkit-line-clamp:4;line-clamp:4}
  .v32 .nv-tile.is-lead .nv-chip{font-size:12.5px}
  .v32 .nv-tile.is-lead .nv-fan{transform:scale(1.3);transform-origin:100% 100%}
  .v32 .nv-tile.is-lead .nv-go{opacity:1;margin-top:4px;align-self:flex-start;font-size:13px}
}

/* ---- 種類（速報 / ニュース / 解説）の色：--kc ---- */
.v32 .kd-sokuhou{--kc:var(--amber)}
.v32 .kd-news{--kc:var(--cyan)}
.v32 .kd-kaisetsu{--kc:var(--green)}
.v32 .kd-all{--kc:var(--text2)}

/* 種類バッジ（タイル・大カード・ショートカット帯） */
.v32 .nv-kind{display:inline-flex;align-items:center;gap:5px;padding:1px 8px 1px 7px;border-radius:6px;font:700 11px/1.75 'IBM Plex Sans JP',sans-serif;letter-spacing:.04em;white-space:nowrap;
  color:color-mix(in srgb,var(--kc) 72%,var(--text));background:color-mix(in srgb,var(--kc) 18%,transparent);border:1px solid color-mix(in srgb,var(--kc) 42%,transparent)}
.v32 .nv-kind::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--kc);flex:none}
.v32 .nv-tile.is-lead .nv-kind{font-size:12px}

/* ---- ショートカット帯（種類ごとの最新1本） ---- */
.v32 .nv-quick-w{container-type:inline-size;margin-top:16px}
.v32 .nv-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v32 .nv-q{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid color-mix(in srgb,var(--kc) 38%,var(--line));border-radius:14px;overflow:hidden;
  background:linear-gradient(160deg,color-mix(in srgb,var(--kc) 11%,var(--card)),var(--card) 70%);transition:border-color .18s,transform .18s}
.v32 .nv-q:hover,.v32 .nv-q:focus-within{border-color:var(--kc)}
.v32 .nv-q-a{display:flex;gap:12px;align-items:stretch;padding:11px 12px 8px;color:var(--text);text-decoration:none;flex:1 1 auto;min-width:0}
.v32 .nv-q-a:hover{color:var(--text)}
.v32 .nv-q-a:focus-visible,.v32 .nv-q-all:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px;border-radius:12px}
.v32 .nv-q-p{flex:0 0 74px;display:flex;align-items:center;justify-content:center;border-radius:10px;min-height:64px;
  background:color-mix(in srgb,var(--kc) 14%,var(--card2));border:1px solid color-mix(in srgb,var(--kc) 30%,transparent)}
.v32 .nv-q-p b{font:700 20px/1 'JetBrains Mono',monospace;color:color-mix(in srgb,var(--kc) 70%,var(--text));white-space:nowrap;letter-spacing:-.02em}
.v32 .nv-q-p u{text-decoration:none;font-size:.5em;margin-left:1px;opacity:.9}
.v32 .nv-q-t{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1 1 auto}
.v32 .nv-q-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v32 .nv-q-h time{font:500 11px/1.7 'JetBrains Mono',monospace;color:var(--dim)}
.v32 .nv-q-t strong{font:700 13.5px/1.55 'IBM Plex Sans JP',sans-serif;color:var(--text);overflow-wrap:anywhere;word-break:auto-phrase;text-wrap:balance;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.v32 .nv-q-all{appearance:none;display:block;width:100%;margin:0;padding:7px 12px 8px;border:0;border-top:1px solid color-mix(in srgb,var(--kc) 24%,var(--line));border-radius:0;
  background:none;color:color-mix(in srgb,var(--kc) 72%,var(--text));font:700 12px/1.4 'IBM Plex Sans JP',sans-serif;text-align:right;cursor:pointer;filter:none}
.v32 .nv-q-all:hover{background:color-mix(in srgb,var(--kc) 12%,transparent);filter:none}
@container (max-width:780px){
  .v32 .nv-quick{gap:8px}
  .v32 .nv-q-p{display:none}
  .v32 .nv-q-a{padding:11px 12px 8px}
}
@container (max-width:560px){
  .v32 .nv-quick{grid-template-columns:minmax(0,1fr)}
  .v32 .nv-q{flex-direction:row;align-items:stretch}
  .v32 .nv-q-a{flex:1 1 auto}
  .v32 .nv-q-p{display:flex;flex-basis:62px;min-height:0}
  .v32 .nv-q-all{width:auto;flex:0 0 auto;border-top:0;border-left:1px solid color-mix(in srgb,var(--kc) 24%,var(--line));padding:0 14px;display:flex;align-items:center;white-space:nowrap}
  .v32 .nv-q-t strong{-webkit-line-clamp:3;line-clamp:3}
}

@container (max-width:300px){
  .v32 .nv-q-p{display:none}
}

/* ---- 絞り込み：最上段=種類、その下=カテゴリ ---- */
.v32 .nv-filter{scroll-margin-top:72px;margin-top:6px}
.v32 .nv-kinds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:5px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.v32 .nv-k{appearance:none;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;margin:0;padding:11px 8px;border:1px solid transparent;border-radius:12px;
  background:none;color:var(--text2);font:700 15px/1.3 'IBM Plex Sans JP',sans-serif;cursor:pointer;filter:none;transition:background .16s,border-color .16s,color .16s}
.v32 .nv-k:hover{background:color-mix(in srgb,var(--kc) 9%,transparent);color:var(--text);filter:none}
.v32 .nv-k:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
.v32 .nv-k i{font:700 12px/1 'JetBrains Mono',monospace;font-style:normal;padding:3px 7px;border-radius:99px;color:var(--dim);background:color-mix(in srgb,var(--text) 7%,transparent)}
.v32 .nv-k[aria-pressed="true"]{background:color-mix(in srgb,var(--kc) 17%,var(--card));border-color:color-mix(in srgb,var(--kc) 60%,transparent);color:var(--text);box-shadow:0 0 0 1px color-mix(in srgb,var(--kc) 20%,transparent) inset}
.v32 .nv-k[aria-pressed="true"] i{color:color-mix(in srgb,var(--kc) 75%,var(--text));background:color-mix(in srgb,var(--kc) 22%,transparent)}
.v32 .nv-k.kd-sokuhou::before,.v32 .nv-k.kd-news::before,.v32 .nv-k.kd-kaisetsu::before{content:"";width:8px;height:8px;border-radius:3px;background:var(--kc);flex:none}
.v32 .nv-tabs[hidden],.v32 .nv-tile[hidden],.v32 .nv-grid[hidden],.v32 .nv-note[hidden],.v32 .v-tab[hidden]{display:none}
@media (max-width:560px){
  .v32 .nv-kinds{gap:4px;padding:4px}
  .v32 .nv-k{flex-direction:column;gap:4px;padding:9px 2px 8px;font-size:13.5px}
  .v32 .nv-k::before{display:none}
  .v32 .nv-k i{font-size:11px;padding:2px 6px}
}

/* JS が無いとき、押しても動かない絞り込み UI は出さない（全件の時系列一覧はそのまま読める） */
main.nv:not(.nv-js) .nv-kinds,main.nv:not(.nv-js) .nv-tabs,main.nv:not(.nv-js) .nv-q-all{display:none}
@media (prefers-reduced-motion:reduce){
  .v32 .nv-q,.v32 .nv-k{transition:none}
}

/* ---- FAQ（最下段） ---- */
.v32 .nv-hero ~ .v-faq{margin-top:34px}

/* ---- 動き（IntersectionObserver が .seen を付ける。JS が無ければ最初から全部見える） ---- */
@keyframes nv-in{from{opacity:0;transform:translateY(18px)}}
@keyframes nv-gy{from{transform:scaleY(0)}}
@keyframes nv-gx{from{transform:scaleX(0)}}
@keyframes nv-pop{from{opacity:0;transform:scale(.3)}}
@keyframes nv-ring{from{stroke-dasharray:0 100}}
@keyframes nv-draw{from{stroke-dashoffset:100}}
@keyframes nv-rip{from{opacity:0;transform:scale(.4)}}
@media (prefers-reduced-motion:no-preference){
  .nv-js .nv-tile:not(.seen){opacity:0}
  .nv-js .nv-tile.seen{animation:nv-in .6s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(min(var(--i,0),5)*70ms)}
  .nv-js .nv-tile:not(.seen) .gr{transform:scaleY(0)}
  .nv-js .nv-tile:not(.seen) .gx{transform:scaleX(0)}
  .nv-js .nv-tile:not(.seen) .gf{opacity:0}
  .nv-js .nv-tile:not(.seen) .ga{stroke-dasharray:0 100}
  .nv-js .nv-tile:not(.seen) .gl{stroke-dashoffset:100}
  .nv-js .nv-tile:not(.seen) .rip{opacity:0}
  .nv-js .nv-tile.seen .gr{animation:nv-gy .85s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--d,0ms) + 260ms)}
  .nv-js .nv-tile.seen .gx{animation:nv-gx .9s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--d,0ms) + 260ms)}
  .nv-js .nv-tile.seen .gf{animation:nv-pop .5s cubic-bezier(.2,.8,.3,1.2) backwards;animation-delay:calc(var(--d,0ms) + 260ms)}
  .nv-js .nv-tile.seen .ga{animation:nv-ring 1.1s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:.3s}
  .nv-js .nv-tile.seen .gl{animation:nv-draw 1.2s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:.3s}
  .nv-js .nv-tile.seen .rip{animation:nv-rip .8s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--d,0ms) + 300ms)}
}

/* ---- 幅 ---- */
@media (max-width:900px){
  .v32 .nv-hero-art{display:none}
}
@media (max-width:560px){
  .v32 .nv-hero{padding:18px 16px 16px}
  .v32 .nv-hero .v-lead{font-size:15px}
  .v32 .nv-tabs{gap:6px}
  .v32 .nv-tabs .v-tab{padding:6px 11px}
  .v32 .nv-grid{gap:14px}
  .v32 .nv-body{padding:12px 14px 14px}
  .v32 .nv-ad .gearbar{font-size:13px}
}
@media print{
  .nv-js .nv-tile:not(.seen){opacity:1}
}
