/*
  World Guide Statistics Template CSS
  Shared by:
  1. Ranking hub page
  2. Ranking year page
  3. Country trend page

  Scope: #wg-stat-page
  Prefix: wgst-
  Max content width: 858px
*/

#wg-stat-page,
#wg-stat-page *,
#wg-stat-page *::before,
#wg-stat-page *::after { box-sizing: border-box; }

#wg-stat-page {
  --wgst-text:#172033;
  --wgst-muted:#64748b;
  --wgst-subtle:#f6f8fb;
  --wgst-surface:#fff;
  --wgst-border:#dbe3ef;
  --wgst-border-strong:#c7d2e3;
  --wgst-primary:#2563eb;
  --wgst-primary-dark:#1d4ed8;
  --wgst-primary-soft:#eaf1ff;
  --wgst-accent:#06b6d4;
  --wgst-green:#16a34a;
  --wgst-red:#dc2626;
  --wgst-orange:#f59e0b;
  --wgst-purple:#7c3aed;
  --wgst-shadow:0 18px 45px rgba(15,23,42,.10);
  --wgst-radius-lg:22px;
  --wgst-radius-md:16px;
  --wgst-radius-sm:10px;
  isolation:isolate;
  max-width:858px;
  margin:0 auto;
  padding:0 0 36px;
  color:var(--wgst-text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.75;
  letter-spacing:.01em;
}

#wg-stat-page a { color:inherit; text-decoration:none; }
#wg-stat-page button,
#wg-stat-page input,
#wg-stat-page select { font:inherit; }
#wg-stat-page .wgst-section { margin-top:28px; }

/* Hero */
#wg-stat-page .wgst-hero {
  position:relative;
  overflow:hidden;
  padding:30px 26px 26px;
  border:1px solid rgba(37,99,235,.16);
  border-radius:var(--wgst-radius-lg);
  background:radial-gradient(circle at top right,rgba(6,182,212,.23),transparent 38%),linear-gradient(135deg,#eef5ff 0%,#fff 48%,#f7fbff 100%);
  box-shadow:var(--wgst-shadow);
}
#wg-stat-page .wgst-hero::before {
  content:"";
  position:absolute;
  right:-70px;
  bottom:-100px;
  width:230px;
  height:230px;
  border-radius:999px;
  background:rgba(37,99,235,.08);
  pointer-events:none;
}
#wg-stat-page .wgst-kicker {
  position:relative;
  display:inline-flex;
  gap:8px;
  align-items:center;
  margin:0 0 12px;
  padding:5px 12px;
  border:1px solid rgba(37,99,235,.18);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--wgst-primary-dark);
  font-size:13px;
  font-weight:800;
  line-height:1.4;
}
#wg-stat-page .wgst-title {
  position:relative;
  margin:0;
  color:var(--wgst-text);
  font-size:clamp(26px,4vw,38px);
  line-height:1.25;
  font-weight:900;
  letter-spacing:-.04em;
}
#wg-stat-page .wgst-lead {
  position:relative;
  max-width:748px;
  margin:14px 0 0;
  color:#334155;
  font-size:clamp(15px,2vw,17px);
  line-height:1.9;
}
#wg-stat-page .wgst-lead strong { color:var(--wgst-primary-dark); font-weight:900; }

/* Chips */
#wg-stat-page .wgst-meta-row { position:relative; display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
#wg-stat-page .wgst-meta-chip,
#wg-stat-page .wgst-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.75);
  color:#475569;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
#wg-stat-page .wgst-meta-chip { border:1px solid rgba(100,116,139,.18); }
#wg-stat-page .wgst-badge { background:var(--wgst-subtle); }
#wg-stat-page .wgst-badge.is-estimate { background:#eef5ff; color:#1d4ed8; }
#wg-stat-page .wgst-badge.is-forecast { background:#f5f3ff; color:#6d28d9; }
#wg-stat-page .wgst-badge.is-positive { background:#ecfdf5; color:#047857; }
#wg-stat-page .wgst-badge.is-negative { background:#fef2f2; color:#b91c1c; }

