/* 揺: mainshock cards, cumulative chart + magnitude strip, data table (p/earthquake.html). Deliberately quiet colours. */
.shocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}
.shock{padding:20px 24px;border-radius:22px;background:var(--paper);border:1px solid var(--line)}
.shock__y{font-size:clamp(28px,3vw,40px);line-height:1;font-weight:300;color:var(--ink)}
.shock:first-child .shock__y{color:#7D867F}
.shock:last-child .shock__y{color:var(--water)}
.shock__d{margin-top:10px;font-size:15px;font-weight:700}
.shock__m{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:6px;font-size:14px;color:var(--body)}
.shock__m strong{margin-left:4px;font-weight:700;color:var(--ink)}
.quake{margin-top:16px;padding:clamp(18px,2.4vw,28px);border-radius:28px;background:var(--paper);border:1px solid var(--line)}
.quake__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.quake__modes{display:inline-flex;padding:4px;border-radius:999px;background:var(--paper-2)}
.seg{min-height:40px;padding:0 16px;border:0;border-radius:999px;background:none;font:inherit;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;transition:background-color .25s ease,color .25s ease}
.seg[aria-pressed="true"]{background:#FFF;color:var(--ink);box-shadow:0 2px 8px rgba(30,42,36,.08)}
.quake__read{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px;font-size:14px;color:var(--body)}
.quake__t{font-size:clamp(18px,1.6vw,22px);font-weight:500;color:var(--ink);min-width:9em}
.quake__read .lat{font-size:20px;color:var(--ink);margin:0 2px}
.quake__read i{display:inline-block;width:14px;height:3px;margin-right:6px;vertical-align:middle;border-radius:2px}
.quake__a i{background:#8A938C}
.quake__b i{background:var(--water)}
.quake__chart{position:relative;margin-top:14px;border-radius:16px;cursor:crosshair;touch-action:pan-y}
.quake__chart:focus-visible{outline-offset:6px}
.quake__svg{display:block;width:100%;height:auto;overflow:visible}
.q-grid{stroke:#E4E7E1;stroke-width:1}
.q-tick{stroke:#EEF0EA;stroke-width:1}
.q-y,.q-x,.q-cap{font-family:var(--f-lat);font-size:11px;fill:var(--muted)}
.q-y{text-anchor:end}
.q-x{text-anchor:middle}
.q-x--end{font-weight:500;fill:var(--ink)}
.q-cap{font-family:var(--f-jp);font-size:11px}
.q-main{font-size:11px;font-weight:700;fill:var(--ink)}
.q-line{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 2.2s cubic-bezier(.45,0,.2,1)}
.q-line.is-hidden{stroke-dashoffset:1;transition:none}
.q-line--a{stroke:#8A938C}
.q-line--b{stroke:var(--water)}
.q-end{font-size:13px;font-weight:700}
.q-end--a{fill:#6E776F}
.q-end--b{fill:var(--water)}
.q-dot--a{fill:none;stroke:#8A938C;stroke-width:1.2}
.q-dot--b{fill:rgba(63,110,112,.55)}
.q-dot.is-main{stroke-width:2}
.q-dot--b.is-main{fill:var(--water)}
.q-cursor{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 4;opacity:.5}
.q-pin{stroke:#FFF;stroke-width:2}
.q-pin--a{fill:#8A938C}
.q-pin--b{fill:var(--water)}
.quake__table{width:100%;margin-top:20px;border-collapse:collapse;font-size:14px}
.quake__table caption{text-align:left;padding-bottom:8px;font-size:12px;color:var(--muted)}
.quake__table th,.quake__table td{padding:8px 10px;border-top:1px solid var(--line);text-align:right}
.quake__table th[scope="row"],.quake__table thead th:first-child{text-align:left;font-weight:500}
.quake__table thead th{font-size:12px;color:var(--muted);font-weight:700}
.quake__caveat{margin-top:16px;padding:12px 16px;border-radius:14px;background:var(--stone);font-size:13px;line-height:1.8;color:var(--body)}
.quake__caveat strong{color:var(--ink)}
.hist--wide{grid-template-columns:repeat(var(--cols,6),minmax(0,1fr))}
.spec{margin:16px 0 0}
.spec>div{display:grid;grid-template-columns:6em minmax(0,1fr);gap:12px;padding-block:10px;border-top:1px solid var(--line);font-size:14px}
.spec dt{font-weight:700;color:var(--muted)}
.spec dd{margin:0;color:var(--body)}
@media (max-width:700px){
  .shocks{grid-template-columns:minmax(0,1fr)}
  .quake__t{min-width:0;width:100%}
}