#wg-stat-page .wgst-badge.is-asia { background: #eef5ff; color: #1d4ed8; }
#wg-stat-page .wgst-badge.is-africa { background: #ecfdf5; color: #047857; }
#wg-stat-page .wgst-badge.is-america { background: #fff7ed; color: #c2410c; }
#wg-stat-page .wgst-badge.is-europe { background: #f5f3ff; color: #6d28d9; }

/* Summary cards */
#wg-stat-page .wgst-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }
#wg-stat-page .wgst-stat-card {
  position:relative;
  min-height:132px;
  padding:15px 14px 14px;
  border:1px solid rgba(219,227,239,.95);
  border-radius:var(--wgst-radius-md);
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}
#wg-stat-page .wgst-stat-card.is-featured { border-color:rgba(37,99,235,.30); background:linear-gradient(180deg,#fff 0%,#eef5ff 100%); }
#wg-stat-page .wgst-stat-card.is-forecast { border-color:rgba(124,58,237,.25); background:linear-gradient(180deg,#fff 0%,#f5f3ff 100%); }
#wg-stat-page .wgst-stat-label {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:28px;
  padding:3px 9px;
  border-radius:999px;
  background:var(--wgst-primary-soft);
  color:var(--wgst-primary-dark);
  font-size:12px;
  font-weight:900;
}
#wg-stat-page .wgst-stat-label.is-orange { background:#fff7ed; color:#c2410c; }
#wg-stat-page .wgst-stat-label.is-purple { background:#f5f3ff; color:#6d28d9; }
#wg-stat-page .wgst-stat-label.is-green { background:#ecfdf5; color:#047857; }
#wg-stat-page .wgst-stat-name { display:block; margin-top:10px; color:var(--wgst-text); font-size:15px; font-weight:900; line-height:1.35; }
#wg-stat-page .wgst-stat-value { display:block; margin-top:5px; color:#263349; font-size:17px; font-weight:900; line-height:1.35; letter-spacing:-.02em; }
#wg-stat-page .wgst-stat-note { display:block; margin-top:5px; color:var(--wgst-muted); font-size:12px; line-height:1.55; }

/* Controls */
#wg-stat-page .wgst-control-panel,
#wg-stat-page .wgst-chart-card,
#wg-stat-page .wgst-table-card,
#wg-stat-page .wgst-text-card,
#wg-stat-page .wgst-faq-card,
#wg-stat-page .wgst-related-card {
  border:1px solid var(--wgst-border);
  border-radius:var(--wgst-radius-lg);
  background:var(--wgst-surface);
  box-shadow:0 10px 32px rgba(15,23,42,.06);
}
#wg-stat-page .wgst-control-panel { padding:18px; }
#wg-stat-page .wgst-control-head,
#wg-stat-page .wgst-section-head,
#wg-stat-page .wgst-table-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
#wg-stat-page .wgst-control-head { margin-bottom:14px; }
#wg-stat-page .wgst-control-title,
#wg-stat-page .wgst-table-title { margin:0; font-weight:900; letter-spacing:-.02em; }
#wg-stat-page .wgst-control-title { font-size:18px; line-height:1.5; }
#wg-stat-page .wgst-control-help,
#wg-stat-page .wgst-subtext,
#wg-stat-page .wgst-table-note { color:var(--wgst-muted); }
#wg-stat-page .wgst-control-help { margin:3px 0 0; font-size:13px; }
#wg-stat-page .wgst-field-grid { display:grid; grid-template-columns:1fr 1.4fr 1fr 1fr; gap:10px; }
#wg-stat-page .wgst-field-grid.is-two { grid-template-columns:1fr 1fr; }
#wg-stat-page .wgst-field-grid.is-three { grid-template-columns:1fr 1fr 1fr; }
#wg-stat-page .wgst-field { min-width:0; }
#wg-stat-page .wgst-label { display:block; margin-bottom:6px; color:#475569; font-size:12px; font-weight:900; }
#wg-stat-page .wgst-select,
#wg-stat-page .wgst-input {
  width:100%;
  min-height:44px;
  padding:9px 12px;
  border:1px solid var(--wgst-border-strong);
  border-radius:12px;
  background:#fff;
  color:var(--wgst-text);
  outline:none;
}
#wg-stat-page .wgst-select:focus,
#wg-stat-page .wgst-input:focus { border-color:rgba(37,99,235,.72); box-shadow:0 0 0 4px rgba(37,99,235,.12); }
#wg-stat-page .wgst-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
#wg-stat-page .wgst-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 12px;
  border:1px solid var(--wgst-border);
  border-radius:999px;
  background:var(--wgst-subtle);
  color:#334155;
  font-size:13px;
  font-weight:800;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease;
}
#wg-stat-page .wgst-pill:hover,
#wg-stat-page .wgst-pill:focus-visible { border-color:rgba(37,99,235,.35); background:var(--wgst-primary-soft); color:var(--wgst-primary-dark); transform:translateY(-1px); }
#wg-stat-page .wgst-pill.is-current { border-color:var(--wgst-primary); background:var(--wgst-primary); color:#fff; }

/* Headings/buttons */
#wg-stat-page .wgst-section-head { margin-bottom:12px; }
#wg-stat-page .wgst-heading { margin:0; color:var(--wgst-text); font-size:clamp(21px,3vw,28px); line-height:1.35; font-weight:900; letter-spacing:-.035em; }
#wg-stat-page .wgst-subtext { margin:6px 0 0; font-size:14px; line-height:1.75; }
#wg-stat-page .wgst-link-button,
#wg-stat-page .wgst-primary-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 13px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
#wg-stat-page .wgst-link-button { border:1px solid rgba(37,99,235,.24); background:#fff; color:var(--wgst-primary-dark); }
#wg-stat-page .wgst-link-button:hover,
#wg-stat-page .wgst-link-button:focus-visible { background:var(--wgst-primary-soft); }
#wg-stat-page .wgst-primary-button { min-height:42px; padding:9px 16px; border:1px solid var(--wgst-primary); background:var(--wgst-primary); color:#fff; box-shadow:0 10px 20px rgba(37,99,235,.20); }
#wg-stat-page .wgst-primary-button:hover,
#wg-stat-page .wgst-primary-button:focus-visible { background:var(--wgst-primary-dark); transform:translateY(-1px); }

/* Ranking bar chart */
#wg-stat-page .wgst-chart-card { padding:18px; }
#wg-stat-page .wgst-bar-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
#wg-stat-page .wgst-bar-item { display:grid; grid-template-columns:122px 1fr 92px; gap:10px; align-items:center; }
#wg-stat-page .wgst-bar-country { display:inline-flex; align-items:center; gap:7px; min-width:0; color:#263349; font-size:13px; font-weight:900; }
#wg-stat-page .wgst-bar-rank { display:inline-flex; align-items:center; justify-content:center; width:28px; height:24px; border-radius:999px; background:var(--wgst-subtle); color:#475569; font-size:12px; font-weight:900; }
#wg-stat-page .wgst-bar-track { overflow:hidden; height:16px; border-radius:999px; background:#edf2f7; }
#wg-stat-page .wgst-bar-fill { display:block; width:var(--bar,0%); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--wgst-primary) 0%,var(--wgst-accent) 100%); }
#wg-stat-page .wgst-bar-fill.is-negative { background:linear-gradient(90deg,var(--wgst-red) 0%,var(--wgst-orange) 100%); }
#wg-stat-page .wgst-bar-value { color:#334155; font-size:13px; font-weight:900; text-align:right; white-space:nowrap; }

/* Trend SVG */
#wg-stat-page .wgst-chart-wrap { position:relative; overflow:hidden; border:1px solid #edf2f7; border-radius:var(--wgst-radius-md); background:linear-gradient(180deg,#fff 0%,#f8fbff 100%); }
#wg-stat-page .wgst-chart-svg { display:block; width:100%; height:auto; min-height:260px; }
#wg-stat-page .wgst-chart-line-past { fill:none; stroke:var(--wgst-primary); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
#wg-stat-page .wgst-chart-line-forecast { fill:none; stroke:var(--wgst-purple); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:10 10; }
#wg-stat-page .wgst-chart-forecast-bg { fill:rgba(124,58,237,.07); }
#wg-stat-page .wgst-chart-boundary-line { stroke:rgba(124,58,237,.42); stroke-width:2; stroke-dasharray:7 7; }
#wg-stat-page .wgst-chart-grid-line { stroke:rgba(100,116,139,.16); stroke-width:1; }
#wg-stat-page .wgst-chart-axis-line { stroke:rgba(100,116,139,.32); stroke-width:1.5; }
#wg-stat-page .wgst-chart-axis { fill:#64748b; font-size:12px; font-weight:800; }
#wg-stat-page .wgst-chart-label { fill:#334155; font-size:13px; font-weight:900; }
#wg-stat-page .wgst-chart-marker { fill:#fff; stroke-width:4; }
#wg-stat-page .wgst-chart-marker.is-current { stroke:var(--wgst-primary); }
#wg-stat-page .wgst-chart-marker.is-peak { stroke:var(--wgst-orange); }
#wg-stat-page .wgst-chart-marker.is-forecast { stroke:var(--wgst-purple); }

/* Table */
#wg-stat-page .wgst-table-card { overflow:hidden; }
#wg-stat-page .wgst-table-toolbar { padding:14px 16px; border-bottom:1px solid var(--wgst-border); background:linear-gradient(180deg,#fff 0%,#f8fbff 100%); }
#wg-stat-page .wgst-table-title { font-size:15px; }
#wg-stat-page .wgst-table-note { font-size:12px; font-weight:700; }
#wg-stat-page .wgst-table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
#wg-stat-page .wgst-table { width:100%; min-width:720px; border-collapse:separate; border-spacing:0; background:#fff; }
#wg-stat-page .wgst-table th,
#wg-stat-page .wgst-table td { padding:13px 14px; border-bottom:1px solid #edf2f7; vertical-align:middle; }
#wg-stat-page .wgst-table th { position:sticky; top:0; z-index:1; background:#f8fafc; color:#475569; font-size:12px; font-weight:900; text-align:left; white-space:nowrap; }
#wg-stat-page .wgst-table td { color:#263349; font-size:14px; font-weight:700; }
#wg-stat-page .wgst-table tr:hover td { background:#f8fbff; }
#wg-stat-page .wgst-col-number,
#wg-stat-page .wgst-col-rate,
#wg-stat-page .wgst-col-rank { text-align:right; white-space:nowrap; }
#wg-stat-page .wgst-country-link { display:inline-flex; align-items:center; gap:8px; color:var(--wgst-primary-dark); font-weight:900; }
#wg-stat-page .wgst-country-link:hover,
#wg-stat-page .wgst-country-link:focus-visible { text-decoration:underline; text-underline-offset:3px; }
#wg-stat-page .wgst-rank-num { display:inline-flex; align-items:center; justify-content:center; width:34px; height:30px; border-radius:999px; background:#eef2f7; color:#334155; font-size:13px; font-weight:900; }
#wg-stat-page .wgst-rank-num.is-top1 { background:#fff7e6; color:#92400e; }
#wg-stat-page .wgst-rank-num.is-top2 { background:#eef2ff; color:#3730a3; }
#wg-stat-page .wgst-rank-num.is-top3 { background:#ecfeff; color:#155e75; }
#wg-stat-page .wgst-change-plus { color:var(--wgst-green); }
#wg-stat-page .wgst-change-minus { color:var(--wgst-red); }
#wg-stat-page .wgst-table-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; background:#fff; }

/* Cards/related/FAQ */
#wg-stat-page .wgst-insight-grid,
#wg-stat-page .wgst-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
#wg-stat-page .wgst-related-grid.is-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
#wg-stat-page .wgst-text-card,
#wg-stat-page .wgst-related-card { padding:18px; }
#wg-stat-page .wgst-related-card { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; transition:transform .16s ease,border-color .16s ease,background .16s ease; }
#wg-stat-page .wgst-related-card:hover,
#wg-stat-page .wgst-related-card:focus-visible { border-color:rgba(37,99,235,.32); background:#f8fbff; transform:translateY(-1px); }
#wg-stat-page .wgst-card-label { display:inline-flex; margin-bottom:8px; padding:3px 9px; border-radius:999px; background:var(--wgst-primary-soft); color:var(--wgst-primary-dark); font-size:12px; font-weight:900; }
#wg-stat-page .wgst-card-label.is-purple { background:#f5f3ff; color:#6d28d9; }
#wg-stat-page .wgst-card-label.is-red { background:#fef2f2; color:#b91c1c; }
#wg-stat-page .wgst-card-title,
#wg-stat-page .wgst-related-title { margin:0 0 8px; color:var(--wgst-text); font-size:17px; line-height:1.5; font-weight:900; }
#wg-stat-page .wgst-related-title { display:block; margin-bottom:3px; font-size:15px; }
#wg-stat-page .wgst-card-text,
#wg-stat-page .wgst-related-text { margin:0; color:#475569; font-size:14px; line-height:1.85; }
#wg-stat-page .wgst-related-text { display:block; color:var(--wgst-muted); font-size:13px; line-height:1.65; }
#wg-stat-page .wgst-related-arrow { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:999px; background:var(--wgst-primary-soft); color:var(--wgst-primary-dark); font-weight:900; }
#wg-stat-page .wgst-cta { display:grid; grid-template-columns:1.5fr .9fr; gap:16px; align-items:center; padding:20px; border:1px solid rgba(37,99,235,.18); border-radius:var(--wgst-radius-lg); background:radial-gradient(circle at top left,rgba(37,99,235,.15),transparent 36%),linear-gradient(135deg,#fff 0%,#eef7ff 100%); }
#wg-stat-page .wgst-cta-title { margin:0 0 6px; font-size:19px; line-height:1.45; font-weight:900; letter-spacing:-.02em; }
#wg-stat-page .wgst-cta-text { margin:0; color:#475569; font-size:14px; line-height:1.8; }
#wg-stat-page .wgst-faq-card { padding:4px 18px; }
#wg-stat-page .wgst-faq-item { border-bottom:1px solid #edf2f7; }
#wg-stat-page .wgst-faq-item:last-child { border-bottom:0; }
#wg-stat-page .wgst-faq-q { display:block; width:100%; padding:15px 0; color:var(--wgst-text); cursor:pointer; font-size:15px; font-weight:900; }
#wg-stat-page .wgst-faq-a { margin:-4px 0 16px; color:#475569; font-size:14px; line-height:1.85; }
#wg-stat-page .wgst-source-box { padding:14px 16px; border:1px solid var(--wgst-border); border-radius:var(--wgst-radius-md); background:#f8fafc; color:#475569; font-size:13px; line-height:1.8; }
#wg-stat-page .wgst-source-box strong { color:var(--wgst-text); }
#wg-stat-page .wgst-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width:760px) {
  #wg-stat-page { padding-bottom:28px; }
  #wg-stat-page .wgst-hero { padding:24px 18px 20px; }
  #wg-stat-page .wgst-summary-grid,
  #wg-stat-page .wgst-field-grid,
  #wg-stat-page .wgst-field-grid.is-three,
  #wg-stat-page .wgst-insight-grid,
  #wg-stat-page .wgst-related-grid,
  #wg-stat-page .wgst-related-grid.is-two,
  #wg-stat-page .wgst-cta { grid-template-columns:1fr 1fr; }
  #wg-stat-page .wgst-control-head,
  #wg-stat-page .wgst-section-head,
  #wg-stat-page .wgst-table-toolbar { align-items:flex-start; flex-direction:column; }
  #wg-stat-page .wgst-bar-item { grid-template-columns:108px 1fr 82px; }
}
@media (max-width:520px) {
  #wg-stat-page .wgst-summary-grid,
  #wg-stat-page .wgst-field-grid,
  #wg-stat-page .wgst-field-grid.is-three,
  #wg-stat-page .wgst-insight-grid,
  #wg-stat-page .wgst-related-grid,
  #wg-stat-page .wgst-related-grid.is-two,
  #wg-stat-page .wgst-cta { grid-template-columns:1fr; }
  #wg-stat-page .wgst-stat-card { min-height:auto; }
  #wg-stat-page .wgst-chart-card { padding:14px; }
  #wg-stat-page .wgst-chart-svg { min-height:210px; }
  #wg-stat-page .wgst-bar-item { grid-template-columns:1fr; gap:5px; padding:10px 0; border-bottom:1px solid #edf2f7; }
  #wg-stat-page .wgst-bar-value { text-align:left; }
  #wg-stat-page .wgst-table-footer { align-items:stretch; flex-direction:column; }
  #wg-stat-page .wgst-primary-button,
  #wg-stat-page .wgst-link-button { width:100%; }
}

/* 1. 年度別ランキングを探す */
#wg-stat-page .wgst-year-box {
  padding: 18px;
  border: 1px solid var(--wgst-border);
  border-radius: var(--wgst-radius-lg);
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, .08), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 10px 32px rgba(15, 23, 42, .06);
}

#wg-stat-page .wgst-year-box-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

#wg-stat-page .wgst-year-box-title {
  margin: 0;
  color: var(--wgst-text);
  font-size: 18px;
  line-height: 1.5;
  font-weight: 900;
  letter-spacing: -.02em;
}

#wg-stat-page .wgst-year-box-text {
  margin: 4px 0 0;
  color: var(--wgst-muted);
  font-size: 13px;
  line-height: 1.75;
}

#wg-stat-page .wgst-year-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

#wg-stat-page .wgst-year-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 7px 9px;
  border: 1px solid var(--wgst-border);
  border-radius: 999px;
  background: #ffffff;
  color: #334155;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

#wg-stat-page .wgst-year-link:hover,
#wg-stat-page .wgst-year-link:focus-visible {
  border-color: rgba(37, 99, 235, .35);
  background: var(--wgst-primary-soft);
  color: var(--wgst-primary-dark);
  box-shadow: 0 8px 18px rgba(37, 99, 235, .10);
  transform: translateY(-1px);
}

#wg-stat-page .wgst-year-link.is-current {
  border-color: var(--wgst-primary);
  background: var(--wgst-primary);
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(37, 99, 235, .18);
}

#wg-stat-page .wgst-year-link.is-future {
  border-color: rgba(124, 58, 237, .22);
  background: #faf7ff;
  color: #6d28d9;
}

#wg-stat-page .wgst-year-link.is-past {
  background: #ffffff;
}

#wg-stat-page .wgst-year-more {
  margin-top: 12px;
  padding: 12px;
  border: 1px dashed var(--wgst-border-strong);
  border-radius: var(--wgst-radius-md);
  background: rgba(255, 255, 255, .72);
}

#wg-stat-page .wgst-year-more summary {
  cursor: pointer;
  color: var(--wgst-primary-dark);
  font-size: 13px;
  font-weight: 900;
}

#wg-stat-page .wgst-year-more[open] summary {
  margin-bottom: 12px;
}

/* 2. YouTube埋込動画の表示枠 */
#wg-stat-page .wgst-video-box {
  overflow: hidden;
  border: 1px solid var(--wgst-border);
  border-radius: var(--wgst-radius-lg);
  background: var(--wgst-surface);
  box-shadow: 0 10px 32px rgba(15, 23, 42, .06);
}

#wg-stat-page .wgst-video-head {
  padding: 16px 18px 14px;
  border-bottom: 1px solid var(--wgst-border);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

#wg-stat-page .wgst-video-title {
  margin: 0;
  color: var(--wgst-text);
  font-size: 18px;
  line-height: 1.5;
  font-weight: 900;
  letter-spacing: -.02em;
}

#wg-stat-page .wgst-video-text {
  margin: 4px 0 0;
  color: var(--wgst-muted);
  font-size: 13px;
  line-height: 1.75;
}

#wg-stat-page .wgst-video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #0f172a;
}

#wg-stat-page .wgst-video-frame iframe,
#wg-stat-page .wgst-video-frame video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

#wg-stat-page .wgst-video-caption {
  padding: 12px 16px;
  border-top: 1px solid var(--wgst-border);
  color: var(--wgst-muted);
  font-size: 12px;
  line-height: 1.7;
  background: #ffffff;
}

/* 3. フリーテキスト表示欄 */
#wg-stat-page .wgst-free-text {
  padding: 20px;
  border: 1px solid var(--wgst-border);
  border-radius: var(--wgst-radius-lg);
  background: var(--wgst-surface);
  box-shadow: 0 10px 32px rgba(15, 23, 42, .06);
  color: #334155;
  font-size: 15px;
  line-height: 1.95;
}

#wg-stat-page .wgst-free-text.is-soft {
  background:
    radial-gradient(circle at top right, rgba(6, 182, 212, .10), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

#wg-stat-page .wgst-free-text.is-note {
  border-color: rgba(37, 99, 235, .22);
  background: #f8fbff;
}

#wg-stat-page .wgst-free-text > *:first-child {
  margin-top: 0;
}

#wg-stat-page .wgst-free-text > *:last-child {
  margin-bottom: 0;
}

#wg-stat-page .wgst-free-text h2,
#wg-stat-page .wgst-free-text h3,
#wg-stat-page .wgst-free-text h4 {
  color: var(--wgst-text);
  font-weight: 900;
  letter-spacing: -.02em;
}

#wg-stat-page .wgst-free-text h2 {
  margin: 0 0 12px;
  font-size: clamp(21px, 3vw, 28px);
  line-height: 1.35;
}

#wg-stat-page .wgst-free-text h3 {
  margin: 22px 0 8px;
  font-size: 19px;
  line-height: 1.45;
}

#wg-stat-page .wgst-free-text h4 {
  margin: 18px 0 6px;
  font-size: 16px;
  line-height: 1.5;
}

#wg-stat-page .wgst-free-text p {
  margin: 0 0 14px;
}

#wg-stat-page .wgst-free-text ul,
#wg-stat-page .wgst-free-text ol {
  margin: 10px 0 16px;
  padding-left: 1.35em;
}

#wg-stat-page .wgst-free-text li {
  margin: 4px 0;
}

#wg-stat-page .wgst-free-text strong {
  color: var(--wgst-text);
  font-weight: 900;
}

#wg-stat-page .wgst-free-text a {
  color: var(--wgst-primary-dark);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#wg-stat-page .wgst-free-text blockquote {
  margin: 16px 0;
  padding: 12px 14px;
  border-left: 4px solid var(--wgst-primary);
  border-radius: 0 12px 12px 0;
  background: var(--wgst-primary-soft);
  color: #334155;
}

#wg-stat-page .wgst-free-text table {
  width: 100%;
  margin: 14px 0;
  border-collapse: collapse;
  font-size: 14px;
}

#wg-stat-page .wgst-free-text th,
#wg-stat-page .wgst-free-text td {
  padding: 10px 12px;
  border: 1px solid var(--wgst-border);
  text-align: left;
  vertical-align: top;
}

#wg-stat-page .wgst-free-text th {
  background: #f8fafc;
  color: #475569;
  font-weight: 900;
}

@media (max-width: 760px) {
  #wg-stat-page .wgst-year-box-head {
    align-items: flex-start;
    flex-direction: column;
  }

  #wg-stat-page .wgst-year-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #wg-stat-page .wgst-video-head,
  #wg-stat-page .wgst-free-text {
    padding: 16px;
  }
}

@media (max-width: 520px) {
  #wg-stat-page .wgst-year-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #wg-stat-page .wgst-year-link {
    min-height: 38px;
    font-size: 12px;
  }

  #wg-stat-page .wgst-video-caption {
    padding: 10px 14px;
  }

  #wg-stat-page .wgst-free-text {
    font-size: 14px;
    line-height: 1.9;
  }
}
